| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# csgeom/box.h File Reference

Bounding boxes for 2D and 3D space. More...

`#include "csextern.h"`
`#include "cstypes.h"`
`#include "csgeom/csrect.h"`
`#include "csgeom/math.h"`
`#include "csgeom/vector2.h"`
`#include "csgeom/vector3.h"`
`#include "csgeom/segment.h"`
`#include "csutil/array.h"`

Go to the source code of this file.

## Classes
class | csBox2
| A bounding box in 2D space. More...
class | csBox3
| A bounding box in 3D space. More...
struct | csBox3::bEdge
struct | csBox3::Outline
| This table also contains an array of sides visible from that region. More...
## Corner indices
For csBox2::GetCorner().
enum | { CS_BOX_CORNER_xy = 0, CS_BOX_CORNER_xY = 1, CS_BOX_CORNER_Xy = 2, CS_BOX_CORNER_XY = 3, CS_BOX_CENTER2 = 4 }
## Indices of edges for csBox2.
Index e+1 is opposite edge of e (with e even).
enum | { CS_BOX_EDGE_xy_Xy = 0, CS_BOX_EDGE_Xy_xy = 1, CS_BOX_EDGE_Xy_XY = 2, CS_BOX_EDGE_XY_Xy = 3, CS_BOX_EDGE_XY_xY = 4, CS_BOX_EDGE_xY_XY = 5, CS_BOX_EDGE_xY_xy = 6, CS_BOX_EDGE_xy_xY = 7 }
## Indices of corner vertices for csBox3.
Used by csBox3::GetCorner().
enum | { CS_BOX_CORNER_xyz = 0, CS_BOX_CORNER_xyZ = 1, CS_BOX_CORNER_xYz = 2, CS_BOX_CORNER_xYZ = 3, CS_BOX_CORNER_Xyz = 4, CS_BOX_CORNER_XyZ = 5, CS_BOX_CORNER_XYz = 6, CS_BOX_CORNER_XYZ = 7, CS_BOX_CENTER3 = 8 }
## Indices of faces for csBox3.
Used by csBox3::GetSide().
enum | { CS_BOX_SIDE_x = 0, CS_BOX_SIDE_X = 1, CS_BOX_SIDE_y = 2, CS_BOX_SIDE_Y = 3, CS_BOX_SIDE_z = 4, CS_BOX_SIDE_Z = 5, CS_BOX_INSIDE = 6 }
## Indices of edges for csBox3.
Index e+1 is opposite edge of e (with e even).
enum | { CS_BOX_EDGE_Xyz_xyz = 0, CS_BOX_EDGE_xyz_Xyz = 1, CS_BOX_EDGE_xyz_xYz = 2, CS_BOX_EDGE_xYz_xyz = 3, CS_BOX_EDGE_xYz_XYz = 4, CS_BOX_EDGE_XYz_xYz = 5, CS_BOX_EDGE_XYz_Xyz = 6, CS_BOX_EDGE_Xyz_XYz = 7, CS_BOX_EDGE_Xyz_XyZ = 8, CS_BOX_EDGE_XyZ_Xyz = 9, CS_BOX_EDGE_XyZ_XYZ = 10, CS_BOX_EDGE_XYZ_XyZ = 11, CS_BOX_EDGE_XYZ_XYz = 12, CS_BOX_EDGE_XYz_XYZ = 13, CS_BOX_EDGE_XYZ_xYZ = 14, CS_BOX_EDGE_xYZ_XYZ = 15, CS_BOX_EDGE_xYZ_xYz = 16, CS_BOX_EDGE_xYz_xYZ = 17, CS_BOX_EDGE_xYZ_xyZ = 18, CS_BOX_EDGE_xyZ_xYZ = 19, CS_BOX_EDGE_xyZ_xyz = 20, CS_BOX_EDGE_xyz_xyZ = 21, CS_BOX_EDGE_xyZ_XyZ = 22, CS_BOX_EDGE_XyZ_xyZ = 23 }
## Defines
#define | CS_BOUNDINGBOX_MAXVALUE 1000000000.
| The maximum value that a coordinate in the bounding box can use.

## Detailed Description

Bounding boxes for 2D and 3D space.

Definition in file box.h.