00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00032 #ifndef __vtkPolyDataPointPlacer_h
00033 #define __vtkPolyDataPointPlacer_h
00034
00035 #include "vtkPointPlacer.h"
00036
00037 class vtkRenderer;
00038 class vtkPropCollection;
00039 class vtkProp;
00040 class vtkPropPicker;
00041
00042 class VTK_WIDGETS_EXPORT vtkPolyDataPointPlacer : public vtkPointPlacer
00043 {
00044 public:
00046 static vtkPolyDataPointPlacer *New();
00047
00049
00050 vtkTypeRevisionMacro(vtkPolyDataPointPlacer,vtkPointPlacer);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00053
00054
00055
00056
00057 virtual void AddProp( vtkProp * );
00058 virtual void RemoveViewProp(vtkProp *prop);
00059 virtual void RemoveAllProps();
00060 int HasProp( vtkProp * );
00061 int GetNumberOfProps();
00062
00064
00069 virtual int ComputeWorldPosition( vtkRenderer *ren,
00070 double displayPos[2],
00071 double worldPos[3],
00072 double worldOrient[9] );
00074
00076
00079 virtual int ComputeWorldPosition( vtkRenderer *ren,
00080 double displayPos[2],
00081 double refWorldPos[3],
00082 double worldPos[3],
00083 double worldOrient[9] );
00085
00088 virtual int ValidateWorldPosition( double worldPos[3] );
00089
00091 virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
00092
00094
00096 virtual int ValidateWorldPosition( double worldPos[3],
00097 double worldOrient[9] );
00099
00101
00102 vtkGetObjectMacro( PropPicker, vtkPropPicker );
00104
00105 protected:
00106 vtkPolyDataPointPlacer();
00107 ~vtkPolyDataPointPlacer();
00108
00109
00110
00111 vtkPropCollection *SurfaceProps;
00112 vtkPropPicker *PropPicker;
00113
00114 private:
00115 vtkPolyDataPointPlacer(const vtkPolyDataPointPlacer&);
00116 void operator=(const vtkPolyDataPointPlacer&);
00117 };
00118
00119 #endif
00120