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

Servers/ServerManager/vtkSMLODRenderModuleProxy.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSMLODRenderModuleProxy.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 =========================================================================*/
00024 #ifndef __vtkSMLODRenderModuleProxy_h
00025 #define __vtkSMLODRenderModuleProxy_h
00026 
00027 #include "vtkSMSimpleRenderModuleProxy.h"
00028 // We could have very well derrived this from vtkSMRenderModuleProxy, but hey!
00029 
00030 class vtkSMDisplayProxy;
00031 class vtkSMLODRenderModuleProxyObserver;
00032 class VTK_EXPORT vtkSMLODRenderModuleProxy : public vtkSMSimpleRenderModuleProxy
00033 {
00034 public:
00035   static vtkSMLODRenderModuleProxy* New();
00036   vtkTypeRevisionMacro(vtkSMLODRenderModuleProxy, vtkSMSimpleRenderModuleProxy);
00037   void PrintSelf(ostream& os, vtkIndent indent);
00038 
00040 
00043   virtual void AddDisplay(vtkSMDisplayProxy* disp);
00044   virtual void RemoveDisplay(vtkSMDisplayProxy* disp);
00046 
00049   virtual vtkSMDisplayProxy* CreateDisplayProxy();
00050 
00052 
00053   vtkSetMacro(LODThreshold, double);
00054   vtkGetMacro(LODThreshold, double);
00056 
00058 
00059   void SetLODResolution(int);
00060   vtkGetMacro(LODResolution, int);
00062 
00063   virtual void InteractiveRender();
00064 protected:
00065   vtkSMLODRenderModuleProxy();
00066   ~vtkSMLODRenderModuleProxy();
00067  
00068   vtkSMProxy* CollectProxy;
00069   vtkSMProxy* LODCollectProxy;
00070   double LODThreshold;
00071   int LODResolution;
00072 
00073   int TotalVisibleGeometryMemorySizeValid;
00074   unsigned long TotalVisibleGeometryMemorySize;
00075   vtkSetMacro(TotalVisibleGeometryMemorySizeValid, int);
00076 
00077   int TotalVisibleLODGeometryMemorySizeValid;
00078   vtkSetMacro(TotalVisibleLODGeometryMemorySizeValid, int);
00079   unsigned long TotalVisibleLODGeometryMemorySize;
00080 
00081   void ComputeTotalVisibleMemorySize();
00082   unsigned long GetTotalVisibleGeometryMemorySize();
00083   unsigned long GetTotalVisibleLODGeometryMemorySize();
00084 
00086 
00088   int GetUseLODDecision();
00089   //BTX
00090   friend class vtkSMLODRenderModuleProxyObserver;
00091   vtkSMLODRenderModuleProxyObserver *Observer;
00092   //ETX
00094 private:
00095   vtkSMLODRenderModuleProxy(const vtkSMLODRenderModuleProxy&); // Not implemented.
00096   void operator=(const vtkSMLODRenderModuleProxy&); // Not implemented.
00097 };
00098 
00099 
00100 
00101 #endif
00102 

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