pub trait WaveFrontCompatible<'a> {
type Scalar: Float + Debug + AddAssign + Display;
// Required methods
fn pos_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 3]>;
fn uv_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 2]>;
fn norm_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 3]>;
fn segment_iterator(&'a self) -> impl Iterator<Item = [usize; 2]>;
fn pos_index_iterator(
&'a self,
) -> impl Iterator<Item = impl Iterator<Item = usize>>;
fn uv_index_iterator(
&'a self,
) -> impl Iterator<Item = impl Iterator<Item = usize>>;
fn norm_index_iterator(
&'a self,
) -> impl Iterator<Item = impl Iterator<Item = usize>>;
}
Expand description
Trait needed to export a mesh representation as an obj file (only geometry information). very useful for inspecting meshes.
Required Associated Types§
Required Methods§
Sourcefn pos_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 3]>
fn pos_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 3]>
A way to iterate over the vertex positions.
Sourcefn uv_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 2]>
fn uv_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 2]>
A way to iterate over the texture coordinates.
Sourcefn norm_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 3]>
fn norm_iterator(&'a self) -> impl Iterator<Item = [Self::Scalar; 3]>
A way to iterate over the norms.
Sourcefn segment_iterator(&'a self) -> impl Iterator<Item = [usize; 2]>
fn segment_iterator(&'a self) -> impl Iterator<Item = [usize; 2]>
A way to iterate over the lines/segments.
Sourcefn pos_index_iterator(
&'a self,
) -> impl Iterator<Item = impl Iterator<Item = usize>>
fn pos_index_iterator( &'a self, ) -> impl Iterator<Item = impl Iterator<Item = usize>>
A way to iterate over the vertex topology.
Sourcefn uv_index_iterator(
&'a self,
) -> impl Iterator<Item = impl Iterator<Item = usize>>
fn uv_index_iterator( &'a self, ) -> impl Iterator<Item = impl Iterator<Item = usize>>
A way to iterate over the uv topology.
Sourcefn norm_index_iterator(
&'a self,
) -> impl Iterator<Item = impl Iterator<Item = usize>>
fn norm_index_iterator( &'a self, ) -> impl Iterator<Item = impl Iterator<Item = usize>>
A way to iterate over the normal topology.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.