Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SbCylinderPlaneProjector(3IV)()		       SbCylinderPlaneProjector(3IV)()

NAME
       SbCylinderPlaneProjector	-- cylinder-plane projector

INHERITS FROM
       SbProjector  >  SbCylinderProjector  > SbCylinderSectionProjector > Sb-
       CylinderPlaneProjector

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,  SbRota-
			      tion &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	 rota-
       tion  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 ra-
	  dius 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 al-
	  most half the	cylinder is in front of	the plane. The orientToEye pa-
	  rameter 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 iden-
	  tity.

			 ~SbCylinderPlaneProjector()
	  Destructor.

FILE FORMAT/DEFAULTS
SEE ALSO
       SbCylinderSheetProjector,  SbLineProjector, SbPlaneProjector, SbSphere-
       PlaneProjector,	 SbSphereProjector,   SbSphereSectionProjector,	   Sb-
       SphereSheetProjector

					       SbCylinderPlaneProjector(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | METHODS | FILE FORMAT/DEFAULTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SbCylinderPlaneProjector&sektion=3iv&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help