$LastChangedDate: 2010-02-18 13:32:07 -0500 (Thu, 18 Feb 2010) $

These are the levels of graph classes:
  SceneGraph, Graph, Subgraph
SceneGraph itself has a hierarchy:
  BaseSceneGraph, ShadowSceneGraph, SceneGraph
These are Facade classes over the exact arrangement of OSG nodes.

SceneGraph defines the entire scene graph.
SceneGraph _is_ a BaseSceneGraph and _has_ a ShadowSceneGraph.
BaseSceneGraph provides a cache of branch nodes for state-sorting similar nodes.

Graph is a per-Object graph (ObjectGraph would be its long name).
Graph is passed as an arg to Object ctor.
A Graph often is loaded from a 3D model file (.ac).

Subgraph defines a partition of a Graph.
Subgraph is typically used to define parts of an aircraft's 3D model.
Optionally, Subgraph can model a part that has a limited range of movement
such as landing gear.

ModelCache caches and shares 3D model files.
Reloading the same 3D model files creates copies
which would consume an enormous amount of memory.

ShadowSceneGraph must not be attached at all if shadows are disabled
(because of an obsolete OpenGL implementation),
else OSG 2.9.x will fail to render anything (white window).
SceneGraph will substitute a BaseSceneGraph object for ShadowSceneGraph.
