Struct ssbh_lib::formats::skel::Skel[][src]

pub struct Skel {
    pub major_version: u16,
    pub minor_version: u16,
    pub bone_entries: SsbhArray<SkelBoneEntry>,
    pub world_transforms: SsbhArray<Matrix4x4>,
    pub inv_world_transforms: SsbhArray<Matrix4x4>,
    pub transforms: SsbhArray<Matrix4x4>,
    pub inv_transforms: SsbhArray<Matrix4x4>,
}
Expand description

A hierarchical collection of bones and their associated transforms. The bone entries and transforms are stored in parallel arrays, so each bone entry has corresponding transforms at the same position in each array. Compatible with file version 1.0.

Fields

major_version: u16minor_version: u16bone_entries: SsbhArray<SkelBoneEntry>

A skeleton consisting of a heirarchy of bones.

world_transforms: SsbhArray<Matrix4x4>inv_world_transforms: SsbhArray<Matrix4x4>transforms: SsbhArray<Matrix4x4>inv_transforms: SsbhArray<Matrix4x4>

Implementations

impl Skel[src]

pub fn from_file<P: AsRef<Path>>(path: P) -> Result<Self, Box<dyn Error>>[src]

Tries to read the current SSBH type from path. The entire file is buffered for performance.

pub fn read<R: Read + Seek>(reader: &mut R) -> Result<Self, Box<dyn Error>>[src]

Tries to read the current SSBH type from reader. For best performance when opening from a file, use from_file instead.

pub fn write<W: Write + Seek>(&self, writer: &mut W) -> Result<()>[src]

pub fn write_to_file<P: AsRef<Path>>(&self, path: P) -> Result<()>[src]

Trait Implementations

impl BinRead for Skel[src]

type Args = ()

The type of arguments needed to be supplied in order to read this type, usually a tuple. Read more

fn read_options<R: Read + Seek>(
    __binread_generated_var_reader: &mut R,
    __binread_generated_var_options: &ReadOptions,
    __binread_generated_var_arguments: Self::Args
) -> BinResult<Self>
[src]

Read the type from the reader

fn read<R>(reader: &mut R) -> Result<Self, Error> where
    R: Read + Seek
[src]

Read the type from the reader while assuming no arguments have been passed Read more

fn read_args<R>(reader: &mut R, args: Self::Args) -> Result<Self, Error> where
    R: Read + Seek
[src]

Read the type from the reader using the specified arguments

fn after_parse<R>(
    &mut self,
    &mut R,
    &ReadOptions,
    Self::Args
) -> Result<(), Error> where
    R: Read + Seek
[src]

fn args_default() -> Option<Self::Args>[src]

The default arguments to be used when using the read shortcut method. Override this for any type that optionally requries arguments Read more

impl Debug for Skel[src]

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

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for Skel[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl Serialize for Skel[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl SsbhWrite for Skel[src]

fn write_ssbh<W: Write + Seek>(
    &self,
    writer: &mut W,
    data_ptr: &mut u64
) -> Result<()>
[src]

Writes the byte representation of self to writer and update data_ptr as needed to ensure the next relative offset is correctly calculated.

fn size_in_bytes(&self) -> u64[src]

The offset in bytes between successive elements in an array of this type. This should include any alignment or padding. For most types, this is simply the value of std::mem::size_of. Read more

fn alignment_in_bytes(&self) -> u64[src]

The alignment of the relative_offset for types stored in a RelPtr64.

Auto Trait Implementations

impl RefUnwindSafe for Skel

impl Send for Skel

impl Sync for Skel

impl Unpin for Skel

impl UnwindSafe for Skel

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]