8 namespace solverPrimitive {
11 const char *solver_name) {
12 std::cout << std::string(
"collision function between object of types ") +
14 std::string(
" and ") +
16 std::string(
"is not implemented in the solver ") +
17 std::string(solver_name)
27 static_cast<const RectangleAABB &>(obj1),
28 static_cast<const RectangleAABB &>(obj2)));
35 static_cast<const RectangleAABB &>(obj1),
36 static_cast<const RectangleOBB &>(obj2)));
62 static_cast<const Point &>(obj2),
63 static_cast<const RectangleAABB &>(obj1)));
70 static_cast<const RectangleAABB &>(obj2),
71 static_cast<const RectangleOBB &>(obj1)));
78 static_cast<const RectangleOBB &>(obj1),
79 static_cast<const RectangleOBB &>(obj2)));
153 static_cast<const Point &>(obj2), static_cast<const Sphere &>(obj1)));
207 static_cast<const Point &>(obj1),
208 static_cast<const RectangleAABB &>(obj2)));
224 static_cast<const Point &>(obj1), static_cast<const Sphere &>(obj2)));
241 static_cast<const Point &>(obj1), static_cast<const Point &>(obj2)));
std::size_t collide_point_aabb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_sphere_triangle(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_sphere_point(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_triangle_obb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_sphere_sphere(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_triangle_point(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_sphere_obb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_aabb_aabb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_aabb_obb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_point_triangle(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_point_obb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_obb_obb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_obb_aabb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
Universal structure specifying collision request properties.
std::size_t collide_aabb_triangle(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_point_sphere(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
bool set_result(bool res)
std::size_t collide_obb_point(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
virtual CollisionObjectType getCollisionObjectType() const
std::size_t collide_triangle_aabb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_point_point(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_triangle_triangle(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
bool collisionDetection(const Point &point_first, const Point &point_second)
std::size_t collide_sphere_aabb(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_aabb_point(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_obb_sphere(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_triangle_sphere(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
Base class for CollisionObjects and some of their groups.
std::size_t collide_obb_triangle(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
std::size_t collide_aabb_sphere(const CollisionObject &obj1, const CollisionObject &obj2, CollisionResult &res, const CollisionRequest &req)
Structure holding result for a collision request.
int not_implemented_error(const CollisionObject &obj1, const CollisionObject &obj2, const char *solver_name)