Struct heron::rapier_plugin::rapier3d::parry::query::QueryDispatcherChain [−][src]
pub struct QueryDispatcherChain<T, U>(_, _);
Expand description
The composition of two dispatchers
Trait Implementations
impl<ManifoldData, ContactData, T, U> PersistentQueryDispatcher<ManifoldData, ContactData> for QueryDispatcherChain<T, U> where
T: PersistentQueryDispatcher<ManifoldData, ContactData>,
U: PersistentQueryDispatcher<ManifoldData, ContactData>,
impl<ManifoldData, ContactData, T, U> PersistentQueryDispatcher<ManifoldData, ContactData> for QueryDispatcherChain<T, U> where
T: PersistentQueryDispatcher<ManifoldData, ContactData>,
U: PersistentQueryDispatcher<ManifoldData, ContactData>,
pub fn contact_manifolds(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
pub fn contact_manifolds(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
workspace: &mut Option<ContactManifoldsWorkspace>
) -> Result<(), Unsupported>
Compute all the contacts between two shapes. Read more
pub fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
pub fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>
) -> Result<(), Unsupported>
Computes the contact-manifold between two convex shapes.
impl<T, U> QueryDispatcher for QueryDispatcherChain<T, U> where
T: QueryDispatcher,
U: QueryDispatcher,
impl<T, U> QueryDispatcher for QueryDispatcherChain<T, U> where
T: QueryDispatcher,
U: QueryDispatcher,
pub fn intersection_test(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static)
) -> Result<bool, Unsupported>
pub fn intersection_test(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static)
) -> Result<bool, Unsupported>
Tests whether two shapes are intersecting.
Computes the minimum distance separating two shapes. Read more
Computes one pair of contact points point between two shapes. Read more
pub fn closest_points(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
max_dist: f32
) -> Result<ClosestPoints, Unsupported>
pub fn closest_points(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
max_dist: f32
) -> Result<ClosestPoints, Unsupported>
Computes the pair of closest points between two shapes. Read more
pub fn time_of_impact(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
vel12: &Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
max_toi: f32
) -> Result<Option<TOI>, Unsupported>
pub fn time_of_impact(
&self,
pos12: &Isometry<f32, Unit<Quaternion<f32>>, 3_usize>,
vel12: &Matrix<f32, Const<{_: usize}>, Const<1_usize>, ArrayStorage<f32, 3_usize, 1_usize>>,
g1: &(dyn Shape + 'static),
g2: &(dyn Shape + 'static),
max_toi: f32
) -> Result<Option<TOI>, Unsupported>
Computes the smallest time when two shapes under translational movement are separated by a
distance smaller or equal to distance
. Read more
pub fn nonlinear_time_of_impact(
&self,
motion1: &NonlinearRigidMotion,
g1: &(dyn Shape + 'static),
motion2: &NonlinearRigidMotion,
g2: &(dyn Shape + 'static),
start_time: f32,
end_time: f32,
stop_at_penetration: bool
) -> Result<Option<TOI>, Unsupported>
pub fn nonlinear_time_of_impact(
&self,
motion1: &NonlinearRigidMotion,
g1: &(dyn Shape + 'static),
motion2: &NonlinearRigidMotion,
g2: &(dyn Shape + 'static),
start_time: f32,
end_time: f32,
stop_at_penetration: bool
) -> Result<Option<TOI>, Unsupported>
Computes the smallest time of impact of two shapes under translational and rotational movement. Read more
Construct a QueryDispatcher
that falls back on other
for cases not handled by self
Auto Trait Implementations
impl<T, U> RefUnwindSafe for QueryDispatcherChain<T, U> where
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<T, U> Send for QueryDispatcherChain<T, U> where
T: Send,
U: Send,
impl<T, U> Sync for QueryDispatcherChain<T, U> where
T: Sync,
U: Sync,
impl<T, U> Unpin for QueryDispatcherChain<T, U> where
T: Unpin,
U: Unpin,
impl<T, U> UnwindSafe for QueryDispatcherChain<T, U> where
T: UnwindSafe,
U: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more