00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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
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];
00101
00102 friend class vtkPV3DWidget;
00103 void InitializeObservers(vtk3DWidget* widget3D);
00104 virtual void CreateVTKObjects(int numObjects);
00105
00106 void SetCurrentRenderModuleProxy(vtkSMRenderModuleProxy* rm);
00107
00108
00109
00110
00111 vtkSMRenderModuleProxy* CurrentRenderModuleProxy;
00112
00113 int Enabled;
00114
00115
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
00132 friend class vtkSM3DWidgetProxyObserver;
00133
00134 private:
00135 vtkSM3DWidgetProxy(const vtkSM3DWidgetProxy&);
00136 void operator=(const vtkSM3DWidgetProxy&);
00137
00138 };
00139
00140 #endif