w0rm / elm-physics / Physics.Contact


type alias Contact data =
Internal.Contact.Protected data

Contact between two colliding bodies.

bodies : Contact data -> ( Physics.Body.Body data, Physics.Body.Body data )

Get contacting bodies in unspecified order.

either : (Physics.Body.Body data -> Basics.Bool) -> Contact data -> Basics.Bool

Return true if at least one body satisfies the test.

both : (Physics.Body.Body data -> Basics.Bool) -> Contact data -> Basics.Bool

Return true if both bodies satisfy the test.

points : Contact data -> List { point : Point3d Length.Meters Physics.Coordinates.WorldCoordinates, normal : Direction3d Physics.Coordinates.WorldCoordinates }

Get coordinates and normals of contact points.

Normals are defined on the surface of the first body, that is returned from bodies.

centerPoint : Contact data -> Point3d Length.Meters Physics.Coordinates.WorldCoordinates

Get the centroid of all the contact points.