VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile$ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00025 #ifndef vtkClientServerCompositePass_h 00026 #define vtkClientServerCompositePass_h 00027 00028 #include "vtkRenderingParallelModule.h" // For export macro 00029 #include "vtkRenderPass.h" 00030 00031 class vtkMultiProcessController; 00032 00033 class VTKRENDERINGPARALLEL_EXPORT vtkClientServerCompositePass : public vtkRenderPass 00034 { 00035 public: 00036 static vtkClientServerCompositePass* New(); 00037 vtkTypeMacro(vtkClientServerCompositePass, vtkRenderPass); 00038 void PrintSelf(ostream& os, vtkIndent indent); 00039 00040 //BTX 00042 00044 virtual void Render(const vtkRenderState *s); 00045 //ETX 00047 00050 void ReleaseGraphicsResources(vtkWindow *w); 00051 00053 00057 vtkGetObjectMacro(Controller,vtkMultiProcessController); 00058 virtual void SetController(vtkMultiProcessController *controller); 00060 00062 00065 void SetRenderPass(vtkRenderPass*); 00066 vtkGetObjectMacro(RenderPass, vtkRenderPass); 00068 00070 00076 void SetPostProcessingRenderPass(vtkRenderPass*); 00077 vtkGetObjectMacro(PostProcessingRenderPass, vtkRenderPass); 00079 00081 00084 vtkSetMacro(ProcessIsServer,bool); 00085 vtkBooleanMacro(ProcessIsServer, bool); 00086 vtkGetMacro(ProcessIsServer, bool); 00088 00090 00094 vtkSetMacro(ServerSideRendering, bool); 00095 vtkBooleanMacro(ServerSideRendering, bool); 00096 vtkGetMacro(ServerSideRendering, bool); 00098 00099 //BTX 00100 protected: 00101 vtkClientServerCompositePass(); 00102 ~vtkClientServerCompositePass(); 00103 00104 vtkRenderPass* RenderPass; 00105 vtkRenderPass* PostProcessingRenderPass; 00106 vtkMultiProcessController* Controller; 00107 00108 bool ProcessIsServer; 00109 bool ServerSideRendering; 00110 private: 00111 vtkClientServerCompositePass(const vtkClientServerCompositePass&); // Not implemented. 00112 void operator=(const vtkClientServerCompositePass&); // Not implemented. 00113 //ETX 00114 }; 00115 00116 #endif 00117 00118