pub struct MultiSurface {
pub abstract_geometric_aggregate: AbstractGeometricAggregate,
/* private fields */
}Expand description
An unordered collection of [SurfaceKind] members.
Corresponds to gml:MultiSurface in OGC 07-036 §11.3.4.1.
Fields§
§abstract_geometric_aggregate: AbstractGeometricAggregateImplementations§
Source§impl MultiSurface
impl MultiSurface
Sourcepub fn new(
members: impl IntoIterator<Item = AbstractSurfaceProperty>,
) -> Result<Self, Error>
pub fn new( members: impl IntoIterator<Item = AbstractSurfaceProperty>, ) -> Result<Self, Error>
Creates a new MultiSurface from a list of surface members.
§Errors
Returns Error::TooFewElements if members is empty.
pub fn from_abstract_geometric_aggregate( abstract_geometric_aggregate: AbstractGeometricAggregate, members: impl IntoIterator<Item = AbstractSurfaceProperty>, ) -> Result<Self, Error>
Sourcepub fn surface_member(&self) -> &[AbstractSurfaceProperty]
pub fn surface_member(&self) -> &[AbstractSurfaceProperty]
Returns the surface members as a slice.
Sourcepub fn set_surface_member(
&mut self,
val: Vec<AbstractSurfaceProperty>,
) -> Result<(), Error>
pub fn set_surface_member( &mut self, val: Vec<AbstractSurfaceProperty>, ) -> Result<(), Error>
pub fn push_surface_member(&mut self, member: AbstractSurfaceProperty)
pub fn extend_surface_members( &mut self, members: impl IntoIterator<Item = AbstractSurfaceProperty>, )
Source§impl MultiSurface
impl MultiSurface
pub fn points(&self) -> Vec<&DirectPosition>
Trait Implementations§
Source§impl ApplyTransform for MultiSurface
impl ApplyTransform for MultiSurface
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 AsAbstractGeometricAggregate for MultiSurface
impl AsAbstractGeometricAggregate for MultiSurface
Source§fn abstract_geometric_aggregate(&self) -> &AbstractGeometricAggregate
fn abstract_geometric_aggregate(&self) -> &AbstractGeometricAggregate
Returns a reference to the embedded
AbstractGeometricAggregate base data.Source§impl AsAbstractGeometricAggregateMut for MultiSurface
impl AsAbstractGeometricAggregateMut for MultiSurface
Source§fn abstract_geometric_aggregate_mut(
&mut self,
) -> &mut AbstractGeometricAggregate
fn abstract_geometric_aggregate_mut( &mut self, ) -> &mut AbstractGeometricAggregate
Returns a mutable reference to the embedded
AbstractGeometricAggregate base data.Source§impl AsAbstractGeometry for MultiSurface
impl AsAbstractGeometry for MultiSurface
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 MultiSurface
impl AsAbstractGeometryMut for MultiSurface
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 MultiSurface
impl AsAbstractGml for MultiSurface
Source§fn abstract_gml(&self) -> &AbstractGml
fn abstract_gml(&self) -> &AbstractGml
Returns a reference to the embedded
AbstractGml base data.Source§impl AsAbstractGmlMut for MultiSurface
impl AsAbstractGmlMut for MultiSurface
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 MultiSurface
impl AsAbstractObject for MultiSurface
fn abstract_object(&self) -> &AbstractObject
Source§impl AsAbstractObjectMut for MultiSurface
impl AsAbstractObjectMut for MultiSurface
fn abstract_object_mut(&mut self) -> &mut AbstractObject
Source§impl Clone for MultiSurface
impl Clone for MultiSurface
Source§fn clone(&self) -> MultiSurface
fn clone(&self) -> MultiSurface
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ComputeEnvelope for MultiSurface
impl ComputeEnvelope for MultiSurface
Source§fn compute_envelope(&self) -> Option<Envelope>
fn compute_envelope(&self) -> Option<Envelope>
Returns the union of the bounding boxes of all surface members.
Source§impl Debug for MultiSurface
impl Debug for MultiSurface
Source§impl<'a> From<&'a MultiSurface> for AbstractGeometricAggregateKindRef<'a>
impl<'a> From<&'a MultiSurface> for AbstractGeometricAggregateKindRef<'a>
Source§fn from(x: &'a MultiSurface) -> Self
fn from(x: &'a MultiSurface) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a MultiSurface> for AbstractGeometryKindRef<'a>
impl<'a> From<&'a MultiSurface> for AbstractGeometryKindRef<'a>
Source§fn from(x: &'a MultiSurface) -> Self
fn from(x: &'a MultiSurface) -> Self
Converts to this type from the input type.
Source§impl From<MultiSurface> for AbstractGeometricAggregateKind
impl From<MultiSurface> for AbstractGeometricAggregateKind
Source§fn from(x: MultiSurface) -> Self
fn from(x: MultiSurface) -> Self
Converts to this type from the input type.
Source§impl From<MultiSurface> for AbstractGeometryKind
impl From<MultiSurface> for AbstractGeometryKind
Source§fn from(x: MultiSurface) -> Self
fn from(x: MultiSurface) -> Self
Converts to this type from the input type.
Source§impl From<MultiSurface> for AbstractGmlKind
impl From<MultiSurface> for AbstractGmlKind
Source§fn from(x: MultiSurface) -> Self
fn from(x: MultiSurface) -> Self
Converts to this type from the input type.
Source§impl From<MultiSurface> for AbstractObjectKind
impl From<MultiSurface> for AbstractObjectKind
Source§fn from(x: MultiSurface) -> Self
fn from(x: MultiSurface) -> Self
Converts to this type from the input type.
Source§impl HasGeometryType for MultiSurface
impl HasGeometryType for MultiSurface
fn geometry_type(&self) -> GeometryType
Source§impl IterGeometries for MultiSurface
impl IterGeometries for MultiSurface
fn iter_geometries( &self, ) -> Box<dyn Iterator<Item = AbstractGeometryKindRef<'_>> + '_>
Source§impl PartialEq for MultiSurface
impl PartialEq for MultiSurface
impl StructuralPartialEq for MultiSurface
Source§impl Triangulate for MultiSurface
impl Triangulate for MultiSurface
Source§fn triangulate(&self) -> Result<Triangulation, Error>
fn triangulate(&self) -> Result<Triangulation, Error>
Members that fail to triangulate individually (e.g. a degenerate ring) are
skipped rather than failing the whole aggregate; see their errors via
Triangulation::skipped.
§Errors
Returns Error::TooFewElements if no member could be triangulated.
Source§impl<'a> TryFrom<AbstractGeometricAggregateKindRef<'a>> for &'a MultiSurface
impl<'a> TryFrom<AbstractGeometricAggregateKindRef<'a>> for &'a MultiSurface
Source§impl TryFrom<AbstractGeometryKind> for MultiSurface
impl TryFrom<AbstractGeometryKind> for MultiSurface
Source§impl<'a> TryFrom<AbstractGeometryKindRef<'a>> for &'a MultiSurface
impl<'a> TryFrom<AbstractGeometryKindRef<'a>> for &'a MultiSurface
Source§impl TryFrom<AbstractGmlKind> for MultiSurface
impl TryFrom<AbstractGmlKind> for MultiSurface
Source§impl TryFrom<AbstractObjectKind> for MultiSurface
impl TryFrom<AbstractObjectKind> for MultiSurface
Auto Trait Implementations§
impl Freeze for MultiSurface
impl RefUnwindSafe for MultiSurface
impl Send for MultiSurface
impl Sync for MultiSurface
impl Unpin for MultiSurface
impl UnsafeUnpin for MultiSurface
impl UnwindSafe for MultiSurface
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.