SbCylinderSectionProjector(3IV)

SbCylinderSectionProjector - cylinder-section projector

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     SbCylinderSectionProjector - cylinder-section projector

INHERITS FROM
     SbProjector > SbCylinderProjector > SbCylinderSectionProjector

SYNOPSIS
     #include <Inventor/projectors/SbCylinderSectionProjector.h>

          Methods from class SbCylinderSectionProjector:

                         SbCylinderSectionProjector(float edgeTol = .9, SbBool
                              orientToEye = TRUE)
                         SbCylinderSectionProjector(const SbCylinder &cyl,
                              float edgeTol = .9, SbBool orientToEye = TRUE)
                         ~SbCylinderSectionProjector()
     void                setTolerance(float edgeTol)
     float               getTolerance() const
     SbBool              isWithinTolerance(const SbVec3f &point)

          Methods from class SbCylinderProjector:

     SbVec3f             projectAndGetRotation(const SbVec2f &point,
                              SbRotation &rot)
     virtual SbRotation  getRotation(const SbVec3f &point1, const SbVec3f
                              &point2)
     void                setCylinder(const SbCylinder &cyl)
     const SbCylinder &  getCylinder() const
     void                setOrientToEye(SbBool orientToEye)
     SbBool              isOrientToEye() const
     void                setFront(SbBool isFront)
     SbBool              isFront() const
     SbBool              isPointInFront(const SbVec3f &point) const

          Methods from class SbProjector:

     virtual SbVec3f        project(const SbVec2f &point)
     virtual void           setViewVolume(const SbViewVolume &vol)
     const SbViewVolume &   getViewVolume() const
     virtual void           setWorkingSpace(const SbMatrix &space)
     const SbMatrix &       getWorkingSpace() const
     virtual SbProjector *  copy() const


DESCRIPTION
     SbCylinderSectionProjector projects a window space point (usually based
     on the mouse location) onto the section of a cylinder that has been
     sliced by a plane. Two projected points can produce a rotation along the
     cylinder's axis.  The tolerance slice can be specified as a fraction of
     the radius of the cylinder. The projection point will not extend beyond
     the sliced portion of the cylinder.
     Incremental changes (delta rotation) can be computed during interactive
     sessions. Cylinder projectors are typically used to write interactive 3D
     manipulators and viewers.

METHODS
                         SbCylinderSectionProjector(float edgeTol = .9, SbBool
                              orientToEye = TRUE)
                         SbCylinderSectionProjector(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 which slices the cylinder into a section 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.

                         ~SbCylinderSectionProjector()
          Destructor.

     void                setTolerance(float edgeTol)
     float               getTolerance() const
          Set and get the edge tolerance as a fraction of the radius of the
          cylinder. If this is 1.0, the projector is a half cylinder. If this
          is .1, the projector is a slice of the cylinder with radius
          .1*radius.  Default is .9.

     SbBool              isWithinTolerance(const SbVec3f &point)
          Find whether this point on the cylinder or tolerance plane is within
          tolerance.


FILE FORMAT/DEFAULTS
     CylinderSectionProjector {
     }

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