00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00021 #ifndef __vtkFocalPlanePointPlacer_h
00022 #define __vtkFocalPlanePointPlacer_h
00023
00024 #include "vtkPointPlacer.h"
00025
00026 class vtkRenderer;
00027
00028 class VTK_WIDGETS_EXPORT vtkFocalPlanePointPlacer : public vtkPointPlacer
00029 {
00030 public:
00032 static vtkFocalPlanePointPlacer *New();
00033
00035
00036 vtkTypeRevisionMacro(vtkFocalPlanePointPlacer,vtkPointPlacer);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 int ComputeWorldPosition( vtkRenderer *ren,
00049 double displayPos[2],
00050 double worldPos[3],
00051 double worldOrient[9] );
00052
00054
00060 int ComputeWorldPosition( vtkRenderer *ren,
00061 double displayPos[2],
00062 double refWorldPos[3],
00063 double worldPos[3],
00064 double worldOrient[9] );
00066
00068
00070 int ValidateWorldPosition( double worldPos[3] );
00071 int ValidateWorldPosition( double worldPos[3],
00072 double worldOrient[9]);
00074
00076
00079 vtkSetMacro( Offset, double );
00080 vtkGetMacro( Offset, double );
00082
00084
00086 vtkSetVector6Macro( PointBounds, double );
00087 vtkGetVector6Macro( PointBounds, double );
00089
00090 protected:
00091 vtkFocalPlanePointPlacer();
00092 ~vtkFocalPlanePointPlacer();
00093
00094 void GetCurrentOrientation( double worldOrient[9] );
00095
00096 double PointBounds[6];
00097 double Offset;
00098
00099 private:
00100 vtkFocalPlanePointPlacer(const vtkFocalPlanePointPlacer&);
00101 void operator=(const vtkFocalPlanePointPlacer&);
00102 };
00103
00104 #endif