29 #ifndef vtkBoundedPlanePointPlacer_h
30 #define vtkBoundedPlanePointPlacer_h
32 #include "vtkInteractionWidgetsModule.h"
63 vtkSetClampMacro(ProjectionNormal,
int,
66 vtkGetMacro(ProjectionNormal,
int);
95 vtkGetMacro(ProjectionPosition,
double);
138 double displayPos[2],
140 double worldOrient[9] );
149 double displayPos[2],
150 double refWorldPos[3],
152 double worldOrient[9] );
165 double worldOrient[9]);
177 double worldOrient[9] );
218 double closestPt[3]);
a placer that constrains a handle to a finite plane
static vtkBoundedPlanePointPlacer * New()
Instantiate this class.
void SetProjectionPosition(double position)
The position of the bounding plane from the origin along the normal.
int ValidateWorldPosition(double worldPos[3])
Give a world position check if it is valid - does it lie on the plane and within the bounds?...
~vtkBoundedPlanePointPlacer()
void GetProjectionOrigin(double origin[3])
int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9])
Given a renderer and a display position, compute the world position and world orientation for this po...
void SetBoundingPlanes(vtkPlanes *planes)
void SetObliquePlane(vtkPlane *)
If the ProjectionNormal is set to Oblique, then this is the oblique plane used to constrain the handl...
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void SetBoundingPlanes(vtkPlaneCollection *)
void SetProjectionNormalToYAxis()
void GetCurrentOrientation(double worldOrient[9])
void SetProjectionNormalToZAxis()
void RemoveBoundingPlane(vtkPlane *plane)
void GetProjectionNormal(double normal[3])
static double GetDistanceFromObject(double pos[3], vtkPlaneCollection *pc, double closestPt[3])
vtkBoundedPlanePointPlacer()
virtual int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double refWorldPos[3], double worldPos[3], double worldOrient[9])
Given a renderer, a display position, and a reference world position, compute the new world position ...
double ProjectionPosition
void AddBoundingPlane(vtkPlane *plane)
A collection of plane equations used to bound the position of the point.
void SetProjectionNormalToXAxis()
void SetProjectionNormalToOblique()
virtual int UpdateWorldPosition(vtkRenderer *ren, double worldPos[3], double worldOrient[9])
If the constraints on this placer are changed, then this method will be called by the representation ...
int ValidateWorldPosition(double worldPos[3], double worldOrient[9])
Given a world position and a world orientation, validate it according to the constraints of the place...
vtkPlaneCollection * BoundingPlanes
void RemoveAllBoundingPlanes()
a simple class to control print indentation
maintain a list of planes
perform various plane computations
implicit function for convex set of planes
Abstract interface to translate 2D display positions to world coordinates.
abstract specification for renderers