Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Servers/Filters/vtkIceTClientCompositeManager.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkIceTClientCompositeManager.h,v $
00005 
00006   Copyright (c) Kitware, Inc.
00007   All rights reserved.
00008   See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
00028 #ifndef __vtkIceTClientCompositeManager_h
00029 #define __vtkIceTClientCompositeManager_h
00030 
00031 #include "vtkObject.h"
00032 
00033 class vtkRenderWindow;
00034 class vtkMultiProcessController;
00035 class vtkSocketController;
00036 class vtkCompositer;
00037 class vtkRenderer;
00038 class vtkDataArray;
00039 class vtkFloatArray;
00040 class vtkUnsignedCharArray;
00041 class vtkIceTRenderManager;
00042 
00043 class VTK_EXPORT vtkIceTClientCompositeManager : public vtkObject
00044 {
00045 public:
00046   static vtkIceTClientCompositeManager *New();
00047   vtkTypeRevisionMacro(vtkIceTClientCompositeManager,vtkObject);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049 
00051 
00053   vtkGetObjectMacro(RenderWindow, vtkRenderWindow);
00054   virtual void SetRenderWindow(vtkRenderWindow *renWin);
00056 
00058   void InitializeOffScreen();
00059 
00061 
00062   virtual void StartRender();
00063   void RenderRMI();
00065   
00068   virtual void InitializeRMIs();
00069   
00071 
00074   void SetCompositeController(vtkMultiProcessController* controller);
00075   vtkGetObjectMacro(CompositeController, vtkMultiProcessController);
00077 
00079 
00080   void SetClientController(vtkSocketController* controller);
00081   vtkGetObjectMacro(ClientController, vtkSocketController); 
00083 
00085 
00087   vtkSetMacro(ClientFlag, int);
00088   vtkGetMacro(ClientFlag, int);
00090 
00092 
00094   vtkSetMacro(ImageReductionFactor, int);
00095   vtkGetMacro(ImageReductionFactor, int);
00097 
00099   virtual void SetRenderView(vtkObject*) {};
00100 
00102 
00104   void SetIceTManager(vtkIceTRenderManager *c);
00105   vtkGetObjectMacro(IceTManager,vtkIceTRenderManager);
00107 
00109 
00112   vtkSetMacro(Tiled,int);
00113   vtkGetMacro(Tiled,int);
00114   vtkBooleanMacro(Tiled,int);
00115   vtkSetVector2Macro(TiledDimensions,int);
00116   vtkGetVector2Macro(TiledDimensions,int);
00118 
00119   
00121 
00123   vtkSetVector2Macro(TileSize,int);
00124   vtkGetVector2Macro(TileSize,int);
00126 
00127 //BTX
00128   enum Tags {
00129     RENDER_RMI_TAG   = 12721,
00130     WIN_INFO_TAG     = 22134,
00131     REN_INFO_TAG     = 22135,
00132     GATHER_Z_RMI_TAG = 987987,
00133     SERVER_Z_TAG     = 88771,
00134     CLIENT_Z_TAG     = 88772
00135   };
00136 //ETX
00137 
00139 
00140   vtkSetMacro(UseCompositing, int);
00141   vtkGetMacro(UseCompositing, int);
00142   vtkBooleanMacro(UseCompositing, int);
00144 
00146 
00148   float GetZBufferValue(int x, int y);
00149   void GatherZBufferValueRMI(int x, int y);
00151 
00153 
00155   vtkSetMacro(UseCompositeCompression,int);
00156   vtkGetMacro(UseCompositeCompression,int);
00157   vtkBooleanMacro(UseCompositeCompression,int);
00159 
00160 protected:
00161   vtkIceTClientCompositeManager();
00162   ~vtkIceTClientCompositeManager();
00163   
00164   vtkRenderWindow* RenderWindow;
00165   vtkMultiProcessController* CompositeController;
00166   vtkSocketController* ClientController;
00167   vtkIceTRenderManager *IceTManager;
00168 
00169   int Tiled;
00170   int TiledDimensions[2];
00171   int TileSize[2];  //dimension of each tile display
00172 
00173   int ClientFlag;
00174   unsigned long StartTag;
00175   //unsigned long EndTag;
00176   
00177   virtual void SatelliteStartRender();
00178   virtual void SatelliteEndRender();
00179 
00180   vtkObject *RenderView;
00181   int ImageReductionFactor;
00182 
00183   int UseCompositing;
00184   int UseCompositeCompression;
00185 
00186 //BTX
00187   enum {
00188     ACKNOWLEDGE_RMI = 17231
00189   };
00190 //ETX
00191 
00192 private:
00193   vtkIceTClientCompositeManager(const vtkIceTClientCompositeManager&); // Not implemented
00194   void operator=(const vtkIceTClientCompositeManager&); // Not implemented
00195 };
00196 
00197 #endif

Generated on Tue May 30 12:31:46 2006 for ParaView by doxygen 1.3.5