pub struct TriangulatedSurface { /* private fields */ }Expand description
A 2-D surface composed exclusively of Triangle patches.
Corresponds to gml:TriangulatedSurface in OGC 07-036 §10.5.11.4.
This type is the primary output of triangulation operations.
Implementations§
Source§impl TriangulatedSurface
impl TriangulatedSurface
Sourcepub fn from_triangles(triangles: Vec<Triangle>) -> Result<Self, Error>
pub fn from_triangles(triangles: Vec<Triangle>) -> Result<Self, Error>
Creates a TriangulatedSurface from a flat list of triangles.
§Errors
Returns Error::TooFewElements if triangles is empty.
Sourcepub fn from_triangulated_surfaces(
surfaces: Vec<TriangulatedSurface>,
) -> Result<Self, Error>
pub fn from_triangulated_surfaces( surfaces: Vec<TriangulatedSurface>, ) -> Result<Self, Error>
Merges multiple triangulated surfaces into one by combining all their patches.
§Errors
Returns Error::TooFewElements if surfaces is empty.
Sourcepub fn triangles(&self) -> Vec<&Triangle>
pub fn triangles(&self) -> Vec<&Triangle>
Returns references to all Triangle patches in this surface.
pub fn points(&self) -> Vec<&DirectPosition>
pub fn area_3d(&self) -> Result<f64, Error>
Trait Implementations§
Source§impl ApplyTransform for TriangulatedSurface
impl ApplyTransform for TriangulatedSurface
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 TriangulatedSurface
impl AsAbstractGeometricPrimitive for TriangulatedSurface
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 TriangulatedSurface
impl AsAbstractGeometricPrimitiveMut for TriangulatedSurface
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 TriangulatedSurface
impl AsAbstractGeometry for TriangulatedSurface
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 TriangulatedSurface
impl AsAbstractGeometryMut for TriangulatedSurface
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 TriangulatedSurface
impl AsAbstractGml for TriangulatedSurface
Source§fn abstract_gml(&self) -> &AbstractGml
fn abstract_gml(&self) -> &AbstractGml
Returns a reference to the embedded
AbstractGml base data.Source§impl AsAbstractGmlMut for TriangulatedSurface
impl AsAbstractGmlMut for TriangulatedSurface
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 TriangulatedSurface
impl AsAbstractObject for TriangulatedSurface
fn abstract_object(&self) -> &AbstractObject
Source§impl AsAbstractObjectMut for TriangulatedSurface
impl AsAbstractObjectMut for TriangulatedSurface
fn abstract_object_mut(&mut self) -> &mut AbstractObject
Source§impl AsAbstractSurface for TriangulatedSurface
impl AsAbstractSurface for TriangulatedSurface
Source§fn abstract_surface(&self) -> &AbstractSurface
fn abstract_surface(&self) -> &AbstractSurface
Returns a reference to the embedded
AbstractSurface base data.Source§impl AsAbstractSurfaceMut for TriangulatedSurface
impl AsAbstractSurfaceMut for TriangulatedSurface
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 AsSurface for TriangulatedSurface
impl AsSurface for TriangulatedSurface
Source§impl AsSurfaceMut for TriangulatedSurface
impl AsSurfaceMut for TriangulatedSurface
Source§fn surface_mut(&mut self) -> &mut Surface
fn surface_mut(&mut self) -> &mut Surface
Returns a mutable reference to the underlying
Surface.fn patches_mut(&mut self) -> &mut AbstractSurfacePatchArrayProperty
Source§impl Clone for TriangulatedSurface
impl Clone for TriangulatedSurface
Source§fn clone(&self) -> TriangulatedSurface
fn clone(&self) -> TriangulatedSurface
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 TriangulatedSurface
impl ComputeEnvelope for TriangulatedSurface
Source§fn compute_envelope(&self) -> Option<Envelope>
fn compute_envelope(&self) -> Option<Envelope>
Returns the axis-aligned bounding box of all triangles.
Source§impl Debug for TriangulatedSurface
impl Debug for TriangulatedSurface
Source§impl<'a> From<&'a TriangulatedSurface> for SurfaceKindRef<'a>
impl<'a> From<&'a TriangulatedSurface> for SurfaceKindRef<'a>
Source§fn from(x: &'a TriangulatedSurface) -> Self
fn from(x: &'a TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a TriangulatedSurface> for AbstractSurfaceKindRef<'a>
impl<'a> From<&'a TriangulatedSurface> for AbstractSurfaceKindRef<'a>
Source§fn from(x: &'a TriangulatedSurface) -> Self
fn from(x: &'a TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a TriangulatedSurface> for AbstractGeometricPrimitiveKindRef<'a>
impl<'a> From<&'a TriangulatedSurface> for AbstractGeometricPrimitiveKindRef<'a>
Source§fn from(x: &'a TriangulatedSurface) -> Self
fn from(x: &'a TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl<'a> From<&'a TriangulatedSurface> for AbstractGeometryKindRef<'a>
impl<'a> From<&'a TriangulatedSurface> for AbstractGeometryKindRef<'a>
Source§fn from(x: &'a TriangulatedSurface) -> Self
fn from(x: &'a TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl From<TriangulatedSurface> for SurfaceKind
impl From<TriangulatedSurface> for SurfaceKind
Source§fn from(x: TriangulatedSurface) -> Self
fn from(x: TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl From<TriangulatedSurface> for AbstractSurfaceKind
impl From<TriangulatedSurface> for AbstractSurfaceKind
Source§fn from(x: TriangulatedSurface) -> Self
fn from(x: TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl From<TriangulatedSurface> for AbstractGeometricPrimitiveKind
impl From<TriangulatedSurface> for AbstractGeometricPrimitiveKind
Source§fn from(x: TriangulatedSurface) -> Self
fn from(x: TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl From<TriangulatedSurface> for AbstractGeometryKind
impl From<TriangulatedSurface> for AbstractGeometryKind
Source§fn from(x: TriangulatedSurface) -> Self
fn from(x: TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl From<TriangulatedSurface> for AbstractGmlKind
impl From<TriangulatedSurface> for AbstractGmlKind
Source§fn from(x: TriangulatedSurface) -> Self
fn from(x: TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl From<TriangulatedSurface> for AbstractObjectKind
impl From<TriangulatedSurface> for AbstractObjectKind
Source§fn from(x: TriangulatedSurface) -> Self
fn from(x: TriangulatedSurface) -> Self
Converts to this type from the input type.
Source§impl HasGeometryType for TriangulatedSurface
impl HasGeometryType for TriangulatedSurface
fn geometry_type(&self) -> GeometryType
Source§impl IterGeometries for TriangulatedSurface
impl IterGeometries for TriangulatedSurface
fn iter_geometries( &self, ) -> Box<dyn Iterator<Item = AbstractGeometryKindRef<'_>> + '_>
Source§impl PartialEq for TriangulatedSurface
impl PartialEq for TriangulatedSurface
impl StructuralPartialEq for TriangulatedSurface
Source§impl<'a> TryFrom<AbstractGeometricPrimitiveKindRef<'a>> for &'a TriangulatedSurface
impl<'a> TryFrom<AbstractGeometricPrimitiveKindRef<'a>> for &'a TriangulatedSurface
Source§impl<'a> TryFrom<AbstractGeometryKindRef<'a>> for &'a TriangulatedSurface
impl<'a> TryFrom<AbstractGeometryKindRef<'a>> for &'a TriangulatedSurface
Source§impl TryFrom<AbstractGmlKind> for TriangulatedSurface
impl TryFrom<AbstractGmlKind> for TriangulatedSurface
Source§impl<'a> TryFrom<AbstractSurfaceKindRef<'a>> for &'a TriangulatedSurface
impl<'a> TryFrom<AbstractSurfaceKindRef<'a>> for &'a TriangulatedSurface
Source§impl TryFrom<SurfaceKind> for TriangulatedSurface
impl TryFrom<SurfaceKind> for TriangulatedSurface
Source§impl<'a> TryFrom<SurfaceKindRef<'a>> for &'a TriangulatedSurface
impl<'a> TryFrom<SurfaceKindRef<'a>> for &'a TriangulatedSurface
Auto Trait Implementations§
impl Freeze for TriangulatedSurface
impl RefUnwindSafe for TriangulatedSurface
impl Send for TriangulatedSurface
impl Sync for TriangulatedSurface
impl Unpin for TriangulatedSurface
impl UnsafeUnpin for TriangulatedSurface
impl UnwindSafe for TriangulatedSurface
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.