00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkPVPointSourceWidget_h
00026 #define __vtkPVPointSourceWidget_h
00027
00028 #include "vtkPVPointWidget.h"
00029
00030 class vtkPVInputMenu;
00031 class vtkPVScaleFactorEntry;
00032 class vtkPVVectorEntry;
00033 class vtkSMSourceProxy;
00034
00035 class VTK_EXPORT vtkPVPointSourceWidget : public vtkPVPointWidget
00036 {
00037 public:
00038 static vtkPVPointSourceWidget* New();
00039 vtkTypeRevisionMacro(vtkPVPointSourceWidget, vtkPVPointWidget);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00043 virtual void Create(vtkKWApplication *app);
00044
00046
00047 vtkGetObjectMacro(RadiusWidget, vtkPVScaleFactorEntry);
00049
00051
00052 vtkGetObjectMacro(NumberOfPointsWidget, vtkPVVectorEntry);
00054
00056 virtual int GetModifiedFlag();
00057
00060 virtual void SaveInBatchScript(ofstream *file);
00061
00062
00064
00066 virtual void Accept();
00067
00069
00072 virtual void ResetInternal();
00073
00075 virtual void Initialize();
00076
00078 virtual void Trace(ofstream *file);
00079
00081
00082 vtkSetMacro(RadiusScaleFactor, float);
00083 vtkSetMacro(DefaultRadius, float);
00084 vtkSetMacro(DefaultNumberOfPoints, int);
00085 vtkSetMacro(ShowEntries, int);
00086 void SetInputMenu(vtkPVInputMenu *im);
00088
00090 virtual void Update();
00091
00098 virtual void UpdateEnableState();
00099
00100 virtual vtkSMProxy* GetProxyByName(const char*)
00101 { return reinterpret_cast<vtkSMProxy*>(this->SourceProxy); }
00102
00107 virtual void EnableAnimation();
00108
00113 virtual void DisableAnimation();
00114
00115 protected:
00116 vtkPVPointSourceWidget();
00117 ~vtkPVPointSourceWidget();
00118
00119
00120 virtual void CopyProperties(vtkPVWidget *clone, vtkPVSource *pvSource,
00121 vtkArrayMap<vtkPVWidget*, vtkPVWidget*>* map);
00122
00123 virtual int ReadXMLAttributes(vtkPVXMLElement *element,
00124 vtkPVXMLPackageParser *parser);
00125
00126
00127 vtkSMSourceProxy *SourceProxy;
00128 char *SourceProxyName;
00129 vtkSetStringMacro(SourceProxyName);
00130
00131 vtkPVScaleFactorEntry* RadiusWidget;
00132 vtkPVVectorEntry* NumberOfPointsWidget;
00133
00134 float RadiusScaleFactor;
00135 float DefaultRadius;
00136 vtkPVInputMenu *InputMenu;
00137 int DefaultNumberOfPoints;
00138 int ShowEntries;
00139
00140 vtkPVPointSourceWidget(const vtkPVPointSourceWidget&);
00141 void operator=(const vtkPVPointSourceWidget&);
00142
00143 };
00144
00145 #endif