SbSpherePlaneProjector(3IV)NAMESbSpherePlaneProjector (SbSphPlnProj) - sphere-plane projector
INHERITS FROM
SbProjector > SbSphereProjector > SbSphereSectionProjector >
SbSpherePlaneProjectorSYNOPSIS
#include <Inventor_c/projectors/SbSpherePlaneProjector.h>
typedef SbSpherePlaneProjector
SbSphPlnProj
Functions from class SbSpherePlaneProjector:
SbSpherePlaneProjector * SbSphPlnProjCreate(float edgeTol = .9, SbBool
orientToEye = TRUE)
SbSpherePlaneProjector * SbSphPlnProjCreateSph(const SbSphere *sph,
float edgeTol = .9, SbBool orientToEye =
TRUE)
void SbSphPlnProjDelete(SbSphPlnProj *this)
Functions from class SbSphereSectionProjector:
void SbSphPlnProjSetTol(SbSphPlnProj *this, float edgeTol)
float SbSphPlnProjGetTol(const SbSphPlnProj *this)
void SbSphPlnProjSetRadialFactor(SbSphPlnProj *this, float
radialFactor = 0.0)
float SbSphPlnProjGetRadialFactor(const SbSphPlnProj *this)
SbBool SbSphPlnProjIsWithinTol(SbSphPlnProj *this, const
SbVec3f *point)
Functions from class SbSphereProjector:
SbVec3f SbSphPlnProjProjectGetRot(SbSphPlnProj *this, const
SbVec2f *point, SbRotation *rot)
SbRotation SbSphPlnProjGetRot(SbSphPlnProj *this, const SbVec3f
*point1, const SbVec3f *point2)
void SbSphPlnProjSetSph(SbSphPlnProj *this, const SbSphere
*sph)
const SbSphere * SbSphPlnProjGetSph(const SbSphPlnProj *this)
void SbSphPlnProjSetOrientToEye(SbSphPlnProj *this, SbBool
orientToEye)
SbBool SbSphPlnProjIsOrientToEye(const SbSphPlnProj *this)
void SbSphPlnProjSetFront(SbSphPlnProj *this, SbBool
isFront)
SbBool SbSphPlnProjIsFront(const SbSphPlnProj *this)
SbBool SbSphPlnProjIsPointInFront(const SbSphPlnProj *this,
const SbVec3f *point)
Functions from class SbProjector:
Page 1SbSpherePlaneProjector(3IV)
SbVec3f SbSphPlnProjProject(SbSphPlnProj *this, const
SbVec2f *point)
void SbSphPlnProjSetViewVol(SbSphPlnProj *this, const
SbViewVolume *vol)
const SbViewVolume * SbSphPlnProjGetViewVol(const SbSphPlnProj *this)
void SbSphPlnProjSetWorkSpace(SbSphPlnProj *this, const
SbMatrix *space)
const SbMatrix * SbSphPlnProjGetWorkSpace(const SbSphPlnProj *this)
SbProjector * SbSphPlnProjCopy(const SbSphPlnProj *this)
DESCRIPTIONSbSpherePlaneProjector projects a window space point (usually based on
the mouse location) onto a surface defined by a sphere and plane cutting
through the sphere. Two projected points can produce a rotation about the
sphere's center. When the mouse position projects onto the plane, the
rotations will be as if the plane is being dragged, causing the sphere to
roll beneath it.
Incremental changes (delta rotation) can be computed during interactive
sessions. Sphere projectors are typically used to write interactive 3D
manipulators and viewers.
FUNCTIONSSbSpherePlaneProjector * SbSphPlnProjCreate(float edgeTol = .9, SbBool
orientToEye = TRUE)
SbSpherePlaneProjector * SbSphPlnProjCreateSph(const SbSphere *sph,
float edgeTol = .9, SbBool orientToEye =
TRUE)
Constructors. The first uses a default sphere centered at the origin
with radius 1.0; the sphere is supplied in the second. The position
of the plane is specified as a fraction of the sphere radius with
the parameter edgeTol. A tolerance value of 1.0 positions the plane
down the center of the sphere. A tolerance value of 0.5 defines the
longitudinal plane halfway between the center and the outside edge
of the sphere. The default value is .9, so that almost half the
sphere is in front of the plane. The orientToEye parameter
determines whether the plane is perpendicular to the eye, or
perpendicular to the sphere's Z axis. Setting that parameter to
TRUE (the default) specifies that the plane be perpendicular to the
eye, which is most often the desired behavior.
The default view volume is undefined, and the working space is
identity.
void SbSphPlnProjDelete(SbSphPlnProj *this)
Destructor.
FILE FORMAT/DEFAULTS
SpherePlaneProjector {
}
Page 2SbSpherePlaneProjector(3IV)SEE ALSO
SbCylinderProjector, SbCylinderPlaneProjector,
SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector,
SbPlaneProjector, SbSphereSheetProjector
Page 3