logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SbCylinderSectionProjector — cylinder-section projector

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.

Inherits From

       SbProjector > SbCylinderProjector > SbCylinderSectionProjector

Methods

SbCylinderSectionProjector(floatedgeTol=.9,SbBoolorientToEye=TRUE)SbCylinderSectionProjector(constSbCylinder&cyl,floatedgeTol=.9,SbBoolorientToEye=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.

     voidsetTolerance(floatedgeTol)floatgetTolerance()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.

     SbBoolisWithinTolerance(constSbVec3f&point)
          Find whether this point on the cylinder or tolerance plane is within tolerance.

Name

       SbCylinderSectionProjector — cylinder-section projector

See Also

SbCylinderPlaneProjector,SbCylinderSheetProjector,SbLineProjector,SbPlaneProjector,SbSpherePlaneProjector,SbSphereProjector,SbSphereSectionProjector,SbSphereSheetProjectorSbCylinderSectionProjector(3IV)()

Synopsis

#include<Inventor/projectors/SbCylinderSectionProjector.h>

          Methods from class SbCylinderSectionProjector:

                         SbCylinderSectionProjector(floatedgeTol=.9,SbBoolorientToEye=TRUE)SbCylinderSectionProjector(constSbCylinder&cyl,floatedgeTol=.9,SbBoolorientToEye=TRUE)~SbCylinderSectionProjector()voidsetTolerance(floatedgeTol)floatgetTolerance()constSbBoolisWithinTolerance(constSbVec3f&point)

          Methods from class SbCylinderProjector:

     SbVec3fprojectAndGetRotation(constSbVec2f&point,SbRotation&rot)virtualSbRotationgetRotation(constSbVec3f&point1,constSbVec3f&point2)voidsetCylinder(constSbCylinder&cyl)constSbCylinder&getCylinder()constvoidsetOrientToEye(SbBoolorientToEye)SbBoolisOrientToEye()constvoidsetFront(SbBoolisFront)SbBoolisFront()constSbBoolisPointInFront(constSbVec3f&point)const

          Methods from class SbProjector:

     virtualSbVec3fproject(constSbVec2f&point)virtualvoidsetViewVolume(constSbViewVolume&vol)constSbViewVolume&getViewVolume()constvirtualvoidsetWorkingSpace(constSbMatrix&space)constSbMatrix&getWorkingSpace()constvirtualSbProjector*copy()const

See Also