Provided by: inventor-doc_2.1.6+ds-2_all bug

NAME

       SbCylinderPlaneProjector — cylinder-plane projector

INHERITS FROM

       SbProjector > SbCylinderProjector > SbCylinderSectionProjector > SbCylinderPlaneProjector

SYNOPSIS

       #include <Inventor/projectors/SbCylinderPlaneProjector.h>

          Methods from class SbCylinderPlaneProjector:

                         SbCylinderPlaneProjector(float edgeTol = .9, SbBool orientToEye = TRUE)
                         SbCylinderPlaneProjector(const  SbCylinder &cyl, float edgeTol = .9, SbBool orientToEye
                              = TRUE)
                         ~SbCylinderPlaneProjector()

          Methods from class 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

       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.

METHODS

                         SbCylinderPlaneProjector(float edgeTol = .9, SbBool orientToEye = TRUE)
                         SbCylinderPlaneProjector(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.

                         ~SbCylinderPlaneProjector()
          Destructor.

SEE ALSO

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

                                                                                 SbCylinderPlaneProjector(3IV)()