00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVPointWidget.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 __vtkPVPointWidget_h 00024 #define __vtkPVPointWidget_h 00025 00026 #include "vtkPV3DWidget.h" 00027 00028 class vtkPVSource; 00029 class vtkKWEntry; 00030 class vtkKWPushButton; 00031 class vtkKWWidget; 00032 class vtkKWLabel; 00033 00034 class VTK_EXPORT vtkPVPointWidget : public vtkPV3DWidget 00035 { 00036 public: 00037 static vtkPVPointWidget* New(); 00038 vtkTypeRevisionMacro(vtkPVPointWidget, vtkPV3DWidget); 00039 00040 void PrintSelf(ostream& os, vtkIndent indent); 00041 00043 void PositionResetCallback(); 00044 00046 virtual void ActualPlaceWidget(); 00047 00048 void SetPosition(); 00049 void SetPosition(double,double,double); 00050 void GetPosition(double pt[3]); 00051 00053 virtual void ResetInternal(); 00054 00056 virtual void Initialize(); 00057 00058 //BTX 00060 00061 virtual void Accept(); 00062 //ETX 00064 00066 virtual void Trace(ofstream *file); 00067 00069 virtual void SaveInBatchScript(ofstream *file); 00070 00072 void SetVisibility(int v); 00073 00076 virtual void Create(vtkKWApplication* app); 00077 00078 protected: 00079 vtkPVPointWidget(); 00080 ~vtkPVPointWidget(); 00081 00082 void SetPositionInternal(double,double,double); 00083 00085 virtual void ChildCreate(vtkPVApplication*); 00086 00088 virtual void ExecuteEvent(vtkObject*, unsigned long, void*); 00089 00092 void GetPositionInternal(double pt[3]); 00093 00094 vtkKWEntry *PositionEntry[3]; 00095 vtkKWPushButton *PositionResetButton; 00096 00097 vtkKWLabel* Labels[2]; 00098 vtkKWLabel* CoordinateLabel[3]; 00099 00100 int ReadXMLAttributes(vtkPVXMLElement* element, 00101 vtkPVXMLPackageParser* parser); 00102 00103 private: 00104 vtkPVPointWidget(const vtkPVPointWidget&); // Not implemented 00105 void operator=(const vtkPVPointWidget&); // Not implemented 00106 }; 00107 00108 #endif