Struct gltf_json::scene::Node
[−]
[src]
pub struct Node { pub camera: Option<Index<Camera>>, pub children: Option<Vec<Index<Node>>>, pub extensions: Node, pub extras: Extras, pub matrix: Option<[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: Option<[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
[src]
fn clone(&self) -> Node
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for Node
[src]
impl Validate for Node
[src]
fn validate_minimally<P, R>(&self, _root: &Root, _path: P, _report: &mut R) where
P: Fn() -> Path,
R: FnMut(&Fn() -> Path, Error),
[src]
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),
[src]
P: Fn() -> Path,
R: FnMut(&Fn() -> Path, Error),
Validates the data against the glTF 2.0 specification. Read more