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

Servers/ServerManager/vtkSM3DWidgetProxy.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkSM3DWidgetProxy.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 =========================================================================*/
00019 #ifndef __vtkSM3DWidgetProxy_h
00020 #define __vtkSM3DWidgetProxy_h
00021 
00022 #include "vtkSMDisplayProxy.h"
00023 
00024 class vtk3DWidget;
00025 class vtkPVProcessModule;
00026 class vtkRenderer;
00027 class vtkSM3DWidgetProxyObserver;
00028 class vtkSMRenderModuleProxy;
00029 
00030 class VTK_EXPORT vtkSM3DWidgetProxy : public vtkSMDisplayProxy
00031 {
00032 public:
00033   vtkTypeRevisionMacro(vtkSM3DWidgetProxy, vtkSMDisplayProxy);
00034   void PrintSelf(ostream& os, vtkIndent indent);
00035 
00037 
00038   virtual void AddToRenderModule(vtkSMRenderModuleProxy*);
00039   virtual void RemoveFromRenderModule(vtkSMRenderModuleProxy*);
00041 
00047   virtual void PlaceWidget(double bds[6]);
00048 
00050 
00056   vtkSetMacro(IgnorePlaceWidgetChanges,int);
00058   
00060 
00061   virtual void SetVisibility(int visible) 
00062     { this->SetEnabled(visible); } 
00064 
00066 
00067   virtual void SetEnabled(int e);
00068   vtkGetMacro(Enabled,int);
00070 
00076   virtual void SaveInBatchScript(ofstream *file);
00077 
00081   virtual void UpdateVTKObjects();
00082 protected:
00083   //BTX
00084   vtkSM3DWidgetProxy();
00085   ~vtkSM3DWidgetProxy();
00086 
00090   int IgnorePlaceWidgetChanges; 
00091 
00095   virtual void SaveState(const char* name, ostream* file, vtkIndent indent);
00096 
00098   int Placed; 
00099  
00100   double Bounds[6]; //PlaceWidget bounds
00101 
00102   friend class vtkPV3DWidget;
00103   void InitializeObservers(vtk3DWidget* widget3D); 
00104   virtual void CreateVTKObjects(int numObjects);
00105 
00106   void SetCurrentRenderModuleProxy(vtkSMRenderModuleProxy* rm);
00107 
00108   // I keep this pointer since some interactor observers may need to access
00109   // the rendermodule (eg. ScalarBarWidget).
00110   // Widgets are not enabled until CurrentRenderModuleProxy is set.
00111   vtkSMRenderModuleProxy* CurrentRenderModuleProxy;
00112 
00113   int Enabled; //flag indicating if the widget is enabled.
00114   //This is needed since change the Current renderer of the vtk3DWidget
00115   //does not lead to a call to Enable. 
00116 
00118 
00119   void SetCurrentRenderer(vtkSMProxy* renderer);
00120   void SetInteractor(vtkSMProxy* interactor);
00122 
00128   virtual void ExecuteEvent(vtkObject*, unsigned long, void*);
00129 
00130   vtkSM3DWidgetProxyObserver* Observer;
00131 //BTX
00132   friend class vtkSM3DWidgetProxyObserver;
00133 //ETX
00134 private:  
00135   vtkSM3DWidgetProxy(const vtkSM3DWidgetProxy&); // Not implemented
00136   void operator=(const vtkSM3DWidgetProxy&); // Not implemented
00137   //ETX
00138 };
00139 
00140 #endif

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