1SbCylinderPlaneProjector(3IV)() SbCylinderPlaneProjector(3IV)()
2
3
4
6 SbCylinderPlaneProjector — cylinder-plane projector
7
9 SbProjector > SbCylinderProjector > SbCylinderSectionProjector >
10 SbCylinderPlaneProjector
11
13 #include <Inventor/projectors/SbCylinderPlaneProjector.h>
14
15 Methods from class SbCylinderPlaneProjector:
16
17 SbCylinderPlaneProjector(float edgeTol = .9, SbBool
18 orientToEye = TRUE)
19 SbCylinderPlaneProjector(const SbCylinder &cyl, float
20 edgeTol = .9, SbBool orientToEye = TRUE)
21 ~SbCylinderPlaneProjector()
22
23 Methods from class SbCylinderSectionProjector:
24
25 void setTolerance(float edgeTol)
26 float getTolerance() const
27 SbBool isWithinTolerance(const SbVec3f &point)
28
29 Methods from class SbCylinderProjector:
30
31 SbVec3f projectAndGetRotation(const SbVec2f &point, SbRota‐
32 tion &rot)
33 virtual SbRotation getRotation(const SbVec3f &point1, const SbVec3f
34 &point2)
35 void setCylinder(const SbCylinder &cyl)
36 const SbCylinder & getCylinder() const
37 void setOrientToEye(SbBool orientToEye)
38 SbBool isOrientToEye() const
39 void setFront(SbBool isFront)
40 SbBool isFront() const
41 SbBool isPointInFront(const SbVec3f &point) const
42
43 Methods from class SbProjector:
44
45 virtual SbVec3f project(const SbVec2f &point)
46 virtual void setViewVolume(const SbViewVolume &vol)
47 const SbViewVolume & getViewVolume() const
48 virtual void setWorkingSpace(const SbMatrix &space)
49 const SbMatrix & getWorkingSpace() const
50 virtual SbProjector * copy() const
51
52
54 SbCylinderPlaneProjector projects a window space point (usually based
55 on the mouse location) onto a surface defined by a cylinder and plane
56 cutting through the cylinder. Two projected points can produce a rota‐
57 tion along the cylinder's axis. When the mouse position projects onto
58 the plane, the rotations will be as if the plane is being dragged,
59 causing the cylinder to roll beneath it.
60
61 Incremental changes (delta rotation) can be computed during interactive
62 sessions. Cylinder projectors are typically used to write interactive
63 3D manipulators and viewers.
64
66 SbCylinderPlaneProjector(float edgeTol = .9, SbBool
67 orientToEye = TRUE)
68 SbCylinderPlaneProjector(const SbCylinder &cyl, float
69 edgeTol = .9, SbBool orientToEye = TRUE)
70 Constructors. The first uses a default cylinder aligned with the Y
71 axis with radius 1.0; the cylinder is supplied in the second. The
72 position of the plane is specified as a fraction of the cylinder
73 radius with the parameter edgeTol. A tolerance value of 1.0 posi‐
74 tions the plane down the center of the cylinder. A tolerance value
75 of 0.5 defines the longitudinal plane halfway between the center and
76 the outside edge of the cylinder. The default value is .9, so that
77 almost half the cylinder is in front of the plane. The orientToEye
78 parameter determines whether the plane is perpendicular to the eye,
79 or perpendicular to the cylinder's Z axis. Setting that parameter to
80 TRUE (the default) specifies that the plane be perpendicular to the
81 eye, which is most often the desired behavior.
82
83 The default view volume is undefined, and the working space is iden‐
84 tity.
85
86 ~SbCylinderPlaneProjector()
87 Destructor.
88
89
91 SbCylinderSheetProjector, SbLineProjector, SbPlaneProjector, SbSphere‐
92 PlaneProjector, SbSphereProjector, SbSphereSectionProjector,
93 SbSphereSheetProjector
94
95
96
97
98 SbCylinderPlaneProjector(3IV)()