SbSpherePlaneProjector(3IV)

SbSpherePlaneProjector (SbSphPlnProj) - sphere-plane projector

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SbSpherePlaneProjector (SbSphPlnProj) - sphere-plane projector

INHERITS FROM
     SbProjector > SbSphereProjector > SbSphereSectionProjector >
     SbSpherePlaneProjector

SYNOPSIS
     #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:

     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)


DESCRIPTION
     SbSpherePlaneProjector 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.

FUNCTIONS
     SbSpherePlaneProjector *  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 {
     }
SEE ALSO
     SbCylinderProjector, SbCylinderPlaneProjector,
     SbCylinderSectionProjector, SbCylinderSheetProjector, SbLineProjector,
     SbPlaneProjector, SbSphereSheetProjector