Struct SimplicialRevisionOverlap2d
pub struct SimplicialRevisionOverlap2d { /* private fields */ }Description
Accepted many-to-many common refinement of two selected triangle regions.
Source and target inventories are canonicalized but remain distinct. Cell
fragments prove complete area and first-moment coverage for every selected
entity in both revisions. Retained facets are attached through
Self::with_retained_facets, which additionally proves true subset-
frontier incidence, derived parent-outward orientation, and bidirectional
length/moment coverage.
Implementations§
§impl SimplicialRevisionOverlap2d
impl SimplicialRevisionOverlap2d
pub fn new(
chart: OverlapCoordinateChart2d,
source: &SimplicialMesh,
source_cells: &[CellId],
target: &SimplicialMesh,
target_cells: &[CellId],
) -> Result<SimplicialRevisionOverlap2d, Diagnostic>
pub fn new( chart: OverlapCoordinateChart2d, source: &SimplicialMesh, source_cells: &[CellId], target: &SimplicialMesh, target_cells: &[CellId], ) -> Result<SimplicialRevisionOverlap2d, Diagnostic>
Derive and validate one selected-region common refinement.
Cell declaration order is non-semantic and is canonicalized. Duplicate or out-of-range cells fail rather than disappearing. Every selected source and target cell must be covered completely by positive fragments in the other revision.
§Errors
Returns EQ0803 for a non-2D mesh, invalid/duplicate/empty inventory,
excessive quadratic work, robustly degenerate input, uncertifiable
intersection construction, or incomplete bidirectional coverage.
pub fn with_retained_facets(
self,
source: &SimplicialMesh,
source_sides: &[RetainedFacetSide2d],
target: &SimplicialMesh,
target_sides: &[RetainedFacetSide2d],
) -> Result<SimplicialRevisionOverlap2d, Diagnostic>
pub fn with_retained_facets( self, source: &SimplicialMesh, source_sides: &[RetainedFacetSide2d], target: &SimplicialMesh, target_sides: &[RetainedFacetSide2d], ) -> Result<SimplicialRevisionOverlap2d, Diagnostic>
Attach one retained semantic-boundary facet relation atomically.
Side declaration order is non-semantic and is canonicalized. Duplicate facets fail. Each side must be a true frontier facet of this overlap’s already admitted cell subset, with the supplied parent as its unique selected incident cell. Outward normals are derived, never accepted. Every supplied facet must then have complete positive-length coverage in both revisions.
§Errors
Returns EQ0803 for stale meshes, duplicate/invalid/non-frontier sides,
excessive work, inconsistent parent-outward orientation, degenerate
segments, or incomplete bidirectional retained-facet coverage.
pub const fn chart(&self) -> OverlapCoordinateChart2d
pub const fn chart(&self) -> OverlapCoordinateChart2d
Exact coordinate chart of every fragment.
pub fn source_cells(&self) -> &[CellId]
pub fn source_cells(&self) -> &[CellId]
Canonically ordered selected source cells.
pub fn target_cells(&self) -> &[CellId]
pub fn target_cells(&self) -> &[CellId]
Canonically ordered selected target cells.
pub fn cell_fragments(&self) -> &[RevisionCellFragment2d]
pub fn cell_fragments(&self) -> &[RevisionCellFragment2d]
Canonical (source cell, target cell, fragment) common refinement.
pub fn source_retained_facets(&self) -> &[RetainedFacetSide2d]
pub fn source_retained_facets(&self) -> &[RetainedFacetSide2d]
Canonically ordered retained source facets and derived-parent inputs.
pub fn target_retained_facets(&self) -> &[RetainedFacetSide2d]
pub fn target_retained_facets(&self) -> &[RetainedFacetSide2d]
Canonically ordered retained target facets and derived-parent inputs.
pub fn retained_facet_fragments(&self) -> &[RevisionFacetFragment2d]
pub fn retained_facet_fragments(&self) -> &[RevisionFacetFragment2d]
Canonical retained-facet segment common refinement.
Trait Implementations§
§impl Clone for SimplicialRevisionOverlap2d
impl Clone for SimplicialRevisionOverlap2d
§impl Debug for SimplicialRevisionOverlap2d
impl Debug for SimplicialRevisionOverlap2d
§impl PartialEq for SimplicialRevisionOverlap2d
impl PartialEq for SimplicialRevisionOverlap2d
§fn eq(&self, other: &SimplicialRevisionOverlap2d) -> bool
fn eq(&self, other: &SimplicialRevisionOverlap2d) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SimplicialRevisionOverlap2d
Auto Trait Implementations§
impl Freeze for SimplicialRevisionOverlap2d
impl RefUnwindSafe for SimplicialRevisionOverlap2d
impl Send for SimplicialRevisionOverlap2d
impl Sync for SimplicialRevisionOverlap2d
impl Unpin for SimplicialRevisionOverlap2d
impl UnsafeUnpin for SimplicialRevisionOverlap2d
impl UnwindSafe for SimplicialRevisionOverlap2d
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>,
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.