trusty (3) SbCylinderSectionProjector.3iv.gz

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

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.

SEE ALSO

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

                                                                               SbCylinderSectionProjector(3IV)()