pub struct Polygon {
pub abstract_surface: AbstractSurface,
/* private fields */
}Fields§
§abstract_surface: AbstractSurfaceImplementations§
Source§impl Polygon
impl Polygon
pub fn new( exterior: Option<AbstractRingProperty>, interior: impl IntoIterator<Item = AbstractRingProperty>, ) -> Result<Self, Error>
pub fn from_abstract_surface( abstract_surface: AbstractSurface, exterior: Option<AbstractRingProperty>, interior: impl IntoIterator<Item = AbstractRingProperty>, ) -> Self
pub fn exterior(&self) -> Option<&AbstractRingProperty>
pub fn set_exterior(&mut self, exterior: AbstractRingProperty)
pub fn set_exterior_opt(&mut self, exterior: Option<AbstractRingProperty>)
pub fn clear_exterior(&mut self)
pub fn interior(&self) -> &[AbstractRingProperty]
pub fn set_interior(&mut self, interior: Vec<AbstractRingProperty>)
pub fn push_interior(&mut self, ring: AbstractRingProperty)
pub fn extend_interiors( &mut self, rings: impl IntoIterator<Item = AbstractRingProperty>, )
Source§impl Polygon
impl Polygon
pub fn plane_equation(&self) -> Plane
Sourcepub fn area_3d(&self) -> Result<f64, Error>
pub fn area_3d(&self) -> Result<f64, Error>
Returns the net 3D area_3d of this polygon: exterior area_3d minus the sum of all interior hole area_3ds.
§Errors
Returns Error::MissingExteriorRing if the polygon has no exterior ring property.
Returns Error::UnresolvedRingReference if the exterior ring or any interior hole
carries only an xlink:href that has not been resolved into an inline object.
pub fn points(&self) -> Vec<&DirectPosition>
Trait Implementations§
Source§impl ApplyTransform for Polygon
impl ApplyTransform for Polygon
fn apply_transform(&mut self, transform: Transform3<f64>)
fn apply_isometry(&mut self, isometry: Isometry3<f64>)
fn apply_translation(&mut self, vector: Vector3<f64>)
fn apply_rotation(&mut self, rotation: Rotation3<f64>)
fn apply_scale(&mut self, scale: Scale3<f64>)
Source§impl AsAbstractGeometricPrimitive for Polygon
impl AsAbstractGeometricPrimitive for Polygon
Source§fn abstract_geometric_primitive(&self) -> &AbstractGeometricPrimitive
fn abstract_geometric_primitive(&self) -> &AbstractGeometricPrimitive
Returns a reference to the embedded
AbstractGeometricPrimitive base data.Source§impl AsAbstractGeometricPrimitiveMut for Polygon
impl AsAbstractGeometricPrimitiveMut for Polygon
Source§fn abstract_geometric_primitive_mut(
&mut self,
) -> &mut AbstractGeometricPrimitive
fn abstract_geometric_primitive_mut( &mut self, ) -> &mut AbstractGeometricPrimitive
Returns a mutable reference to the embedded
AbstractGeometricPrimitive base data.Source§impl AsAbstractGeometry for Polygon
impl AsAbstractGeometry for Polygon
Source§fn abstract_geometry(&self) -> &AbstractGeometry
fn abstract_geometry(&self) -> &AbstractGeometry
Returns a reference to the embedded
AbstractGeometry base data.fn srs_name(&self) -> Option<&String>
fn srs_dimension(&self) -> Option<u32>
Source§impl AsAbstractGeometryMut for Polygon
impl AsAbstractGeometryMut for Polygon
Source§fn abstract_geometry_mut(&mut self) -> &mut AbstractGeometry
fn abstract_geometry_mut(&mut self) -> &mut AbstractGeometry
Returns a mutable reference to the embedded
AbstractGeometry base data.fn set_srs_name(&mut self, srs_name: impl Into<String>)
fn set_srs_name_opt(&mut self, srs_name: Option<String>)
fn clear_srs_name(&mut self)
fn set_srs_dimension(&mut self, srs_dimension: u32)
fn set_srs_dimension_opt(&mut self, srs_dimension: Option<u32>)
fn clear_srs_dimension(&mut self)
Source§impl AsAbstractGml for Polygon
impl AsAbstractGml for Polygon
Source§fn abstract_gml(&self) -> &AbstractGml
fn abstract_gml(&self) -> &AbstractGml
Returns a reference to the embedded
AbstractGml base data.Source§impl AsAbstractGmlMut for Polygon
impl AsAbstractGmlMut for Polygon
Source§fn abstract_gml_mut(&mut self) -> &mut AbstractGml
fn abstract_gml_mut(&mut self) -> &mut AbstractGml
Returns a mutable reference to the embedded
AbstractGml base data.Source§fn set_id_opt(&mut self, id: Option<Id>)
fn set_id_opt(&mut self, id: Option<Id>)
Sets or clears the identifier of this GML object.
fn set_names(&mut self, names: Vec<Code>)
fn push_name(&mut self, name: Code)
fn extend_names(&mut self, names: impl IntoIterator<Item = Code>)
Source§impl AsAbstractObject for Polygon
impl AsAbstractObject for Polygon
fn abstract_object(&self) -> &AbstractObject
Source§impl AsAbstractObjectMut for Polygon
impl AsAbstractObjectMut for Polygon
fn abstract_object_mut(&mut self) -> &mut AbstractObject
Source§impl AsAbstractSurface for Polygon
impl AsAbstractSurface for Polygon
Source§fn abstract_surface(&self) -> &AbstractSurface
fn abstract_surface(&self) -> &AbstractSurface
Returns a reference to the embedded
AbstractSurface base data.Source§impl AsAbstractSurfaceMut for Polygon
impl AsAbstractSurfaceMut for Polygon
Source§fn abstract_surface_mut(&mut self) -> &mut AbstractSurface
fn abstract_surface_mut(&mut self) -> &mut AbstractSurface
Returns a mutable reference to the embedded
AbstractSurface base data.Source§impl ComputeEnvelope for Polygon
impl ComputeEnvelope for Polygon
fn compute_envelope(&self) -> Option<Envelope>
Source§impl<'a> From<&'a Polygon> for AbstractSurfaceKindRef<'a>
impl<'a> From<&'a Polygon> for AbstractSurfaceKindRef<'a>
Source§impl<'a> From<&'a Polygon> for AbstractGeometricPrimitiveKindRef<'a>
impl<'a> From<&'a Polygon> for AbstractGeometricPrimitiveKindRef<'a>
Source§impl<'a> From<&'a Polygon> for AbstractGeometryKindRef<'a>
impl<'a> From<&'a Polygon> for AbstractGeometryKindRef<'a>
Source§impl From<Polygon> for AbstractSurfaceKind
impl From<Polygon> for AbstractSurfaceKind
Source§impl From<Polygon> for AbstractGeometricPrimitiveKind
impl From<Polygon> for AbstractGeometricPrimitiveKind
Source§impl From<Polygon> for AbstractGeometryKind
impl From<Polygon> for AbstractGeometryKind
Source§impl From<Polygon> for AbstractGmlKind
impl From<Polygon> for AbstractGmlKind
Source§impl From<Polygon> for AbstractObjectKind
impl From<Polygon> for AbstractObjectKind
Source§impl HasGeometryType for Polygon
impl HasGeometryType for Polygon
fn geometry_type(&self) -> GeometryType
Source§impl IterGeometries for Polygon
impl IterGeometries for Polygon
fn iter_geometries( &self, ) -> Box<dyn Iterator<Item = AbstractGeometryKindRef<'_>> + '_>
impl StructuralPartialEq for Polygon
Source§impl Triangulate for Polygon
impl Triangulate for Polygon
fn triangulate(&self) -> Result<Triangulation, Error>
Source§impl<'a> TryFrom<AbstractGeometricPrimitiveKindRef<'a>> for &'a Polygon
impl<'a> TryFrom<AbstractGeometricPrimitiveKindRef<'a>> for &'a Polygon
Source§impl TryFrom<AbstractGeometryKind> for Polygon
impl TryFrom<AbstractGeometryKind> for Polygon
Source§impl<'a> TryFrom<AbstractGeometryKindRef<'a>> for &'a Polygon
impl<'a> TryFrom<AbstractGeometryKindRef<'a>> for &'a Polygon
Source§impl TryFrom<AbstractGmlKind> for Polygon
impl TryFrom<AbstractGmlKind> for Polygon
Source§impl TryFrom<AbstractObjectKind> for Polygon
impl TryFrom<AbstractObjectKind> for Polygon
Source§impl TryFrom<AbstractSurfaceKind> for Polygon
impl TryFrom<AbstractSurfaceKind> for Polygon
Auto Trait Implementations§
impl Freeze for Polygon
impl RefUnwindSafe for Polygon
impl Send for Polygon
impl Sync for Polygon
impl Unpin for Polygon
impl UnsafeUnpin for Polygon
impl UnwindSafe for Polygon
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for 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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§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 moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.