Box3I

Engine/source/math/mBox.h

Bounding Box.

More...

Public Attributes

Maximum extents of box.

Minimum extents of box.

Public Functions

Box3I(const Point3I & in_rMin, const Point3I & in_rMax, const bool in_overrideCheck)

Create a box from two points.

Box3I(S32 xmin, S32 ymin, S32 zmin, S32 max, S32 ymax, S32 zmax)

Create a box from six extent values.

getCenter(Point3I * center)

Get the center of this box.

intersect(const Box3I & in_rIntersect)

Perform an intersection operation with another box and store the results in this box.

bool
isContained(const Box3I & in_rContained)

Check to see if another box is contained in this box.

bool
isContained(const Point3I & in_rContained)

Check to see if a point is contained in this box.

bool
isOverlapped(const Box3I & in_rOverlap)

Check to see if another box overlaps this box.

bool

Check that the box is valid.

Detailed Description

Bounding Box.

A helper class for working with boxes. It runs at F32 precision.

see:

Public Attributes

Point3I maxExtents 

Maximum extents of box.

Point3I minExtents 

Minimum extents of box.

Public Functions

Box3I()

Box3I(const Point3I & in_rMin, const Point3I & in_rMax, const bool in_overrideCheck)

Create a box from two points.

Normally, this function will compensate for mismatched min/max values. If you know your values are valid, you can set in_overrideCheck to true and skip this.

Parameters:

in_rMin

Minimum extents of box.

in_rMax

Maximum extents of box.

in_overrideCheck

Pass true to skip check of extents.

Box3I(S32 xmin, S32 ymin, S32 zmin, S32 max, S32 ymax, S32 zmax)

Create a box from six extent values.

No checking is performed as to the validity of these extents, unlike the other constructor.

extend(const Point3I & p)

getCenter(Point3I * center)

Get the center of this box.

This is the average of min and max.

intersect(const Box3I & in_rIntersect)

Perform an intersection operation with another box and store the results in this box.

isContained(const Box3I & in_rContained)

Check to see if another box is contained in this box.

isContained(const Point3I & in_rContained)

Check to see if a point is contained in this box.

isOverlapped(const Box3I & in_rOverlap)

Check to see if another box overlaps this box.

isValidBox()

Check that the box is valid.

Currently, this just means that min < max.

len_x()

len_y()

len_z()