Bounds#
- 
struct Bounds#
- Axis-aligned bounding box representation using lower and upper corner points. - This structure represents a 3D axis-aligned bounding box (AABB) defined by two corner points: lower and upper. It provides methods for computing geometric properties, expanding the bounds, and testing for overlaps with points and other bounds. - The bounds can be in an empty state where lower > upper, which is useful for initialization and union operations. - Public Functions - 
inline Bounds()#
- Default constructor creating empty bounds. - Initializes the bounds to an empty state where lower is set to positive infinity and upper is set to negative infinity. This allows subsequent union operations to work correctly. 
 - 
inline Bounds(const Vec3 &lower, const Vec3 &upper)#
- Constructor creating bounds from lower and upper corner points. - Parameters:
- lower – [in] The lower corner point of the bounds 
- upper – [in] The upper corner point of the bounds 
 
 
 - 
inline Vec3 GetCenter() const#
- Computes the center point of the bounds. - Returns:
- The center point as a Vec3 
 
 - 
inline Vec3 GetEdges() const#
- Computes the dimensions (extents) of the bounds. - Returns:
- The dimensions as a Vec3 representing width, height, and depth 
 
 - 
inline void Expand(float r)#
- Expands the bounds by a uniform amount in all directions. - Parameters:
- r – [in] The amount to expand by in all directions 
 
 - 
inline void Expand(const Vec3 &r)#
- Expands the bounds by different amounts in each direction. - Parameters:
- r – [in] The amounts to expand by in each direction (x, y, z) 
 
 - 
inline bool Empty() const#
- Checks if the bounds are empty. - Returns:
- True if the bounds are empty (lower >= upper in any dimension), false otherwise 
 
 
- 
inline Bounds()#