Tactics: Western Philosophers Vs. Musicians  0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Enumerations | Variables
OpenSkyNet::CD Namespace Reference

Collision volume data and collision detection methods. More...

Classes

class  Grid
 
struct  HitInfo
 
struct  Shape
 
struct  Sphere
 
struct  Box
 
struct  Plane
 
class  Collidable
 
class  Volume
 

Enumerations

enum  DIRECTION {
  NONE, NEG_X, POS_X, NEG_Y,
  POS_Y, NEG_Z, POS_Z, NEG_X_NEG_Y,
  NEG_X_POS_Y, NEG_X_NEG_Z, NEG_X_POS_Z, POS_X_NEG_Y,
  POS_X_POS_Y, POS_X_NEG_Z, POS_X_POS_Z, NEG_Y_NEG_Z,
  NEG_Y_POS_Z, POS_Y_NEG_Z, POS_Y_POS_Z, NEG_X_NEG_Y_NEG_Z,
  NEG_X_NEG_Y_POS_Z, NEG_X_POS_Y_NEG_Z, NEG_X_POS_Y_POS_Z, POS_X_NEG_Y_NEG_Z,
  POS_X_NEG_Y_POS_Z, POS_X_POS_Y_NEG_Z, POS_X_POS_Y_POS_Z
}
 
enum  SHAPE_TYPE { SPHERE, BOX, PLANE }
 

Variables

Point< int > g_binLookupTable [MAX_X_DIVISIONS_FOR_ALL_GRIDS][MAX_Y_DIVISIONS_FOR_ALL_GRIDS][MAX_Z_DIVISIONS_FOR_ALL_GRIDS]
 
Gridg_initialGrid = 0
 
Gridg_subdividedGrids [MAX_GLOBAL_GRID_SUBDIVISIONS]
 
const Utils::uint MAX_X_DIVISIONS_FOR_ALL_GRIDS = 64
 
const Utils::uint MAX_Y_DIVISIONS_FOR_ALL_GRIDS = 64
 
const Utils::uint MAX_Z_DIVISIONS_FOR_ALL_GRIDS = 64
 

Detailed Description

Collision volume data and collision detection methods.

Enumeration Type Documentation

Directions relative to the Grid axes.

Enumerator
NONE 
NEG_X 
POS_X 
NEG_Y 
POS_Y 
NEG_Z 
POS_Z 
NEG_X_NEG_Y 
NEG_X_POS_Y 
NEG_X_NEG_Z 
NEG_X_POS_Z 
POS_X_NEG_Y 
POS_X_POS_Y 
POS_X_NEG_Z 
POS_X_POS_Z 
NEG_Y_NEG_Z 
NEG_Y_POS_Z 
POS_Y_NEG_Z 
POS_Y_POS_Z 
NEG_X_NEG_Y_NEG_Z 
NEG_X_NEG_Y_POS_Z 
NEG_X_POS_Y_NEG_Z 
NEG_X_POS_Y_POS_Z 
POS_X_NEG_Y_NEG_Z 
POS_X_NEG_Y_POS_Z 
POS_X_POS_Y_NEG_Z 
POS_X_POS_Y_POS_Z 

All collision detection shape types.

Enumerator
SPHERE 
BOX 
PLANE 

Variable Documentation

Math::Point< int > OpenSkyNet::CD::g_binLookupTable

This allows for fast access to bins (meaning the Points containing their component dimension indices). Their addresses can be used in hash tables, and it removes the need to construct Points for methods that do not accept the 3 dimensions separately.

CD::Grid * OpenSkyNet::CD::g_initialGrid = 0
CD::Grid * OpenSkyNet::CD::g_subdividedGrids
const Utils::uint OpenSkyNet::CD::MAX_X_DIVISIONS_FOR_ALL_GRIDS = 64

There is a limit to divisions to allow for a bin lookup 3D array.

const Utils::uint OpenSkyNet::CD::MAX_Y_DIVISIONS_FOR_ALL_GRIDS = 64

There is a limit to divisions to allow for a bin lookup 3D array.

const Utils::uint OpenSkyNet::CD::MAX_Z_DIVISIONS_FOR_ALL_GRIDS = 64

There is a limit to divisions to allow for a bin lookup 3D array.