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

Servers/ServerManager/vtkSMCompositeRenderModuleProxy.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSMCompositeRenderModuleProxy.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 =========================================================================*/
00025 #ifndef __vtkSMCompositeRenderModuleProxy_h
00026 #define __vtkSMCompositeRenderModuleProxy_h
00027 
00028 #include "vtkSMLODRenderModuleProxy.h"
00029 // We could have very well derrived this from vtkSMRenderModuleProxy, but hey!
00030 
00031 class vtkSMCompositeDisplayProxy;
00032 class vtkSMDisplayProxy;
00033 
00034 class VTK_EXPORT vtkSMCompositeRenderModuleProxy : public vtkSMLODRenderModuleProxy
00035 {
00036 public:
00037   static vtkSMCompositeRenderModuleProxy* New();
00038   vtkTypeRevisionMacro(vtkSMCompositeRenderModuleProxy, vtkSMLODRenderModuleProxy);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042 
00044   vtkSetMacro(CompositeThreshold, double);
00045   vtkGetMacro(CompositeThreshold, double);
00047 
00049 
00051   vtkSetMacro(ReductionFactor, int);
00052   vtkGetMacro(ReductionFactor, int);
00054 
00056 
00060   vtkSetMacro(SquirtLevel, int);
00061   vtkGetMacro(SquirtLevel, int);
00063 
00066   virtual void InteractiveRender();
00067 
00070   virtual void StillRender();
00071 
00074   virtual double GetZBufferValue(int x, int y);
00075 
00077   virtual int IsRenderLocal();
00078 
00079 protected:
00080   vtkSMCompositeRenderModuleProxy();
00081   ~vtkSMCompositeRenderModuleProxy();
00082 
00083   virtual void CreateVTKObjects(int numObjects);
00084   // Computes the reduction factor to use in compositing.
00085   void ComputeReductionFactor(int inReductionFactor);
00086   int ReductionFactor;
00087   int SquirtLevel;
00088 
00089   int LocalRender;
00090 
00091   int CollectionDecision;
00092   int LODCollectionDecision;
00093 
00094   double CompositeThreshold;
00095   
00096   vtkSMProxy* CompositeManagerProxy;
00097 
00102   virtual void CreateCompositeManager() { }; //TODO: pure virtual.
00103 
00106   virtual void InitializeCompositingPipeline();
00107 
00108   // Indicates if we should locally render.
00109   // Flag stillRender is set when this decision is to be made during StillRender
00110   // else it's 0 (for InteractiveRender);
00111   virtual int GetLocalRenderDecision(unsigned long totalMemory, int stillRender);
00112 
00113   // Convenience method to set CollectionDecition on DisplayProxy.
00114   void SetCollectionDecision(vtkSMCompositeDisplayProxy* pDisp, int decision);
00115   
00116   // Convenience method to set LODCollectionDecision on DisplayProxy.
00117   void SetLODCollectionDecision(vtkSMCompositeDisplayProxy* pDisp, int decision);
00118   
00119   // Convenience method to set ImageReductionFactor on Composity Proxy.
00120   // Note that this message is sent only to the client.
00121   void SetImageReductionFactor(vtkSMProxy* compositor, int factor);
00122 
00123   // Convenience method to set Squirt Level on Composite Proxy.
00124   // Note that this message is sent only to the client.
00125   void SetSquirtLevel(vtkSMProxy* compositor, int level);
00126   
00127   // Convenience method to set Use Compositing on COmposite Proxy.
00128   // Note that this message is sent only to the client.
00129   void SetUseCompositing(vtkSMProxy* p, int flag);
00130 
00131 private:
00132   vtkSMCompositeRenderModuleProxy(const vtkSMCompositeRenderModuleProxy&); // Not implemented.
00133   void operator=(const vtkSMCompositeRenderModuleProxy&); // Not implemented.
00134 };
00135 
00136 #endif
00137 

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