# Box3I

Engine/source/math/mBox.h

Bounding Box.

More...

## 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.

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

Create a box from six extent values.

```void
```
```extend(const Point3I & p)
```
```void
```
```getCenter(Point3I * center)
```

Get the center of this box.

```void
```
```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
```
```isValidBox()
```

Check that the box is valid.

```S32
```
```len_x()
```
```S32
```
```len_y()
```
```S32
```
```len_z()
```

## 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()
```