Table of Contents

Interface ISolverContactDataExtractor

Namespace
BepuPhysics.Constraints.Contact
Assembly
BepuPhysics.dll

Callbacks for direct references to the solver's contact constraint data.

public interface ISolverContactDataExtractor

Methods

ConvexOneBody<TPrestep, TAccumulatedImpulses>(BodyHandle, ref TPrestep, ref TAccumulatedImpulses)

Provides a reference to a convex one body contact constraint. Constraint data is in the first lane of the direct reference (slot 0 of vectors).

void ConvexOneBody<TPrestep, TAccumulatedImpulses>(BodyHandle bodyHandle, ref TPrestep prestep, ref TAccumulatedImpulses impulses) where TPrestep : struct, IConvexContactPrestep<TPrestep> where TAccumulatedImpulses : struct, IConvexContactAccumulatedImpulses<TAccumulatedImpulses>

Parameters

bodyHandle BodyHandle

Body handle referenced by the constraint.

prestep TPrestep

Prestep data associated with the constraint.

impulses TAccumulatedImpulses

Accumulated impulses associated with the constraint.

Type Parameters

TPrestep

Type of the prestep data returned.

TAccumulatedImpulses

Type of the accumulated impulses data returned.

ConvexTwoBody<TPrestep, TAccumulatedImpulses>(BodyHandle, BodyHandle, ref TPrestep, ref TAccumulatedImpulses)

Provides a reference to a convex two body contact constraint. Constraint data is in the first lane of the direct reference (slot 0 of vectors).

void ConvexTwoBody<TPrestep, TAccumulatedImpulses>(BodyHandle bodyHandleA, BodyHandle bodyHandleB, ref TPrestep prestep, ref TAccumulatedImpulses impulses) where TPrestep : struct, ITwoBodyConvexContactPrestep<TPrestep> where TAccumulatedImpulses : struct, IConvexContactAccumulatedImpulses<TAccumulatedImpulses>

Parameters

bodyHandleA BodyHandle

First body handle referenced by the constraint.

bodyHandleB BodyHandle

Second body handle referenced by the constraint.

prestep TPrestep

Prestep data associated with the constraint.

impulses TAccumulatedImpulses

Accumulated impulses associated with the constraint.

Type Parameters

TPrestep

Type of the prestep data returned.

TAccumulatedImpulses

Type of the accumulated impulses data returned.

NonconvexOneBody<TPrestep, TAccumulatedImpulses>(BodyHandle, ref TPrestep, ref TAccumulatedImpulses)

Provides a reference to a nonconvex one body contact constraint. Constraint data is in the first lane of the direct reference (slot 0 of vectors).

void NonconvexOneBody<TPrestep, TAccumulatedImpulses>(BodyHandle bodyHandle, ref TPrestep prestep, ref TAccumulatedImpulses impulses) where TPrestep : struct, INonconvexContactPrestep<TPrestep> where TAccumulatedImpulses : struct, INonconvexContactAccumulatedImpulses<TAccumulatedImpulses>

Parameters

bodyHandle BodyHandle

Body handle referenced by the constraint.

prestep TPrestep

Prestep data associated with the constraint.

impulses TAccumulatedImpulses

Accumulated impulses associated with the constraint.

Type Parameters

TPrestep

Type of the prestep data returned.

TAccumulatedImpulses

Type of the accumulated impulses data returned.

NonconvexTwoBody<TPrestep, TAccumulatedImpulses>(BodyHandle, BodyHandle, ref TPrestep, ref TAccumulatedImpulses)

Provides a reference to a nonconvex two body contact constraint. Constraint data is in the first lane of the direct reference (slot 0 of vectors).

void NonconvexTwoBody<TPrestep, TAccumulatedImpulses>(BodyHandle bodyHandleA, BodyHandle bodyHandleB, ref TPrestep prestep, ref TAccumulatedImpulses impulses) where TPrestep : struct, ITwoBodyNonconvexContactPrestep<TPrestep> where TAccumulatedImpulses : struct, INonconvexContactAccumulatedImpulses<TAccumulatedImpulses>

Parameters

bodyHandleA BodyHandle

First body handle referenced by the constraint.

bodyHandleB BodyHandle

Second body handle referenced by the constraint.

prestep TPrestep

Prestep data associated with the constraint.

impulses TAccumulatedImpulses

Accumulated impulses associated with the constraint.

Type Parameters

TPrestep

Type of the prestep data returned.

TAccumulatedImpulses

Type of the accumulated impulses data returned.