26#ifndef vtkBoundedPlanePointPlacer_h
27#define vtkBoundedPlanePointPlacer_h
29#include "vtkInteractionWidgetsModule.h"
61 vtkGetMacro(ProjectionNormal,
int);
98 vtkGetMacro(ProjectionPosition,
double);
141 vtkRenderer* ren,
double displayPos[2],
double worldPos[3],
double worldOrient[9])
override;
150 double worldPos[3],
double worldOrient[9])
override;
a placer that constrains a handle to a finite plane
void SetProjectionPosition(double position)
The position of the bounding plane from the origin along the normal.
void GetProjectionOrigin(double origin[3])
void SetBoundingPlanes(vtkPlanes *planes)
A collection of plane equations used to bound the position of the point.
void SetObliquePlane(vtkPlane *)
If the ProjectionNormal is set to Oblique, then this is the oblique plane used to constrain the handl...
int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9]) override
Given a renderer and a display position, compute the world position and world orientation for this po...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instances of this class.
virtual void SetBoundingPlanes(vtkPlaneCollection *)
A collection of plane equations used to bound the position of the point.
void SetProjectionNormalToYAxis()
Set the projection normal to lie along the x, y, or z axis, or to be oblique.
void GetCurrentOrientation(double worldOrient[9])
void SetProjectionNormalToZAxis()
Set the projection normal to lie along the x, y, or z axis, or to be oblique.
void RemoveBoundingPlane(vtkPlane *plane)
A collection of plane equations used to bound the position of the point.
void GetProjectionNormal(double normal[3])
static double GetDistanceFromObject(double pos[3], vtkPlaneCollection *pc, double closestPt[3])
static vtkBoundedPlanePointPlacer * New()
Instantiate this class.
vtkBoundedPlanePointPlacer()
double ProjectionPosition
int UpdateWorldPosition(vtkRenderer *ren, double worldPos[3], double worldOrient[9]) override
If the constraints on this placer are changed, then this method will be called by the representation ...
void AddBoundingPlane(vtkPlane *plane)
A collection of plane equations used to bound the position of the point.
void SetProjectionNormalToXAxis()
Set the projection normal to lie along the x, y, or z axis, or to be oblique.
int ValidateWorldPosition(double worldPos[3], double worldOrient[9]) override
Given a world position and a world orientation, validate it according to the constraints of the place...
void SetProjectionNormalToOblique()
Set the projection normal to lie along the x, y, or z axis, or to be oblique.
~vtkBoundedPlanePointPlacer() override
int ValidateWorldPosition(double worldPos[3]) override
Give a world position check if it is valid - does it lie on the plane and within the bounds?...
int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double refWorldPos[3], double worldPos[3], double worldOrient[9]) override
Given a renderer, a display position, and a reference world position, compute the new world position ...
vtkPlaneCollection * BoundingPlanes
void RemoveAllBoundingPlanes()
A collection of plane equations used to bound the position of the point.
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