Struct gltf_json::scene::Node
[−]
pub struct Node {
pub camera: Option<Index<Camera>>,
pub children: Option<Vec<Index<Node>>>,
pub extensions: Node,
pub extras: Extras,
pub matrix: [f32; 16],
pub mesh: Option<Index<Mesh>>,
pub rotation: UnitQuaternion,
pub scale: [f32; 3],
pub translation: [f32; 3],
pub skin: Option<Index<Skin>>,
pub weights: Option<Vec<f32>>,
}A node in the node hierarchy. When the node contains skin, all
mesh.primitives must contain JOINTS_0 and WEIGHTS_0 attributes.
A node can 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), only TRS properties may be present; matrix will not
be present.
Fields
camera: Option<Index<Camera>>
The index of the camera referenced by this node.
children: Option<Vec<Index<Node>>>
The indices of this node's children.
extensions: Node
Extension specific data.
extras: Extras
Optional application specific data.
matrix: [f32; 16]
4x4 column-major transformation matrix.
mesh: Option<Index<Mesh>>
The index of the mesh in this node.
rotation: UnitQuaternion
The node's unit quaternion rotation in the order (x, y, z, w), where w is the scalar.
scale: [f32; 3]
The node's non-uniform scale.
translation: [f32; 3]
The node's translation.
skin: Option<Index<Skin>>
The index of the skin referenced by this node.
weights: Option<Vec<f32>>
The weights of the instantiated Morph Target. Number of elements must match the number of Morph Targets of used mesh.
Trait Implementations
impl Clone for Node
fn clone(&self) -> Node
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl Debug for Node
impl Validate for Node
fn validate_minimally<P, R>(&self, _root: &Root, _path: P, _report: &mut R) where
P: Fn() -> Path,
R: FnMut(&Fn() -> Path, Error),
P: Fn() -> Path,
R: FnMut(&Fn() -> Path, Error),
Validates only the invariants required for the library to function safely.
fn validate_completely<P, R>(&self, _root: &Root, _path: P, _report: &mut R) where
P: Fn() -> Path,
R: FnMut(&Fn() -> Path, Error),
P: Fn() -> Path,
R: FnMut(&Fn() -> Path, Error),
Validates the data against the glTF 2.0 specification.