Cylinder projector. More...
#include <Inventor/projectors/SbCylinderProjector.h>
Public Member Functions | |
virtual | ~SbCylinderProjector () |
virtual SbVec3f | project (const SbVec2f &point)=0 |
virtual SbVec3f | intersect (const SbLine &line)=0 |
SbVec3f | projectAndGetRotation (const SbVec2f &point, SbRotation &rot) |
virtual SbRotation | getRotation (const SbVec3f &point1, const SbVec3f &point2)=0 |
void | setCylinder (const SbCylinder &cyl) |
const SbCylinder & | getCylinder () const |
void | setOrientToEye (SbBool orientToEye) |
SbBool | isOrientToEye () const |
void | setFront (SbBool isFront) |
SbBool | isFront () const |
SbBool | isPointInFront (const SbVec3f &point) const |
virtual void | setWorkingSpace (const SbMatrix &space) |
Cylinder projector.
SbCylinderProjector is an abstract base class for projectors that use a cylinder in their projection. The getRotation() method for an SbCylinderProjector will always return a rotation that is about the axis of the cylinder. Cylinder projectors are typically used to write interactive 3D manipulators and viewers.
SbCylinderPlaneProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector, SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector, SbSphereSheetProjector
virtual SbCylinderProjector::~SbCylinderProjector | ( | ) | [inline, virtual] |
Destructor.
const SbCylinder& SbCylinderProjector::getCylinder | ( | ) | const [inline] |
Gets the cylinder on which to project points.
virtual SbRotation SbCylinderProjector::getRotation | ( | const SbVec3f & | point1, | |
const SbVec3f & | point2 | |||
) | [pure virtual] |
Gets a rotation given two points on this cylinder projector.
The rotation will be about the axis of the cylinder.
Implemented in SbCylinderPlaneProjector, SbCylinderSectionProjector, and SbCylinderSheetProjector.
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.
Implemented in SbCylinderPlaneProjector, SbCylinderSectionProjector, and SbCylinderSheetProjector.
SbBool SbCylinderProjector::isFront | ( | ) | const [inline] |
Gets whether the projector should intersect the half of the cylinder that faces the eye.
SbBool SbCylinderProjector::isOrientToEye | ( | ) | const [inline] |
Gets whether the projector should always be oriented towards the eye.
Gets whether the projector should intersect the half of the cylinder that faces 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.
Implemented in SbCylinderPlaneProjector, SbCylinderSectionProjector, and SbCylinderSheetProjector.
SbVec3f SbCylinderProjector::projectAndGetRotation | ( | const SbVec2f & | point, | |
SbRotation & | rot | |||
) |
Applies the projector using the given point, returning the point in three dimensions that it projects to.
This also returns in rot a rotation about the axis of the cylinder from the last projected point to this one. The passed point should be normalized (i.e. lie in the range [0.0,1.0]), with (0,0) at the lower-left.
void SbCylinderProjector::setCylinder | ( | const SbCylinder & | cyl | ) |
Sets the cylinder on which to project points.
The default cylinder is aligned with the Y axis and has radius 1.0.
void SbCylinderProjector::setFront | ( | SbBool | isFront | ) |
Sets whether the projector should intersect the half of the cylinder that faces the eye.
Set to FALSE if the projector should intersect with the rear half.
void SbCylinderProjector::setOrientToEye | ( | SbBool | orientToEye | ) |
Sets whether the projector should always be oriented towards the eye.
Set to FALSE if the tolerance should be evaluated in working space.
virtual void SbCylinderProjector::setWorkingSpace | ( | const SbMatrix & | space | ) | [virtual] |
Sets the transform space to work in.
Reimplemented from SbProjector.