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

GUI/Client/vtkPVSphereWidget.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   ParaView
00004   Module:    $RCSfile: vtkPVSphereWidget.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 =========================================================================*/
00025 #ifndef __vtkPVSphereWidget_h
00026 #define __vtkPVSphereWidget_h
00027 
00028 #include "vtkPV3DWidget.h"
00029 
00030 class vtkPVSource;
00031 class vtkKWEntry;
00032 class vtkKWPushButton;
00033 class vtkKWWidget;
00034 class vtkKWLabel;
00035 class vtkPVInputMenu;
00036 
00037 class VTK_EXPORT vtkPVSphereWidget : public vtkPV3DWidget
00038 {
00039 public:
00040   static vtkPVSphereWidget* New();
00041   vtkTypeRevisionMacro(vtkPVSphereWidget, vtkPV3DWidget);
00042 
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044     
00046   void CenterResetCallback();
00047 
00050   virtual void SetBalloonHelpString(const char *str);
00051 
00052   void SetCenter();
00053   void SetCenter(double,double,double);
00054   void SetCenter(double c[3]) { this->SetCenter(c[0], c[1], c[2]); }
00055   void GetCenter(double pts[3]);
00056   
00057   void SetRadius();
00058   void SetRadius(double);
00059   double GetRadius();
00060 
00062   virtual void ResetInternal();
00063 
00065   virtual void Initialize();
00066 
00067   //BTX
00069 
00071   virtual void Accept();
00072   //ETX
00074 
00076   virtual void Trace(ofstream *file);
00077 
00084   virtual void UpdateEnableState();
00085 
00093   virtual vtkSMProxy* GetProxyByName(const char*);
00094 
00096   virtual void Update();
00097 
00099 
00100   virtual void SetInputMenu(vtkPVInputMenu*);
00101   vtkGetObjectMacro(InputMenu, vtkPVInputMenu);
00103 
00105   virtual void Create(vtkKWApplication *app);
00106 
00109   virtual void EnableAnimation(){ this->RegisterAnimateableProxies();} ;
00110 
00114   virtual void DisableAnimation() { this->UnregisterAnimateableProxies();} ;
00115 
00116 protected:
00117   vtkPVSphereWidget();
00118   ~vtkPVSphereWidget();
00119 
00121 
00123   void GetCenterInternal(double pt[3]);
00124   double GetRadiusInternal();
00126 
00127   void SetCenterInternal(double,double,double);
00128   void SetCenterInternal(double c[3]) 
00129     { 
00130     this->SetCenterInternal(c[0], c[1], c[2]); 
00131     }
00132   void SetRadiusInternal(double);
00133 
00135   virtual void ChildCreate(vtkPVApplication*);
00136 
00138   virtual void ExecuteEvent(vtkObject*, unsigned long, void*);
00139 
00140   vtkKWEntry *CenterEntry[3];
00141   vtkKWEntry *RadiusEntry;
00142   vtkKWPushButton *CenterResetButton;
00143 
00144   vtkKWLabel* Labels[2];
00145   vtkKWLabel* CoordinateLabel[3];
00146 
00147   vtkPVInputMenu* InputMenu;
00148 
00149   vtkSMProxy *ImplicitFunctionProxy;
00150 
00153   virtual void SaveInBatchScript(ofstream *file);
00154 
00155   virtual void ActualPlaceWidget();
00156 
00157   int ReadXMLAttributes(vtkPVXMLElement* element,
00158                         vtkPVXMLPackageParser* parser);
00159 
00160   //BTX
00162 
00165   virtual vtkPVWidget* ClonePrototypeInternal(
00166     vtkPVSource* pvSource,
00167     vtkArrayMap<vtkPVWidget*, 
00168     vtkPVWidget*>* map);
00169   //ETX
00171   
00172   void SetupPropertyObservers();
00173   void UnsetPropertyObservers();
00174   void RegisterAnimateableProxies();
00175   void UnregisterAnimateableProxies();
00176 private:
00177   vtkPVSphereWidget(const vtkPVSphereWidget&); // Not implemented
00178   void operator=(const vtkPVSphereWidget&); // Not implemented
00179 };
00180 
00181 #endif

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