SbProjector Class Reference
[Projectors]

Base class for representing projectors. More...

#include <Inventor/projectors/SbProjector.h>

Inheritance diagram for SbProjector:
SbCylinderProjector SbLineProjector SbPlaneProjector SbSphereProjector SbCylinderSectionProjector SbCylinderSheetProjector SbSphereSectionProjector SbSphereSheetProjector SbCylinderPlaneProjector SbSpherePlaneProjector

List of all members.

Public Member Functions

virtual ~SbProjector ()
virtual SbVec3f project (const SbVec2f &point)=0
virtual SbVec3f intersect (const SbLine &line)=0
virtual void setViewVolume (const SbViewVolume &vol)
const SbViewVolumegetViewVolume () const
virtual void setWorkingSpace (const SbMatrix &space)
const SbMatrixgetWorkingSpace () const
virtual SbProjectorcopy () const =0

Detailed Description

Base class for representing projectors.

SbProjector is the base class for all projector classes. Projector classes are used to convert from window space (usually based on the mouse location) into a 3D point. This is done by projecting the window coordinate as a 3D vector onto a geometric function in 3-space, and computing the intersection point. Most projectors actually compute incremental changes and produce incremental rotations and translation as needed. Projectors are used to write 3D interactive manipulators and viewers.

SEE ALSO

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


Constructor & Destructor Documentation

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

Destructor.


Member Function Documentation

virtual SbProjector* SbProjector::copy (  )  const [pure virtual]
const SbViewVolume& SbProjector::getViewVolume (  )  const [inline]

Get the view volume to use for the projection.

const SbMatrix& SbProjector::getWorkingSpace (  )  const [inline]

Get the transform space to work in.

virtual SbVec3f SbProjector::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.

Note: For the projectors that support "orientToEye", setting this flag to TRUE causes the projector to orient to the line when the intersect method is called. New for v3.0.

Implemented in SbCylinderPlaneProjector, SbCylinderProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector, SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector, and SbSphereSheetProjector.

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

Apply the projector using the given point, returning the point in three dimensions that it projects to.

The point should be normalized (lie in the range [0.0,1.0]), with (0,0) at the lower-left.

Implemented in SbCylinderPlaneProjector, SbCylinderProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector, SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector, and SbSphereSheetProjector.

virtual void SbProjector::setViewVolume ( const SbViewVolume vol  )  [virtual]

Set the view volume to use for the projection.

This is typically supplied from SoCamera::getViewVolume().

virtual void SbProjector::setWorkingSpace ( const SbMatrix space  )  [virtual]

Set the transform space to work in.

This matrix should transform working space coordinates into world space. The default matrix is identity, meaning that the default working space is world space.

Reimplemented in SbCylinderProjector, and SbSphereProjector.


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/