Line projector. More...
#include <Inventor/projectors/SbLineProjector.h>
Public Member Functions | |
SbLineProjector () | |
Constructor. | |
virtual | ~SbLineProjector () |
Destructor. | |
virtual SbProjector * | copy () const |
Returns an instance that is a copy of this instance. | |
virtual SbVec3f | project (const SbVec2f &point) |
Applies the projector using the given point, returning the point in three dimensions that it projects to. | |
virtual SbBool | project (const SbVec2f &point, SbVec3f &projectedPoint) |
Applies the projector using the given point, returning the point in three dimensions that it projects to and the status. | |
virtual SbVec3f | intersect (const SbLine &line) |
Applies the projector using the given line in world coordinates, returning the point in three dimensions that it projects to. | |
void | setLine (const SbLine &line) |
Sets the line on which to project 2D points. | |
const SbLine & | getLine () const |
Gets the line on which to project 2D points. | |
virtual SbVec3f | getVector (const SbVec2f &mousePosition1, const SbVec2f &mousePosition2) |
Gets a vector on this line given two normalized mouse points. | |
virtual SbVec3f | getVector (const SbVec2f &mousePosition) |
Gets a vector given the current mouse point. | |
void | setStartPosition (const SbVec2f &mousePosition) |
Sets the initial position from a mouse position. | |
void | setStartPosition (const SbVec3f &point) |
Sets the initial position from a point on the projector. | |
Public Member Functions inherited from SbProjector | |
virtual | ~SbProjector () |
Destructor. | |
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. | |
virtual void | setWorkingSpace (const SbMatrix &space) |
Set the transform space to work in. | |
const SbMatrix & | getWorkingSpace () const |
Get the transform space to work in. | |
Line projector.
SbLineProjector projects a 2D point, typically the location of the cursor, onto a 3D line.
SbCylinderProjector, SbCylinderPlaneProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbPlaneProjector, SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector, SbSphereSheetProjector
Definition at line 78 of file SbLineProjector.h.
SbLineProjector::SbLineProjector | ( | ) |
Constructor.
The default line passes through the origin and is aligned with the Y axis.
|
inlinevirtual |
Destructor.
Definition at line 90 of file SbLineProjector.h.
|
virtual |
Returns an instance that is a copy of this instance.
The caller is responsible for deleting the copy when done.
Implements SbProjector.
|
inline |
Gets the line on which to project 2D points.
Definition at line 123 of file SbLineProjector.h.
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 |
Gets a vector on this line given two normalized mouse points.
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.
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.
Applies the projector using the given point, returning the point in three dimensions that it projects to and the status.
The point should be normalized from 0-1, with (0,0) at the lower-left.
void SbLineProjector::setLine | ( | const SbLine & | line | ) |
Sets the line on which to project 2D points.
|
inline |
Sets the initial position from a mouse position.
Definition at line 142 of file SbLineProjector.h.
|
inline |
Sets the initial position from a point on the projector.
Definition at line 148 of file SbLineProjector.h.