Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions

SoIndexedTriangleFanSet Class Reference

A shape class that is similar to IndexedTriangleStripSet. The organized like a fan, where the first index is in the center of the fan, and the following indexes was the surrounding coordinates. More...

List of all members.

Public Member Functions

 SoIndexedTriangleFanSet ()

Static Public Member Functions

static void initClass ()

Protected Member Functions

void generatePrimitives (SoAction *)
SbBool generateDefaultNormals (SoState *state, SoNormalCache *nc)
void GLRender (SoGLRenderAction *)

Private Types

enum  Binding {
  OVERALL = 0, PER_FAN, PER_FAN_INDEXED, PER_TRIANGLE,
  PER_TRIANGLE_INDEXED, PER_VERTEX, PER_VERTEX_INDEXED
}

Private Member Functions

 SO_NODE_HEADER (SoIndexedTriangleFanSet)
Binding findMaterialBinding (SoState *) const
Binding findNormalBinding (SoState *) const

Detailed Description

A shape class that is similar to IndexedTriangleStripSet. The organized like a fan, where the first index is in the center of the fan, and the following indexes was the surrounding coordinates.

1 2 3 4 5

6

I.e. a coordIndex sequence of : 6, 1, 2, 3, 4, 5, -1 creates the following triangles: 6-1-2, 6-2-3, 6-3-4, 6-4-5. This saves quite much mem compared with stripsets.


Member Enumeration Documentation

Enumerator:
OVERALL 
PER_FAN 
PER_FAN_INDEXED 
PER_TRIANGLE 
PER_TRIANGLE_INDEXED 
PER_VERTEX 
PER_VERTEX_INDEXED 

Constructor & Destructor Documentation

SoIndexedTriangleFanSet::SoIndexedTriangleFanSet (  ) 

Member Function Documentation

Binding SoIndexedTriangleFanSet::findMaterialBinding ( SoState *   )  const [private]
Binding SoIndexedTriangleFanSet::findNormalBinding ( SoState *   )  const [private]
SbBool SoIndexedTriangleFanSet::generateDefaultNormals ( SoState *  state,
SoNormalCache *  nc 
) [protected]
void SoIndexedTriangleFanSet::generatePrimitives ( SoAction *   )  [protected]
void SoIndexedTriangleFanSet::GLRender ( SoGLRenderAction *   )  [protected]

Does not work properly (TODO), use own normals instead

static void SoIndexedTriangleFanSet::initClass (  )  [static]
SoIndexedTriangleFanSet::SO_NODE_HEADER ( SoIndexedTriangleFanSet   )  [private]