My Project: openb3dlib.mod/openb3d/src/collision.h File Reference

My Project

Classes | Enumerations | Functions | Variables
collision.h File Reference
`#include "tree.h"`
`#include "geom.h"`
`#include <set>`
`#include <map>`
`#include <vector>`

Go to the source code of this file.

## Classes

struct | Collision
struct | CollisionInfo

## Enumerations

enum | { COLLISION_METHOD_SPHERE =1, COLLISION_METHOD_POLYGON =2, COLLISION_METHOD_BOX =3 }
enum | { COLLISION_RESPONSE_NONE =0, COLLISION_RESPONSE_STOP =1, COLLISION_RESPONSE_SLIDE =2, COLLISION_RESPONSE_SLIDEXZ =3 }

## Functions

Vector * | C_CreateVecObject (float x, float y, float z)
void | C_DeleteVecObject (Vector *vec)
void | C_UpdateVecObject (Vector *vec, float x, float y, float z)
float | C_VecX (Vector *vec)
float | C_VecY (Vector *vec)
float | C_VecZ (Vector *vec)
Line * | C_CreateLineObject (float ox, float oy, float oz, float dx, float dy, float dz)
void | C_UpdateLineObject (Line *line, float ox, float oy, float oz, float dx, float dy, float dz)
void | C_DeleteLineObject (Line *line)
MMatrix * | C_CreateMatrixObject (Vector *vec_i, Vector *vec_j, Vector *vec_k)
void | C_UpdateMatrixObject (MMatrix *mat, Vector *vec_i, Vector *vec_j, Vector *vec_k)
void | C_DeleteMatrixObject (MMatrix *mat)
Transform * | C_CreateTFormObject (MMatrix *mat, Vector *vec)
void | C_UpdateTFormObject (Transform *tform, MMatrix *mat, Vector *vec)
void | C_DeleteTFormObject (Transform *tform)
CollisionInfo * | C_CreateCollisionInfoObject (Vector *dv, Vector *sv, Vector *radii)
void | C_UpdateCollisionInfoObject2 (CollisionInfo *ci, Vector *dv, Vector *sv, Vector *radii)
void | C_UpdateCollisionInfoObject (CollisionInfo *ci, float dst_radius, float ax, float ay, float az, float bx, float by, float bz)
void | C_DeleteCollisionInfoObject (CollisionInfo *ci)
Collision * | C_CreateCollisionObject ()
void | C_DeleteCollisionObject (Collision *col)
int | C_CollisionDetect (CollisionInfo *ci, Collision *coll, Transform *dst_tform, MeshCollider *mesh_col, int method)
int | C_CollisionResponse (CollisionInfo *ci, Collision *coll, int response)
int | C_CollisionFinal (CollisionInfo *ci)
int | C_Pick (CollisionInfo *ci, const Line *line, float radius, Collision *coll, Transform *dst_tform, MeshCollider *mesh_col, int pick_geom)
float | C_CollisionPosX ()
float | C_CollisionPosY ()
float | C_CollisionPosZ ()
float | C_CollisionX ()
float | C_CollisionY ()
float | C_CollisionZ ()
float | C_CollisionNX ()
float | C_CollisionNY ()
float | C_CollisionNZ ()
float | C_CollisionTime ()
int | C_CollisionSurface ()
int | C_CollisionTriangle ()

## Variables

const float | COLLISION_EPSILON =.001f

## Enumeration Type Documentation

## § anonymous enum

anonymous enum

Enumerator
COLLISION_METHOD_SPHERE |
COLLISION_METHOD_POLYGON |
COLLISION_METHOD_BOX |

## § anonymous enum

anonymous enum

Enumerator
COLLISION_RESPONSE_NONE |
COLLISION_RESPONSE_STOP |
COLLISION_RESPONSE_SLIDE |
COLLISION_RESPONSE_SLIDEXZ |

## Function Documentation

## § C_CollisionDetect()

int C_CollisionDetect | ( | CollisionInfo * | ci,
|  | Collision * | coll,
|  | Transform * | dst_tform,
|  | MeshCollider * | mesh_col,
|  | int | method
| ) |  |

## § C_CollisionFinal()

int C_CollisionFinal | ( | CollisionInfo * | ci | ) |

## § C_CollisionNX()

float C_CollisionNX | ( |  | ) |

## § C_CollisionNY()

float C_CollisionNY | ( |  | ) |

## § C_CollisionNZ()

float C_CollisionNZ | ( |  | ) |

## § C_CollisionPosX()

