Back to Eqiora docs Skip to main content

CanonicalGeometryV1

Struct CanonicalGeometryV1 

pub struct CanonicalGeometryV1 { /* private fields */ }
Description

Opaque canonical content and identity of one planar geometry revision.

This value can only be derived from one admitted exact kind or from its kind-specific bounded canonical replay. It has no public kind catalogue and no constructor accepting a caller-provided digest or entity-set facts.

Implementations§

§

impl CanonicalGeometryV1

pub fn from_region( region: &PlanarRegion, ) -> Result<CanonicalGeometryV1, Diagnostic>

Derive canonical bytes and identity from one validated region.

§Errors

Returns EQ0901 if canonical JSON serialization unexpectedly fails.

pub fn decode_canonical( bytes: &[u8], limits: CanonicalGeometryLimits, ) -> Result<CanonicalGeometryV1, Diagnostic>

Decode one bounded, byte-for-byte canonical geometry definition.

The input is not retained. It is parsed, resource-checked, revalidated through PlanarRegion::new, reconstructed from that region, and accepted only when the reconstructed bytes equal the input exactly.

§Errors

Returns EQ0901 for malformed or unknown wire data, resource excess, invalid geometry, or any noncanonical encoding.

pub fn from_circular_hole( bounds: [[f64; 2]; 2], circle_center: [f64; 2], circle_radius_m: f64, entity_sets: Vec<NamedEntitySet>, tolerance_m: f64, ) -> Result<CanonicalGeometryV1, Diagnostic>

Construct one exact axis-aligned rectangle-minus-circle geometry.

This preserves the accepted circular-hole wire and digest while the public owner remains independent of that one shape family.

§Errors

Returns EQ0901 for invalid exact geometry or entity-set meaning.

pub fn from_circular_hole_named_roles( bounds: [[f64; 2]; 2], circle_center: [f64; 2], circle_radius_m: f64, tolerance_m: f64, region: &str, x_lower: &str, x_upper: &str, y_lower: &str, y_upper: &str, hole: &str, ) -> Result<CanonicalGeometryV1, Diagnostic>

Construct one exact rectangle-minus-circle geometry from semantic roles.

Equal boundary names group their fixed roles into one entity set.

§Errors

Returns EQ0901 for invalid exact geometry, tolerance, or role meaning.

pub fn decode_circular_hole_canonical( bytes: &[u8], limits: CanonicalGeometryLimits, ) -> Result<CanonicalGeometryV1, Diagnostic>

Decode the accepted circular-hole wire without widening the straight decoder.

§Errors

Returns EQ0901 for malformed, unknown, excessive, invalid, or noncanonical circular-hole bytes.

pub const fn region(&self) -> Option<&PlanarRegion>

Validated straight-edged region content, if this kind has one.

An exact curved geometry never fabricates its numerical chordal realization as exact region meaning.

pub const fn circular_hole_bounds(&self) -> Option<&[[f64; 2]; 2]>

Exact axis-aligned bounds for the admitted circular-hole kind.

pub const fn circular_hole_center(&self) -> Option<[f64; 2]>

Exact circle centre for the admitted circular-hole kind.

pub const fn circular_hole_radius_m(&self) -> Option<f64>

Exact circle radius for the admitted circular-hole kind.

pub const fn tolerance_m(&self) -> f64

Producer classification precision in metres.

pub fn entity_sets(&self) -> &[NamedEntitySet]

Canonically ordered named exact entity sets.

pub fn entity_set(&self, name: &str) -> Option<&NamedEntitySet>

One exact named entity set.

pub fn canonical_bytes(&self) -> &[u8]

Exact compact canonical JSON bytes.

pub const fn digest_bytes(&self) -> [u8; 32]

Complete domain-separated SHA-256 identity bytes.

Trait Implementations§

§

impl Clone for CanonicalGeometryV1

§

fn clone(&self) -> CanonicalGeometryV1

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for CanonicalGeometryV1

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a> From<&'a CanonicalGeometryV1> for CanonicalGeometryRef<'a>

§

fn from(geometry: &'a CanonicalGeometryV1) -> CanonicalGeometryRef<'a>

Converts to this type from the input type.
§

impl PartialEq for CanonicalGeometryV1

§

fn eq(&self, other: &CanonicalGeometryV1) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl StructuralPartialEq for CanonicalGeometryV1

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src
where Scheme: ApproxScheme,

§

type Err = NoError

The error type produced by a failed conversion.
§

fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>

Convert the given value into an approximately equivalent representation.
§

impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src
where Dst: ApproxFrom<Src, Scheme>, Scheme: ApproxScheme,

§

type Err = <Dst as ApproxFrom<Src, Scheme>>::Err

The error type produced by a failed conversion.
§

fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>

Convert the subject into an approximately equivalent representation.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> ByRef<T> for T

§

fn by_ref(&self) -> &T

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T, Dst> ConvAsUtil<Dst> for T

§

fn approx(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst>,

Approximate the subject with the default scheme.
§

fn approx_by<Scheme>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst, Scheme>, Scheme: ApproxScheme,

Approximate the subject with a specific scheme.
§

impl<T> ConvUtil for T

§

fn approx_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst>,

Approximate the subject to a given type with the default scheme.
§

fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
where Self: Sized + ApproxInto<Dst, Scheme>, Scheme: ApproxScheme,

Approximate the subject to a given type with a specific scheme.
§

fn into_as<Dst>(self) -> Dst
where Self: Sized + Into<Dst>,

Convert the subject to a given type.
§

fn try_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + TryInto<Dst>,

Attempt to convert the subject to a given type.
§

fn value_as<Dst>(self) -> Result<Dst, Self::Err>
where Self: Sized + ValueInto<Dst>,

Attempt a value conversion of the subject to a given type.
§

impl<T> DistributionExt for T
where T: ?Sized,

§

fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> T
where Self: Distribution<T>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<Src> TryFrom<Src> for Src

§

type Err = NoError

The error type produced by a failed conversion.
§

fn try_from(src: Src) -> Result<Src, <Src as TryFrom<Src>>::Err>

Convert the given value into the subject type.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<Src, Dst> TryInto<Dst> for Src
where Dst: TryFrom<Src>,

§

type Err = <Dst as TryFrom<Src>>::Err

The error type produced by a failed conversion.
§

fn try_into(self) -> Result<Dst, <Src as TryInto<Dst>>::Err>

Convert the subject into the destination type.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<Src> ValueFrom<Src> for Src

§

type Err = NoError

The error type produced by a failed conversion.
§

fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>

Convert the given value into an exactly equivalent representation.
§

impl<Src, Dst> ValueInto<Dst> for Src
where Dst: ValueFrom<Src>,

§

type Err = <Dst as ValueFrom<Src>>::Err

The error type produced by a failed conversion.
§

fn value_into(self) -> Result<Dst, <Src as ValueInto<Dst>>::Err>

Convert the subject into an exactly equivalent representation.
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,