SoNormal.3coin2

Langue: en

Version: 379295 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

SoNormal -

The SoNormal class is a node for providing normals to the state.

Coin will automatically calculate normals for you if no SoNormal nodes are present in the scene graph, but explicitly setting normals is useful for at least two purposes: 1) a potential increase in performance, 2) you can calculate and use 'incorrect' normals to do various special effects.

SYNOPSIS


#include <Inventor/nodes/SoNormal.h>

Inherits SoNode.

Public Member Functions


SoNormal (void)

virtual void doAction (SoAction *action)

virtual void GLRender (SoGLRenderAction *action)

virtual void callback (SoCallbackAction *action)

virtual void pick (SoPickAction *action)

virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)

Static Public Member Functions


static void initClass (void)

Public Attributes


SoMFVec3f vector

Protected Member Functions


virtual ~SoNormal ()

Detailed Description

The SoNormal class is a node for providing normals to the state.

Coin will automatically calculate normals for you if no SoNormal nodes are present in the scene graph, but explicitly setting normals is useful for at least two purposes: 1) a potential increase in performance, 2) you can calculate and use 'incorrect' normals to do various special effects.

FILE FORMAT/DEFAULTS:

     Normal {
         vector [  ]
     }
 
 

See also:

SoNormalBinding

Constructor & Destructor Documentation

SoNormal::SoNormal (void)Constructor.

References vector.

SoNormal::~SoNormal () [protected, virtual]Destructor.

Member Function Documentation

void SoNormal::initClass (void) [static]Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.

Reimplemented from SoNode.

References SoNode::VRML1.

void SoNormal::doAction (SoAction * action) [virtual]This function performs the typical operation of a node for any action.

Reimplemented from SoNode.

References SoOverrideElement::getNormalVectorOverride(), SoMField::getNum(), SoAction::getState(), SoMFVec3f::getValues(), SoField::isIgnored(), SoNode::isOverride(), SoFieldContainer::set(), SoOverrideElement::setNormalVectorOverride(), and vector.

Referenced by callback(), getPrimitiveCount(), GLRender(), and pick().

void SoNormal::GLRender (SoGLRenderAction * action) [virtual]Action method for the SoGLRenderAction.

This is called during rendering traversals. Nodes influencing the rendering state in any way or who wants to throw geometry primitives at OpenGL overrides this method.

Reimplemented from SoNode.

References doAction(), SoNode::getNodeId(), SoMField::getNum(), SoAction::getState(), SoMFVec3f::getValues(), SoBase::staticDataLock(), SoBase::staticDataUnlock(), and vector.

void SoNormal::callback (SoCallbackAction * action) [virtual]Action method for SoCallbackAction.

Simply updates the state according to how the node behaves for the render action, so the application programmer can use the SoCallbackAction for extracting information about the scene graph.

Reimplemented from SoNode.

References doAction().

void SoNormal::pick (SoPickAction * action) [virtual]Action method for SoPickAction.

Does common processing for SoPickAction action instances.

Reimplemented from SoNode.

References doAction().

void SoNormal::getPrimitiveCount (SoGetPrimitiveCountAction * action) [virtual]Action method for the SoGetPrimitiveCountAction.

Calculates the number of triangle, line segment and point primitives for the node and adds these to the counters of the action.

Nodes influencing how geometry nodes calculates their primitive count also overrides this method to change the relevant state variables.

Reimplemented from SoNode.

References doAction().

Member Data Documentation

SoMFVec3f SoNormal::vectorSets a pool of normal vectors in the traversal state.

Referenced by doAction(), GLRender(), and SoNormal().

Author

Generated automatically by Doxygen for Coin from the source code.