Class Node

Node class

A node in the node hierarchy. When the node contains skin, all mesh.primitives MUST contain JOINTS_0 and WEIGHTS_0 attributes. A node MAY have either a matrix or any combination of translation/rotation/scale (TRS) properties. TRS properties are converted to matrices and postmultiplied in the T * R * S order to compose the transformation matrix; first the scale is applied to the vertices, then the rotation, and then the translation. If none are provided, the transform is the identity. When a node is targeted for animation (referenced by an animation.channel.target), matrix MUST NOT be present.

public sealed class Node : LogicalChildOfRoot, IVisualNodeContainer

Properties

NameDescription
Camera { get; set; }Gets or sets the Camera of this Node.
Extensions { get; }Gets a collection of JsonSerializable instances.
Extras { get; set; }Gets or sets the extras content of this instance.
IsSkinJoint { get; }Gets a value indicating whether this node is used as a Bone joint in a Skin.
IsSkinSkeleton { get; }Gets a value indicating whether this node is used as a Skeleton node in a Skin.
IsTransformAnimated { get; }Gets a value indicating whether this transform is affected by any animation.
LocalMatrix { get; set; }Gets or sets the local transform Matrix4x4 of this Node.
LocalTransform { get; set; }Gets or sets the local Scale, Rotation and Translation of this Node.
LogicalIndex { get; }Gets the zero-based index of this object in the Logical resources of GlbImage.
LogicalParent { get; }Gets the GlbImage instance that owns this object.
Mesh { get; set; }Gets or sets the Mesh of this Node.
MorphWeights { get; }Gets the Morph Weights of this Node.
Name { get; set; }Gets or sets the display text name, or null.
PunctualLight { get; set; }Gets or sets the PunctualLight of this Node.
Skin { get; set; }Gets or sets the Skin of this Node.
VisualChildren { get; }Gets the visual children Node instances contained in this Node.
VisualParent { get; }Gets the visual parent Node instance that contains this Node.
VisualRoot { get; }Gets the visual root Node instance that contains this Node.
VisualScenes { get; }Gets the collection of Scene instances that reference this Node.
WorldMatrix { get; set; }Gets or sets the world Matrix4x4 of this Node.

Methods

NameDescription
CreateNode(string)Creates a new Node instance, adds it to !:GlbImage.LogicalNodes and references it as a child in the current graph.
GetCurveSamplers(Animation)
GetExtension<T>()
GetGpuInstancing()
GetLocalTransform(Animation, float)Gets the local transform of this node in a given animation at a given time.
GetMorphWeights()
GetWorldMatrix(Animation, float)Gets the world matrix of this node in a given animation at a given time.
RemoveExtensions<T>()
RemoveExtensions<T>(T)
RemoveGpuInstancing()
SetExtension<T>(T)
SetMorphWeights(SparseWeight8)
UseExtension<T>()
UseGpuInstancing()
static FindNodesUsingMesh(Mesh)Gets a collection of Node instances using mesh.
static FindNodesUsingSkin(Skin)Gets a collection of Node instances using skin.
static Flatten(IVisualNodeContainer)Returns all the Node instances of a visual hierarchy as a flattened list.

See Also