SbCylinderPlaneProjector(3IV)

SbCylinderPlaneProjector (SbCylPlnProj) - cylinder-plane projector

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SbCylinderPlaneProjector (SbCylPlnProj) - cylinder-plane projector

INHERITS FROM
     SbProjector > SbCylinderProjector > SbCylinderSectionProjector >
     SbCylinderPlaneProjector

SYNOPSIS
     #include <Inventor_c/projectors/SbCylinderPlaneProjector.h>

     typedef SbCylinderPlaneProjector
                         SbCylPlnProj

          Functions from class SbCylinderPlaneProjector:

     SbCylinderPlaneProjector *  SbCylPlnProjCreate(float edgeTol = .9, SbBool
                                      orientToEye = TRUE)
     SbCylinderPlaneProjector *  SbCylPlnProjCreateCyl(const SbCylinder *cyl,
                                      float edgeTol = .9, SbBool orientToEye =
                                      TRUE)
     void                        SbCylPlnProjDelete(SbCylPlnProj *this)

          Functions from class SbCylinderSectionProjector:

     void                SbCylPlnProjSetTol(SbCylPlnProj *this, float edgeTol)
     float               SbCylPlnProjGetTol(const SbCylPlnProj *this)
     SbBool              SbCylPlnProjIsWithinTol(SbCylPlnProj *this, const
                              SbVec3f *point)

          Functions from class SbCylinderProjector:

     SbVec3f             SbCylPlnProjProjectGetRot(SbCylPlnProj *this, const
                              SbVec2f *point, SbRotation *rot)
     SbRotation          SbCylPlnProjGetRot(SbCylPlnProj *this, const SbVec3f
                              *point1, const SbVec3f *point2)
     void                SbCylPlnProjSetCyl(SbCylPlnProj *this, const
                              SbCylinder *cyl)
     const SbCylinder *  SbCylPlnProjGetCyl(const SbCylPlnProj *this)
     void                SbCylPlnProjSetOrientToEye(SbCylPlnProj *this, SbBool
                              orientToEye)
     SbBool              SbCylPlnProjIsOrientToEye(const SbCylPlnProj *this)
     void                SbCylPlnProjSetFront(SbCylPlnProj *this, SbBool
                              isFront)
     SbBool              SbCylPlnProjIsFront(const SbCylPlnProj *this)
     SbBool              SbCylPlnProjIsPointInFront(const SbCylPlnProj *this,
                              const SbVec3f *point)

          Functions from class SbProjector:

     SbVec3f               SbCylPlnProjProject(SbCylPlnProj *this, const
                                SbVec2f *point)
     void                  SbCylPlnProjSetViewVol(SbCylPlnProj *this, const
                                SbViewVolume *vol)
     const SbViewVolume *  SbCylPlnProjGetViewVol(const SbCylPlnProj *this)
     void                  SbCylPlnProjSetWorkSpace(SbCylPlnProj *this, const
                                SbMatrix *space)
     const SbMatrix *      SbCylPlnProjGetWorkSpace(const SbCylPlnProj *this)
     SbProjector *         SbCylPlnProjCopy(const SbCylPlnProj *this)


DESCRIPTION
     SbCylinderPlaneProjector projects a window space point (usually based on
     the mouse location) onto a surface defined by a cylinder and plane
     cutting through the cylinder. Two projected points can produce a rotation
     along the cylinder's axis. When the mouse position projects onto the
     plane, the rotations will be as if the plane is being dragged, causing
     the cylinder to roll beneath it.

     Incremental changes (delta rotation) can be computed during interactive
     sessions. Cylinder projectors are typically used to write interactive 3D
     manipulators and viewers.

FUNCTIONS
     SbCylinderPlaneProjector *  SbCylPlnProjCreate(float edgeTol = .9, SbBool
                                      orientToEye = TRUE)
     SbCylinderPlaneProjector *  SbCylPlnProjCreateCyl(const SbCylinder *cyl,
                                      float edgeTol = .9, SbBool orientToEye =
                                      TRUE)
          Constructors. The first uses a default cylinder aligned with the Y
          axis with radius 1.0; the cylinder is supplied in the second. The
          position of the plane is specified as a fraction of the cylinder
          radius with the parameter edgeTol. A tolerance value of 1.0
          positions the plane down the center of the cylinder. A tolerance
          value of 0.5 defines the longitudinal plane halfway between the
          center and the outside edge of the cylinder. The default value is
          .9, so that almost half the cylinder is in front of the plane. The
          orientToEye parameter determines whether the plane is perpendicular
          to the eye, or perpendicular to the cylinder'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                        SbCylPlnProjDelete(SbCylPlnProj *this)
          Destructor.


FILE FORMAT/DEFAULTS
     CylinderPlaneProjector {
     }

SEE ALSO
     SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector,
     SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector,
     SbSphereSheetProjector