Struct gltf_json::Node [−][src]
pub struct Node {
pub camera: Option<Index<Camera>>,
pub children: Option<Vec<Index<Node>>>,
pub extensions: Option<Node>,
pub extras: Extras,
pub matrix: Option<[f32; 16]>,
pub mesh: Option<Index<Mesh>>,
pub name: Option<String>,
pub rotation: Option<UnitQuaternion>,
pub scale: Option<[f32; 3]>,
pub translation: Option<[f32; 3]>,
pub skin: Option<Index<Skin>>,
pub weights: Option<Vec<f32>>,
}
Expand description
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: Option<Node>
Extension specific data.
extras: Extras
Optional application specific data.
matrix: Option<[f32; 16]>
4x4 column-major transformation matrix.
glTF 2.0 specification: When a node is targeted for animation (referenced by an animation.channel.target), only TRS properties may be present; matrix will not be present.
TODO: Ensure that .matrix is set to None or otherwise skipped during serialization, if the node is targeted for animation.
mesh: Option<Index<Mesh>>
The index of the mesh in this node.
name: Option<String>
Optional user-defined name for this object.
rotation: Option<UnitQuaternion>
The node’s unit quaternion rotation in the order (x, y, z, w), where w is the scalar.
scale: Option<[f32; 3]>
The node’s non-uniform scale.
translation: Option<[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
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Node
impl UnwindSafe for Node
Blanket Implementations
Mutably borrows from an owned value. Read more