pub trait PointQuery {
// Required methods
fn project_local_point(
&self,
pt: &Point<f32>,
solid: bool,
) -> PointProjection;
fn project_local_point_and_get_feature(
&self,
pt: &Point<f32>,
) -> (PointProjection, FeatureId);
// Provided methods
fn project_local_point_with_max_dist(
&self,
pt: &Point<f32>,
solid: bool,
max_dist: f32,
) -> Option<PointProjection> { ... }
fn project_point_with_max_dist(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
solid: bool,
max_dist: f32,
) -> Option<PointProjection> { ... }
fn distance_to_local_point(&self, pt: &Point<f32>, solid: bool) -> f32 { ... }
fn contains_local_point(&self, pt: &Point<f32>) -> bool { ... }
fn project_point(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
solid: bool,
) -> PointProjection { ... }
fn distance_to_point(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
solid: bool,
) -> f32 { ... }
fn project_point_and_get_feature(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
) -> (PointProjection, FeatureId) { ... }
fn contains_point(&self, m: &Isometry<f32>, pt: &Point<f32>) -> bool { ... }
}
Expand description
Trait of objects that can be tested for point inclusion and projection.
Required Methods§
sourcefn project_local_point(&self, pt: &Point<f32>, solid: bool) -> PointProjection
fn project_local_point(&self, pt: &Point<f32>, solid: bool) -> PointProjection
Projects a point on self
.
The point is assumed to be expressed in the local-space of self
.
sourcefn project_local_point_and_get_feature(
&self,
pt: &Point<f32>,
) -> (PointProjection, FeatureId)
fn project_local_point_and_get_feature( &self, pt: &Point<f32>, ) -> (PointProjection, FeatureId)
Projects a point on the boundary of self
and returns the id of the
feature the point was projected on.
Provided Methods§
sourcefn project_local_point_with_max_dist(
&self,
pt: &Point<f32>,
solid: bool,
max_dist: f32,
) -> Option<PointProjection>
fn project_local_point_with_max_dist( &self, pt: &Point<f32>, solid: bool, max_dist: f32, ) -> Option<PointProjection>
Projects a point on self
, unless the projection lies further than the given max distance.
The point is assumed to be expressed in the local-space of self
.
sourcefn project_point_with_max_dist(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
solid: bool,
max_dist: f32,
) -> Option<PointProjection>
fn project_point_with_max_dist( &self, m: &Isometry<f32>, pt: &Point<f32>, solid: bool, max_dist: f32, ) -> Option<PointProjection>
Projects a point on self
transformed by m
, unless the projection lies further than the given max distance.
sourcefn distance_to_local_point(&self, pt: &Point<f32>, solid: bool) -> f32
fn distance_to_local_point(&self, pt: &Point<f32>, solid: bool) -> f32
Computes the minimal distance between a point and self
.
sourcefn contains_local_point(&self, pt: &Point<f32>) -> bool
fn contains_local_point(&self, pt: &Point<f32>) -> bool
Tests if the given point is inside of self
.
sourcefn project_point(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
solid: bool,
) -> PointProjection
fn project_point( &self, m: &Isometry<f32>, pt: &Point<f32>, solid: bool, ) -> PointProjection
Projects a point on self
transformed by m
.
sourcefn distance_to_point(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
solid: bool,
) -> f32
fn distance_to_point( &self, m: &Isometry<f32>, pt: &Point<f32>, solid: bool, ) -> f32
Computes the minimal distance between a point and self
transformed by m
.
sourcefn project_point_and_get_feature(
&self,
m: &Isometry<f32>,
pt: &Point<f32>,
) -> (PointProjection, FeatureId)
fn project_point_and_get_feature( &self, m: &Isometry<f32>, pt: &Point<f32>, ) -> (PointProjection, FeatureId)
Projects a point on the boundary of self
transformed by m
and returns the id of the
feature the point was projected on.