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


       SbSpherePlaneProjector — sphere-plane projector


       SbProjector > SbSphereProjector > SbSphereSectionProjector > SbSpherePlaneProjector


       #include <Inventor/projectors/SbSpherePlaneProjector.h>

          Methods from class SbSpherePlaneProjector:

                         SbSpherePlaneProjector(float edgeTol = .9, SbBool orientToEye = TRUE)
                         SbSpherePlaneProjector(const  SbSphere  &sph, float edgeTol = .9, SbBool
                              orientToEye = TRUE)

          Methods from class SbSphereSectionProjector:

     void                setTolerance(float edgeTol)
     float               getTolerance() const
     void                setRadialFactor(float radialFactor = 0.0)
     float               getRadialFactor() const
     SbBool              isWithinTolerance(const SbVec3f &point)

          Methods from class SbSphereProjector:

     SbVec3f             projectAndGetRotation(const SbVec2f &point, SbRotation &rot)
     virtual SbRotation  getRotation(const SbVec3f &point1, const SbVec3f &point2)
     void                setSphere(const SbSphere &sph)
     const SbSphere &    getSphere() 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


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

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


                         SbSpherePlaneProjector(float edgeTol = .9, SbBool orientToEye = TRUE)
                         SbSpherePlaneProjector(const  SbSphere  &sph, float edgeTol = .9, SbBool
                              orientToEye = TRUE)
          Constructors. The first uses a default sphere centered at the origin with  radius  1.0;
          the  sphere  is  supplied  in  the  second. The position of the plane is specified as a
          fraction of the sphere radius with the parameter edgeTol.  A  tolerance  value  of  1.0
          positions the plane down the center of the sphere. A tolerance value of 0.5 defines the
          longitudinal plane halfway between the center and the outside edge of the  sphere.  The
          default  value  is  .9,  so  that  almost half the sphere is in front of the plane. The
          orientToEye parameter determines whether the plane is  perpendicular  to  the  eye,  or
          perpendicular  to  the  sphere'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

          The default view volume is undefined, and the working space is identity.



       SbCylinderProjector,         SbCylinderPlaneProjector,         SbCylinderSectionProjector,
       SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector, SbSphereSheetProjector