00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkSMDisplayProxy.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 =========================================================================*/ 00033 #ifndef __vtkSMDisplayProxy_h 00034 #define __vtkSMDisplayProxy_h 00035 00036 #include "vtkSMProxy.h" 00037 class vtkSMRenderModuleProxy; 00038 class vtkPVGeometryInformation; 00039 00040 class VTK_EXPORT vtkSMDisplayProxy : public vtkSMProxy 00041 { 00042 public: 00043 static vtkSMDisplayProxy* New(); 00044 vtkTypeRevisionMacro(vtkSMDisplayProxy, vtkSMProxy); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00049 virtual vtkPVGeometryInformation* GetGeometryInformation() { return NULL; } 00050 00052 00057 virtual void AddToRenderModule(vtkSMRenderModuleProxy*); 00058 virtual void RemoveFromRenderModule(vtkSMRenderModuleProxy*); 00060 00062 virtual void Update() { } 00063 00065 00066 void SetVisibilityCM(int v); 00067 int GetVisibilityCM(); 00069 00073 virtual void SaveInBatchScript(ofstream* file); 00074 00075 protected: 00076 vtkSMDisplayProxy(); 00077 ~vtkSMDisplayProxy(); 00078 00079 vtkSMProxy* GetInteractorProxy(vtkSMRenderModuleProxy* ren); 00080 vtkSMProxy* GetRendererProxy(vtkSMRenderModuleProxy* ren); 00081 vtkSMProxy* GetRenderer2DProxy(vtkSMRenderModuleProxy* ren); 00082 void AddPropToRenderer(vtkSMProxy* proxy, vtkSMRenderModuleProxy* ren); 00083 void AddPropToRenderer2D(vtkSMProxy* proxy, vtkSMRenderModuleProxy* ren); 00084 void RemovePropFromRenderer(vtkSMProxy* proxy, vtkSMRenderModuleProxy* ren); 00085 void RemovePropFromRenderer2D(vtkSMProxy* proxy, vtkSMRenderModuleProxy* ren); 00086 00087 private: 00088 vtkSMDisplayProxy(const vtkSMDisplayProxy&); // Not implemented. 00089 void operator=(const vtkSMDisplayProxy&); // Not implemented. 00090 }; 00091 00092 00093 00094 #endif 00095