00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00039 #ifndef __vtkTerrainDataPointPlacer_h
00040 #define __vtkTerrainDataPointPlacer_h
00041
00042 #include "vtkPointPlacer.h"
00043
00044 class vtkPropCollection;
00045 class vtkProp;
00046 class vtkPropPicker;
00047
00048 class VTK_WIDGETS_EXPORT vtkTerrainDataPointPlacer : public vtkPointPlacer
00049 {
00050 public:
00052 static vtkTerrainDataPointPlacer *New();
00053
00055
00056 vtkTypeMacro(vtkTerrainDataPointPlacer,vtkPointPlacer);
00057 void PrintSelf(ostream& os, vtkIndent indent);
00059
00060
00061
00062
00063 virtual void AddProp( vtkProp * );
00064 virtual void RemoveAllProps();
00065
00067
00071 vtkSetMacro(HeightOffset,double);
00072 vtkGetMacro(HeightOffset,double);
00074
00076
00081 virtual int ComputeWorldPosition( vtkRenderer *ren,
00082 double displayPos[2],
00083 double worldPos[3],
00084 double worldOrient[9] );
00086
00088
00091 virtual int ComputeWorldPosition( vtkRenderer *ren,
00092 double displayPos[2],
00093 double refWorldPos[3],
00094 double worldPos[3],
00095 double worldOrient[9] );
00097
00100 virtual int ValidateWorldPosition( double worldPos[3] );
00101
00103 virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
00104
00106
00108 virtual int ValidateWorldPosition( double worldPos[3],
00109 double worldOrient[9] );
00111
00113
00114 vtkGetObjectMacro( PropPicker, vtkPropPicker );
00116
00117 protected:
00118 vtkTerrainDataPointPlacer();
00119 ~vtkTerrainDataPointPlacer();
00120
00121
00122
00123 vtkPropCollection *TerrainProps;
00124 vtkPropPicker *PropPicker;
00125 double HeightOffset;
00126
00127 private:
00128 vtkTerrainDataPointPlacer(const vtkTerrainDataPointPlacer&);
00129 void operator=(const vtkTerrainDataPointPlacer&);
00130 };
00131
00132 #endif