vtkBoundedPlanePointPlacer Class Reference

#include <vtkBoundedPlanePointPlacer.h>

Inheritance diagram for vtkBoundedPlanePointPlacer:

Inheritance graph
[legend]
Collaboration diagram for vtkBoundedPlanePointPlacer:

Collaboration graph
[legend]

List of all members.


Detailed Description

a placer that constrains a handle to a finite plane

vtkBoundedPlanePointPlacer is a type of point placer that constrains its points to a finite (i.e., bounded) plance.

See also:
vtkPointPlacer vtkHandleWidget vtkHandleRepresentation
Tests:
vtkBoundedPlanePointPlacer (Tests)

Definition at line 39 of file vtkBoundedPlanePointPlacer.h.

typedef vtkPointPlacer Superclass
static int IsTypeOf (const char *type)
static vtkBoundedPlanePointPlacerSafeDownCast (vtkObject *o)
virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)

Public Types

enum  { XAxis = 0, YAxis, ZAxis, Oblique }

Public Member Functions

void SetObliquePlane (vtkPlane *)
int ValidateWorldPosition (double worldPos[3])
int ValidateWorldPosition (double worldPos[3], double worldOrient[9])
virtual void SetProjectionNormal (int)
virtual int GetProjectionNormal ()
void SetProjectionNormalToXAxis ()
void SetProjectionNormalToYAxis ()
void SetProjectionNormalToZAxis ()
void SetProjectionNormalToOblique ()
void SetProjectionPosition (double position)
virtual double GetProjectionPosition ()
void AddBoundingPlane (vtkPlane *plane)
void RemoveBoundingPlane (vtkPlane *plane)
void RemoveAllBoundingPlanes ()
virtual void SetBoundingPlanes (vtkPlaneCollection *)
virtual vtkPlaneCollectionGetBoundingPlanes ()
void SetBoundingPlanes (vtkPlanes *planes)
int ComputeWorldPosition (vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9])
virtual int ComputeWorldPosition (vtkRenderer *ren, double displayPos[2], double refWorldPos[3], double worldPos[3], double worldOrient[9])
virtual int UpdateWorldPosition (vtkRenderer *ren, double worldPos[3], double worldOrient[9])

Static Public Member Functions

static vtkBoundedPlanePointPlacerNew ()

Protected Member Functions

 vtkBoundedPlanePointPlacer ()
 ~vtkBoundedPlanePointPlacer ()
void GetProjectionNormal (double normal[3])
void GetProjectionOrigin (double origin[3])
void GetCurrentOrientation (double worldOrient[9])

Static Protected Member Functions

static double GetDistanceFromObject (double pos[3], vtkPlaneCollection *pc, double closestPt[3])

Protected Attributes

int ProjectionNormal
double ProjectionPosition
vtkPlaneObliquePlane
vtkPlaneCollectionBoundingPlanes

Member Typedef Documentation

Standard methods for instances of this class.

Reimplemented from vtkPointPlacer.

Definition at line 47 of file vtkBoundedPlanePointPlacer.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
XAxis 
YAxis 
ZAxis 
Oblique 

Definition at line 98 of file vtkBoundedPlanePointPlacer.h.


Constructor & Destructor Documentation

vtkBoundedPlanePointPlacer::vtkBoundedPlanePointPlacer (  )  [protected]

vtkBoundedPlanePointPlacer::~vtkBoundedPlanePointPlacer (  )  [protected]


Member Function Documentation

static vtkBoundedPlanePointPlacer* vtkBoundedPlanePointPlacer::New (  )  [static]

Instantiate this class.

Reimplemented from vtkPointPlacer.

virtual const char* vtkBoundedPlanePointPlacer::GetClassName (  )  [virtual]

Standard methods for instances of this class.

Reimplemented from vtkPointPlacer.

static int vtkBoundedPlanePointPlacer::IsTypeOf ( const char *  type  )  [static]

Standard methods for instances of this class.

Reimplemented from vtkPointPlacer.

virtual int vtkBoundedPlanePointPlacer::IsA ( const char *  type  )  [virtual]

Standard methods for instances of this class.

Reimplemented from vtkPointPlacer.

static vtkBoundedPlanePointPlacer* vtkBoundedPlanePointPlacer::SafeDownCast ( vtkObject o  )  [static]

Standard methods for instances of this class.

Reimplemented from vtkPointPlacer.

void vtkBoundedPlanePointPlacer::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Standard methods for instances of this class.

Reimplemented from vtkPointPlacer.

virtual void vtkBoundedPlanePointPlacer::SetProjectionNormal ( int   )  [virtual]

Set the projection normal to lie along the x, y, or z axis, or to be oblique. If it is oblique, then the plane is defined in the ObliquePlane ivar.

