Struct PlanarRegion
pub struct PlanarRegion { /* private fields */ }Description
A canonical straight-edged planar region with named entity sets.
Implementations§
§impl PlanarRegion
impl PlanarRegion
pub fn new(
vertices: Vec<[f64; 2]>,
faces: Vec<PlanarFace>,
entity_sets: Vec<NamedEntitySet>,
tolerance_m: f64,
) -> Result<PlanarRegion, Diagnostic>
pub fn new( vertices: Vec<[f64; 2]>, faces: Vec<PlanarFace>, entity_sets: Vec<NamedEntitySet>, tolerance_m: f64, ) -> Result<PlanarRegion, Diagnostic>
Canonicalize and admit one straight-edged planar region.
Vertex order, loop rotation, loop orientation, face order and entity-set
order are all normalized, so two authorings of the same region are the
same region. Entity-set members are already indices into the resulting
canonical vertex, edge and face enumerations; they are never interpreted
as author-relative indices or remapped. tolerance_m is the producer’s
coherent-SI classification precision; it is part of geometry identity
and is not mesh quality policy.
§Errors
Returns EQ0901 for a non-finite coordinate, an invalid tolerance, a
degenerate or self-intersecting loop, coincident vertices, a hole that
is not strictly inside its face, nested holes, or an entity set that is
empty, unnamed, duplicated, or names an entity that does not exist.
pub fn vertices(&self) -> &[[f64; 2]]
pub fn vertices(&self) -> &[[f64; 2]]
Canonical vertex coordinates in metres.
pub fn entity_sets(&self) -> &[NamedEntitySet]
pub fn entity_sets(&self) -> &[NamedEntitySet]
Canonical named entity sets.
pub fn entity_set(&self, name: &str) -> Option<&NamedEntitySet>
pub fn entity_set(&self, name: &str) -> Option<&NamedEntitySet>
One named entity set, if this region defines it.
pub const fn tolerance_m(&self) -> f64
pub const fn tolerance_m(&self) -> f64
Producer classification precision in metres.
pub fn edge_count(&self) -> usize
pub fn edge_count(&self) -> usize
Total straight edges, enumerated from the canonical loops.
Trait Implementations§
§impl Clone for PlanarRegion
impl Clone for PlanarRegion
§impl Debug for PlanarRegion
impl Debug for PlanarRegion
§impl PartialEq for PlanarRegion
impl PartialEq for PlanarRegion
§fn eq(&self, other: &PlanarRegion) -> bool
fn eq(&self, other: &PlanarRegion) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PlanarRegion
Auto Trait Implementations§
impl Freeze for PlanarRegion
impl RefUnwindSafe for PlanarRegion
impl Send for PlanarRegion
impl Sync for PlanarRegion
impl Unpin for PlanarRegion
impl UnsafeUnpin for PlanarRegion
impl UnwindSafe for PlanarRegion
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.