SoNormalBundle

Langue: en

Autres versions - même langue

Version: 358166 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

SoNormalBundle -

The SoNormalBundle class simplifies normal handling.

This class is currently not used in Coin but is provided for API compatibility.

SYNOPSIS


Inherits SoBundle.

Public Member Functions


SoNormalBundle (SoAction *action, SbBool forrendering)

~SoNormalBundle ()

SbBool shouldGenerate (int numneeded)

void initGenerator (int initnum=100)

void beginPolygon (void)

void polygonVertex (const SbVec3f &v)

void endPolygon (void)

void triangle (const SbVec3f &p1, const SbVec3f &p2, const SbVec3f &p3)

void generate (int startindex=0, SbBool addtostate=1)

const SbVec3f * getGeneratedNormals (void) const

int getNumGeneratedNormals (void) const

void set (int32_t num, const SbVec3f *normals)

const SbVec3f & get (int index) const

void send (int index) const

Public Attributes


SoNormalGenerator * generator

Detailed Description

The SoNormalBundle class simplifies normal handling.

This class is currently not used in Coin but is provided for API compatibility.

Constructor & Destructor Documentation

SoNormalBundle::SoNormalBundle (SoAction * action, SbBool forrendering)Constructor.

SoNormalBundle::~SoNormalBundle ()Destructor.

Member Function Documentation

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.

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.

void SoNormalBundle::beginPolygon (void)Start polygon specification. Call polygonVertex() for each vertex in the polygon, and then endPolygon() to close the polygon.

See also:

polygonVertex(), endPolygon()

void SoNormalBundle::polygonVertex (const SbVec3f & v)Call for each vertex in a polygon.

See also:

beginPolygon(), endPolygon()

void SoNormalBundle::endPolygon (void)Call to close a polygon.

See also:

beginPolygon(), polygonVertex()

void SoNormalBundle::triangle (const SbVec3f & p1, const SbVec3f & p2, const SbVec3f & p3)Convenience method to specify a triangle. p1, p2, and p3 are the triangles vertices.

void SoNormalBundle::generate (int startindex = 0, SbBool addtostate = 1)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.

const SbVec3f * SoNormalBundle::getGeneratedNormals (void) constReturns the number of generated normals.

int SoNormalBundle::getNumGeneratedNormals (void) constReturns a pointer to the generated normals.

void SoNormalBundle::set (int32_t num, const SbVec3f * normals)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.

const SbVec3f & SoNormalBundle::get (int index) constReturns the index'th normal from the state.

void SoNormalBundle::send (int index) constSend the index'th normal to OpenGL.

Author

Generated automatically by Doxygen for Coin from the source code.