Returns the Camera, if any, instantiated at this Node.
Sets a Camera to be instantiated at this Node.
Adds the given Node as a child of this Node.
Requirements:
The addChild
method enforces these restrictions automatically, and will
remove the new child from previous parents where needed. This behavior
may change in future major releases of the library.
Removes a Node from this Node's child Node list.
Lists all child Nodes of this Node.
Makes a copy of this property, with the same resources (by reference) as the original.
Dispatches an event on the GraphNode, and on the associated
Graph. Event types on the graph are prefixed, "node:[type]"
.
Removes both inbound references to and outbound references from this object. At the end of the process the object holds no references, and nothing holds references to it. A disposed object is not reusable.
Returns true if two properties are deeply equivalent, recursively comparing the attributes of the properties. Optionally, a 'skip' set may be included, specifying attributes whose values should not be considered in the comparison.
Example: Two Primitives are equivalent if they have accessors and materials with equivalent content — but not necessarily the same specific accessors and materials.
Returns an ExtensionProperty attached to this Property, if any.
Attaches the given ExtensionProperty to this Property. For a given extension, only one ExtensionProperty may be attached to any one Property at a time.
Lists all ExtensionProperty instances attached to this Property.
Returns a reference to the Extras object, containing application-specific data for this Property. Extras should be an Object, not a primitive value, for best portability.
Updates the Extras object, containing application-specific data for this Property. Extras should be an Object, not a primitive value, for best portability.
Returns true if the node has been permanently removed from the graph.
Returns the local matrix of this Node.
Sets the local matrix of this Node. Matrix will be decomposed to TRS properties.
Returns the Mesh, if any, instantiated at this Node.
Sets a Mesh to be instantiated at this Node. A single mesh may be instatiated by multiple Nodes; reuse of this sort is strongly encouraged.
Returns the name of this property. While names are not required to be unique, this is encouraged, and non-unique names will be overwritten in some tools. For custom data about a property, prefer to use Extras.
Sets the name of this property. While names are not required to be unique, this is encouraged, and non-unique names will be overwritten in some tools. For custom data about a property, prefer to use Extras.
Returns the Node's unique parent Node within the scene graph. If the Node has no parents, or is a direct child of the Scene ("root node"), this method returns null.
Unrelated to Property.listParents, which lists all resource references from properties of any type (Skin, Root, ...).
Returns a list of all properties that hold a reference to this property. For example, a material may hold references to various textures, but a texture does not hold references to the materials that use it.
It is often necessary to filter the results for a particular type: some resources, like Accessors, may be referenced by different types of properties. Most properties include the Root as a parent, which is usually not of interest.
Usage:
const materials = texture
.listParents()
.filter((p) => p instanceof Material)
Returns the rotation (quaternion) of this Node in local space.
Sets the rotation (quaternion) of this Node in local space.
Returns the scale of this Node in local space.
Sets the scale of this Node in local space.
Returns the Skin, if any, instantiated at this Node.
Sets a Skin to be instantiated at this Node.
Returns the translation (position) of this Node in local space.
Sets the translation (position) of this Node in local space.
Visits this Node and its descendants, top-down.
Initial weights of each PrimitiveTarget for the mesh instance at this Node. Most engines only support 4-8 active morph targets at a time.
Initial weights of each PrimitiveTarget for the mesh instance at this Node. Most engines only support 4-8 active morph targets at a time.
Returns the translation (position) of this Node in world space.
Returns the scale of this Node in world space.
Returns the rotation (quaternion) of this Node in world space.
Returns the world matrix of this Node.
Made by Don McCurdy. Documentation built with greendoc and published under Creative Commons Attribution 3.0.
Nodes are the objects that comprise a Scene.
Each Node may have one or more children, and a transform (position, rotation, and scale) that applies to all of its descendants. A Node may also reference (or "instantiate") other resources at its location, including Mesh, Camera, Light, and Skin properties. A Node cannot be part of more than one Scene.
A Node's local transform is represented with array-like objects, intended to be compatible with gl-matrix, or with the
toArray
/fromArray
methods of libraries like three.js and babylon.js.Usage:
const node = doc.createNode('myNode') .setMesh(mesh) .setTranslation([0, 0, 0]) .addChild(otherNode);
References: