Struct GeometryMeshCorrespondence
pub struct GeometryMeshCorrespondence { /* private fields */ }Description
Closed, canonical correspondence for one geometry revision and one full mesh.
Body cell sets form a total, disjoint partition of the mesh. For each body, its Cartesian boundary assignments form a total, disjoint partition of the facets exposed by that cell subset. A conforming interface facet may therefore occur once for each of its two parent bodies, with two distinct semantic boundary identities.
Implementations§
§impl GeometryMeshCorrespondence
impl GeometryMeshCorrespondence
pub fn validate<M>(
geometry: &GeometryRevisionTopology,
mesh: &M,
bodies: Vec<CartesianBodyAssignment>,
boundaries: Vec<CartesianBoundaryAssignment>,
) -> Result<GeometryMeshCorrespondence, GeometryCorrespondenceError>where
M: MeshTopology + ?Sized,
pub fn validate<M>(
geometry: &GeometryRevisionTopology,
mesh: &M,
bodies: Vec<CartesianBodyAssignment>,
boundaries: Vec<CartesianBoundaryAssignment>,
) -> Result<GeometryMeshCorrespondence, GeometryCorrespondenceError>where
M: MeshTopology + ?Sized,
Validate and canonicalize one complete correspondence.
§Errors
Fails closed on dimension or range errors, reused semantic roles,
incomplete cell ownership, or incomplete/overlapping exposed-facet
ownership. This topological proof does not claim that a facet lies on
the Cartesian plane named by axis and side; an artifact or geometry
adapter with coordinates must close that separate embedding claim.
pub const fn geometry_revision(&self) -> GeometryRevisionReference
pub const fn geometry_revision(&self) -> GeometryRevisionReference
Exact geometry revision shared by every assignment.
pub const fn dimension(&self) -> usize
pub const fn dimension(&self) -> usize
Common topological dimension of geometry and mesh.
pub const fn bodies(&self) -> &[CartesianBodyAssignment]
pub const fn bodies(&self) -> &[CartesianBodyAssignment]
Canonically ordered body assignments.
pub const fn boundaries(&self) -> &[CartesianBoundaryAssignment]
pub const fn boundaries(&self) -> &[CartesianBoundaryAssignment]
Canonically ordered boundary assignments.
Trait Implementations§
§impl Clone for GeometryMeshCorrespondence
impl Clone for GeometryMeshCorrespondence
§impl Debug for GeometryMeshCorrespondence
impl Debug for GeometryMeshCorrespondence
§impl PartialEq for GeometryMeshCorrespondence
impl PartialEq for GeometryMeshCorrespondence
§fn eq(&self, other: &GeometryMeshCorrespondence) -> bool
fn eq(&self, other: &GeometryMeshCorrespondence) -> bool
self and other values to be equal, and is used by ==.impl Eq for GeometryMeshCorrespondence
impl StructuralPartialEq for GeometryMeshCorrespondence
Auto Trait Implementations§
impl Freeze for GeometryMeshCorrespondence
impl RefUnwindSafe for GeometryMeshCorrespondence
impl Send for GeometryMeshCorrespondence
impl Sync for GeometryMeshCorrespondence
impl Unpin for GeometryMeshCorrespondence
impl UnsafeUnpin for GeometryMeshCorrespondence
impl UnwindSafe for GeometryMeshCorrespondence
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<T> From<T> for T
impl<T> From<T> for T
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.