# SoNormal Class Reference
[Nodes]

`#include <Inventor/nodes/SoNormal.h>`

Inheritance diagram for SoNormal:

List of all members.

## 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.

See also:
  SoNormalBinding

## 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

void | initClass (void)

## Public Attributes

SoMFVec3f | vector

## Protected Member Functions

virtual | ~SoNormal ()

## Constructor & Destructor Documentation

SoNormal::SoNormal | ( | void |  | ) |

| Constructor.

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.

void SoNormal::doAction | ( | SoAction * | action | ) | `[virtual]`

| This function performs the typical operation of a node for any action. Reimplemented from SoNode.

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.

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.

void SoNormal::pick | ( | SoPickAction * | action | ) | `[virtual]`

| Action method for SoPickAction. Does common processing for SoPickAction action instances. Reimplemented from SoNode.

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.

## Member Data Documentation

SoMFVec3f SoNormal::vector

| Sets a pool of normal vectors in the traversal state.

The documentation for this class was generated from the following files:

- SoNormal.h
- SoNormal.cpp