Node

Node class

Represents an element in the scene graph. A scene graph is a tree of Node objects. The tree management services are self contained in this class. Note the Aspose.3D SDK does not test the validity of the constructed scene graph. It is the responsibility of the caller to make sure that it does not generate cyclic graphs in a node hierarchy. Besides the tree management, this class defines all the properties required to describe the position of the object in the scene. This information include the basic Translation, Rotation and Scaling properties and the more advanced options for pivots, limits, and IK joints attributes such the stiffness and dampening. When it is first created, the Node object is “empty” (i.e: it is an object without any graphical representation that only contains the position information). In this state, it can be used to represent parents in the node tree structure but not much more. The normal use of this type of objects is to add them an entity that will specialize the node (see the “Entity”). The entity is an object in itself and is connected to the the Node. This also means that the same entity can be shared among multiple nodes. Camera, Light, Mesh, etc… are all entities and they all derived from the base class Entity.

public class Node : SceneObject

Constructors

Name Description
Node() Initializes a new instance of the Node class.
Node(string) Initializes a new instance of the Node class.
Node(string, Entity) Initializes a new instance of the Node class.

Properties

Name Description
AssetInfo { get; set; } Per-node asset info
ChildNodes { get; } Gets the children nodes.
Entities { get; } Gets all node entities.
Entity { get; set; } Gets or sets the first entity attached to this node, if sets, will clear other entities.
Excluded { get; set; } Gets or sets whether to exclude this node and all child nodes/entities during exporting.
GlobalTransform { get; } Gets the global transform.
Material { get; set; } Gets or sets the first material associated with this node, if sets, will clear other materials
Materials { get; } Gets the materials associated with this node.
MetaDatas { get; } Gets the meta data defined in this node.
virtual Name { get; set; } Gets or sets the name.
ParentNode { get; set; } Gets or sets the parent node.
Properties { get; } Gets the collection of all properties.
Scene { get; } Gets the scene that this object belongs to
Transform { get; } Gets the local transform.
Visible { get; set; } Gets or sets to show the node

Methods

Name Description
Accept(NodeVisitor) Walks through all descendant nodes(including the current node) and call the visitor with the node. Visitor can break the walk-through by returning false
AddChildNode(Node) Add a child node to this node
AddEntity(Entity) Add an entity to the node.
CreateChildNode() Creates a child node
CreateChildNode(Entity) Create a new child node with given entity attached
CreateChildNode(string) Create a new child node with given node name
CreateChildNode(string, Entity) Create a new child node with given node name
CreateChildNode(string, Entity, Material) Create a new child node with given node name, and attach specified entity and a material
EvaluateGlobalTransform(bool) Evaluate the global transform, include the geometric transform or not.
FindProperty(string) Finds the property. It can be a dynamic property (Created by CreateDynamicProperty/SetProperty) or native property(Identified by its name)
GetBoundingBox() Calculate the bounding box of the node
GetChild(int) Gets the child node at specified index.
GetChild(string) Gets the child node with the specified name
GetEntity<T>()
GetProperty(string) Get the value of specified property
Merge(Node) Detach everything under the node and attach them to current node.
RemoveProperty(Property) Removes a dynamic property.
RemoveProperty(string) Remove the specified property identified by name
SelectObjects(string) Select multiple objects under current node using XPath-like query syntax.
SelectSingleObject(string) Select single object under current node using XPath-like query syntax.
SetProperty(string, object) Sets the value of specified property
override ToString() Gets the string representation of this node.

See Also