3D float AABB.
typedef struct B3f

Minimum point.
S3f a;

Maximum point.
S3f b;

End block 'B3f'
} B3f;

Check if box area is greater than zero.
API bool B3fIsValid(B3f b);
b: Box.
returns: True if box has a positive area.

Check if box intersects with scalar.
API bool B3fIsIntersectS3f(B3f b, S3f s);
b: Box.
s: Scalar.
returns: True if scalar intersects box.

Check if boxes intersect.
API bool B3fIsIntersect(B3f a, B3f b);
a: First box.
b: Second box.
returns: True if second box intersects first box.

Check if second box is inside in first box.
API bool B3fIsInside(B3f a, B3f b);
a: First box.
b: Second box.
returns: True if second box is inside first box.

Check if box's a and b scalars are zero.
API bool B3fIsZero(B3f b);
b: Box.
returns: True if box points are zero.

Construct scalar that is the dimenensions of the box.
API S3f B3fDims(B3f b);
b: Box.
returns: Box dimensions.

Get area of box.
API float B3fArea(B3f b);
b: Box.
returns: Area of box.

Construct scalar that is the point within the box derived from normalized local box coordinates.
API S3f B3fPoint(B3f b, float x, float y, float z);
b: b.
x: Normalized local box X.
y: Normalized local box Y.
returns: Point within box.

Construct box that is the intersection of input boxes.
API B3f B3fIntersect(B3f a, B3f b);
a: First box.
b: Second box.
returns: Intersection box.

Construct scalar from the input scalar constrained to the box.
API S3f B3fConstrainS3f(B3f b, S3f s);
b: Box.
s: Scalar.
returns: Constrained scalar.

Construct box that is the second box constrained to the first box.
API B3f B3fConstrain(B3f a, B3f b);
a: First box.
b: Second box.
returns: Constrained box.

Encompass first box around second box. Encompassing box must be initially constructed to match desired starting point, then call this function to expand encompassing box around additional scalars or boxes.
API void B3fEncloseS3f(B3f *b, S3f s);
a: First box.
b: Second box.

Construct box that is sum of input boxes.
API void B3fEnclose(B3f *a, B3f b);
a: First box.
b: Second box.
returns: Sum of boxes.

Construct box that is sum of input boxes.
API B3f B3fAdd(B3f a, B3f b);
a: First box.
b: Second box.
returns: Sum of boxes.

Construct box that is difference of input boxes.
API B3f B3fSub(B3f a, B3f b);
a: First box.
b: Second box.
returns: Difference of boxes.

Construct box that is product of input boxes.
API B3f B3fMul(B3f a, B3f b);
a: First box.
b: Second box.
returns: Product of boxes.

Construct box that is division of input boxes.
API B3f B3fDiv(B3f a, B3f b);
a: First box.
b: Second box.
returns: Division of boxes.

Construct 3D float box.
API B3f B3fFromS3f(S3f a, S3f b);
a: Min scalar.
b: Max scalar.
returns: 2D integer box.

Construct 3D float box.
API B3f B3fMake(float ax, float ay, float az, float bx, float by, float bz);
ax: Min X scalar.
ay: Min Y scalar.
az: Min Z scalar.
bx: Max X scalar.
by: Max Y scalar.
bz: Max Z scalar.
returns: 3D float box.