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

FreeBSD Manual Pages

  
 
  

home | help
SbSphereSectionProjector(3IV)()		       SbSphereSectionProjector(3IV)()

NAME
       SbSphereSectionProjector	-- sphere-section projector

INHERITS FROM
       SbProjector > SbSphereProjector > SbSphereSectionProjector

SYNOPSIS
       #include	<Inventor/projectors/SbSphereSectionProjector.h>

	  Methods from class SbSphereSectionProjector:

			 SbSphereSectionProjector(float	 edgeTol  = .9,	SbBool
			      orientToEye = TRUE)
			 SbSphereSectionProjector(const	SbSphere  &sph,	 float
			      edgeTol =	.9, SbBool orientToEye = TRUE)
			 ~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, SbRota-
			      tion &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

DESCRIPTION
       SbSphereSectionProjector	 projects  a window space point	(usually based
       on the mouse location) onto the section	of  a  sphere  that  has  been
       sliced  by  a  plane. Two projected points can produce a	rotation about
       the sphere's center.  The tolerance slice can be	specified as  a	 frac-
       tion  of	the radius of the sphere. The projection point will not	extend
       beyond the sliced portion of the	sphere.

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

METHODS
			 SbSphereSectionProjector(float	edgeTol	=  .9,	SbBool
			      orientToEye = TRUE)
			 SbSphereSectionProjector(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 which slices the	sphere into a section is specified  as
	  a fraction of	the sphere radius with the parameter edgeTol. A	toler-
	  ance value of	1.0 positions the plane	down the center	of the sphere.
	  A  tolerance value of	0.5 defines the	longitudinal plane halfway be-
	  tween	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
	  behavior.

	  The default view volume is undefined,	and the	working	space is iden-
	  tity.

			 ~SbSphereSectionProjector()
	  Destructor.

     void		 setTolerance(float edgeTol)
     float		 getTolerance()	const
	  Set  and  get	 the edge tolerance as a fraction of the radius	of the
	  sphere. If this is 1.0, the projector	is a hemisphere.  If  this  is
	  .1,  the  projector  is a slice of the sphere	with radius .1*radius.
	  Default is .9.

     void		 setRadialFactor(float radialFactor = 0.0)
     float		 getRadialFactor() const
	  Set and get the radial rotation factor. When the  mouse  is  dragged
	  off  the  edge  of the sphere, the mouse motion can be classified as
	  either tangential (moving in a circle	around the sphere)  or	radial
	  (moving  toward or away from the center). The	tangential motion will
	  always map to	a rotation around the center, (like  the  hands	 of  a
	  clock). The radial motion, by	default, has no	effect.	But if you set
	  the radialFactor to be > 0.0,	this motion will make the  sphere  ro-
	  tate as if the mouse is pulling the top of the sphere	out toward the
	  mouse. If radialFactor = 1.0,	then pulling has a `normal' feel (that
	  is,  the  mouse  motion causes the same amount of rotation as	if you
	  had rotated by hitting the actual surface of the sphere). Default is
	  0.0

     SbBool		 isWithinTolerance(const SbVec3f &point)
	  Find	whether	 this point on the sphere or tolerance plane is	within
	  tolerance.

FILE FORMAT/DEFAULTS
SEE ALSO
       SbCylinderProjector, SbCylinderSectionProjector,	SbCylinderPlaneProjec-
       tor,  SbCylinderSheetProjector,	SbLineProjector, SbPlaneProjector, Sb-
       SpherePlaneProjector, SbSphereSheetProjector

					       SbSphereSectionProjector(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=SbSphereSectionProjector&sektion=3iv&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help