prime/include/Collision/COBBox.hpp
Luke Street a8c486425d Match & link CFlaahgraPlants
Former-commit-id: e662d052471da7415559814c1396aef4c2dfaefb
2022-11-25 23:03:36 -05:00

32 lines
790 B
C++

#ifndef _COBBOX
#define _COBBOX
#include "Kyoto/Math/CAABox.hpp"
#include "Kyoto/Math/CTransform4f.hpp"
#include "Kyoto/Math/CVector3f.hpp"
class CInputStream;
class CMRay;
class COBBox {
public:
COBBox(const CTransform4f& xf, const CVector3f& extents);
COBBox(CInputStream& in);
CAABox CalculateAABox(const CTransform4f& xf) const;
static COBBox FromAABox(const CAABox& box, const CTransform4f& xf);
bool LineIntersectsBox(const CMRay& ray, float& penetration) const;
bool AABoxIntersectsBox(const CAABox& box) const;
bool OBBIntersectsBox(const COBBox& box) const;
const CTransform4f& GetTransform() const { return mTransform; }
const CVector3f& GetSize() const { return mExtents; }
private:
CTransform4f mTransform;
CVector3f mExtents;
};
#endif // _COBBOX