1SoIndexedFaceSet(3IV)()                                SoIndexedFaceSet(3IV)()
2
3
4

NAME

6       SoIndexedFaceSet — indexed polygonal face shape node
7

INHERITS FROM

9       SoBase  >  SoFieldContainer  > SoNode > SoShape > SoVertexShape > SoIn‐
10       dexedShape > SoIndexedFaceSet
11

SYNOPSIS

13       #include <Inventor/nodes/SoIndexedFaceSet.h>
14
15          Fields from class SoIndexedShape:
16
17     SoMFInt32           coordIndex
18     SoMFInt32           materialIndex
19     SoMFInt32           normalIndex
20     SoMFInt32           textureCoordIndex
21
22          Fields from class SoVertexShape:
23
24     SoSFNode            vertexProperty
25
26          Methods from class SoIndexedFaceSet:
27
28                         SoIndexedFaceSet()
29     static SoType       getClassTypeId()
30
31          Methods from class SoNode:
32
33     void                setOverride(SbBool state)
34     SbBool              isOverride() const
35     SoNode *            copy(SbBool copyConnections = FALSE) const
36     virtual SbBool      affectsState() const
37     static SoNode *     getByName(const SbName &name)
38     static int          getByName(const SbName &name, SoNodeList &list)
39
40          Methods from class SoFieldContainer:
41
42     void                setToDefaults()
43     SbBool              hasDefaultValues() const
44     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
45     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool
46                              copyConnections = FALSE)
47     SbBool              set(const char *fieldDataString)
48     void                get(SbString &fieldDataString)
49     virtual int         getFields(SoFieldList &resultList) const
50     virtual SoField *   getField(const SbName &fieldName) const
51     SbBool              getFieldName(const SoField *field, SbName &fieldName)
52                              const
53     SbBool              isNotifyEnabled() const
54     SbBool              enableNotify(SbBool flag)
55
56          Methods from class SoBase:
57
58     void                ref()
59     void                unref() const
60     void                unrefNoDelete() const
61     void                touch()
62     virtual SoType      getTypeId() const
63     SbBool              isOfType(SoType type) const
64     virtual void        setName(const SbName &name)
65     virtual SbName      getName() const
66
67

DESCRIPTION

69       This node represents a 3D shape formed by constructing faces (polygons)
70       from  vertices  located at the coordinates specified in the vertexProp‐
71       erty field (from SoVertexShape), or the current  inherited  state.  For
72       optimal performance, the vertexProperty field is recommended.
73
74       SoIndexedFaceSet  uses  the indices in the coordIndex field (from SoIn‐
75       dexedShape)   to   specify   the   polygonal   faces.   An   index   of
76       SO_END_FACE_INDEX  (-1)  indicates  that the current face has ended and
77       the next one begins. For improved performance, arrange  all  the  faces
78       with  only  3  vertices at beginning of the list, then all faces with 4
79       vertices, and finally all other faces.
80
81       The vertices of the faces are transformed by the current transformation
82       matrix.  The  faces  are drawn with the current light model and drawing
83       style.
84
85       Treatment of the current material and normal binding is as follows: The
86       PER_PART  and  PER_FACE  bindings specify a material or normal for each
87       face. PER_VERTEX specifies a material or normal for  each  vertex.  The
88       corresponding _INDEXED bindings are the same, but use the materialIndex
89       or normalIndex indices (see SoIndexedShape). The default material bind‐
90       ing is OVERALL. The default normal binding is PER_VERTEX_INDEXED.
91
92       If  any normals (or materials) are specified, Inventor assumes you pro‐
93       vide the correct number of them, as indicated by the binding. You  will
94       see unexpected results if you specify fewer normals (or materials) than
95       the shape requires. If no normals are specified, they will be generated
96       automatically.
97
98       Textures are applied as described for the SoIndexedShape class.
99

METHODS

101                         SoIndexedFaceSet()
102          Creates an indexed face set node with default settings.
103
104     static SoType       getClassTypeId()
105          Returns type identifier for this class.
106
107

ACTION BEHAVIOR

109       SoGLRenderAction
110          Draws  faces  based  on the current coordinates, normals, materials,
111          drawing style, and so on.
112
113     SoRayPickAction
114          Picks faces based on the  current  coordinates  and  transformation.
115          Details about the intersection are returned in an SoFaceDetail.
116
117     SoGetBoundingBoxAction
118          Computes the bounding box that encloses all vertices of the face set
119          with the current transformation applied to them. Sets the center  to
120          the average of the coordinates of all vertices.
121
122     SoCallbackAction
123          If  any triangle callbacks are registered with the action, they will
124          be invoked for each successive triangle generated from each face  in
125          the set.
126
127

FILE FORMAT/DEFAULTS

129       IndexedFaceSet {
130          vertexProperty     NULL
131          coordIndex         0
132          materialIndex      -1
133          normalIndex        -1
134          textureCoordIndex  -1
135     }
136

SEE ALSO

138       SoCoordinate3, SoDrawStyle, SoFaceDetail, SoFaceSet, SoVertexProperty
139
140
141
142
143                                                       SoIndexedFaceSet(3IV)()
Impressum