Trait parry3d::query::QueryDispatcher [−][src]
Dispatcher for pairwise queries.
Custom implementations allow crates that support an abstract QueryDispatcher
to handle custom
shapes.
Required methods
fn intersection_test(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<bool, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<bool, Unsupported>
Tests whether two shapes are intersecting.
fn distance(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<Real, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<Real, Unsupported>
Computes the minimum distance separating two shapes.
Returns 0.0
if the objects are touching or penetrating.
fn contact(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real
) -> Result<Option<Contact>, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real
) -> Result<Option<Contact>, Unsupported>
Computes one pair of contact points point between two shapes.
Returns None
if the objects are separated by a distance greater than prediction
.
fn closest_points(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_dist: Real
) -> Result<ClosestPoints, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_dist: Real
) -> Result<ClosestPoints, Unsupported>
Computes the pair of closest points between two shapes.
Returns ClosestPoints::Disjoint
if the objects are separated by a distance greater than max_dist
.
fn time_of_impact(
&self,
pos12: &Isometry<Real>,
vel12: &Vector<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
vel12: &Vector<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
Computes the smallest time when two shapes under translational movement are separated by a
distance smaller or equal to distance
.
Returns 0.0
if the objects are touching or penetrating.
fn nonlinear_time_of_impact(
&self,
motion12: &dyn RigidMotion,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
[src]
&self,
motion12: &dyn RigidMotion,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
Computes the smallest time of impact of two shapes under translational movement.
Provided methods
fn chain<U: QueryDispatcher>(self, other: U) -> QueryDispatcherChain<Self, U> where
Self: Sized,
[src]
Self: Sized,
Construct a QueryDispatcher
that falls back on other
for cases not handled by self
Implementors
impl QueryDispatcher for DefaultQueryDispatcher
[src]
fn intersection_test(
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape
) -> Result<bool, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape
) -> Result<bool, Unsupported>
fn distance(
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape
) -> Result<Real, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape
) -> Result<Real, Unsupported>
Computes the minimum distance separating two shapes.
Returns 0.0
if the objects are touching or penetrating.
fn contact(
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
prediction: Real
) -> Result<Option<Contact>, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
prediction: Real
) -> Result<Option<Contact>, Unsupported>
fn closest_points(
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
max_dist: Real
) -> Result<ClosestPoints, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
max_dist: Real
) -> Result<ClosestPoints, Unsupported>
fn time_of_impact(
&self,
pos12: &Isometry<Real>,
vel12: &Vector<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
vel12: &Vector<Real>,
shape1: &dyn Shape,
shape2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
fn nonlinear_time_of_impact(
&self,
motion12: &dyn RigidMotion,
shape1: &dyn Shape,
shape2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
[src]
&self,
motion12: &dyn RigidMotion,
shape1: &dyn Shape,
shape2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
impl<T, U> QueryDispatcher for QueryDispatcherChain<T, U> where
T: QueryDispatcher,
U: QueryDispatcher,
[src]
T: QueryDispatcher,
U: QueryDispatcher,
fn intersection_test(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<bool, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<bool, Unsupported>
fn distance(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<Real, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape
) -> Result<Real, Unsupported>
fn contact(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real
) -> Result<Option<Contact>, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: Real
) -> Result<Option<Contact>, Unsupported>
fn closest_points(
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_dist: Real
) -> Result<ClosestPoints, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_dist: Real
) -> Result<ClosestPoints, Unsupported>
fn time_of_impact(
&self,
pos12: &Isometry<Real>,
vel12: &Vector<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
[src]
&self,
pos12: &Isometry<Real>,
vel12: &Vector<Real>,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
fn nonlinear_time_of_impact(
&self,
motion12: &dyn RigidMotion,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>
[src]
&self,
motion12: &dyn RigidMotion,
g1: &dyn Shape,
g2: &dyn Shape,
max_toi: Real,
target_distance: Real
) -> Result<Option<TOI>, Unsupported>