three/
skeleton.rs

1//! Mesh skinning.
2
3use mint;
4use object::{self, ObjectType};
5
6/// Contains array of bones.
7#[derive(Clone, Debug)]
8pub struct Skeleton {
9    pub(crate) object: object::Base,
10}
11three_object!(Skeleton::object);
12derive_DowncastObject!(Skeleton => ObjectType::Skeleton);
13
14/// A single bone that forms one component of a [`Skeleton`].
15///
16/// [`Skeleton`]: struct.Skeleton.html
17#[derive(Clone, Debug)]
18pub struct Bone {
19    pub(crate) object: object::Base,
20}
21three_object!(Bone::object);
22derive_DowncastObject!(Bone => ObjectType::Bone);
23
24/// A matrix defining how bind mesh nodes to a bone.
25pub type InverseBindMatrix = mint::ColumnMatrix4<f32>;