123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- #ifndef __CC_AABB_H__
- #define __CC_AABB_H__
- #include "base/ccMacros.h"
- #include "math/CCMath.h"
- NS_CC_BEGIN
- class CC_DLL AABB
- {
- public:
-
- AABB();
-
-
- AABB(const Vec3& min, const Vec3& max);
-
-
- AABB(const AABB& box);
-
-
- Vec3 getCenter();
-
- void getCorners(Vec3 *dst) const;
-
- bool intersects(const AABB& aabb) const;
-
- bool containPoint(const Vec3& point) const;
-
- void merge(const AABB& box);
-
- void set(const Vec3& min, const Vec3& max);
-
-
- void reset();
-
-
- bool isEmpty() const;
-
- void updateMinMax(const Vec3* point, ssize_t num);
-
-
- void transform(const Mat4& mat);
- public:
- Vec3 _min;
- Vec3 _max;
- };
- NS_CC_END
- #endif
|