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

Servers/Filters/vtkIceTRenderer.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkIceTRenderer.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 =========================================================================*/
00023 #ifndef __vtkIceTRenderer_h
00024 #define __vtkIceTRenderer_h
00025 
00026 #include "vtkOpenGLRenderer.h"
00027 
00028 #include "vtkIceTRenderManager.h"       // For enumeration types.
00029 
00030 class vtkIceTContext;
00031 
00032 class VTK_EXPORT vtkIceTRenderer : public vtkOpenGLRenderer
00033 {
00034 public:
00035   static vtkIceTRenderer *New();
00036   vtkTypeRevisionMacro(vtkIceTRenderer, vtkOpenGLRenderer);
00037   virtual void PrintSelf(ostream &os, vtkIndent indent);
00038 
00040   virtual void DeviceRender();
00041 
00043   void RenderWithoutCamera();
00044 
00046 
00049   vtkSetMacro(ComposeNextFrame, int);
00051 
00054   virtual void Clear();
00055 
00057   void StereoMidpoint();
00058 
00059   double GetRenderTime();
00060   double GetImageProcessingTime();
00061   double GetBufferReadTime();
00062   double GetBufferWriteTime();
00063   double GetCompositeTime();
00064 
00066 
00068   vtkGetMacro(Strategy, int);
00069   vtkSetMacro(Strategy, int);
00070   void SetStrategyToDefault() {
00071     this->SetStrategy(vtkIceTRenderManager::DEFAULT);
00072   }
00073   void SetStrategyToReduce() {
00074     this->SetStrategy(vtkIceTRenderManager::REDUCE);
00075   }
00076   void SetStrategyToVtree() {
00077     this->SetStrategy(vtkIceTRenderManager::VTREE);
00078   }
00079   void SetStrategyToSplit() {
00080     this->SetStrategy(vtkIceTRenderManager::SPLIT);
00081   }
00082   void SetStrategyToSerial() {
00083     this->SetStrategy(vtkIceTRenderManager::SERIAL);
00084   }
00085   void SetStrategyToDirect() {
00086     this->SetStrategy(vtkIceTRenderManager::DIRECT);
00087   }
00089 
00091 
00094   vtkGetMacro(ComposeOperation, int);
00095   vtkSetMacro(ComposeOperation, int);
00096   // Description:
00097   // Sets the compose operation to pick the pixel color that is closest to
00098   // the camera (determined by the z-buffer).  This operation is
00099   // commutative.  This is the default operation.
00100   void SetComposeOperationToClosest() {
00101     this->SetComposeOperation(vtkIceTRenderManager::ComposeOperationClosest);
00102   }
00103   // Description:
00104   // Sets the compose operation to blend colors using the Porter and Duff
00105   // OVER operator.  This operation is not commutative (order of
00106   // composition matters).
00107   void SetComposeOperationToOver() {
00108     this->SetComposeOperation(vtkIceTRenderManager::ComposeOperationOver);
00109   }
00111 
00113 
00123   vtkGetObjectMacro(SortingKdTree, vtkPKdTree);
00124   virtual void SetSortingKdTree(vtkPKdTree *tree);
00126 
00128 
00136   vtkGetObjectMacro(DataReplicationGroup, vtkIntArray);
00137   virtual void SetDataReplicationGroup(vtkIntArray *group);
00139 
00145   virtual void SetDataReplicationGroupColor(int color);
00146 
00148 
00149   vtkGetObjectMacro(Context, vtkIceTContext);
00151 
00153   virtual void SetController(vtkMultiProcessController *controller);
00154 
00156 
00158   virtual void GetTiledSizeAndOrigin(int *width, int *height,
00159                                      int *lowerLeftX, int *lowerLeftY);
00161 
00163 
00164   vtkSetVector4Macro(PhysicalViewport, int);
00165   vtkGetVector4Macro(PhysicalViewport, int);
00167 
00168 protected:
00169   vtkIceTRenderer();
00170   virtual ~vtkIceTRenderer();
00171 
00172   virtual int UpdateCamera();
00173   virtual int UpdateGeometry();
00174 
00175   int ComposeNextFrame;
00176   int InIceTRender;
00177 
00178   int Strategy;
00179   int ComposeOperation;
00180 
00181   vtkIceTContext *Context;
00182 
00183   vtkPKdTree *SortingKdTree;
00184 
00185   vtkIntArray *DataReplicationGroup;
00186 
00187   int PhysicalViewport[4];
00188 
00189   vtkIceTRenderer(const vtkIceTRenderer&); // Not implemented
00190   void operator=(const vtkIceTRenderer&); // Not implemented
00191 };
00192 
00193 #endif //__vtkIceTRenderer_h

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