bonk-docs/content/api/IShape2D.md

825 B

title date weight
IShape2D 2019-09-15T11:06:50-07:00 5

An IShape2D is an interface that, when implemented, allows for computation of Minkowski Differences.

Your IShape2D implementations should be structs for memory efficiency purposes.

Methods

Vector2 Support(Vector2 direction, Transform2D transform)

A method which implements a support function for use with a Minkowski Difference.

The support function must, given a directional vector and a Transform2D, return the farthest possible vertex of the transformed shape in the given direction.

For example, the support function for Bonk's Circle implementation:

public Vector2 Support(Vector2 direction, Transform2D transform)
{
    return Vector2.Transform(Vector2.Normalize(direction) * Radius, transform.TransformMatrix);
}