pub trait PersistentQueryDispatcher<ManifoldData = (), ContactData = ()>: QueryDispatcher {
// Required methods
fn contact_manifolds(
&self,
pos12: &Isometry<f32>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>,
) -> Result<(), Unsupported>;
fn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32>,
g1: &dyn Shape,
g2: &dyn Shape,
normal_constraints1: Option<&dyn NormalConstraints>,
normal_constraints2: Option<&dyn NormalConstraints>,
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>,
) -> Result<(), Unsupported>;
}Expand description
A query dispatcher for queries relying on spatial coherence, including contact-manifold computation.
Required Methods§
Sourcefn contact_manifolds(
&self,
pos12: &Isometry<f32>,
g1: &dyn Shape,
g2: &dyn Shape,
prediction: f32,
manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>,
workspace: &mut Option<ContactManifoldsWorkspace>,
) -> Result<(), Unsupported>
fn contact_manifolds( &self, pos12: &Isometry<f32>, g1: &dyn Shape, g2: &dyn Shape, prediction: f32, manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>>, workspace: &mut Option<ContactManifoldsWorkspace>, ) -> Result<(), Unsupported>
Compute all the contacts between two shapes.
The output is written into manifolds and context. Both can persist
between multiple calls to contacts by re-using the result of the previous
call to contacts. This persistence can significantly improve collision
detection performances by allowing the underlying algorithms to exploit
spatial and temporal coherence.
Sourcefn contact_manifold_convex_convex(
&self,
pos12: &Isometry<f32>,
g1: &dyn Shape,
g2: &dyn Shape,
normal_constraints1: Option<&dyn NormalConstraints>,
normal_constraints2: Option<&dyn NormalConstraints>,
prediction: f32,
manifold: &mut ContactManifold<ManifoldData, ContactData>,
) -> Result<(), Unsupported>
fn contact_manifold_convex_convex( &self, pos12: &Isometry<f32>, g1: &dyn Shape, g2: &dyn Shape, normal_constraints1: Option<&dyn NormalConstraints>, normal_constraints2: Option<&dyn NormalConstraints>, prediction: f32, manifold: &mut ContactManifold<ManifoldData, ContactData>, ) -> Result<(), Unsupported>
Computes the contact-manifold between two convex shapes.
Implementors§
impl<ManifoldData, ContactData> PersistentQueryDispatcher<ManifoldData, ContactData> for DefaultQueryDispatcher
Available on crate feature
alloc only.impl<ManifoldData, ContactData, T, U> PersistentQueryDispatcher<ManifoldData, ContactData> for QueryDispatcherChain<T, U>where
T: PersistentQueryDispatcher<ManifoldData, ContactData>,
U: PersistentQueryDispatcher<ManifoldData, ContactData>,
Available on crate feature
alloc only.