Struct dae_parser::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 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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.