SbPlaneProjector Class Reference
[Projectors]

Plane projector. More...

#include <Inventor/projectors/SbPlaneProjector.h>

Inheritance diagram for SbPlaneProjector:
SbProjector

List of all members.

Public Member Functions

 SbPlaneProjector (SbBool orient=FALSE)
 SbPlaneProjector (const SbPlane &plane, SbBool orient=FALSE)
virtual ~SbPlaneProjector ()
virtual SbProjectorcopy () const
virtual SbVec3f project (const SbVec2f &point)
virtual SbVec3f intersect (const SbLine &line)
void setPlane (const SbPlane &plane)
const SbPlanegetPlane () const
void setOrientToEye (SbBool orientToEye)
SbBool isOrientToEye () const
virtual SbVec3f getVector (const SbVec2f &mousePosition1, const SbVec2f &mousePosition2)
virtual SbVec3f getVector (const SbVec2f &mousePosition)
void setStartPosition (const SbVec2f &mousePosition)
void setStartPosition (const SbVec3f &point)

Detailed Description

Plane projector.

SbPlaneProjector projects the mouse onto a plane. This is typically used to write interactive 3D manipulators and viewers.

SEE ALSO

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


Constructor & Destructor Documentation

SbPlaneProjector::SbPlaneProjector ( SbBool  orient = FALSE  ) 

Constructor.

The default plane passes through the origin and is oriented perpendicular to the Z axis.

SbPlaneProjector::SbPlaneProjector ( const SbPlane plane,
SbBool  orient = FALSE 
)

Constructor which is passed a plane.

If orient to eye is TRUE, the plane will be reoriented to the eye.

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

Destructor.


Member Function Documentation

virtual SbProjector* SbPlaneProjector::copy (  )  const [virtual]

Returns an instance that is a copy of this instance.

The caller is responsible for deleting the copy when done.

Implements SbProjector.

const SbPlane& SbPlaneProjector::getPlane (  )  const [inline]

Gets the plane to use.

virtual SbVec3f SbPlaneProjector::getVector ( const SbVec2f mousePosition  )  [virtual]

Gets a vector given the current mouse point.

Uses the last point on this projector from the previous call to getVector() or setStartPostion(). Do not use this if the working space transform is changing since the new point will be in a different space than the old one.

virtual SbVec3f SbPlaneProjector::getVector ( const SbVec2f mousePosition1,
const SbVec2f mousePosition2 
) [virtual]

Gets a vector on this plane given two normalized mouse positions.

virtual SbVec3f SbPlaneProjector::intersect ( const SbLine line  )  [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.

SbBool SbPlaneProjector::isOrientToEye (  )  const [inline]

Gets whether the projector should be oriented towards the eye.

virtual SbVec3f SbPlaneProjector::project ( const SbVec2f point  )  [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.

void SbPlaneProjector::setOrientToEye ( SbBool  orientToEye  ) 

Sets whether the projector should be oriented towards the eye.

If orientToEye is set to TRUE, the given plane's direction is ignored, and the plane will be oriented to the eye. It will pass through the same point from the origin defined by the original dir * dist. Set to FALSE if the plane's direction should remain in working space.

void SbPlaneProjector::setPlane ( const SbPlane plane  ) 

Sets the plane to use.

void SbPlaneProjector::setStartPosition ( const SbVec3f point  )  [inline]

Sets the initial position from a point on the projector.

void SbPlaneProjector::setStartPosition ( const SbVec2f mousePosition  )  [inline]

Sets the initial mouse position.


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/