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

An IndexedTriangleFanSet represents a 3D shape composed of triangles that form a fan shape around the first vertex declared in each fan. More...

#include <H3D/IndexedTriangleFanSet.h>

Inheritance diagram for H3D::IndexedTriangleFanSet:

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

Public Member Functions

 IndexedTriangleFanSet (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 IndexedTriangleFanSet 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 IndexedTriangleFanSet represents a 3D shape composed of triangles that form a fan shape around the first vertex declared in each fan.

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

The IndexedTriangleFanSet 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 provided, normals shall be generated as follows:

Internal routes:
IndexedTriangleFanSet.dot

Member Function Documentation

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

IndexedTriangleFanSet_autoNormal.dot

Referenced by IndexedTriangleFanSet(), 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

IndexedTriangleFanSet_index.dot

Referenced by IndexedTriangleFanSet(), and render().

Field for setting the value of the index field.

Access type: inputOnly

IndexedTriangleFanSet_set_index.dot

Referenced by IndexedTriangleFanSet().


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

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