C4 Engine Terathon Software C4 Engine API Documentation

• World Manager

API Links
Developer Links

class Node

Defined in:  C4Node.h
Every node that belongs to a scene graph is a subclass of the Node class.
Definition

class Node : class Node : public UpdatableTree<Node>, public Transformable, public LinkTarget<Node>,

public Packable, public Configurable, public Constructable<Node>

Member Functions
Node::GetNodeType Returns the type of a node.
Node::GetNodeFlags Returns the node flags.
Node::SetNodeFlags Sets the node flags.
Node::GetWorld Returns the world to which a node belongs.
Node::SetWorld Sets the world to which a node belongs.
Node::AddNewSubnode Adds a newly created subnode to a node.
 
Node::Enable Enables a node tree.
Node::Disable Disables a node tree.
 
Node::GetObject Returns a node's object.
Node::SetObject Sets a node's object.
Node::GetController Returns a node's controller.
Node::SetController Sets a node's controller.
 
Node::GetNodeTransform Returns a node's local transform.
Node::SetNodeTransform Sets a node's local transform.
Node::SetNodeMatrix3D Sets the upper-left 3×3 portion of a node's local transform.
Node::GetNodePosition Returns a node's local position.
Node::SetNodePosition Sets a node's local position.
Node::StopMotion Resets the motion information stored for a node so that motion blur is correctly stopped.
 
Node::GetBoundingSphere Returns a node's world-space bounding sphere.
Node::Visible Determines whether a node is visible within a given region.
Node::Occluded Determines whether a node is occluded by any occlusion region.
Node::SetVisibilityProc Sets the function that handles visibility testing for a node.
Node::SetOcclusionProc Sets the function that handles occlusion testing for a node.
 
Node::GetFirstConnector Returns the first outgoing node connection.
Node::AddConnector Adds a node connection.
Node::GetConnectedNode Returns the connected node with a particular key.
Node::SetConnectedNode Sets the connected node with a particular key.
 
Node::GetFirstProperty Returns the first property directly attached to a node.
Node::GetProperty Returns the property of a given type that is attached to a node.
Node::AddProperty Attaches a property directly to a node.
Node::GetNodeName Returns the name of a node.
Node::SetNodeName Sets the name of a node.
 
Node::Clone Clones a node hierarchy.
 
Node::Preprocess Performs any preprocessing that a node needs to do before being used in a world.
Node::EnterZone Called when a node enters a zone.
Node::ExitZone Called when a node exits a zone.
 
Node::GetOwningGroup Returns the most immediate group containing a node.
Node::GetOwningZone Returns the most immediate zone containing a node.
 
Node::EnumerateNodes Enumerates all nodes of a specified type within a given sphere.
Node::EnumerateGeometries Enumerates all geometries within a given sphere.
Constructor

Node(NodeType type = kNodeGroup);

Description
The Node class provides the base functionality for all members of the scene graph representing a world. Most nodes in a scene graph are represented by subclasses of the Node class such as Geometry or Light. When the Node class itself appears in a scene graph, it simply acts as a grouping mechanism and has the kNodeGroup type.
Base Classes
UpdatableTree<Node> Nodes are stored in a hierachical updatable tree.
Transformable Holds the object-to-world transform for a node.
LinkTarget<Node> Used internally by the World Manager.
Packable Nodes can be packed for storage in resources.
Configurable Nodes can define configurable parameters that are exposed as user interface elements in the World Editor.
Constructable<Object> New node subclasses may be defined by an application, and a constructor function can be installed using the Constructable class.
See Also
Object

Controller