pub trait PersistentQueryDispatcher<ManifoldData = (), ContactData = ()>: QueryDispatcher {
    fn contact_manifolds(
        &self,
        pos12: &Isometry<f32, Unit<Complex<f32>>, 2>,
        g1: &(dyn Shape + 'static),
        g2: &(dyn Shape + 'static),
        prediction: f32,
        manifolds: &mut Vec<ContactManifold<ManifoldData, ContactData>, Global>,
        workspace: &mut Option<ContactManifoldsWorkspace>
    ) -> Result<(), Unsupported>; fn contact_manifold_convex_convex(
        &self,
        pos12: &Isometry<f32, Unit<Complex<f32>>, 2>,
        g1: &(dyn Shape + 'static),
        g2: &(dyn Shape + 'static),
        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

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.

Computes the contact-manifold between two convex shapes.

Implementors