Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

SoCoordinate4 Class Reference

The SoCoordinate4 class is a node for providing coordinates to shape nodes. More...

#include <Inventor/nodes/SoCoordinate4.h>

Inheritance diagram for SoCoordinate4::

SoNode SoFieldContainer SoBase List of all members.

Public Methods

 SoCoordinate4 (void)
virtual void doAction (SoAction *action)
virtual void GLRender (SoGLRenderAction *action)
virtual void getBoundingBox (SoGetBoundingBoxAction *action)
virtual void callback (SoCallbackAction *action)
virtual void pick (SoPickAction *action)
virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)

Static Public Methods

void initClass (void)

Public Attributes

SoMFVec4f point

Protected Methods

virtual ~SoCoordinate4 ()

Detailed Description

The SoCoordinate4 class is a node for providing coordinates to shape nodes.

When encountering nodes of this type during traversal, the coordinates it contains will be put on the statestack for later use by shape nodes of types which needs coordinate sets (like SoFaceSet nodes or SoPointSet nodes).

The fourth element of the coordinate vectors is used for normalization. A node of this type where all the normalization values are equal to 1.0 is the equivalent of setting up an SoCoordinate3 node.

Note that an SoCoordinate4 node will replace the coordinates already present in the state (if any).

See also:
SoCoordinate3


Constructor & Destructor Documentation

SoCoordinate4::SoCoordinate4 void
 

Constructor.

SoCoordinate4::~SoCoordinate4 [protected, virtual]
 

Destructor.


Member Function Documentation

void SoCoordinate4::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 SoCoordinate4::doAction SoAction * action [virtual]
 

This function performs the typical operation of a node for any action.

Reimplemented from SoNode.

void SoCoordinate4::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 SoCoordinate4::getBoundingBox SoGetBoundingBoxAction * action [virtual]
 

Action method for the SoGetBoundingBoxAction.

Calculates bounding box and center coordinates for node and modifies the values of the action to encompass the bounding box for this node and to shift the center point for the scene more towards the one for this node.

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

Reimplemented from SoNode.

void SoCoordinate4::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 SoCoordinate4::pick SoPickAction * action [virtual]
 

Action method for SoPickAction.

Does common processing for SoPickAction action instances.

Reimplemented from SoNode.

void SoCoordinate4::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

SoMFVec4f SoCoordinate4::point
 

Coordinate set of 3D points as 4D vectors (each vector contains a 3D coordinate plus normalization value).


The documentation for this class was generated from the following files:
Generated at Tue Mar 5 03:31:22 2002 for Coin by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001