float C_CollisionPosX | ( |  | ) |

## § C_CollisionPosY()

float C_CollisionPosY | ( |  | ) |

## § C_CollisionPosZ()

float C_CollisionPosZ | ( |  | ) |

## § C_CollisionResponse()

int C_CollisionResponse | ( | CollisionInfo * | ci,
|  | Collision * | coll,
|  | int | response
| ) |  |

## § C_CollisionSurface()

int C_CollisionSurface | ( |  | ) |

## § C_CollisionTime()

float C_CollisionTime | ( |  | ) |

## § C_CollisionTriangle()

int C_CollisionTriangle | ( |  | ) |

## § C_CollisionX()

float C_CollisionX | ( |  | ) |

## § C_CollisionY()

float C_CollisionY | ( |  | ) |

## § C_CollisionZ()

float C_CollisionZ | ( |  | ) |

## § C_CreateCollisionInfoObject()

CollisionInfo* C_CreateCollisionInfoObject | ( | Vector * | dv,
|  | Vector * | sv,
|  | Vector * | radii
| ) |  |

## § C_CreateCollisionObject()

Collision* C_CreateCollisionObject | ( |  | ) |

## § C_CreateLineObject()

Line* C_CreateLineObject | ( | float | ox,
|  | float | oy,
|  | float | oz,
|  | float | dx,
|  | float | dy,
|  | float | dz
| ) |  |

## § C_CreateMatrixObject()

MMatrix* C_CreateMatrixObject | ( | Vector * | vec_i,
|  | Vector * | vec_j,
|  | Vector * | vec_k
| ) |  |

## § C_CreateTFormObject()

Transform* C_CreateTFormObject | ( | MMatrix * | mat,
|  | Vector * | vec
| ) |  |

## § C_CreateVecObject()

Vector* C_CreateVecObject | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |

## § C_DeleteCollisionInfoObject()

void C_DeleteCollisionInfoObject | ( | CollisionInfo * | ci | ) |

## § C_DeleteCollisionObject()

void C_DeleteCollisionObject | ( | Collision * | col | ) |

## § C_DeleteLineObject()

void C_DeleteLineObject | ( | Line * | line | ) |

## § C_DeleteMatrixObject()

void C_DeleteMatrixObject | ( | MMatrix * | mat | ) |

## § C_DeleteTFormObject()

void C_DeleteTFormObject | ( | Transform * | tform | ) |

## § C_DeleteVecObject()

void C_DeleteVecObject | ( | Vector * | vec | ) |

## § C_Pick()

int C_Pick | ( | CollisionInfo * | ci,
|  | const Line * | line,
|  | float | radius,
|  | Collision * | coll,
|  | Transform * | dst_tform,
|  | MeshCollider * | mesh_col,
|  | int | pick_geom
| ) |  |

## § C_UpdateCollisionInfoObject()

void C_UpdateCollisionInfoObject | ( | CollisionInfo * | ci,
|  | float | dst_radius,
|  | float | ax,
|  | float | ay,
|  | float | az,
|  | float | bx,
|  | float | by,
|  | float | bz
| ) |  |

## § C_UpdateCollisionInfoObject2()

void C_UpdateCollisionInfoObject2 | ( | CollisionInfo * | ci,
|  | Vector * | dv,
|  | Vector * | sv,
|  | Vector * | radii
| ) |  |

## § C_UpdateLineObject()

void C_UpdateLineObject | ( | Line * | line,
|  | float | ox,
|  | float | oy,
|  | float | oz,
|  | float | dx,
|  | float | dy,
|  | float | dz
| ) |  |

## § C_UpdateMatrixObject()

void C_UpdateMatrixObject | ( | MMatrix * | mat,
|  | Vector * | vec_i,
|  | Vector * | vec_j,
|  | Vector * | vec_k
| ) |  |

## § C_UpdateTFormObject()

void C_UpdateTFormObject | ( | Transform * | tform,
|  | MMatrix * | mat,
|  | Vector * | vec
| ) |  |

## § C_UpdateVecObject()

void C_UpdateVecObject | ( | Vector * | vec,
|  | float | x,
|  | float | y,
|  | float | z
| ) |  |

## § C_VecX()

float C_VecX | ( | Vector * | vec | ) |

## § C_VecY()

float C_VecY | ( | Vector * | vec | ) |

## § C_VecZ()

float C_VecZ | ( | Vector * | vec | ) |

## Variable Documentation

## § COLLISION_EPSILON

const float COLLISION_EPSILON =.001f