[][src]Trait ncollide3d::narrow_phase::ContactManifoldGenerator

pub trait ContactManifoldGenerator<N: Real>: Any + Send + Sync {
    fn update(
        &mut self,
        dispatcher: &dyn ContactDispatcher<N>,
        ida: usize,
        ma: &Isometry<N>,
        a: &dyn Shape<N>,
        idb: usize,
        mb: &Isometry<N>,
        b: &dyn Shape<N>,
        prediction: &ContactPrediction<N>,
        id_alloc: &mut IdAllocator
    ) -> bool;
fn clear(&mut self, id_alloc: &mut IdAllocator);
fn num_contacts(&self) -> usize;
fn contacts<'a: 'b, 'b>(&'a self, out: &'b mut Vec<&'a ContactManifold<N>>); }

Trait implemented algorithms that compute contact points, normals and penetration depths.

Required Methods

Runs the collision detection on two objects. It is assumed that the same collision detector (the same structure) is always used with the same pair of object.

Clears all spacial and time coherence information stored by this generator and frees all its contact indices.

The number of contacts found.

Collects the contact manifolds generated by the last update.

Implementors

impl<N: Real> ContactManifoldGenerator<N> for BallBallManifoldGenerator<N>
[src]

impl<N: Real> ContactManifoldGenerator<N> for BallConvexPolyhedronManifoldGenerator<N>
[src]

impl<N: Real> ContactManifoldGenerator<N> for CompositeShapeShapeManifoldGenerator<N>
[src]

impl<N: Real> ContactManifoldGenerator<N> for ConvexPolyhedronConvexPolyhedronManifoldGenerator<N>
[src]

impl<N: Real> ContactManifoldGenerator<N> for PlaneBallManifoldGenerator<N>
[src]

impl<N: Real> ContactManifoldGenerator<N> for PlaneConvexPolyhedronManifoldGenerator<N>
[src]