collision v0.1.0 Collidable protocol

Summary

Functions

Examples

iex> Collidable.collision?(

...>   %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2},
...>   %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2, midpoint: %{x: 4, y: 4}}
...> )

false

Examples

iex> Collidable.resolution( …> %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2}, …> %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2, midpoint: %{x: 4, y: 4}} …> ) nil

Types

t :: term

Functions

collision?(any, any)

## Examples iex> Collidable.collision?(

...>   %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2},
...>   %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2, midpoint: %{x: 4, y: 4}}
...> )

false

iex> Collidable.SeparatingAxis.collision?(

...>   %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2},
...>   %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 4,
...>     midpoint: %{x: 4, y: 2}}
...> )

true

resolution(any, any)

Examples

iex> Collidable.resolution( …> %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2}, …> %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2, midpoint: %{x: 4, y: 4}} …> ) nil

iex> Collidable.resolution( …> %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 2}, …> %Collision.Polygon.RegularPolygon{n_sides: 4, radius: 4, …> midpoint: %{x: 4, y: 1}} …> ) {%Collision.Vector.Vector2{x: 0.7071067811865475, y: 0.7071067811865475}, 0.7071067811865475}

resolve_collision(any, any)