Struct Skin

Source
pub struct Skin {
    pub source: UrlRef<Mesh>,
    pub bind_shape_matrix: Option<Box<[f32; 16]>>,
    pub sources: Vec<Source>,
    pub joints: Joints,
    pub weights: VertexWeights,
    pub extra: Vec<Extra>,
}
Expand description

Contains vertex and primitive information sufficient to describe blend-weight skinning.

Fields§

§source: UrlRef<Mesh>

A URI reference to the base mesh (a static mesh or a morphed mesh). This also provides the bind-shape of the skinned mesh.

§bind_shape_matrix: Option<Box<[f32; 16]>>

Provides extra information about the position and orientation of the base mesh before binding. Contains sixteen floating-point numbers representing a four-by- four matrix in column-major order. If bind_shape_matrix is not specified then an identity matrix may be used as the bind_shape_matrix.

§sources: Vec<Source>

Provides most of the data required for skinning the given base mesh.

§joints: Joints

Aggregates the per-joint information needed for this skin.

§weights: VertexWeights

Describes a per-vertex combination of joints and weights used in this skin. An index of –1 into the array of joints refers to the bind shape. Weights should be normalized before use.

§extra: Vec<Extra>

Provides arbitrary additional information about this element.

Implementations§

Source§

impl Skin

Source

pub fn new( source: Url, sources: Vec<Source>, joints: Vec<Input>, weights: VertexWeights, ) -> Self

Construct a Skin from the mandatory data.

  • The source should reference a Mesh.
  • There should be at least 3 sources.
  • One of the joints must have Semantic::Joint.

Trait Implementations§

Source§

impl Clone for Skin

Source§

fn clone(&self) -> Skin

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Skin

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Skin

§

impl RefUnwindSafe for Skin

§

impl Send for Skin

§

impl Sync for Skin

§

impl Unpin for Skin

§

impl UnwindSafe for Skin

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.