Trait meshx::algo::merge::Merge

source ·
pub trait Merge {
    // Required method
    fn merge(&mut self, other: Self) -> &mut Self;

    // Provided methods
    fn merge_iter(iterable: impl IntoIterator<Item = Self>) -> Self
       where Self: Default { ... }
    fn merge_vec(vec: Vec<Self>) -> Self
       where Self: Default { ... }
    fn merge_slice(slice: &[Self]) -> Self
       where Self: Clone + Default { ... }
}
Expand description

A trait describing the action of merging mutltiple objects into a single object of the same type. This represents the inverse of splitting a mesh into components of the same type.

Required Methods§

source

fn merge(&mut self, other: Self) -> &mut Self

Merge another object into self and return the resulting merged object as a mutable reference.

Provided Methods§

source

fn merge_iter(iterable: impl IntoIterator<Item = Self>) -> Self
where Self: Default,

Merge an iterator of objects into one of the same type.

source

fn merge_vec(vec: Vec<Self>) -> Self
where Self: Default,

Merge a Vec of objects into one of the same type.

source

fn merge_slice(slice: &[Self]) -> Self
where Self: Clone + Default,

In contrast to merge_vec, this function takes an immutable reference to a collection of meshes, and creates a brand new mesh that is a union of all the given meshes.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T: Real> Merge for PointCloud<T>

source§

impl<T: Real> Merge for PolyMesh<T>

source§

impl<T: Real> Merge for TetMesh<T>

source§

impl<T: Real> Merge for TetMeshExt<T>

source§

impl<T: Real> Merge for QuadMesh<T>

source§

impl<T: Real> Merge for QuadMeshExt<T>

source§

impl<T: Real> Merge for TriMesh<T>

source§

impl<T: Real> Merge for TriMeshExt<T>

source§

impl<T: Real> Merge for Mesh<T>