Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

SbPlaneProjector Class Reference

The SbPlaneProjector class projects 2D points to 3D points in a plane. More...

#include <Inventor/projectors/SbPlaneProjector.h>

Inheritance diagram for SbPlaneProjector::

SbProjector List of all members.

Public Methods

 SbPlaneProjector (const SbBool orient=FALSE)
 SbPlaneProjector (const SbPlane &plane, const SbBool orient=FALSE)
virtual SbProjectorcopy (void) const
virtual SbVec3f project (const SbVec2f &point)
void setPlane (const SbPlane &plane)
const SbPlanegetPlane (void) const
void setOrientToEye (const SbBool orienttoeye)
SbBool isOrientToEye (void) const
virtual SbVec3f getVector (const SbVec2f &viewpos1, const SbVec2f &viewpos2)
virtual SbVec3f getVector (const SbVec2f &viewpos)
void setStartPosition (const SbVec2f &viewpos)
void setStartPosition (const SbVec3f &point)

Protected Methods

void setupPlane (void)

Protected Attributes

SbPlane plane
SbPlane nonOrientPlane
SbBool orientToEye
SbBool needSetup
SbVec3f lastPoint

Detailed Description

The SbPlaneProjector class projects 2D points to 3D points in a plane.

The 3D projection of the 2D coordinates is for this projector class constrained to lie inside a pre-defined 3D plane.

See also:
SbLineProjector


Constructor & Destructor Documentation

SbPlaneProjector::SbPlaneProjector const SbBool orient = FALSE
 

Constructor. Sets up a projection plane parallel with the XY-plane in world coordinates.

SbPlaneProjector::SbPlaneProjector const SbPlane & plane,
const SbBool orient = FALSE
 

Constructor taking an explicit projection plane definition.


Member Function Documentation

SbProjector * SbPlaneProjector::copy void const [virtual]
 

Construct and return a copy of this projector. The caller is responsible for destructing the new instance.

Reimplemented from SbProjector.

SbVec3f SbPlaneProjector::project const SbVec2f & point [virtual]
 

Projects 2D point into a 3D point within the current projection plane.

Reimplemented from SbProjector.

void SbPlaneProjector::setPlane const SbPlane & plane
 

Set a new projection plane.

const SbPlane & SbPlaneProjector::getPlane void const
 

Returns the current projection plane.

void SbPlaneProjector::setOrientToEye const SbBool orienttoeye
 

Sets whether or not the plane should always be oriented towards the "eye" of the viewer.

SbBool SbPlaneProjector::isOrientToEye void const
 

Returns the state of the plane orientation flag.

SbVec3f SbPlaneProjector::getVector const SbVec2f & viewpos1,
const SbVec2f & viewpos2
[virtual]
 

Returns a vector between the projected 3D points of viewpos1 and viewpos2.

SbVec3f SbPlaneProjector::getVector const SbVec2f & viewpos [virtual]
 

Returns a vector between the last projected point and the projected 3D point of viewpos.

void SbPlaneProjector::setStartPosition const SbVec2f & viewpos
 

Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc.

void SbPlaneProjector::setStartPosition const SbVec3f & point
 

Explicitly set position of initial projection, so we get correct values for later calls to getVector() etc.

void SbPlaneProjector::setupPlane void [protected]
 

Should be called whenever SbPlaneProjector::needSetup is TRUE. Will recalculate projection plane.


Member Data Documentation

SbPlaneProjector::plane [protected]
 

The projection plane.

SbPlaneProjector::nonOrientPlane [protected]
 

The "original" plane which was set (as opposed to the recalculated projection plane according to the SbPlaneProjector::orientToEye setting).

SbPlaneProjector::orientToEye [protected]
 

Which direction the plane is oriented.

SbPlaneProjector::needSetup [protected]
 

Set to TRUE whenever the plane needs to be recalculated according to the setting of the SbPlaneProjector::orientToEye flag.

SbPlaneProjector::lastPoint [protected]
 

Stores the previously projected 3D point.


The documentation for this class was generated from the following files:
Generated at Tue Mar 5 03:31:28 2002 for Coin by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001