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 vtkTypeRevisionMacro(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
00120 protected:
00121 vtkImageActorPointPlacer();
00122 ~vtkImageActorPointPlacer();
00123
00124
00125
00126
00127 vtkImageActor *ImageActor;
00128
00129
00130 vtkBoundedPlanePointPlacer *Placer;
00131
00132
00133
00134 double SavedBounds[6];
00135
00136
00137 double Bounds[6];
00138
00139 private:
00140 vtkImageActorPointPlacer(const vtkImageActorPointPlacer&);
00141 void operator=(const vtkImageActorPointPlacer&);
00142 };
00143
00144 #endif