|
Open Inventor Reference
|
Sphere projector. More...
#include <Inventor/projectors/SbSphereProjector.h>
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. | |
| SbVec3f | projectAndGetRotation (const SbVec2f &point, SbRotation &rot) |
| Apply the projector using the given point, returning the point in three dimensions that it projects to. | |
| virtual SbRotation | getRotation (const SbVec3f &point1, const SbVec3f &point2)=0 |
| Get a rotation given two points on this sphere projector. | |
| void | setSphere (const SbSphere &sph) |
| Set and get the sphere on which to project points. | |
| const SbSphere & | getSphere () const |
| Set and get the sphere on which to project points. | |
| void | setOrientToEye (bool orientToEye) |
| Set and get whether the projector should always be oriented towards the eye. | |
| bool | isOrientToEye () const |
| Set and get whether the projector should always be oriented towards the eye. | |
| void | setFront (bool inFront) |
| Set whether the projector should intersect the half of the sphere that faces the eye. | |
| bool | isFront () const |
| Get whether the projector should intersect the half of the sphere that faces the eye. | |
| bool | isPointInFront (const SbVec3f &point) const |
| Get whether the projector should intersect the half of the sphere that faces the eye. | |
| virtual void | setWorkingSpace (const SbMatrix &space) |
| Set the transform space to work in. | |
| ~SbSphereProjector () | |
| Destructor. | |
Public Member Functions inherited from SbProjector | |
| virtual void | setViewVolume (const SbViewVolume &vol) |
| Set the view volume to use for the projection. | |
| const SbViewVolume & | getViewVolume () const |
| Get the view volume to use for the projection. | |
| const SbMatrix & | getWorkingSpace () const |
| Get the transform space to work in. | |
| virtual SbProjector * | copy () const =0 |
| Creates and returns an exact copy of the projector. | |
Protected Member Functions | |
| SbSphereProjector (bool orientToEye) | |
| Constructors The default sphere to use has a radius of 1.0 and is centered at (0,0,0). | |
| SbSphereProjector (const SbSphere &s, bool orientToEye) | |
Protected Member Functions inherited from SbProjector | |
| SbProjector () | |
| Default constructor. | |
| virtual | ~SbProjector () |
| SbLine | getWorkingLine (const SbVec2f &point) const |
| Given this mouse point, return the line it projects to in working space. | |
Protected Attributes | |
| bool | intersectFront |
| Are intersections done on the front half (if not, they're done on the back half) of the sphere? | |
| SbSphere | sphere |
| The sphere being used. | |
| bool | orientToEye |
| TRUE if always oriented to eye. | |
| bool | needSetup |
| Set TRUE whenever sphere, work space or orientation changes. | |
| SbVec3f | lastPoint |
| cached last point on this projector | |
Protected Attributes inherited from SbProjector | |
| SbViewVolume | viewVol |
| SbMatrix | worldToWorking |
| SbMatrix | workingToWorld |
SbSphereProjector is an abstract base class for projectors that use a sphere in their projection. Sphere projectors are typically used to write interactive 3D manipulators and viewers.
Definition at line 79 of file SbSphereProjector.h.
|
inline |
Definition at line 131 of file SbSphereProjector.h.
|
protected |
References orientToEye.
|
protected |
References orientToEye.
|
pure virtual |
The rotation will be on the surface of the sphere.
Implemented in SbSpherePlaneProjector, SbSphereSectionProjector, and SbSphereSheetProjector.
|
inline |
The default sphere has radius 1.0.
Definition at line 107 of file SbSphereProjector.h.
References sphere.
|
inline |
Definition at line 122 of file SbSphereProjector.h.
References intersectFront.
|
inline |
Set to FALSE if the tolerance should be evaluated in working space.
Definition at line 114 of file SbSphereProjector.h.
References orientToEye.
| bool SbSphereProjector::isPointInFront | ( | const SbVec3f & | point | ) | const |
The point should be normalized from 0-1, with (0,0) at the lower-left.
Implements SbProjector.
Implemented in SbSpherePlaneProjector, SbSphereSectionProjector, and SbSphereSheetProjector.
| SbVec3f SbSphereProjector::projectAndGetRotation | ( | const SbVec2f & | point, |
| SbRotation & | rot ) |
This also returns in rot a rotation on the surface of the sphere 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 SbSphereProjector::setFront | ( | bool | inFront | ) |
Set to FALSE if the projector should intersect with the rear half.
| void SbSphereProjector::setOrientToEye | ( | bool | orientToEye | ) |
Set to FALSE if the tolerance should be evaluated in working space.
References orientToEye.
| void SbSphereProjector::setSphere | ( | const SbSphere & | sph | ) |
The default sphere has radius 1.0.
|
virtual |
Reimplemented from SbProjector.
|
protected |
Definition at line 141 of file SbSphereProjector.h.
Referenced by isFront().
|
protected |
Definition at line 149 of file SbSphereProjector.h.
|
protected |
Definition at line 145 of file SbSphereProjector.h.
|
protected |
Definition at line 144 of file SbSphereProjector.h.
Referenced by isOrientToEye(), SbSpherePlaneProjector::SbSpherePlaneProjector(), SbSpherePlaneProjector::SbSpherePlaneProjector(), SbSphereProjector(), SbSphereProjector(), SbSphereSectionProjector::SbSphereSectionProjector(), SbSphereSectionProjector::SbSphereSectionProjector(), SbSphereSheetProjector::SbSphereSheetProjector(), SbSphereSheetProjector::SbSphereSheetProjector(), and setOrientToEye().
|
protected |
Definition at line 143 of file SbSphereProjector.h.
Referenced by getSphere().