1SbCylinderSectionProjector(3IV)()            SbCylinderSectionProjector(3IV)()
2
3
4

NAME

6       SbCylinderSectionProjector — cylinder-section projector
7

INHERITS FROM

9       SbProjector > SbCylinderProjector > SbCylinderSectionProjector
10

SYNOPSIS

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

DESCRIPTION

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

METHODS

62                         SbCylinderSectionProjector(float edgeTol = .9, SbBool
63                              orientToEye = TRUE)
64                         SbCylinderSectionProjector(const   SbCylinder   &cyl,
65                              float edgeTol = .9, SbBool orientToEye = TRUE)
66          Constructors. The first uses a default cylinder aligned with  the  Y
67          axis  with  radius  1.0; the cylinder is supplied in the second. The
68          position of the plane which slices the cylinder into  a  section  is
69          specified  as  a  fraction of the cylinder radius with the parameter
70          edgeTol. A tolerance value of 1.0 positions the plane down the  cen‐
71          ter of the cylinder. A tolerance value of 0.5 defines the longitudi‐
72          nal plane halfway between the center and the  outside  edge  of  the
73          cylinder.  The default value is .9, so that almost half the cylinder
74          is in front of  the  plane.  The  orientToEye  parameter  determines
75          whether  the  plane is perpendicular to the eye, or perpendicular to
76          the cylinder's Z axis. Setting that parameter to TRUE (the  default)
77          specifies  that the plane be perpendicular to the eye, which is most
78          often the desired behavior.
79
80          The default view volume is undefined, and the working space is iden‐
81          tity.
82
83                         ~SbCylinderSectionProjector()
84          Destructor.
85
86     void                setTolerance(float edgeTol)
87     float               getTolerance() const
88          Set  and  get  the edge tolerance as a fraction of the radius of the
89          cylinder. If this is 1.0, the projector is a half cylinder. If  this
90          is  .1,  the  projector  is  a  slice  of  the  cylinder with radius
91          .1*radius.  Default is .9.
92
93     SbBool              isWithinTolerance(const SbVec3f &point)
94          Find whether this point on the cylinder or tolerance plane is within
95          tolerance.
96
97

SEE ALSO

99       SbCylinderPlaneProjector,   SbCylinderSheetProjector,  SbLineProjector,
100       SbPlaneProjector, SbSpherePlaneProjector, SbSphereProjector,  SbSphere‐
101       SectionProjector, SbSphereSheetProjector
102
103
104
105
106                                             SbCylinderSectionProjector(3IV)()
Impressum