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

GUI/Client/vtkPVImplicitPlaneWidget.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVImplicitPlaneWidget.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 =========================================================================*/
00023 #ifndef __vtkPVImplicitPlaneWidget_h
00024 #define __vtkPVImplicitPlaneWidget_h
00025 
00026 #include "vtkPV3DWidget.h"
00027 
00028 class vtkPVSource;
00029 class vtkKWEntry;
00030 class vtkKWPushButton;
00031 class vtkKWWidget;
00032 class vtkKWLabel;
00033 class vtkPVInputMenu;
00034 class vtkKWFrame;
00035 
00036 class VTK_EXPORT vtkPVImplicitPlaneWidget : public vtkPV3DWidget
00037 {
00038 public:
00039   static vtkPVImplicitPlaneWidget* New();
00040   vtkTypeRevisionMacro(vtkPVImplicitPlaneWidget, vtkPV3DWidget);
00041 
00042   void PrintSelf(ostream& os, vtkIndent indent);
00043     
00045   void CenterResetCallback();
00046 
00047   // Descript:
00048   // Callbacks to set the normal.
00049   void NormalCameraCallback();
00050   void NormalXCallback();
00051   void NormalYCallback();
00052   void NormalZCallback();
00053 
00056   virtual void SetBalloonHelpString(const char *str);
00057 
00058 
00060 
00061   void SetCenter();
00062   virtual void SetCenter(double,double,double);
00063   virtual void SetCenter(double f[3]) { this->SetCenter(f[0], f[1], f[2]); }
00064   void GetCenter(double pts[3]);
00066 
00068 
00069   void SetNormal();
00070   virtual void SetNormal(double,double,double);
00071   virtual void SetNormal(double f[3]) { this->SetNormal(f[0], f[1], f[2]); }
00072   void GetNormal(double pts[3]);
00074   
00076 
00077   virtual void SetInputMenu(vtkPVInputMenu*);
00078   vtkGetObjectMacro(InputMenu, vtkPVInputMenu);
00080 
00083   virtual void SaveInBatchScript(ofstream *file);
00084 
00086   virtual void Update();
00087 
00089   virtual void ResetInternal();
00090 
00092   virtual void Initialize();
00093 
00094   //BTX
00096 
00097   virtual void Accept();
00098   //ETX
00100 
00102   virtual void Trace(ofstream *file);
00103   
00110   virtual void UpdateEnableState();
00111  
00113   virtual vtkSMProxy* GetProxyByName(const char*);
00114 
00116   virtual void UpdateVTKObjects();
00117 
00119   virtual void Create(vtkKWApplication *app);
00120 
00123   void UpdateOffsetRange();
00124 
00127   virtual void EnableAnimation(){ this->RegisterAnimateableProxies();} ;
00128 
00132   virtual void DisableAnimation() { this->UnregisterAnimateableProxies();} ;
00133 
00134 protected:
00135   vtkPVImplicitPlaneWidget();
00136   ~vtkPVImplicitPlaneWidget();
00137 
00139   virtual void ChildCreate(vtkPVApplication*);
00140 
00142   virtual void ExecuteEvent(vtkObject*, unsigned long, void*);
00143 
00144   virtual void SetCenterInternal(double,double,double);
00145   virtual void SetNormalInternal(double,double,double);
00146 
00148 
00150   void GetCenterInternal(double pts[3]);
00151   void GetNormalInternal(double pts[3]);
00153 
00154   vtkPVInputMenu *InputMenu;
00155 
00156   vtkKWEntry *CenterEntry[3];
00157   vtkKWPushButton *CenterResetButton;
00158 
00159   vtkKWEntry *NormalEntry[3];
00160   vtkKWEntry *OffsetEntry;
00161 
00162   vtkKWFrame *NormalButtonFrame;
00163   vtkKWPushButton *NormalCameraButton;
00164   vtkKWPushButton *NormalXButton;
00165   vtkKWPushButton *NormalYButton;
00166   vtkKWPushButton *NormalZButton;
00167   vtkKWLabel* Labels[2];
00168   vtkKWLabel* OffsetLabel;
00169   vtkKWLabel* CoordinateLabel[3];
00170 
00171   vtkSMProxy *ImplicitFunctionProxy;
00172 
00173   int ReadXMLAttributes(vtkPVXMLElement* element,
00174     vtkPVXMLPackageParser* parser);
00175 
00176   void CommonReset();
00177 
00178   void SetupPropertyObservers();
00179   void UnsetPropertyObservers();
00180   //BTX
00182 
00185   virtual vtkPVWidget* ClonePrototypeInternal(
00186     vtkPVSource* pvSource,
00187     vtkArrayMap<vtkPVWidget*, 
00188     vtkPVWidget*>* map);
00189   //ETX
00190   void RegisterAnimateableProxies();
00191   void UnregisterAnimateableProxies();
00193 private:
00194   vtkPVImplicitPlaneWidget(const vtkPVImplicitPlaneWidget&); // Not implemented
00195   void operator=(const vtkPVImplicitPlaneWidget&); // Not implemented
00196 };
00197 
00198 #endif

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