pub struct AlphaShape {
pub points: Array2<f64>,
pub alpha: f64,
pub edges: Vec<(usize, usize)>,
pub triangles: Vec<(usize, usize, usize)>,
}Expand description
Alpha shape representation for point cloud analysis
Alpha shapes provide a way to compute non-convex boundaries around a set of points, controlled by the alpha parameter.
Fields§
§points: Array2<f64>Points defining the alpha shape
alpha: f64Alpha parameter controlling shape tightness
edges: Vec<(usize, usize)>Boundary edges of the alpha shape
triangles: Vec<(usize, usize, usize)>Triangles in the alpha shape (if applicable)
Implementations§
Source§impl AlphaShape
impl AlphaShape
Sourcepub fn new(points: &ArrayView2<'_, f64>, alpha: f64) -> SpatialResult<Self>
pub fn new(points: &ArrayView2<'_, f64>, alpha: f64) -> SpatialResult<Self>
Sourcepub fn num_points(&self) -> usize
pub fn num_points(&self) -> usize
Get the number of points in the alpha shape
Sourcepub fn num_triangles(&self) -> usize
pub fn num_triangles(&self) -> usize
Get the number of triangles in the alpha shape
Sourcepub fn contains_point(&self, point: &ArrayView1<'_, f64>) -> bool
pub fn contains_point(&self, point: &ArrayView1<'_, f64>) -> bool
Trait Implementations§
Source§impl Clone for AlphaShape
impl Clone for AlphaShape
Source§fn clone(&self) -> AlphaShape
fn clone(&self) -> AlphaShape
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AlphaShape
impl RefUnwindSafe for AlphaShape
impl Send for AlphaShape
impl Sync for AlphaShape
impl Unpin for AlphaShape
impl UnwindSafe for AlphaShape
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 moreSource§impl<T> Pointable for T
impl<T> Pointable 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.