graph::BaseSceneGraph Class Reference

Base scene-graph class. More...

#include <_src_graph_base_scene_graph.hh>

Inheritance diagram for graph::BaseSceneGraph:

graph::SceneGraph graph::ShadowSceneGraph

List of all members.

Public Member Functions

 BaseSceneGraph (RefPtr< GroupNode > rootNode=new GroupNode)
virtual ~BaseSceneGraph ()
virtual RefPtr< GroupNodeGetRootNode (void)
virtual void AttachNode (RefPtr< Node > node, const NodeSort &nodeSort)
void AttachBranchNode (RefPtr< GroupNode > branchNode)
virtual void AttachObject (shptr< Object > object, const NodeSort &nodeSort)
virtual void DetachNode (RefPtr< Node > node)
void DetachBranchNode (RefPtr< GroupNode > branchNode)
virtual void DetachObject (shptr< Object > object)
virtual bool IfNodeAttached (Node &node)
virtual bool IfObjectAttached (shptr< Object > object)
virtual void Flush (void)

Protected Member Functions

void SetRootNode (RefPtr< GroupNode > rootNode)
void SetDefaultState (RefPtr< Node > node)
void AttachNode (RefPtr< Node > node, RefPtr< GroupNode > parent)
void Optimize (RefPtr< Node > node, const NodeSort &nodeSort)

Private Member Functions

void ArrangeNodes (void)

Private Attributes

CLASS_DESTROY_OBJECT_LISTENER(BaseSceneGraph,
mBaseSceneGraph) private
typedef set< shptr< Object > > 
Objects
CLASS_VAR NodeSort msBranchNodeSort
 default branch has default NodeSort
RefPtr< GroupNodemBaseRootNode
 the absolute root node
RefPtr< GroupNodemBranchNode
 group node with default state
NodeSortMap mNodeSortMap
 sorts nodes with shared state
Objects mObjects
 AttachObject() implies hold ref to Object.


Detailed Description

Base scene-graph class.

See scene_graph.hh.

Functionality of this base class:


Constructor & Destructor Documentation

graph::BaseSceneGraph::BaseSceneGraph ( RefPtr< GroupNode rootNode = new GroupNode  ) 

graph::BaseSceneGraph::~BaseSceneGraph (  )  [virtual]


Member Function Documentation

virtual RefPtr<GroupNode> graph::BaseSceneGraph::GetRootNode ( void   )  [inline, virtual]

Reimplemented in graph::ShadowSceneGraph.

virtual void graph::BaseSceneGraph::AttachNode ( RefPtr< Node node,
const NodeSort nodeSort 
) [virtual]

Reimplemented in graph::ShadowSceneGraph.

void graph::BaseSceneGraph::AttachBranchNode ( RefPtr< GroupNode branchNode  ) 

virtual void graph::BaseSceneGraph::AttachObject ( shptr< Object object,
const NodeSort nodeSort 
) [virtual]

virtual void graph::BaseSceneGraph::DetachNode ( RefPtr< Node node  )  [virtual]

void graph::BaseSceneGraph::DetachBranchNode ( RefPtr< GroupNode branchNode  ) 

virtual void graph::BaseSceneGraph::DetachObject ( shptr< Object object  )  [virtual]

bool graph::BaseSceneGraph::IfNodeAttached ( Node node  )  [virtual]

Returns:
True if Node is attached to SceneGraph.

Reimplemented in graph::SceneGraph.

virtual bool graph::BaseSceneGraph::IfObjectAttached ( shptr< Object object  )  [virtual]

void graph::BaseSceneGraph::Flush ( void   )  [virtual]

Flush scene-graph (for reloading).

Reimplemented in graph::SceneGraph.

void graph::BaseSceneGraph::SetRootNode ( RefPtr< GroupNode rootNode  )  [protected]

void graph::BaseSceneGraph::SetDefaultState ( RefPtr< Node node  )  [protected]

void graph::BaseSceneGraph::AttachNode ( RefPtr< Node node,
RefPtr< GroupNode parent 
) [protected]

void graph::BaseSceneGraph::Optimize ( RefPtr< Node node,
const NodeSort nodeSort 
) [protected]

void graph::BaseSceneGraph::ArrangeNodes ( void   )  [private]

(private) Arrange nodes. Also resets default state of root node.

Reimplemented in graph::SceneGraph.


Member Data Documentation

CLASS_DESTROY_OBJECT_LISTENER ( BaseSceneGraph, mBaseSceneGraph ) private typedef set<shptr<Object> > graph::BaseSceneGraph::Objects [private]

default branch has default NodeSort

the absolute root node

group node with default state

NodeSortMap graph::BaseSceneGraph::mNodeSortMap [private]

sorts nodes with shared state

AttachObject() implies hold ref to Object.


The documentation for this class was generated from the following files:
Palomino Flight Simulator documents generated by doxygen 1.5.6 on Tue Sep 28 11:37:49 2010