Struct GeometryMeshCorrespondenceEnvelopeV1
pub struct GeometryMeshCorrespondenceEnvelopeV1 { /* private fields */ }Description
Versioned proof that exact geometry entities correspond to exact cell and facet sets in one exact mesh revision.
Implementations§
§impl GeometryMeshCorrespondenceEnvelopeV1
impl GeometryMeshCorrespondenceEnvelopeV1
pub fn from_region(
geometry: &GeometryDefinitionV1,
mesh: &SimplicialMeshEnvelopeV1,
) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
pub fn from_region( geometry: &GeometryDefinitionV1, mesh: &SimplicialMeshEnvelopeV1, ) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
Generate the unique complete correspondence for one authored planar region and one conforming affine-triangle mesh.
Mesh labels are not inputs. Face ownership, parent-relative frontier facets, geometry vertices, and every parent-outward direction are discovered from coordinates and incidence, then replay-validated.
§Errors
Returns EQ0901 unless the mesh is a conforming triangulation of the
exact region, every region entity is realized, and named entity sets
are unambiguous.
pub fn validate_against_region(
&self,
geometry: &GeometryDefinitionV1,
mesh: &SimplicialMeshEnvelopeV1,
) -> Result<(), Diagnostic>
pub fn validate_against_region( &self, geometry: &GeometryDefinitionV1, mesh: &SimplicialMeshEnvelopeV1, ) -> Result<(), Diagnostic>
Replay and validate an authored-region correspondence against its exact geometry and mesh resources.
§Errors
Returns EQ0901 for stale digests, changed membership, missing or
relabelled facets, wrong orientation, or a nonconforming mesh.
pub fn region_entity_set_entities(
&self,
geometry: &GeometryDefinitionV1,
name: &str,
) -> Result<Vec<MeshEntity>, Diagnostic>
pub fn region_entity_set_entities( &self, geometry: &GeometryDefinitionV1, name: &str, ) -> Result<Vec<MeshEntity>, Diagnostic>
Mesh entities that exactly realize one named region entity set.
The result has the set’s dimension and canonical mesh-entity order. Exact resource replay remains the caller’s admission step after decoding untrusted correspondence bytes.
§Errors
Returns EQ0901 when this is not an authored-region correspondence,
the geometry digest differs, or the set is absent or incomplete.
§impl GeometryMeshCorrespondenceEnvelopeV1
impl GeometryMeshCorrespondenceEnvelopeV1
pub fn new(
geometry: &GeometryIdentityEnvelopeV1,
model: &impl ReplayableCanonicalModelArtifact,
mesh: &SimplicialMeshEnvelopeV1,
) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
pub fn new( geometry: &GeometryIdentityEnvelopeV1, model: &impl ReplayableCanonicalModelArtifact, mesh: &SimplicialMeshEnvelopeV1, ) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
Derive the complete correspondence for a Cartesian geometry revision.
Cell ownership and relative body frontiers are discovered from the
exact coordinates and incidence of mesh; callers do not supply tags,
membership arrays, or normal signs.
§Errors
Returns EQ0901 unless every top-dimensional cell belongs to exactly
one body, each body’s relative frontier is the exact union of its
complete semantic boundaries, and every referenced artifact matches.
pub fn new_cartesian(
geometry: &GeometryIdentityEnvelopeV1,
model: &impl ReplayableCanonicalModelArtifact,
mesh: &CartesianMeshEnvelopeV1,
) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
pub fn new_cartesian( geometry: &GeometryIdentityEnvelopeV1, model: &impl ReplayableCanonicalModelArtifact, mesh: &CartesianMeshEnvelopeV1, ) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
pub fn from_json(
bytes: &[u8],
limits: GeometryDecoderLimits,
) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
pub fn from_json( bytes: &[u8], limits: GeometryDecoderLimits, ) -> Result<GeometryMeshCorrespondenceEnvelopeV1, Diagnostic>
Decode bounded wire data. Exact referenced resources remain untrusted
until Self::validate_against or Self::validate_against_region
succeeds for the encoded source.
§Errors
Returns EQ0901 for malformed, oversized, or noncanonical data.
pub fn validate_against(
&self,
geometry: &GeometryIdentityEnvelopeV1,
model: &impl ReplayableCanonicalModelArtifact,
mesh: &SimplicialMeshEnvelopeV1,
) -> Result<(), Diagnostic>
pub fn validate_against( &self, geometry: &GeometryIdentityEnvelopeV1, model: &impl ReplayableCanonicalModelArtifact, mesh: &SimplicialMeshEnvelopeV1, ) -> Result<(), Diagnostic>
Recompute the complete correspondence from exact resources.
§Errors
Returns EQ0901 for stale digests, changed identities, membership
drift, or any now-invalid geometry/mesh relation.
pub fn validate_against_cartesian(
&self,
geometry: &GeometryIdentityEnvelopeV1,
model: &impl ReplayableCanonicalModelArtifact,
mesh: &CartesianMeshEnvelopeV1,
) -> Result<(), Diagnostic>
pub fn validate_against_cartesian( &self, geometry: &GeometryIdentityEnvelopeV1, model: &impl ReplayableCanonicalModelArtifact, mesh: &CartesianMeshEnvelopeV1, ) -> Result<(), Diagnostic>
Recompute this correspondence from exact Cartesian resources.
§Errors
Returns EQ0901 for stale digests, changed identities, membership
drift, or an invalid Cartesian geometry/mesh relation.
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
pub fn canonical_json(&self) -> Result<Vec<u8>, Diagnostic>
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
pub fn digest(&self) -> Result<ArtifactDigest, Diagnostic>
Domain-separated identity of the exact correspondence proof.
§Errors
Returns EQ0901 if canonical serialization fails.
pub fn geometry_artifact(&self) -> ArtifactDigest
pub fn geometry_artifact(&self) -> ArtifactDigest
Exact referenced geometry revision.
pub fn mesh_artifact(&self) -> ArtifactDigest
pub fn mesh_artifact(&self) -> ArtifactDigest
Exact referenced mesh revision.
pub fn body_cells(&self, body: Id<Domain>) -> Option<Vec<usize>>
pub fn body_cells(&self, body: Id<Domain>) -> Option<Vec<usize>>
Mesh cell indices owned by one exact semantic body.
pub fn body_cell_indices(
&self,
body: Id<Domain>,
) -> Option<impl ExactSizeIterator + Clone>
pub fn body_cell_indices( &self, body: Id<Domain>, ) -> Option<impl ExactSizeIterator + Clone>
Borrow the canonical cell-index sequence for one semantic body.
This allocation-free view supports checked work preflight before a consumer chooses to own the indices.
pub fn boundary_facets(&self, boundary: Id<Domain>) -> Option<Vec<usize>>
pub fn boundary_facets(&self, boundary: Id<Domain>) -> Option<Vec<usize>>
Mesh facet indices realizing one exact semantic boundary.
pub fn derive_conserving_interface(
&self,
geometry: &GeometryIdentityEnvelopeV1,
model: &impl ReplayableCanonicalModelArtifact,
mesh: &SimplicialMeshEnvelopeV1,
connection: Id<Connection>,
) -> Result<ConservingGeometryInterfaceV1, Diagnostic>
pub fn derive_conserving_interface( &self, geometry: &GeometryIdentityEnvelopeV1, model: &impl ReplayableCanonicalModelArtifact, mesh: &SimplicialMeshEnvelopeV1, connection: Id<Connection>, ) -> Result<ConservingGeometryInterfaceV1, Diagnostic>
Derive the exact binary shared-facet witness for one conserving Connection.
§Errors
Returns EQ0901 unless the Connection joins exactly two compatible
field-boundary Ports on distinct, coincident, opposite sides whose
complete facet sets are identical and two-sided by parent incidence.
Trait Implementations§
§impl Clone for GeometryMeshCorrespondenceEnvelopeV1
impl Clone for GeometryMeshCorrespondenceEnvelopeV1
§impl Debug for GeometryMeshCorrespondenceEnvelopeV1
impl Debug for GeometryMeshCorrespondenceEnvelopeV1
§impl PartialEq for GeometryMeshCorrespondenceEnvelopeV1
impl PartialEq for GeometryMeshCorrespondenceEnvelopeV1
§fn eq(&self, other: &GeometryMeshCorrespondenceEnvelopeV1) -> bool
fn eq(&self, other: &GeometryMeshCorrespondenceEnvelopeV1) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for GeometryMeshCorrespondenceEnvelopeV1
Auto Trait Implementations§
impl Freeze for GeometryMeshCorrespondenceEnvelopeV1
impl RefUnwindSafe for GeometryMeshCorrespondenceEnvelopeV1
impl Send for GeometryMeshCorrespondenceEnvelopeV1
impl Sync for GeometryMeshCorrespondenceEnvelopeV1
impl Unpin for GeometryMeshCorrespondenceEnvelopeV1
impl UnsafeUnpin for GeometryMeshCorrespondenceEnvelopeV1
impl UnwindSafe for GeometryMeshCorrespondenceEnvelopeV1
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.