1SoTriangleStripSet(3IV)()                            SoTriangleStripSet(3IV)()
2
3
4

NAME

6       SoTriangleStripSet — triangle strip set shape node
7

INHERITS FROM

9       SoBase > SoFieldContainer > SoNode > SoShape > SoVertexShape > SoNonIn‐
10       dexedShape > SoTriangleStripSet
11

SYNOPSIS

13       #include <Inventor/nodes/SoTriangleStripSet.h>
14
15          Fields from class SoTriangleStripSet:
16
17     SoMFInt32           numVertices
18
19          Fields from class SoNonIndexedShape:
20
21     SoSFInt32           startIndex
22
23          Fields from class SoVertexShape:
24
25     SoSFNode            vertexProperty
26
27          Methods from class SoTriangleStripSet:
28
29                         SoTriangleStripSet()
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

DESCRIPTION

70       This shape node constructs triangle strips out of  vertices.  The  ver‐
71       tices  may  be  specified  in  the  vertexProperty  field  (from SoVer‐
72       texShape), or by the current inherited coordinates. For optimal perfor‐
73       mance, the vertexProperty field is recommended.
74
75       SoTriangleStripSet  is  one  of  the  fastest ways of drawing polygonal
76       objects in Inventor. It uses the current coordinates, in order,  start‐
77       ing  with  the  first one. The values in the numVertices field indicate
78       the number of vertices to use for each triangle strip in the  set.  The
79       number of values in this field determines the number of strips.
80
81       For example, if numVertices has the values [3,5], coordinates 1, 2, and
82       3 would be used for the first triangle strip and coordinates 4,  5,  6,
83       7,  and  8  would  be used for the second strip. This would result in 1
84       triangle in the first strip and 3 in the second.
85
86       The coordinates of the strips are transformed by the current cumulative
87       transformation.  The  strips are drawn with the current light model and
88       drawing style.
89
90       Treatment of the current material and normal binding is as follows: The
91       PER_PART  binding  specifies a material or normal for each strip of the
92       set. The PER_FACE binding specifies a material or normal for each  tri‐
93       angle.  The _INDEXED bindings are equivalent to their non-indexed coun‐
94       terparts. The default normal binding is PER_VERTEX. The  default  mate‐
95       rial binding is OVERALL.
96
97       If  any normals (or materials) are specified, Inventor assumes you pro‐
98       vide the correct number of them, as indicated by the binding. You  will
99       see unexpected results if you specify fewer normals (or materials) than
100       the shape requires. If no normals are specified, they will be generated
101       automatically.
102

FIELDS

104     SoMFInt32           numVertices
105          Number  of  vertices in each triangle strip. The number of strips is
106          equal to the number of values in this field.
107
108

METHODS

110                         SoTriangleStripSet()
111          Creates a triangle strip set node with default settings.
112
113     static SoType       getClassTypeId()
114          Returns type identifier for this class.
115
116

ACTION BEHAVIOR

118       SoGLRenderAction
119          Draws a strip set based on the current coordinates, normals, materi‐
120          als, drawing style, and so on.
121
122     SoRayPickAction
123          Picks  on  the strip set based on the current coordinates and trans‐
124          formation.  Details  about  the  intersection  are  returned  in  an
125          SoFaceDetail.
126
127     SoGetBoundingBoxAction
128          Computes  the  bounding  box that encloses all vertices of the strip
129          set with the current transformation applied to them. Sets the center
130          to the average of the coordinates of all vertices.
131
132     SoCallbackAction
133          If  any triangle callbacks are registered with the action, they will
134          be invoked for each successive triangle forming the  strips  of  the
135          set.
136
137

FILE FORMAT/DEFAULTS

139       TriangleStripSet {
140          vertexProperty  NULL
141          startIndex      0
142          numVertices     -1
143     }
144

SEE ALSO

146       SoCoordinate3,  SoDrawStyle,  SoFaceDetail,  SoFaceSet, SoIndexedTrian‐
147       gleStripSet, SoQuadMesh, SoVertexProperty
148
149
150
151
152                                                     SoTriangleStripSet(3IV)()
Impressum