Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SbCylinderSheetProjector — cylinder-sheet projector

INHERITS FROM

       SbProjector > SbCylinderProjector > SbCylinderSheetProjector

SYNOPSIS

       #include <Inventor/projectors/SbCylinderSheetProjector.h>

          Methods from class SbCylinderSheetProjector:

                         SbCylinderSheetProjector(SbBool orientToEye = TRUE)
                         SbCylinderSheetProjector(const  SbCylinder  &cyl,  SbBool  orientToEye =
                              TRUE)
                         ~SbCylinderSheetProjector()

          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

       SbCylinderSheetProjector projects a  window  space  point  (usually  based  on  the  mouse
       location)  onto  the  surface  of  a cylinder with a hyperbolic sheet draped over it. This
       allows smooth transitions onto and off of the cylinder.  Two projected points can  produce
       a  rotation  along  the cylinder's axis. When the mouse position projects on to the sheet,
       the rotations will be as if the sheet 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

                         SbCylinderSheetProjector(SbBool orientToEye = TRUE)
                         SbCylinderSheetProjector(const SbCylinder  &cyl,  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  orientToEye  parameter  determines
          whether  the  sheet  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.

                         ~SbCylinderSheetProjector()
          Destructor.

SEE ALSO

       SbCylinderSectionProjector,  SbCylinderPlaneProjector,  SbLineProjector, SbPlaneProjector,
       SbSpherePlaneProjector,            SbSphereProjector,            SbSphereSectionProjector,
       SbSphereSheetProjector

                                                                  SbCylinderSheetProjector(3IV)()