pub struct Region { /* private fields */ }Expand description
A single, continuous 2d region, may contain holes
Interior cycles must have the opposite winding of the exterior cycle,
meaning on the front side of the region, they must appear clockwise. This
means that all HalfEdges that bound a Region have the interior of the
region on their left side (on the region’s front side).
Implementations§
source§impl Region
impl Region
sourcepub fn new(
exterior: Handle<Cycle>,
interiors: impl IntoIterator<Item = Handle<Cycle>>,
color: Option<Color>
) -> Self
pub fn new( exterior: Handle<Cycle>, interiors: impl IntoIterator<Item = Handle<Cycle>>, color: Option<Color> ) -> Self
Construct an instance of Region
sourcepub fn exterior(&self) -> &Handle<Cycle>
pub fn exterior(&self) -> &Handle<Cycle>
Access the cycle that bounds the region on the outside
sourcepub fn interiors(&self) -> impl Iterator<Item = &Handle<Cycle>> + '_
pub fn interiors(&self) -> impl Iterator<Item = &Handle<Cycle>> + '_
Access the cycles that bound the region on the inside
Each of these cycles defines a hole in the region .
sourcepub fn all_cycles(&self) -> impl Iterator<Item = &Handle<Cycle>> + '_
pub fn all_cycles(&self) -> impl Iterator<Item = &Handle<Cycle>> + '_
Access all cycles of the region (both exterior and interior)
Trait Implementations§
source§impl BuildRegion for Region
impl BuildRegion for Region
source§impl Ord for Region
impl Ord for Region
source§impl PartialEq<Region> for Region
impl PartialEq<Region> for Region
source§impl PartialOrd<Region> for Region
impl PartialOrd<Region> for Region
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moresource§impl UpdateRegion for Region
impl UpdateRegion for Region
source§fn update_exterior(
&self,
f: impl FnOnce(&Handle<Cycle>) -> Handle<Cycle>
) -> Self
fn update_exterior( &self, f: impl FnOnce(&Handle<Cycle>) -> Handle<Cycle> ) -> Self
Update the exterior of the region
source§fn add_interiors(
&self,
interiors: impl IntoIterator<Item = Handle<Cycle>>
) -> Self
fn add_interiors( &self, interiors: impl IntoIterator<Item = Handle<Cycle>> ) -> Self
Add the provides interiors to the region
source§impl Validate for Region
impl Validate for Region
source§fn validate_with_config(
&self,
_: &ValidationConfig,
_: &mut Vec<ValidationError>
)
fn validate_with_config( &self, _: &ValidationConfig, _: &mut Vec<ValidationError> )
Validate the object
source§fn validate_and_return_first_error(&self) -> Result<(), ValidationError>
fn validate_and_return_first_error(&self) -> Result<(), ValidationError>
Validate the object using default config and return on first error
source§fn validate(&self, errors: &mut Vec<ValidationError>)
fn validate(&self, errors: &mut Vec<ValidationError>)
Validate the object using default configuration
impl Eq for Region
impl StructuralEq for Region
impl StructuralPartialEq for Region
Auto Trait Implementations§
impl !RefUnwindSafe for Region
impl Send for Region
impl Sync for Region
impl Unpin for Region
impl !UnwindSafe for Region
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
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
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
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.