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