SceneGraphObject is the common superclass for all scene graph objects. Scene graph objects are classified into two main types: nodes and node components. The Node object is the common superclass of all nodes, which includes TransformGroup, Shape3D, etc. The NodeComponent object is the common superclass of all node components, which includes Geometry, Appearance, etc.
All scene graph objects have a name, a user data object, a set of capability bits, and a set of capabilityIsFrequent bits.
Capability bits control whether a particular attribute in a node or node component is readable or writable. For live or compiled scene graphs, only those attributes whose capabilities are set before the scene graph is compiled or made live may be read or written. The default value for all read capability bits is true, meaning that all attributes may be read by default. The default value for all write capability bits is false, meaning that no attributes may be written by default. Read capability bits are defined as those capability bits of the form ALLOW_*_READ
, plus the ALLOW_INTERSECT
capability bit. Write capability bits are defined as those capability bits of the form ALLOW_*_WRITE
, plus the ALLOW_CHILDREN_EXTEND
and ALLOW_DETACH
capability bits.
NOTE that the ENABLE_COLLISION_REPORTING
and ENABLE_PICK_REPORTING
bits are not really capability bits, although they are set with the setCapability method. The default value for each of the ENABLE_*_REPORTING bits
is false.
For more information, see the Introduction to the Java 3D API.