pub struct ZultiPolygons<'a> { /* private fields */ }Expand description
Equivalent of a geo_types::MultiPolygon.
Implementations§
Source§impl<'a> ZultiPolygons<'a>
impl<'a> ZultiPolygons<'a>
Sourcepub fn new(
bounding_box: &'a BoundingBox,
offsets: &'a [u32],
bytes: &'a [u8],
) -> Self
pub fn new( bounding_box: &'a BoundingBox, offsets: &'a [u32], bytes: &'a [u8], ) -> Self
Create a ZultiPolygons from its bounding box, coords offsets and bytes.
Sourcepub unsafe fn from_bytes(data: &'a [u8]) -> Self
pub unsafe fn from_bytes(data: &'a [u8]) -> Self
§Safety
The data must be generated from the Self::write_from_geometry method and be aligned on 64 bits
Sourcepub fn write_from_geometry(
writer: &mut Vec<u8>,
geometry: &MultiPolygon<f64>,
) -> Result<(), Error>
pub fn write_from_geometry( writer: &mut Vec<u8>, geometry: &MultiPolygon<f64>, ) -> Result<(), Error>
Convert the specified geo_types::MultiPolygon to a valid ZultiPolygons slice of bytes in the input buffer.
If the polygon contains an interior, the information will be lost and ignored during operations.
Sourcepub fn bounding_box(&self) -> &'a BoundingBox
pub fn bounding_box(&self) -> &'a BoundingBox
Return the bounding box containing all polygons
Sourcepub fn get(&self, index: usize) -> Option<Zolygon<'a>>
pub fn get(&self, index: usize) -> Option<Zolygon<'a>>
Return a polygon by index, if the index doesn’t exists, returns None
Sourcepub fn polygons(&'a self) -> impl Iterator<Item = Zolygon<'a>>
pub fn polygons(&'a self) -> impl Iterator<Item = Zolygon<'a>>
Returns the individual Zolygons that compose the ZultiPolygons
Sourcepub fn to_geo(&self) -> MultiPolygon<f64>
pub fn to_geo(&self) -> MultiPolygon<f64>
Convert the ZultiPolygons back to a geo_types::MultiPolygon.
Trait Implementations§
Source§impl<'a> Clone for ZultiPolygons<'a>
impl<'a> Clone for ZultiPolygons<'a>
impl<'a> Copy for ZultiPolygons<'a>
Source§impl<'a> Debug for ZultiPolygons<'a>
impl<'a> Debug for ZultiPolygons<'a>
Source§impl<'a> From<ZultiPolygons<'a>> for Zerometry<'a>
impl<'a> From<ZultiPolygons<'a>> for Zerometry<'a>
Source§fn from(polygon: ZultiPolygons<'a>) -> Self
fn from(polygon: ZultiPolygons<'a>) -> Self
Converts to this type from the input type.
Source§impl PartialEq<MultiPolygon> for ZultiPolygons<'_>
impl PartialEq<MultiPolygon> for ZultiPolygons<'_>
Source§impl<'a> RelationBetweenShapes<Zerometry<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<Zerometry<'a>> for ZultiPolygons<'a>
Source§fn relation(
&self,
other: &Zerometry<'_>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &Zerometry<'_>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<Zine<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<Zine<'a>> for ZultiPolygons<'a>
Source§fn relation(&self, other: &Zine<'_>, relation: InputRelation) -> OutputRelation
fn relation(&self, other: &Zine<'_>, relation: InputRelation) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<Zoint<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<Zoint<'a>> for ZultiPolygons<'a>
Source§fn relation(&self, other: &Zoint<'_>, relation: InputRelation) -> OutputRelation
fn relation(&self, other: &Zoint<'_>, relation: InputRelation) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<Zollection<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<Zollection<'a>> for ZultiPolygons<'a>
Source§fn relation(
&self,
other: &Zollection<'a>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &Zollection<'a>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<Zolygon<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<Zolygon<'a>> for ZultiPolygons<'a>
Source§fn relation(
&self,
other: &Zolygon<'_>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &Zolygon<'_>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiLines<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<ZultiLines<'a>> for ZultiPolygons<'a>
Source§fn relation(
&self,
other: &ZultiLines<'_>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiLines<'_>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPoints<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<ZultiPoints<'a>> for ZultiPolygons<'a>
Source§fn relation(
&self,
other: &ZultiPoints<'_>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPoints<'_>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zine<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zine<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'a>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'a>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zoint<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zoint<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'a>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'a>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zollection<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zollection<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'a>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'a>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zolygon<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zolygon<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'a>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'a>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for ZultiLines<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for ZultiLines<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'_>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'_>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for ZultiPoints<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for ZultiPoints<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'a>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'a>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for ZultiPolygons<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for ZultiPolygons<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'_>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'_>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Source§impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zerometry<'a>
impl<'a> RelationBetweenShapes<ZultiPolygons<'a>> for Zerometry<'a>
Source§fn relation(
&self,
other: &ZultiPolygons<'_>,
relation: InputRelation,
) -> OutputRelation
fn relation( &self, other: &ZultiPolygons<'_>, relation: InputRelation, ) -> OutputRelation
Return the relation between two shapes.
The
InputRelation lets you specify the kind of relation you want to retrieve. Read moreSource§fn all_relation(&self, other: &Other) -> OutputRelation
fn all_relation(&self, other: &Other) -> OutputRelation
Return all relations with no early return.
Source§fn any_relation(&self, other: &Other) -> OutputRelation
fn any_relation(&self, other: &Other) -> OutputRelation
Return the first relation we find with early return.
Source§fn strict_contains(&self, other: &Other) -> bool
fn strict_contains(&self, other: &Other) -> bool
Return
true if Self strictly contains Other.Source§fn strict_contained(&self, other: &Other) -> bool
fn strict_contained(&self, other: &Other) -> bool
Return
true if Self is strictly contained in Other.Source§fn intersects(&self, other: &Other) -> bool
fn intersects(&self, other: &Other) -> bool
Return
true if Self intersects with Other.Auto Trait Implementations§
impl<'a> Freeze for ZultiPolygons<'a>
impl<'a> RefUnwindSafe for ZultiPolygons<'a>
impl<'a> Send for ZultiPolygons<'a>
impl<'a> Sync for ZultiPolygons<'a>
impl<'a> Unpin for ZultiPolygons<'a>
impl<'a> UnsafeUnpin for ZultiPolygons<'a>
impl<'a> UnwindSafe for ZultiPolygons<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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