version 3.3

VRS::SceneNode Class Reference

Abstract Base Class for All Types of Scene Graph Nodes. More...

#include <vrs/scenenode.h>

Inheritance diagram for VRS::SceneNode:

VRS::SharedObj VRS::Visitable VRS::CacheNodeGL VRS::CurveText VRS::FrameCounter VRS::LODNode VRS::SceneShapeManagerGL VRS::SceneSwitch VRS::SceneThing VRS::TextField

List of all members.

Public Types

enum  State { EvaluationOn = 0x0002, TraversalOn = 0x0004 }

Public Member Functions

 SceneNode ()
virtual void evaluate (Engine *engine)
virtual
SceneNodeVisitor::TraversalFlag 
traverse (SceneNodeVisitor *visitor)
virtual Bounds boundingBox (Engine *engine) const
virtual void install (Engine *engine)
virtual void deinstall (Engine *engine)
 VRS_SERIALIZABLE_CLASS_ENUM (State)
virtual void setNodeState (int state)
virtual int getNodeState () const
 VRS_TYPEINFO (SceneNode, SharedObj)
 VRS_SERIALIZABLE_ABSTRACT_CLASS (SceneNode)


Detailed Description

Abstract Base Class for All Types of Scene Graph Nodes.

Member Enumeration Documentation

Enumerator:
EvaluationOn 
TraversalOn 


Constructor & Destructor Documentation

VRS::SceneNode::SceneNode (  ) 


Member Function Documentation

virtual void VRS::SceneNode::evaluate ( Engine engine  )  [virtual]

Geometry nodes are parameterized by rendering engines. That is, one scene graph may be traversed by several rendering engines (e.g., an engine for each canvas of a multiview application). Evaluate passes attributes, shapes, and handlers to the rendering engine, and delegates the evaluation to subgraphs.

Reimplemented in VRS::CacheNodeGL, VRS::SceneShapeManagerGL, VRS::CullingSceneThing, VRS::FrameCounter, VRS::LODNode, VRS::SceneAdjuster, VRS::SceneCallback, VRS::SceneConfiguration, VRS::SceneSwitch, VRS::SceneThing, VRS::CurveText, and VRS::TextField.

virtual SceneNodeVisitor::TraversalFlag VRS::SceneNode::traverse ( SceneNodeVisitor visitor  )  [virtual]

A "visitor" can be sent through a scene graph, e.g., for detecting certain shapes or finding attribute objects etc. The visitor is informed about all shapes, attributes, and scene nodes encountered during a traversal.

Reimplemented in VRS::LODNode, VRS::SceneCallback, VRS::SceneSwitch, and VRS::SceneThing.

virtual Bounds VRS::SceneNode::boundingBox ( Engine engine  )  const [virtual]

Returns the geometry bounding box of the node and all of its subgraphs. The bounding box is expressed in coordinates local to the scene node.

Reimplemented in VRS::CacheNodeGL, VRS::SceneShapeManagerGL, VRS::CullingSceneThing, VRS::LODNode, VRS::SceneAdjuster, VRS::SceneSwitch, VRS::SceneThing, VRS::CurveText, and VRS::TextField.

virtual void VRS::SceneNode::install ( Engine engine  )  [virtual]

virtual void VRS::SceneNode::deinstall ( Engine engine  )  [virtual]

When a new rendering engine gets connected to a geometry graph, an install request is sent to each of the graph's nodes. When an existing rendering engine is going to be destroyed, an uninstall request is sent to each of the graph's nodes.

Reimplemented in VRS::SceneCallback, VRS::SceneConfiguration, VRS::SceneSwitch, and VRS::SceneThing.

VRS::SceneNode::VRS_SERIALIZABLE_CLASS_ENUM ( State   ) 

virtual void VRS::SceneNode::setNodeState ( int  state  )  [virtual]

virtual int VRS::SceneNode::getNodeState (  )  const [virtual]

A scene node can be disabled for evaluation and traversal. The node state contains these flags.

VRS::SceneNode::VRS_TYPEINFO ( SceneNode  ,
SharedObj   
)

VRS::SceneNode::VRS_SERIALIZABLE_ABSTRACT_CLASS ( SceneNode   ) 


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

Generated on Tue May 22 06:00:27 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact