java.lang.Object
technology.sola.engine.physics.utils.CollisionUtils
The CollisionUtils class is a collection of various methods that help in collision detection and resolution.
-
Method Summary
Modifier and TypeMethodDescriptionstatic @Nullable MinimumTranslationVectorcalculateAABBVsAABB(Rectangle rectangleA, Rectangle rectangleB) Calculates aMinimumTranslationVectorfor a collision between two axis-alignedRectangles.static @Nullable MinimumTranslationVectorcalculateAABBVsCircle(Rectangle rectangle, Circle circle) static @Nullable MinimumTranslationVectorcalculateCircleVsCircle(Circle circleA, Circle circleB) Calculates aMinimumTranslationVectorfor a collision between twoCircles.static @Nullable CollisionManifoldcalculateCollisionManifold(technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntryA, technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntryB) Calculates aCollisionManifoldfor twoEntitythat collided.
-
Method Details
-
calculateCollisionManifold
public static @Nullable CollisionManifold calculateCollisionManifold(technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntryA, technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntryB) Calculates aCollisionManifoldfor twoEntitythat collided.- Parameters:
viewEntryA- the first Entity in aView2EntryofColliderComponentandTransformComponentviewEntryB- the second Entity in aView2EntryofColliderComponentandTransformComponent- Returns:
- the resulting
CollisionManifold
-
calculateAABBVsCircle
public static @Nullable MinimumTranslationVector calculateAABBVsCircle(Rectangle rectangle, Circle circle) - Parameters:
rectangle- the rectanglecircle- the circle- Returns:
- the
MinimumTranslationVectorif there is a collision or else null
-
calculateAABBVsAABB
public static @Nullable MinimumTranslationVector calculateAABBVsAABB(Rectangle rectangleA, Rectangle rectangleB) Calculates aMinimumTranslationVectorfor a collision between two axis-alignedRectangles.- Parameters:
rectangleA- the first rectanglerectangleB- the second rectangle- Returns:
- the
MinimumTranslationVectorif there is a collision or else null
-
calculateCircleVsCircle
public static @Nullable MinimumTranslationVector calculateCircleVsCircle(Circle circleA, Circle circleB) Calculates aMinimumTranslationVectorfor a collision between twoCircles.- Parameters:
circleA- the first circlecircleB- the second circle- Returns:
- the
MinimumTranslationVectorif there is a collision or else null
-