30 max_(
Point3D::Constant(std::numeric_limits<T>::lowest())) {}
56 min_ = min_.cwiseMin(p);
57 max_ = max_.cwiseMax(p);
66 min_ = min_.cwiseMin(other.min_);
67 max_ = max_.cwiseMax(other.max_);
88 return 2.0 * (e.x() * e.y() + e.y() * e.z() + e.z() * e.x());
97 return e.x() * e.y() * e.z();
107 return (p.array() >= min_.array()).all() && (p.array() <= max_.array()).all();
117 return (min_.array() <= other.max_.array()).all()
118 && (max_.array() >= other.min_.array()).all();
Point3D center() const
包围盒中心点
bool contains(const Point3D &p) const
测试点是否在包围盒内部(含边界)
bool intersects(const AABB &other) const
测试两个包围盒是否相交(含边界接触)
T surface_area() const
包围盒表面积
void expand(const AABB &other)
扩展包围盒以包含另一个 AABB
AABB(const Point3D &min, const Point3D &max)
从两个角点构造包围盒
Vector3D extent() const
包围盒对角线向量(从 min 到 max)
void expand(const Point3D &p)
扩展包围盒以包含给定点
const Point3D & min() const
获取最小角点
const Point3D & max() const
获取最大角点
foundation::Vector3D Vector3D
双精度三维向量(重新导出)
foundation::Point3D Point3D
双精度三维点(重新导出)