SbCylinderProjector Class Reference
[Projectors]

Cylinder projector. More...

#include <Inventor/projectors/SbCylinderProjector.h>

Inheritance diagram for SbCylinderProjector:
SbProjector SbCylinderSectionProjector SbCylinderSheetProjector SbCylinderPlaneProjector

List of all members.

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 SbCylindergetCylinder () 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)

Detailed Description

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.

SEE ALSO

SbCylinderPlaneProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector, SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector, SbSphereSheetProjector


Constructor & Destructor Documentation

virtual SbCylinderProjector::~SbCylinderProjector (  )  [inline, virtual]

Destructor.


Member Function Documentation

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.

virtual SbVec3f SbCylinderProjector::intersect ( const SbLine line  )  [pure virtual]

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.

SbBool SbCylinderProjector::isPointInFront ( const SbVec3f point  )  const

Gets whether the projector should intersect the half of the cylinder that faces the eye.

virtual SbVec3f SbCylinderProjector::project ( const SbVec2f point  )  [pure virtual]

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.


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

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/