pub use collision::algorithm::minkowski::GJK2;
pub use collision::primitive::{Circle, ConvexPolygon, Particle2, Rectangle};
pub use core::collide2d::*;
pub use core::{CollisionMode, CollisionStrategy};
use cgmath::Point2;
use collision::dbvt::{DynamicBoundingVolumeTree, TreeValueWrapped};
use collision::primitive::Primitive2;
use collision::Aabb2;
use specs::prelude::Entity;
use collide::{BasicCollisionSystem, SpatialCollisionSystem, SpatialSortingSystem};
use core::ContactEvent;
pub type ContactEvent2<S> = ContactEvent<Entity, Point2<S>>;
pub type BasicCollisionSystem2<S, T, Y = ()> =
BasicCollisionSystem<Primitive2<S>, T, TreeValueWrapped<Entity, Aabb2<S>>, Aabb2<S>, Y>;
pub type SpatialSortingSystem2<S, T, Y = ()> =
SpatialSortingSystem<Primitive2<S>, T, TreeValueWrapped<Entity, Aabb2<S>>, Aabb2<S>, Y>;
pub type SpatialCollisionSystem2<S, T, Y = ()> = SpatialCollisionSystem<
Primitive2<S>,
T,
(usize, TreeValueWrapped<Entity, Aabb2<S>>),
Aabb2<S>,
Y,
>;
pub type DynamicBoundingVolumeTree2<S> =
DynamicBoundingVolumeTree<TreeValueWrapped<Entity, Aabb2<S>>>;