pub struct AbstractGeometry {
pub abstract_gml: AbstractGml,
/* private fields */
}Expand description
Base data shared by all GML geometry types (OGC 07-036 §10.1.3.1).
Embeds AbstractGml and is in turn embedded by every concrete and
abstract geometry.
The SrsReferenceGroup (srsName, srsDimension) is stored out of line
in a lazily allocated box: it is almost never set on nested geometries
(rings, patches, members of aggregates), so keeping it inline would cost
every geometry object 24 bytes for data it does not have.
Fields§
§abstract_gml: AbstractGmlImplementations§
Source§impl AbstractGeometry
impl AbstractGeometry
pub fn from_abstract_gml(abstract_gml: AbstractGml) -> Self
Trait Implementations§
Source§impl AsAbstractGeometry for AbstractGeometry
impl AsAbstractGeometry for AbstractGeometry
Source§fn abstract_geometry(&self) -> &AbstractGeometry
fn abstract_geometry(&self) -> &AbstractGeometry
Returns a reference to the embedded
AbstractGeometry base data.Source§fn srs_reference_group(&self) -> Option<&SrsReferenceGroup>
fn srs_reference_group(&self) -> Option<&SrsReferenceGroup>
Returns the SRS reference group, or
None if neither attribute is set.fn srs_name(&self) -> Option<&str>
fn srs_dimension(&self) -> Option<u32>
Source§impl AsAbstractGeometryMut for AbstractGeometry
impl AsAbstractGeometryMut for AbstractGeometry
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.Source§fn set_srs_reference_group(&mut self, srs_reference_group: SrsReferenceGroup)
fn set_srs_reference_group(&mut self, srs_reference_group: SrsReferenceGroup)
Replaces the SRS reference group. An empty group is stored as
None.Source§fn clear_srs_reference_group(&mut self)
fn clear_srs_reference_group(&mut self)
Removes both SRS attributes.
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 AbstractGeometry
impl AsAbstractGml for AbstractGeometry
Source§fn abstract_gml(&self) -> &AbstractGml
fn abstract_gml(&self) -> &AbstractGml
Returns a reference to the embedded
AbstractGml base data.Source§impl AsAbstractGmlMut for AbstractGeometry
impl AsAbstractGmlMut for AbstractGeometry
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>)
Source§fn extend_names(&mut self, names: impl IntoIterator<Item = Code>)
fn extend_names(&mut self, names: impl IntoIterator<Item = Code>)
Appends names. Reallocates the name list once per call.
Source§impl AsAbstractObject for AbstractGeometry
impl AsAbstractObject for AbstractGeometry
fn abstract_object(&self) -> &AbstractObject
Source§impl AsAbstractObjectMut for AbstractGeometry
impl AsAbstractObjectMut for AbstractGeometry
fn abstract_object_mut(&mut self) -> &mut AbstractObject
Source§impl Clone for AbstractGeometry
impl Clone for AbstractGeometry
Source§impl Debug for AbstractGeometry
impl Debug for AbstractGeometry
Source§impl Default for AbstractGeometry
impl Default for AbstractGeometry
impl Eq for AbstractGeometry
Source§impl Hash for AbstractGeometry
impl Hash for AbstractGeometry
Source§impl PartialEq for AbstractGeometry
impl PartialEq for AbstractGeometry
impl StructuralPartialEq for AbstractGeometry
Auto Trait Implementations§
impl Freeze for AbstractGeometry
impl RefUnwindSafe for AbstractGeometry
impl Send for AbstractGeometry
impl Sync for AbstractGeometry
impl Unpin for AbstractGeometry
impl UnsafeUnpin for AbstractGeometry
impl UnwindSafe for AbstractGeometry
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.