Plane projector. More...
#include <Inventor/projectors/SbPlaneProjector.h>
Public Member Functions | |
SbPlaneProjector (SbBool orient=FALSE) | |
SbPlaneProjector (const SbPlane &plane, SbBool orient=FALSE) | |
virtual | ~SbPlaneProjector () |
virtual SbProjector * | copy () const |
virtual SbVec3f | project (const SbVec2f &point) |
virtual SbVec3f | intersect (const SbLine &line) |
void | setPlane (const SbPlane &plane) |
const SbPlane & | getPlane () const |
void | setOrientToEye (SbBool orientToEye) |
SbBool | isOrientToEye () const |
virtual SbVec3f | getVector (const SbVec2f &mousePosition1, const SbVec2f &mousePosition2) |
virtual SbVec3f | getVector (const SbVec2f &mousePosition) |
void | setStartPosition (const SbVec2f &mousePosition) |
void | setStartPosition (const SbVec3f &point) |
Plane projector.
SbPlaneProjector projects the mouse onto a plane. This is typically used to write interactive 3D manipulators and viewers.
SbCylinderProjector, SbCylinderPlaneProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector, SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector, SbSphereSheetProjector
SbPlaneProjector::SbPlaneProjector | ( | SbBool | orient = FALSE |
) |
Constructor.
The default plane passes through the origin and is oriented perpendicular to the Z axis.
Constructor which is passed a plane.
If orient to eye is TRUE, the plane will be reoriented to the eye.
virtual SbPlaneProjector::~SbPlaneProjector | ( | ) | [inline, virtual] |
Destructor.
virtual SbProjector* SbPlaneProjector::copy | ( | ) | const [virtual] |
Returns an instance that is a copy of this instance.
The caller is responsible for deleting the copy when done.
Implements SbProjector.
const SbPlane& SbPlaneProjector::getPlane | ( | ) | const [inline] |
Gets the plane to use.
Gets a vector given the current mouse point.
Uses the last point on this projector from the previous call to getVector() or setStartPostion(). Do not use this if the working space transform is changing since the new point will be in a different space than the old one.
virtual SbVec3f SbPlaneProjector::getVector | ( | const SbVec2f & | mousePosition1, | |
const SbVec2f & | mousePosition2 | |||
) | [virtual] |
Gets a vector on this plane given two normalized mouse positions.
Applies the projector using the given line in world coordinates, returning the point in three dimensions that it projects to.
New for v3.0.
Implements SbProjector.
SbBool SbPlaneProjector::isOrientToEye | ( | ) | const [inline] |
Gets whether the projector should be oriented towards the eye.
Applies the projector using the given point, returning the point in three dimensions that it projects to.
The point should be normalized from 0-1, with (0,0) at the lower-left.
Implements SbProjector.
void SbPlaneProjector::setOrientToEye | ( | SbBool | orientToEye | ) |
Sets whether the projector should be oriented towards the eye.
If orientToEye is set to TRUE, the given plane's direction is ignored, and the plane will be oriented to the eye. It will pass through the same point from the origin defined by the original dir * dist. Set to FALSE if the plane's direction should remain in working space.
void SbPlaneProjector::setPlane | ( | const SbPlane & | plane | ) |
Sets the plane to use.
void SbPlaneProjector::setStartPosition | ( | const SbVec3f & | point | ) | [inline] |
Sets the initial position from a point on the projector.
void SbPlaneProjector::setStartPosition | ( | const SbVec2f & | mousePosition | ) | [inline] |
Sets the initial mouse position.