825 B
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);
}