![]() |
http://www.sim.no http://www.coin3d.org |
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. More...
#include <Inventor/nodes/SoNormal.h>
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 () |
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 [ ] }
SoNormal::SoNormal | ( | void | ) |
Constructor.
References vector.
SoNormal::~SoNormal | ( | ) | [protected, virtual] |
Destructor.
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().
Sets a pool of normal vectors in the traversal state.
Referenced by doAction(), GLRender(), and SoNormal().
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Feb 28 2011 10:12:17 for Coin by Doxygen. 1.7.3