1SbSphereSectionProjector(3IV)()                SbSphereSectionProjector(3IV)()
2
3
4

NAME

6       SbSphereSectionProjector — sphere-section projector
7

INHERITS FROM

9       SbProjector > SbSphereProjector > SbSphereSectionProjector
10

SYNOPSIS

12       #include <Inventor/projectors/SbSphereSectionProjector.h>
13
14          Methods from class SbSphereSectionProjector:
15
16                         SbSphereSectionProjector(float  edgeTol  = .9, SbBool
17                              orientToEye = TRUE)
18                         SbSphereSectionProjector(const SbSphere  &sph,  float
19                              edgeTol = .9, SbBool orientToEye = TRUE)
20                         ~SbSphereSectionProjector()
21     void                setTolerance(float edgeTol)
22     float               getTolerance() const
23     void                setRadialFactor(float radialFactor = 0.0)
24     float               getRadialFactor() const
25     SbBool              isWithinTolerance(const SbVec3f &point)
26
27          Methods from class SbSphereProjector:
28
29     SbVec3f             projectAndGetRotation(const  SbVec2f  &point, SbRota‐
30                              tion &rot)
31     virtual  SbRotation  getRotation(const  SbVec3f  &point1,  const  SbVec3f
32                              &point2)
33     void                setSphere(const SbSphere &sph)
34     const SbSphere &    getSphere() const
35     void                setOrientToEye(SbBool orientToEye)
36     SbBool              isOrientToEye() const
37     void                setFront(SbBool isFront)
38     SbBool              isFront() const
39     SbBool              isPointInFront(const SbVec3f &point) const
40
41          Methods from class SbProjector:
42
43     virtual SbVec3f        project(const SbVec2f &point)
44     virtual void           setViewVolume(const SbViewVolume &vol)
45     const SbViewVolume &   getViewVolume() const
46     virtual void           setWorkingSpace(const SbMatrix &space)
47     const SbMatrix &       getWorkingSpace() const
48     virtual SbProjector *  copy() const
49
50

DESCRIPTION

52       SbSphereSectionProjector  projects  a window space point (usually based
53       on the mouse location) onto the section  of  a  sphere  that  has  been
54       sliced  by  a  plane. Two projected points can produce a rotation about
55       the sphere's center.  The tolerance slice can be specified as  a  frac‐
56       tion  of the radius of the sphere. The projection point will not extend
57       beyond the sliced portion of the sphere.
58
59       Incremental changes (delta rotation) can be computed during interactive
60       sessions.  Sphere projectors are typically used to write interactive 3D
61       manipulators and viewers.
62

METHODS

64                         SbSphereSectionProjector(float edgeTol =  .9,  SbBool
65                              orientToEye = TRUE)
66                         SbSphereSectionProjector(const  SbSphere  &sph, float
67                              edgeTol = .9, SbBool orientToEye = TRUE)
68          Constructors. The first uses a default sphere centered at the origin
69          with  radius 1.0; the sphere is supplied in the second. The position
70          of the plane which slices the sphere into a section is specified  as
71          a fraction of the sphere radius with the parameter edgeTol. A toler‐
72          ance value of 1.0 positions the plane down the center of the sphere.
73          A  tolerance  value  of  0.5  defines the longitudinal plane halfway
74          between the center and the outside edge of the sphere.  The  default
75          value  is  .9,  so  that  almost  half the sphere is in front of the
76          plane. The orientToEye parameter determines  whether  the  plane  is
77          perpendicular  to  the eye, or perpendicular to the sphere's Z axis.
78          Setting that parameter to TRUE  (the  default)  specifies  that  the
79          plane  be  perpendicular to the eye, which is most often the desired
80          behavior.
81
82          The default view volume is undefined, and the working space is iden‐
83          tity.
84
85                         ~SbSphereSectionProjector()
86          Destructor.
87
88     void                setTolerance(float edgeTol)
89     float               getTolerance() const
90          Set  and  get  the edge tolerance as a fraction of the radius of the
91          sphere. If this is 1.0, the projector is a hemisphere.  If  this  is
92          .1,  the  projector  is a slice of the sphere with radius .1*radius.
93          Default is .9.
94
95     void                setRadialFactor(float radialFactor = 0.0)
96     float               getRadialFactor() const
97          Set and get the radial rotation factor. When the  mouse  is  dragged
98          off  the  edge  of the sphere, the mouse motion can be classified as
99          either tangential (moving in a circle around the sphere)  or  radial
100          (moving  toward or away from the center). The tangential motion will
101          always map to a rotation around the center, (like  the  hands  of  a
102          clock). The radial motion, by default, has no effect. But if you set
103          the radialFactor to be > 0.0,  this  motion  will  make  the  sphere
104          rotate  as  if the mouse is pulling the top of the sphere out toward
105          the mouse. If radialFactor = 1.0, then pulling has a  `normal'  feel
106          (that  is, the mouse motion causes the same amount of rotation as if
107          you had rotated by  hitting  the  actual  surface  of  the  sphere).
108          Default is 0.0
109
110     SbBool              isWithinTolerance(const SbVec3f &point)
111          Find  whether  this point on the sphere or tolerance plane is within
112          tolerance.
113
114

SEE ALSO

116       SbCylinderProjector, SbCylinderSectionProjector, SbCylinderPlaneProjec‐
117       tor,   SbCylinderSheetProjector,   SbLineProjector,   SbPlaneProjector,
118       SbSpherePlaneProjector, SbSphereSheetProjector
119
120
121
122
123                                               SbSphereSectionProjector(3IV)()
Impressum