1 #ifndef __cpExtensions__Interaction__ImageSlicePointPlacer__h__
2 #define __cpExtensions__Interaction__ImageSlicePointPlacer__h__
4 #include <cpExtensions/Config.h>
5 #include <vtkPointPlacer.h>
7 class vtkBoundedPlanePointPlacer;
11 namespace cpExtensions
17 class cpExtensions_EXPORT ImageSlicePointPlacer
18 : public vtkPointPlacer
21 typedef ImageSlicePointPlacer Self;
22 vtkTypeMacro( ImageSlicePointPlacer, vtkPointPlacer );
24 vtkGetObjectMacro( ImageSlice, vtkImageSlice );
25 vtkSetVector6Macro( Bounds, double );
26 vtkGetVector6Macro( Bounds, double );
31 int ComputeWorldPosition(
33 double displayPos[ 2 ],
35 double worldOrient[ 9 ]
37 int ComputeWorldPosition(
39 double displayPos[ 2 ],
40 double refWorldPos[ 2 ],
42 double worldOrient[ 9 ]
44 int ValidateWorldPosition( double worldPos[ 3 ] );
45 int ValidateWorldPosition(
46 double worldPos[ 3 ], double worldOrient[ 9 ]
48 int UpdateWorldPosition(
49 vtkRenderer* ren, double worldPos[ 3 ], double worldOrient[ 9 ]
51 int UpdateInternalState( );
53 void SetImageSlice( vtkImageSlice* slice );
54 virtual void SetWorldTolerance( double tol );
57 ImageSlicePointPlacer( );
58 virtual ~ImageSlicePointPlacer( );
61 // Purposely not implemented
62 ImageSlicePointPlacer( const Self& );
63 Self& operator=( const Self& );
66 vtkImageSlice* ImageSlice;
67 vtkBoundedPlanePointPlacer* Placer;
68 double SavedBounds[ 6 ];
76 #endif // __cpExtensions__Interaction__ImageSlicePointPlacer__h__