00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkPolyDataPointPlacer_h
00034 #define __vtkPolyDataPointPlacer_h
00035
00036 #include "vtkPointPlacer.h"
00037
00038 class vtkRenderer;
00039 class vtkPropCollection;
00040 class vtkProp;
00041 class vtkPropPicker;
00042
00043 class VTK_WIDGETS_EXPORT vtkPolyDataPointPlacer : public vtkPointPlacer
00044 {
00045 public:
00047 static vtkPolyDataPointPlacer *New();
00048
00050
00051 vtkTypeRevisionMacro(vtkPolyDataPointPlacer,vtkPointPlacer);
00052 void PrintSelf(ostream& os, vtkIndent indent);
00054
00055
00056
00057
00058 virtual void AddProp( vtkProp * );
00059 virtual void RemoveViewProp(vtkProp *prop);
00060 virtual void RemoveAllProps();
00061 int HasProp( vtkProp * );
00062 int GetNumberOfProps();
00063
00065
00070 virtual int ComputeWorldPosition( vtkRenderer *ren,
00071 double displayPos[2],
00072 double worldPos[3],
00073 double worldOrient[9] );
00075
00077
00080 virtual int ComputeWorldPosition( vtkRenderer *ren,
00081 double displayPos[2],
00082 double refWorldPos[3],
00083 double worldPos[3],
00084 double worldOrient[9] );
00086
00089 virtual int ValidateWorldPosition( double worldPos[3] );
00090
00092 virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
00093
00095
00097 virtual int ValidateWorldPosition( double worldPos[3],
00098 double worldOrient[9] );
00100
00102
00103 vtkGetObjectMacro( PropPicker, vtkPropPicker );
00105
00106 protected:
00107 vtkPolyDataPointPlacer();
00108 ~vtkPolyDataPointPlacer();
00109
00110
00111
00112 vtkPropCollection *SurfaceProps;
00113 vtkPropPicker *PropPicker;
00114
00115 private:
00116 vtkPolyDataPointPlacer(const vtkPolyDataPointPlacer&);
00117 void operator=(const vtkPolyDataPointPlacer&);
00118 };
00119
00120 #endif
00121