1SoIndexedNurbsSurface(3IV)() SoIndexedNurbsSurface(3IV)()
2
3
4
6 SoIndexedNurbsSurface — indexed NURBS surface shape node
7
9 SoBase > SoFieldContainer > SoNode > SoShape > SoIndexedNurbsSurface
10
12 #include <Inventor/nodes/SoIndexedNurbsSurface.h>
13
14 Fields from class SoIndexedNurbsSurface:
15
16 SoSFInt32 numUControlPoints
17 SoSFInt32 numVControlPoints
18 SoMFInt32 coordIndex
19 SoMFFloat uKnotVector
20 SoMFFloat vKnotVector
21 SoSFInt32 numSControlPoints
22 SoSFInt32 numTControlPoints
23 SoMFInt32 textureCoordIndex
24 SoMFFloat sKnotVector
25 SoMFFloat tKnotVector
26
27 Methods from class SoIndexedNurbsSurface:
28
29 SoIndexedNurbsSurface()
30 static SoType getClassTypeId()
31
32 Methods from class SoNode:
33
34 void setOverride(SbBool state)
35 SbBool isOverride() const
36 SoNode * copy(SbBool copyConnections = FALSE) const
37 virtual SbBool affectsState() const
38 static SoNode * getByName(const SbName &name)
39 static int getByName(const SbName &name, SoNodeList &list)
40
41 Methods from class SoFieldContainer:
42
43 void setToDefaults()
44 SbBool hasDefaultValues() const
45 SbBool fieldsAreEqual(const SoFieldContainer *fc) const
46 void copyFieldValues(const SoFieldContainer *fc, SbBool
47 copyConnections = FALSE)
48 SbBool set(const char *fieldDataString)
49 void get(SbString &fieldDataString)
50 virtual int getFields(SoFieldList &resultList) const
51 virtual SoField * getField(const SbName &fieldName) const
52 SbBool getFieldName(const SoField *field, SbName &fieldName)
53 const
54 SbBool isNotifyEnabled() const
55 SbBool enableNotify(SbBool flag)
56
57 Methods from class SoBase:
58
59 void ref()
60 void unref() const
61 void unrefNoDelete() const
62 void touch()
63 virtual SoType getTypeId() const
64 SbBool isOfType(SoType type) const
65 virtual void setName(const SbName &name)
66 virtual SbName getName() const
67
68
70 This shape node represents a NURBS surface based on the knot vectors
71 and the control points that you specify. The uKnotVector and vKnotVec‐
72 tor fields specify floating-point arrays of values; the values are the
73 coordinates of the knot points in the surface, and you must enter them
74 in non-decreasing order. The numUControlPoints and numVControlPoints
75 fields specify the number of control points the surface will have in
76 the U and V parametric directions, and will use the current coordinates
77 that are indexed from the coordIndex field.
78
79 You can get a surface of minimum order (2) in the U or V directions by
80 specifying two more knots than control points in that direction and
81 having at least two control points in that direction. This surface
82 would appear creased in one direction.
83
84 You can get a surface of maximum order (8) in the U or V directions by
85 specifying eight more knots than control points in that direction and
86 having at least eight control points in that direction.
87
88 The control points of the NURBS surface are transformed by the current
89 cumulative transformation. The surface is drawn with the current light
90 model and drawing style. The coordinates, normals, and texture coordi‐
91 nates of a surface are generated, so you cannot bind explicit normals
92 or texture coordinates to a NURBS surface. The first material in the
93 state is applied to the entire surface.
94
95 The surface is trimmed according to the currently defined profiles
96 curves.
97
98 When default texture coordinates are applied to a NURBS surface, the
99 edges of the texture square are stretched to fit the surface. The axes
100 of the texture are called S and T; S is horizontal and T is vertical.
101 The axes of the NURBS surface are called U and V; U is horizontal and V
102 is vertical. You can also define texture coordinates explicitly with
103 the S,T location point, the knot vectors, and the current texture coor‐
104 dinates.
105
107 SoSFInt32 numUControlPoints
108 SoSFInt32 numVControlPoints
109 Number of control points in the U and V directions.
110
111 SoMFInt32 coordIndex
112 Coordinate indices.
113
114 SoMFFloat uKnotVector
115 SoMFFloat vKnotVector
116 The knot vectors in the U and V directions.
117
118 SoSFInt32 numSControlPoints
119 SoSFInt32 numTControlPoints
120 Number of control points in the S and T directions.
121
122 SoMFInt32 textureCoordIndex
123 Texture coordinate indices.
124
125 SoMFFloat sKnotVector
126 SoMFFloat tKnotVector
127 The knot vectors in the S and T directions.
128
129
131 SoIndexedNurbsSurface()
132 Creates an indexed NURBS surface node with default settings.
133
134 static SoType getClassTypeId()
135 Returns type identifier for this class.
136
137
139 SoGLRenderAction
140 Draws the surface based on the current coordinates, material, and so
141 on.
142
143 SoRayPickAction
144 Picks the surface based on the current coordinates and transforma‐
145 tion.
146
147 SoGetBoundingBoxAction
148 Computes the bounding box that encloses all control points of the
149 surface with the current transformation applied to them. Sets the
150 center to the average of the control points.
151
152 SoCallbackAction
153 If any triangle callbacks are registered with the action, they will
154 be invoked for each successive triangle approximating the surface.
155
156
158 IndexedNurbsSurface {
159 numUControlPoints 0
160 numVControlPoints 0
161 numSControlPoints 0
162 numTControlPoints 0
163 coordIndex 0
164 uKnotVector 0
165 vKnotVector 0
166 sKnotVector 0
167 tKnotVector 0
168 textureCoordIndex -1
169 }
170
172 SoIndexedNurbsCurve, SoNurbsSurface, SoProfile
173
174
175
176
177 SoIndexedNurbsSurface(3IV)()