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 "vtkRenderPass.h" 00029 00030 class vtkMultiProcessController; 00031 00032 class VTK_PARALLEL_EXPORT vtkClientServerCompositePass : public vtkRenderPass 00033 { 00034 public: 00035 static vtkClientServerCompositePass* New(); 00036 vtkTypeMacro(vtkClientServerCompositePass, vtkRenderPass); 00037 void PrintSelf(ostream& os, vtkIndent indent); 00038 00039 //BTX 00041 00043 virtual void Render(const vtkRenderState *s); 00044 //ETX 00046 00049 void ReleaseGraphicsResources(vtkWindow *w); 00050 00052 00056 vtkGetObjectMacro(Controller,vtkMultiProcessController); 00057 virtual void SetController(vtkMultiProcessController *controller); 00059 00061 00064 void SetRenderPass(vtkRenderPass*); 00065 vtkGetObjectMacro(RenderPass, vtkRenderPass); 00067 00069 00075 void SetPostProcessingRenderPass(vtkRenderPass*); 00076 vtkGetObjectMacro(PostProcessingRenderPass, vtkRenderPass); 00078 00080 00083 vtkSetMacro(ProcessIsServer,bool); 00084 vtkBooleanMacro(ProcessIsServer, bool); 00085 vtkGetMacro(ProcessIsServer, bool); 00087 00089 00093 vtkSetMacro(ServerSideRendering, bool); 00094 vtkBooleanMacro(ServerSideRendering, bool); 00095 vtkGetMacro(ServerSideRendering, bool); 00097 00098 //BTX 00099 protected: 00100 vtkClientServerCompositePass(); 00101 ~vtkClientServerCompositePass(); 00102 00103 vtkRenderPass* RenderPass; 00104 vtkRenderPass* PostProcessingRenderPass; 00105 vtkMultiProcessController* Controller; 00106 00107 bool ProcessIsServer; 00108 bool ServerSideRendering; 00109 private: 00110 vtkClientServerCompositePass(const vtkClientServerCompositePass&); // Not implemented. 00111 void operator=(const vtkClientServerCompositePass&); // Not implemented. 00112 //ETX 00113 }; 00114 00115 #endif 00116 00117