2022-10-13 22:47:30 +00:00
|
|
|
#ifndef _COLLISIONUTIL
|
|
|
|
#define _COLLISIONUTIL
|
|
|
|
|
2022-12-31 22:07:51 +00:00
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
|
2023-01-10 06:51:58 +00:00
|
|
|
class CAABox;
|
|
|
|
class CMaterialList;
|
2022-10-13 22:47:30 +00:00
|
|
|
class CCollisionInfoList;
|
2022-10-21 00:26:38 +00:00
|
|
|
class CVector3f;
|
2022-10-13 22:47:30 +00:00
|
|
|
|
|
|
|
namespace CollisionUtil {
|
|
|
|
|
|
|
|
void AddAverageToFront(const CCollisionInfoList& in, CCollisionInfoList& out);
|
2022-10-21 00:26:38 +00:00
|
|
|
bool TriBoxOverlap(const CVector3f& boxcenter, const CVector3f& boxhalfsize,
|
|
|
|
const CVector3f& trivert0, const CVector3f& trivert1, const CVector3f& trivert2);
|
2023-01-10 06:51:58 +00:00
|
|
|
bool BoxLineTest(const CAABox&, const CVector3f&, const CVector3f&, float&, float&, int&, bool&);
|
|
|
|
|
|
|
|
bool AABoxAABoxIntersection(const CAABox& left, const CAABox& right);
|
|
|
|
bool AABoxAABoxIntersection(const CAABox& left, const CMaterialList& leftFilter,
|
|
|
|
const CAABox& right, const CMaterialList& rightFilter,
|
|
|
|
CCollisionInfoList& list);
|
2022-10-13 22:47:30 +00:00
|
|
|
|
|
|
|
} // namespace CollisionUtil
|
|
|
|
|
|
|
|
#endif // _COLLISIONUTIL
|