Struct ssbh_lib::formats::mesh::Mesh [−][src]
pub struct Mesh { pub major_version: u16, pub minor_version: u16, pub model_name: SsbhString, pub bounding_info: BoundingInfo, pub unk1: u32, pub objects: SsbhArray<MeshObject>, pub buffer_sizes: SsbhArray<u32>, pub polygon_index_size: u64, pub vertex_buffers: SsbhArray<SsbhByteBuffer>, pub index_buffer: SsbhByteBuffer, pub rigging_buffers: SsbhArray<MeshRiggingGroup>, }
Expand description
The vertex buffers and associated geometric data for a mesh. Compatible with file version 1.8 and 1.10.
Fields
major_version: u16
minor_version: u16
model_name: SsbhString
bounding_info: BoundingInfo
unk1: u32
objects: SsbhArray<MeshObject>
buffer_sizes: SsbhArray<u32>
polygon_index_size: u64
vertex_buffers: SsbhArray<SsbhByteBuffer>
The shared buffers for vertex attribute data such as positions and normals for all the MeshObject in objects.
index_buffer: SsbhByteBuffer
The shared buffer for vertex indices for all the MeshObject in objects.
rigging_buffers: SsbhArray<MeshRiggingGroup>
A collection of vertex skinning data stored as a one to many mapping from MeshObject to SkelBoneEntry. The collection should be sorted in ascending order based on mesh_object_name and mesh_object_sub_index. This is likely to facilitate an efficient binary search by MeshObject.
Implementations
impl Mesh
[src]
impl Mesh
[src]pub fn from_file<P: AsRef<Path>>(path: P) -> Result<Self, Box<dyn Error>>
[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]
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 Mesh
[src]
impl BinRead for Mesh
[src]type Args = ()
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]
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]
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]
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]
&mut self,
&mut R,
&ReadOptions,
Self::Args
) -> Result<(), Error> where
R: Read + Seek,
impl<'de> Deserialize<'de> for Mesh
[src]
impl<'de> Deserialize<'de> for Mesh
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[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 SsbhWrite for Mesh
[src]
impl SsbhWrite for Mesh
[src]fn write_ssbh<W: Write + Seek>(
&self,
writer: &mut W,
data_ptr: &mut u64
) -> Result<()>
[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]
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]
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 Mesh
impl Send for Mesh
impl Sync for Mesh
impl Unpin for Mesh
impl UnwindSafe for Mesh
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,