00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkImageActorPointPlacer_h
00029 #define __vtkImageActorPointPlacer_h
00030
00031 #include "vtkPointPlacer.h"
00032
00033 class vtkBoundedPlanePointPlacer;
00034 class vtkImageActor;
00035 class vtkRenderer;
00036
00037 class VTK_WIDGETS_EXPORT vtkImageActorPointPlacer : public vtkPointPlacer
00038 {
00039 public:
00041 static vtkImageActorPointPlacer *New();
00042
00044
00045 vtkTypeMacro(vtkImageActorPointPlacer,vtkPointPlacer);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00048
00050
00056 int ComputeWorldPosition( vtkRenderer *ren,
00057 double displayPos[2],
00058 double worldPos[3],
00059 double worldOrient[9] );
00061
00063
00065 int ComputeWorldPosition( vtkRenderer *ren,
00066 double displayPos[2],
00067 double refWorldPos[2],
00068 double worldPos[3],
00069 double worldOrient[9] );
00071
00075 int ValidateWorldPosition( double worldPos[3] );
00076
00078
00080 int ValidateWorldPosition( double worldPos[3],
00081 double worldOrient[9]);
00083
00084
00086
00089 int UpdateWorldPosition( vtkRenderer *ren,
00090 double worldPos[3],
00091 double worldOrient[9]);
00093
00099 int UpdateInternalState();
00100
00102
00106 void SetImageActor( vtkImageActor * );
00107 vtkGetObjectMacro( ImageActor, vtkImageActor );
00109
00111
00116 vtkSetVector6Macro( Bounds, double );
00117 vtkGetVector6Macro( Bounds, double );
00119
00122 virtual void SetWorldTolerance( double s );
00123
00124 protected:
00125 vtkImageActorPointPlacer();
00126 ~vtkImageActorPointPlacer();
00127
00128
00129
00130
00131 vtkImageActor *ImageActor;
00132
00133
00134 vtkBoundedPlanePointPlacer *Placer;
00135
00136
00137
00138 double SavedBounds[6];
00139
00140
00141 double Bounds[6];
00142
00143 private:
00144 vtkImageActorPointPlacer(const vtkImageActorPointPlacer&);
00145 void operator=(const vtkImageActorPointPlacer&);
00146 };
00147
00148 #endif