H3D::IndexedTriangleSet Class Reference
[X3D node classes.]

The IndexedTriangleSet node represents a 3D shape composed of a collection of individual triangles. More...

#include <H3D/IndexedTriangleSet.h>

Inheritance diagram for H3D::IndexedTriangleSet:

Inheritance graph

List of all members.

Classes

class  AutoNormal
 Specialized field for automatically generating normals from coordinates. More...
class  NotEnoughColors
 Thrown if the number of colors in the color field is less than the number coordinates in the coord field. More...
class  NotEnoughTextureCoordinates
 Thrown if the number of texture coordinates in the color field is less than the number coordinates in the coord field. More...

Public Types

typedef CoordBoundField SFBound
 The bound field for IndexedFaceSet is a CoordBoundField.

Public Member Functions

 IndexedTriangleSet (Inst< SFNode > _metadata=0, Inst< SFBound > _bound=0, Inst< DisplayList > _displayList=0, Inst< SFColorNode > _color=0, Inst< SFCoordinateNode > _coord=0, Inst< SFNormalNode > _normal=0, Inst< SFTextureCoordinateNode > _texCoord=0, Inst< SFBool > _ccw=0, Inst< SFBool > _colorPerVertex=0, Inst< SFBool > _normalPerVertex=0, Inst< SFBool > _solid=0, Inst< MFVertexAttributeNode > _attrib=0, Inst< AutoNormal > _autoNormal=0, Inst< MFInt32 > _set_index=0, Inst< MFInt32 > _index=0, Inst< SFFogCoordinate > _fogCoord=0)
 Constructor.
virtual void traverseSG (TraverseInfo &ti)
 Traverse the scenegraph.
virtual void render ()
 Renders the IndexedTriangleSet with OpenGL.
virtual int nrTriangles ()
 The number of triangles renderered in this geometry.

Public Attributes

auto_ptr< AutoNormalautoNormal
 Auto-generated normals that are used if the normal field is NULL.
auto_ptr< MFInt32set_index
 Field for setting the value of the index field.
auto_ptr< MFInt32index
 The index field is used to specify the vertices of each triangle from the coord field.

Static Public Attributes

static H3DNodeDatabase database
 The H3DNodeDatabase for this node.


Detailed Description

The IndexedTriangleSet node represents a 3D shape composed of a collection of individual triangles.

IndexedTriangleSet uses the indices in its index field to specify the vertices of each triangle from the coord field. Each triangle is formed from a set of three vertices of the Coordinate node identified by three consecutive indices from the index field. If the index field does not contain a multiple of three coordinate values, the remaining vertices shall be ignored.

The IndexedTriangleSet node is specified in the local coordinate system and is affected by the transformations of its ancestors. If values are provided for the color, normal and texCoord fields, the values are applied in the same manner as the values from the coord field and there shall be at least as many values as are present in the coord field. The value of the colorPerVertex field is ignored and always treated as TRUE. If the normal field is not supplied, normals shall be generated as follows:

Internal routes:
IndexedTriangleSet.dot

Member Function Documentation

void IndexedTriangleSet::traverseSG ( TraverseInfo ti  )  [virtual]

Traverse the scenegraph.

A HAPIHapticShape is added for haptic rendering if haptics is enabled.

Parameters:
ti The TraverseInfo object containing information about the traversal.

Reimplemented from H3D::X3DGeometryNode.

References H3D::X3DComposedGeometryNode::solid, and H3D::X3DGeometryNode::useBackFaceCulling().


Member Data Documentation

Auto-generated normals that are used if the normal field is NULL.

Only accessable in C++.

IndexedFaceSet_autoNormal.dot

Referenced by IndexedTriangleSet(), and render().

The index field is used to specify the vertices of each triangle from the coord field.

Each triangle is formed from a set of three vertices of the Coordinate node identified by three consecutive indices from the index field. If the index field does not contain a multiple of three coordinate values, the remaining vertices shall be ignored. NOTE: The access type differs from the X3D standard.

Access type: inputOutput

IndexedTriangleSet_index.dot

Referenced by IndexedTriangleSet(), and render().

Field for setting the value of the index field.

Access type: inputOnly

IndexedTriangleSet_set_index.dot

Referenced by IndexedTriangleSet().


The documentation for this class was generated from the following files:

Generated on Fri Nov 7 10:30:29 2008 for H3D API by  doxygen 1.5.7