CrystalSpace

Public API Reference

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.


Generated for Crystal Space by doxygen 1.4.7