pub struct SpatialRegion {
pub region_id: u64,
pub boundary_points: Vec<(f64, f64)>,
pub centroid: (f64, f64),
pub area: f64,
}Expand description
Spatial region representation for RCC8 reasoning
Fields§
§region_id: u64§boundary_points: Vec<(f64, f64)>§centroid: (f64, f64)§area: f64Implementations§
Source§impl SpatialRegion
impl SpatialRegion
Sourcepub fn new(region_id: u64, boundary_points: Vec<(f64, f64)>) -> Self
pub fn new(region_id: u64, boundary_points: Vec<(f64, f64)>) -> Self
Create a new spatial region from boundary points
Sourcepub fn contains_point(&self, point: (f64, f64)) -> bool
pub fn contains_point(&self, point: (f64, f64)) -> bool
Check if point is inside region (ray casting algorithm)
Sourcepub fn intersects(&self, other: &SpatialRegion) -> bool
pub fn intersects(&self, other: &SpatialRegion) -> bool
Check if this region intersects with another region
Trait Implementations§
Source§impl Clone for SpatialRegion
impl Clone for SpatialRegion
Source§fn clone(&self) -> SpatialRegion
fn clone(&self) -> SpatialRegion
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 moreAuto Trait Implementations§
impl Freeze for SpatialRegion
impl RefUnwindSafe for SpatialRegion
impl Send for SpatialRegion
impl Sync for SpatialRegion
impl Unpin for SpatialRegion
impl UnsafeUnpin for SpatialRegion
impl UnwindSafe for SpatialRegion
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more