Coin
4.0.3
Coin3D core library
|
The SoNormalBundle class simplifies normal handling. More...
#include <Inventor/bundles/SoNormalBundle.h>
Public Member Functions | |
SoNormalBundle (SoAction *action, SbBool forrendering) | |
~SoNormalBundle () | |
void | beginPolygon (void) |
void | endPolygon (void) |
void | generate (int startindex=0, SbBool addtostate=TRUE) |
const SbVec3f & | get (int index) const |
const SbVec3f * | getGeneratedNormals (void) const |
int | getNumGeneratedNormals (void) const |
void | initGenerator (int initnum=100) |
void | polygonVertex (const SbVec3f &v) |
void | send (int index) const |
void | set (int32_t num, const SbVec3f *normals) |
SbBool | shouldGenerate (int numneeded) |
void | triangle (const SbVec3f &p1, const SbVec3f &p2, const SbVec3f &p3) |
Public Attributes | |
SoNormalGenerator * | generator |
Additional Inherited Members | |
Protected Member Functions inherited from SoBundle | |
SoBundle (SoAction *action) | |
~SoBundle () | |
Protected Attributes inherited from SoBundle | |
SoState * | state |
The state of the current action. | |
The SoNormalBundle class simplifies normal handling.
This class is currently not used in Coin but is provided for API compatibility.
SoNormalBundle::SoNormalBundle | ( | SoAction * | action, |
SbBool | forrendering ) |
Constructor.
SoNormalBundle::~SoNormalBundle | ( | ) |
Destructor.
Start polygon specification. Call polygonVertex() for each vertex in the polygon, and then endPolygon() to close the polygon.
Call to close a polygon.
void SoNormalBundle::generate | ( | int | startindex = 0, |
SbBool | addtostate = TRUE ) |
Generate normals for the shape. startindex should always be 0 (the SoNonIndexedShape::startIndex field is obsoleted). addtostate should be true if the generated normals should be pushed onto the current state.
Returns the number of generated normals.
int SoNormalBundle::getNumGeneratedNormals | ( | void | ) | const |
Returns a pointer to the generated normals.
void SoNormalBundle::initGenerator | ( | int | initnum = 100 | ) |
Initializes the normal generator. initnum is a hint that should contain the approximate number of normals to be generated.
Call for each vertex in a polygon.
void SoNormalBundle::send | ( | int | index | ) | const |
Send the index'th normal to OpenGL.
Can be used by nodes that generate their own normals. The state will be updated with the new normals, and the state will be popped again when the SoNormalBundle destructor is called.
SbBool SoNormalBundle::shouldGenerate | ( | int | numneeded | ) |
Returns FALSE if there are normals on the state. Otherwise initGenerator() is called with numneeded as argument, and TRUE is returned.
Convenience method to specify a triangle. p1, p2, and p3 are the triangles vertices.