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

An IndexedTriangleStripSet represents a 3D shape composed of strips of triangles. More...

#include <H3D/IndexedTriangleStripSet.h>

Inheritance diagram for H3D::IndexedTriangleStripSet:

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 IndexedTriangleStripSet is a CoordBoundField.

Public Member Functions

 IndexedTriangleStripSet (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 IndexedTriangleStripSet with OpenGL.
virtual int nrTriangles ()
 An upper bound of 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 triangle strips by connecting vertices from the coord field.

Static Public Attributes

static H3DNodeDatabase database
 The H3DNodeDatabase for this node.


Detailed Description

An IndexedTriangleStripSet represents a 3D shape composed of strips of triangles.

IndexedTriangleStripSet uses the indices in its index field to specify the triangle strips by connecting vertices from the coord field. An index of "-1" indicates that the current strip has ended and the next one begins. The last strip may be (but does not have to be) followed by a "-1". Each strip shall have at least three non-coincident vertices.

The IndexedTriangleStripSet node is specified in the local coordinate system and is affected by the transformations of its ancestors. Descriptions of the color, coord, normal, and texCoord fields are provided in the Color, Coordinate, Normal, and TextureCoordinate nodes, respectively. 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:
IndexedTriangleStripSet.dot

Member Function Documentation

void IndexedTriangleStripSet::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++.

IndexedTriangleStripSet_autoNormal.dot

Referenced by IndexedTriangleStripSet(), and render().

The index field is used to specify the triangle strips by connecting vertices from the coord field.

An index of "-1" indicates that the current strip has ended and the next one begins. The last strip may be (but does not have to be) followed by a "-1". Each strip shall have at least three non-coincident vertices.

Access type: inputOutput

IndexedTriangleStripSet_index.dot

Referenced by IndexedTriangleStripSet(), and render().

Field for setting the value of the index field.

Access type: inputOnly

IndexedTriangleStripSet_set_index.dot

Referenced by IndexedTriangleStripSet().


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