CrystalSpace

Public API Reference

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

box.h File Reference

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

#include "csextern.h"
#include "cstypes.h"
#include "csgeom/csrect.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

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.


Enumeration Type Documentation

anonymous enum
 

Enumerator:
CS_BOX_CORNER_xy  min X, min Y
CS_BOX_CORNER_xY  min X, max Y
CS_BOX_CORNER_Xy  max X, min Y
CS_BOX_CORNER_XY  max X, max Y
CS_BOX_CENTER2  center

Definition at line 53 of file box.h.

anonymous enum
 

Enumerator:
CS_BOX_EDGE_xy_Xy  from min X, min Y to max X, min Y
CS_BOX_EDGE_Xy_xy  from max X, min Y to min X, min Y
CS_BOX_EDGE_Xy_XY  from max X, min Y to max X, max Y
CS_BOX_EDGE_XY_Xy  from max X, max Y to max X, min Y
CS_BOX_EDGE_XY_xY  from max X, max Y to min X, max Y
CS_BOX_EDGE_xY_XY  from min X, max Y to max X, max Y
CS_BOX_EDGE_xY_xy  from min X, max Y to min X, min Y
CS_BOX_EDGE_xy_xY  from min X, min Y to min X, max Y

Definition at line 72 of file box.h.

anonymous enum
 

Enumerator:
CS_BOX_CORNER_xyz  min X, min Y, min Z
CS_BOX_CORNER_xyZ  min X, min Y, max Z
CS_BOX_CORNER_xYz  min X, max Y, min Z
CS_BOX_CORNER_xYZ  min X, max Y, max Z
CS_BOX_CORNER_Xyz  min X, min Y, min Z
CS_BOX_CORNER_XyZ  max X, min Y, max Z
CS_BOX_CORNER_XYz  max X, max Y, min Z
CS_BOX_CORNER_XYZ  max X, max Y, max Z
CS_BOX_CENTER3  center

Definition at line 471 of file box.h.

anonymous enum
 

Enumerator:
CS_BOX_SIDE_x  min X
CS_BOX_SIDE_X  max X
CS_BOX_SIDE_y  min Y
CS_BOX_SIDE_Y  max Y
CS_BOX_SIDE_z  min Z
CS_BOX_SIDE_Z  max Z
CS_BOX_INSIDE  inside

Definition at line 498 of file box.h.

anonymous enum
 

Enumerator:
CS_BOX_EDGE_Xyz_xyz  from max X, min Y, min Z to min X, min Y, min Z
CS_BOX_EDGE_xyz_Xyz  from min X, min Y, min Z to max X, min Y, min Z
CS_BOX_EDGE_xyz_xYz  from min X, min Y, min Z to min X, max Y, min Z
CS_BOX_EDGE_xYz_xyz  from min X, max Y, min Z to min X, min Y, min Z
CS_BOX_EDGE_xYz_XYz  from min X, max Y, min Z to max X, max Y, min Z
CS_BOX_EDGE_XYz_xYz  from max X, max Y, min Z to min X, max Y, min Z
CS_BOX_EDGE_XYz_Xyz  from max X, max Y, min Z to max X, min Y, min Z
CS_BOX_EDGE_Xyz_XYz  from max X, min Y min Z to max X, max Y, min Z
CS_BOX_EDGE_Xyz_XyZ  from max X, min Y, min Z to max X, min Y, max Z
CS_BOX_EDGE_XyZ_Xyz  from max X, min Y, max Z to max X, min Y, min Z
CS_BOX_EDGE_XyZ_XYZ  from max X, min Y, max Z to max X, max Y, max Z
CS_BOX_EDGE_XYZ_XyZ  from max X, max Y, max Z to max X, min Y, max Z
CS_BOX_EDGE_XYZ_XYz  from max X, max Y, max Z to max X, max Y, min Z
CS_BOX_EDGE_XYz_XYZ  from max X, max Y, min Z to max X, max Y, max Z
CS_BOX_EDGE_XYZ_xYZ  from max X, max Y, max Z to min X, max Y, max Z
CS_BOX_EDGE_xYZ_XYZ  from min X, max Y, max Z to max X, max Y, max Z
CS_BOX_EDGE_xYZ_xYz  from min X, max Y, max Z to min X, max Y, min Z
CS_BOX_EDGE_xYz_xYZ  from min X, max Y, min Z to min X, max Y, max Z
CS_BOX_EDGE_xYZ_xyZ  from min X, max Y, max Z to min X, min Y, max Z
CS_BOX_EDGE_xyZ_xYZ  from min X, min Y, max Z to min X, max Y, max Z
CS_BOX_EDGE_xyZ_xyz  from min X, min Y, max Z to min X, min Y, min Z
CS_BOX_EDGE_xyz_xyZ  from min X, min Y, min Z to min X, min Y, max Z
CS_BOX_EDGE_xyZ_XyZ  from min X, min Y, max Z to max X, min Y, max Z
CS_BOX_EDGE_XyZ_xyZ  from max X, min Y, max Z to min X, min Y, max Z

Definition at line 521 of file box.h.


Generated for Crystal Space by doxygen 1.4.4