Open Inventor Reference
SbProjector Class Referenceabstract

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

Public Member Functions

virtual SbVec3f project (const SbVec2f &point)=0
 Apply the projector using the given point, returning the point in three dimensions that it projects to. More...
 
virtual void setViewVolume (const SbViewVolume &vol)
 Set the view volume to use for the projection. More...
 
const SbViewVolumegetViewVolume () const
 Get the view volume to use for the projection. More...
 
virtual void setWorkingSpace (const SbMatrix &space)
 Set the transform space to work in. More...
 
const SbMatrixgetWorkingSpace () const
 Get the transform space to work in. More...
 
virtual SbProjectorcopy () const =0
 Creates and returns an exact copy of the projector. More...
 

Protected Member Functions

 SbProjector ()
 Default constructor. More...
 
virtual ~SbProjector ()
 
SbLine getWorkingLine (const SbVec2f &point) const
 Given this mouse point, return the line it projects to in working space. More...
 

Protected Attributes

SbViewVolume viewVol
 
SbMatrix worldToWorking
 
SbMatrix workingToWorld
 

Detailed Description

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

Definition at line 86 of file SbProjector.h.

Constructor & Destructor Documentation

◆ SbProjector()

SbProjector::SbProjector ( )
protected

The default view volume is undefined. The default working space is identity (world space).

◆ ~SbProjector()

virtual SbProjector::~SbProjector ( )
inlineprotectedvirtual

Definition at line 122 of file SbProjector.h.

Member Function Documentation

◆ copy()

◆ getViewVolume()

const SbViewVolume& SbProjector::getViewVolume ( ) const
inline

Definition at line 102 of file SbProjector.h.

◆ getWorkingLine()

SbLine SbProjector::getWorkingLine ( const SbVec2f point) const
protected

◆ getWorkingSpace()

const SbMatrix& SbProjector::getWorkingSpace ( ) const
inline

Definition at line 111 of file SbProjector.h.

◆ project()

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

◆ setViewVolume()

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

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

◆ setWorkingSpace()

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

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 SbSphereProjector, and SbCylinderProjector.

Member Data Documentation

◆ viewVol

SbViewVolume SbProjector::viewVol
protected

Definition at line 128 of file SbProjector.h.

◆ workingToWorld

SbMatrix SbProjector::workingToWorld
protected

Definition at line 130 of file SbProjector.h.

◆ worldToWorking

SbMatrix SbProjector::worldToWorking
protected

Definition at line 129 of file SbProjector.h.


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