virtual int vtkBoundedPlanePointPlacer::GetProjectionNormal (  )  [virtual]

Set the projection normal to lie along the x, y, or z axis, or to be oblique. If it is oblique, then the plane is defined in the ObliquePlane ivar.

void vtkBoundedPlanePointPlacer::SetProjectionNormalToXAxis (  )  [inline]

Set the projection normal to lie along the x, y, or z axis, or to be oblique. If it is oblique, then the plane is defined in the ObliquePlane ivar.

Definition at line 59 of file vtkBoundedPlanePointPlacer.h.

void vtkBoundedPlanePointPlacer::SetProjectionNormalToYAxis (  )  [inline]

Set the projection normal to lie along the x, y, or z axis, or to be oblique. If it is oblique, then the plane is defined in the ObliquePlane ivar.

Definition at line 61 of file vtkBoundedPlanePointPlacer.h.

void vtkBoundedPlanePointPlacer::SetProjectionNormalToZAxis (  )  [inline]

Set the projection normal to lie along the x, y, or z axis, or to be oblique. If it is oblique, then the plane is defined in the ObliquePlane ivar.

Definition at line 63 of file vtkBoundedPlanePointPlacer.h.

void vtkBoundedPlanePointPlacer::SetProjectionNormalToOblique (  )  [inline]

Set the projection normal to lie along the x, y, or z axis, or to be oblique. If it is oblique, then the plane is defined in the ObliquePlane ivar.

Definition at line 65 of file vtkBoundedPlanePointPlacer.h.

void vtkBoundedPlanePointPlacer::SetObliquePlane ( vtkPlane  ) 

If the ProjectionNormal is set to Oblique, then this is the oblique plane used to constrain the handle position.

void vtkBoundedPlanePointPlacer::SetProjectionPosition ( double  position  ) 

The position of the bounding plane from the origin along the normal. The origin and normal are defined in the oblique plane when the ProjectionNormal is oblique. For the X, Y, and Z axes projection normals, the normal is the axis direction, and the origin is (0,0,0).

virtual double vtkBoundedPlanePointPlacer::GetProjectionPosition (  )  [virtual]

The position of the bounding plane from the origin along the normal. The origin and normal are defined in the oblique plane when the ProjectionNormal is oblique. For the X, Y, and Z axes projection normals, the normal is the axis direction, and the origin is (0,0,0).

void vtkBoundedPlanePointPlacer::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 contraints 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 vtkBoundedPlanePointPlacer::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 contraints 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 vtkBoundedPlanePointPlacer::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 contraints 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 vtkBoundedPlanePointPlacer::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 contraints 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* vtkBoundedPlanePointPlacer::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 contraints 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 vtkBoundedPlanePointPlacer::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 contraints 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 vtkBoundedPlanePointPlacer::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.

virtual int vtkBoundedPlanePointPlacer::ComputeWorldPosition ( vtkRenderer ren,
double  displayPos[2],
double  refWorldPos[3],
double  worldPos[3],
double  worldOrient[9] 
) [virtual]

Given a renderer, a display position, and a reference world position, compute the new world position and orientation of this point. This method is typically used by the representation to move the point.

Reimplemented from vtkPointPlacer.

int vtkBoundedPlanePointPlacer::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 vtkBoundedPlanePointPlacer::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 int vtkBoundedPlanePointPlacer::UpdateWorldPosition ( vtkRenderer ren,
double  worldPos[3],
double  worldOrient[9] 
) [virtual]

If the constraints on this placer are changed, then this method will be called by the representation on each of its points. For this placer, the world position will be converted to a display position, then ComputeWorldPosition will be used to update the point.

Reimplemented from vtkPointPlacer.

void vtkBoundedPlanePointPlacer::GetProjectionNormal ( double  normal[3]  )  [protected]

void vtkBoundedPlanePointPlacer::GetProjectionOrigin ( double  origin[3]  )  [protected]

void vtkBoundedPlanePointPlacer::GetCurrentOrientation ( double  worldOrient[9]  )  [protected]

static double vtkBoundedPlanePointPlacer::GetDistanceFromObject ( double  pos[3],
vtkPlaneCollection pc,
double  closestPt[3] 
) [static, protected]


Member Data Documentation

Definition at line 163 of file vtkBoundedPlanePointPlacer.h.

Definition at line 167 of file vtkBoundedPlanePointPlacer.h.

Definition at line 171 of file vtkBoundedPlanePointPlacer.h.

Definition at line 175 of file vtkBoundedPlanePointPlacer.h.


The documentation for this class was generated from the following file:

Generated on Sat Dec 27 13:17:53 2008 for VTK by  doxygen 1.5.6