#include <vtkClosedSurfacePointPlacer.h>
This placer takes a set of boudning planes and constraints the validity within the supplied convex planes. It is used by the ParallelopPipedRepresentation to place constraints on the motion the handles within the parallelopiped.
Definition at line 37 of file vtkClosedSurfacePointPlacer.h.
typedef vtkPointPlacer | Superclass |
static int | IsTypeOf (const char *type) |
static vtkClosedSurfacePointPlacer * | SafeDownCast (vtkObject *o) |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
Public Member Functions | |
int | ValidateWorldPosition (double worldPos[3]) |
int | ValidateWorldPosition (double worldPos[3], double worldOrient[9]) |
virtual void | SetMinimumDistance (double) |
virtual double | GetMinimumDistance () |
void | AddBoundingPlane (vtkPlane *plane) |
void | RemoveBoundingPlane (vtkPlane *plane) |
void | RemoveAllBoundingPlanes () |
virtual void | SetBoundingPlanes (vtkPlaneCollection *) |
virtual vtkPlaneCollection * | GetBoundingPlanes () |
void | SetBoundingPlanes (vtkPlanes *planes) |
int | ComputeWorldPosition (vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9]) |
int | ComputeWorldPosition (vtkRenderer *ren, double displayPos[2], double refWorldPos[2], double worldPos[3], double worldOrient[9]) |
Static Public Member Functions | |
static vtkClosedSurfacePointPlacer * | New () |
Protected Member Functions | |
vtkClosedSurfacePointPlacer () | |
~vtkClosedSurfacePointPlacer () | |
void | BuildPlanes () |
Static Protected Member Functions | |
static double | GetDistanceFromObject (double pos[3], vtkPlaneCollection *pc, double closestPt[3]) |
Protected Attributes | |
vtkPlaneCollection * | BoundingPlanes |
double | MinimumDistance |
vtkPlaneCollection * | InnerBoundingPlanes |
Standard methods for instances of this class.
Reimplemented from vtkPointPlacer.
Definition at line 45 of file vtkClosedSurfacePointPlacer.h.
vtkClosedSurfacePointPlacer::vtkClosedSurfacePointPlacer | ( | ) | [protected] |
vtkClosedSurfacePointPlacer::~vtkClosedSurfacePointPlacer | ( | ) | [protected] |
static vtkClosedSurfacePointPlacer* vtkClosedSurfacePointPlacer::New | ( | ) | [static] |
Instantiate this class.
Reimplemented from vtkPointPlacer.
virtual const char* vtkClosedSurfacePointPlacer::GetClassName | ( | ) | [virtual] |
Standard methods for instances of this class.
Reimplemented from vtkPointPlacer.
static int vtkClosedSurfacePointPlacer::IsTypeOf | ( | const char * | type | ) | [static] |
Standard methods for instances of this class.
Reimplemented from vtkPointPlacer.
virtual int vtkClosedSurfacePointPlacer::IsA | ( | const char * | type | ) | [virtual] |
Standard methods for instances of this class.
Reimplemented from vtkPointPlacer.
static vtkClosedSurfacePointPlacer* vtkClosedSurfacePointPlacer::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Standard methods for instances of this class.
Reimplemented from vtkPointPlacer.
void vtkClosedSurfacePointPlacer::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Standard methods for instances of this class.
Reimplemented from vtkPointPlacer.
void vtkClosedSurfacePointPlacer::AddBoundingPlane | ( | vtkPlane * | plane | ) |
A collection of plane equations used to bound the position of the point. This is in addition to confining the point to a plane - these constraints are meant to, for example, keep a point within the extent of an image. Using a set of plane equations allows for more complex bounds (such as bounding a point to an oblique reliced image that has hexagonal shape) than a simple extent.
void vtkClosedSurfacePointPlacer::RemoveBoundingPlane | ( | vtkPlane * | plane | ) |
A collection of plane equations used to bound the position of the point. This is in addition to confining the point to a plane - these constraints are meant to, for example, keep a point within the extent of an image. Using a set of plane equations allows for more complex bounds (such as bounding a point to an oblique reliced image that has hexagonal shape) than a simple extent.
void vtkClosedSurfacePointPlacer::RemoveAllBoundingPlanes | ( | ) |
A collection of plane equations used to bound the position of the point. This is in addition to confining the point to a plane - these constraints are meant to, for example, keep a point within the extent of an image. Using a set of plane equations allows for more complex bounds (such as bounding a point to an oblique reliced image that has hexagonal shape) than a simple extent.
virtual void vtkClosedSurfacePointPlacer::SetBoundingPlanes | ( | vtkPlaneCollection * | ) | [virtual] |
A collection of plane equations used to bound the position of the point. This is in addition to confining the point to a plane - these constraints are meant to, for example, keep a point within the extent of an image. Using a set of plane equations allows for more complex bounds (such as bounding a point to an oblique reliced image that has hexagonal shape) than a simple extent.
virtual vtkPlaneCollection* vtkClosedSurfacePointPlacer::GetBoundingPlanes | ( | ) | [virtual] |
A collection of plane equations used to bound the position of the point. This is in addition to confining the point to a plane - these constraints are meant to, for example, keep a point within the extent of an image. Using a set of plane equations allows for more complex bounds (such as bounding a point to an oblique reliced image that has hexagonal shape) than a simple extent.
void vtkClosedSurfacePointPlacer::SetBoundingPlanes | ( | vtkPlanes * | planes | ) |
A collection of plane equations used to bound the position of the point. This is in addition to confining the point to a plane - these constraints are meant to, for example, keep a point within the extent of an image. Using a set of plane equations allows for more complex bounds (such as bounding a point to an oblique reliced image that has hexagonal shape) than a simple extent.
int vtkClosedSurfacePointPlacer::ComputeWorldPosition | ( | vtkRenderer * | ren, | |
double | displayPos[2], | |||
double | worldPos[3], | |||
double | worldOrient[9] | |||
) | [virtual] |
Given a renderer and a display position, compute the world position and world orientation for this point. A plane is defined by a combination of the ProjectionNormal, ProjectionOrigin, and ObliquePlane ivars. The display position is projected onto this plane to determine a world position, and the orientation is set to the normal of the plane. If the point cannot project onto the plane or if it falls outside the bounds imposed by the BoundingPlanes, then 0 is returned, otherwise 1 is returned to indicate a valid return position and orientation.
Reimplemented from vtkPointPlacer.
int vtkClosedSurfacePointPlacer::ComputeWorldPosition | ( | vtkRenderer * | ren, | |
double | displayPos[2], | |||
double | refWorldPos[2], | |||
double | worldPos[3], | |||
double | worldOrient[9] | |||
) |
Given a renderer, a display position and a reference position, "worldPos" is calculated as : Consider the line "L" that passes through the supplied "displayPos" and is parallel to the direction of projection of the camera. Clip this line segment with the parallelopiped, let's call it "L_segment". The computed world position, "worldPos" will be the point on "L_segment" that is closest to refWorldPos. NOTE: Note that a set of bounding planes must be supplied. The Oblique plane, if supplied is ignored.
int vtkClosedSurfacePointPlacer::ValidateWorldPosition | ( | double | worldPos[3] | ) | [virtual] |
Give a world position check if it is valid - does it lie on the plane and within the bounds? Returns 1 if it is valid, 0 otherwise.
Reimplemented from vtkPointPlacer.
int vtkClosedSurfacePointPlacer::ValidateWorldPosition | ( | double | worldPos[3], | |
double | worldOrient[9] | |||
) | [virtual] |
Given a world position and a world orientation, validate it according to the constraints of the placer.
Reimplemented from vtkPointPlacer.
virtual void vtkClosedSurfacePointPlacer::SetMinimumDistance | ( | double | ) | [virtual] |
virtual double vtkClosedSurfacePointPlacer::GetMinimumDistance | ( | ) | [virtual] |
static double vtkClosedSurfacePointPlacer::GetDistanceFromObject | ( | double | pos[3], | |
vtkPlaneCollection * | pc, | |||
double | closestPt[3] | |||
) | [static, protected] |
void vtkClosedSurfacePointPlacer::BuildPlanes | ( | ) | [protected] |
Definition at line 118 of file vtkClosedSurfacePointPlacer.h.
double vtkClosedSurfacePointPlacer::MinimumDistance [protected] |
Definition at line 129 of file vtkClosedSurfacePointPlacer.h.
Definition at line 130 of file vtkClosedSurfacePointPlacer.h.