00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkImageActorPointPlacer_h
00026 #define __vtkImageActorPointPlacer_h
00027
00028 #include "vtkPointPlacer.h"
00029
00030 class vtkBoundedPlanePointPlacer;
00031 class vtkImageActor;
00032 class vtkRenderer;
00033
00034 class VTK_WIDGETS_EXPORT vtkImageActorPointPlacer : public vtkPointPlacer
00035 {
00036 public:
00038 static vtkImageActorPointPlacer *New();
00039
00041
00042 vtkTypeRevisionMacro(vtkImageActorPointPlacer,vtkPointPlacer);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00045
00047
00053 int ComputeWorldPosition( vtkRenderer *ren,
00054 double displayPos[2],
00055 double worldPos[3],
00056 double worldOrient[9] );
00058
00060
00062 int ComputeWorldPosition( vtkRenderer *ren,
00063 double displayPos[2],
00064 double refWorldPos[2],
00065 double worldPos[3],
00066 double worldOrient[9] );
00068
00072 int ValidateWorldPosition( double worldPos[3] );
00073
00075
00077 int ValidateWorldPosition( double worldPos[3],
00078 double worldOrient[9]);
00080
00081
00083
00086 int UpdateWorldPosition( vtkRenderer *ren,
00087 double worldPos[3],
00088 double worldOrient[9]);
00090
00096 int UpdateInternalState();
00097
00099
00103 void SetImageActor( vtkImageActor * );
00104 vtkGetObjectMacro( ImageActor, vtkImageActor );
00106
00108
00113 vtkSetVector6Macro( Bounds, double );
00114 vtkGetVector6Macro( Bounds, double );
00116
00117 protected:
00118 vtkImageActorPointPlacer();
00119 ~vtkImageActorPointPlacer();
00120
00121
00122
00123
00124 vtkImageActor *ImageActor;
00125
00126
00127 vtkBoundedPlanePointPlacer *Placer;
00128
00129
00130
00131 double SavedBounds[6];
00132
00133
00134 double Bounds[6];
00135
00136 private:
00137 vtkImageActorPointPlacer(const vtkImageActorPointPlacer&);
00138 void operator=(const vtkImageActorPointPlacer&);
00139 };
00140
00141 #endif