Open Inventor Reference
SoIndexedTriangleSet Class Reference

Indexed set of triangles. More...

#include <Inventor/nodes/SoIndexedTriangleSet.h>

Inheritance diagram for SoIndexedTriangleSet:
SoIndexedShape SoVertexShape SoShape SoNode SoFieldContainer SoBase

List of all members.

Public Types

enum  Binding {
  OVERALL, PER_FACE, PER_FACE_INDEXED, PER_VERTEX,
  PER_VERTEX_INDEXED
}
 This enum is used to indicate the current material or normal binding. More...
typedef void(SoIndexedTriangleSet::* PMFS )(SoGLRenderAction *)
 Typedef of pointer to method on IndexedTriangleSet; This will be used to simplify declaration and initialization.

Public Member Functions

 SoIndexedTriangleSet ()
 Constructor.
virtual void GLRender (SoGLRenderAction *action)
 Implements actions.
virtual SbBool generateDefaultNormals (SoState *state, SoNormalBundle *nb)
 Generates default normals using the given normal bundle.

Static Public Member Functions

static void initClass ()
 Initializes base node class.

Public Attributes

SoSFBool sendAdjacency
 flag that defines if the GL_TRIANGLES_ADJACENCY draw mode is used

Protected Member Functions

virtual void generatePrimitives (SoAction *action)
 Generates triangles representing faces.
virtual SoDetailcreateTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp)
 Overrides standard method to create an SoFaceDetail instance.
 ~SoIndexedTriangleSet ()

Detailed Description

Each triangle consists of 3 vertices, each of which is denoted by an integer index (from the coordIndex field) into the current coordinates. This is a specialized version of SoIndexedFaceSet, which offers slightly faster updates/rendering, since it only renders triangles. Unlike SoIndexedFaceSet, no -1 separators in the coordIndex field are needed nor supported. Depending on the current material and normal binding values, the materials and normals for the faces or vertices may be accessed in order or indexed. If they are indexed, the materialIndex and normalIndex fields are used.

(MeVis ONLY, VSG3D also has this node)

Definition at line 88 of file SoIndexedTriangleSet.h.


Member Typedef Documentation

typedef void(SoIndexedTriangleSet::* SoIndexedTriangleSet::PMFS)(SoGLRenderAction *)

Definition at line 113 of file SoIndexedTriangleSet.h.


Member Enumeration Documentation

Enumerator:
OVERALL 
PER_FACE 
PER_FACE_INDEXED 
PER_VERTEX 
PER_VERTEX_INDEXED 

Definition at line 119 of file SoIndexedTriangleSet.h.


Constructor & Destructor Documentation

SoIndexedTriangleSet::SoIndexedTriangleSet ( )
SoIndexedTriangleSet::~SoIndexedTriangleSet ( ) [protected]

Member Function Documentation

virtual SoDetail* SoIndexedTriangleSet::createTriangleDetail ( SoRayPickAction action,
const SoPrimitiveVertex v1,
const SoPrimitiveVertex v2,
const SoPrimitiveVertex v3,
SoPickedPoint pp 
) [protected, virtual]

Reimplemented from SoShape.

virtual SbBool SoIndexedTriangleSet::generateDefaultNormals ( SoState state,
SoNormalBundle nb 
) [virtual]

Returns TRUE.

Reimplemented from SoVertexShape.

virtual void SoIndexedTriangleSet::generatePrimitives ( SoAction action) [protected, virtual]

Implements SoShape.

virtual void SoIndexedTriangleSet::GLRender ( SoGLRenderAction action) [virtual]

Reimplemented from SoShape.

static void SoIndexedTriangleSet::initClass ( ) [static]

Reimplemented from SoIndexedShape.


Member Data Documentation


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