[go: up one dir, main page]

Mtl

Struct Mtl 

Source
pub struct Mtl {
    pub filename: String,
    pub materials: Vec<Arc<Material>>,
}
Expand description

The data represented by the mtllib command.

The material name is replaced by the actual material data when the material libraries are laoded if a match is found.

Fields§

§filename: String

Name of the .mtl file.

§materials: Vec<Arc<Material>>

A list of loaded materials.

The individual materials are wrapped into an Arc to facilitate referencing this data where these materials are assigned in the .obj file.

Implementations§

Source§

impl Mtl

Source

pub fn new(filename: String) -> Self

Construct a new empty mtl lib with the given file name.

Source

pub fn reload_with<R, F>( &mut self, obj_dir: impl AsRef<Path>, resolve: F, ) -> Result<&mut Self, MtlError>
where R: BufRead, F: FnMut(&Path, &str) -> Result<R>,

Load the mtl library from the input buffer generated by the given closure.

This function overwrites the contents of this library if it has already been loaded.

Source

pub fn reload(&mut self, input: impl Read) -> Result<&mut Self, MtlError>

Load the mtl library from the given input buffer.

This function overwrites the contents of this library if it has already been loaded.

Source

pub fn write_to_buf(&self, out: &mut impl Write) -> Result<(), Error>

Trait Implementations§

Source§

impl Clone for Mtl

Source§

fn clone(&self) -> Mtl

Returns a duplicate 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 Mtl

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Mtl

Source§

fn eq(&self, other: &Mtl) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Mtl

Auto Trait Implementations§

§

impl Freeze for Mtl

§

impl RefUnwindSafe for Mtl

§

impl Send for Mtl

§

impl Sync for Mtl

§

impl Unpin for Mtl

§

impl UnwindSafe for Mtl

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.