Collaboration diagram for col::Matrix:
Public Member Functions | |
Matrix (unsigned int numcolobjs=50) | |
Create a collision interest matrix. | |
void | addObj (ColObj *obj) |
Make a new row & column for a collision object. | |
void | addCallback (Callback *callback, vector< ColObj > *colobjs) |
Add a callback to a cell of the matrix. | |
MatrixCell * | getCell (const ColPair &pair) const |
Return the cell corresponding to a colobj pair. | |
MatrixCell * | createCell (const ColObj *obj1, const ColObj *obj2) |
Create a new collision interest matrix cell. | |
bool | check (const ColPair &pair, bool use_hulls, AlgoE algo) const |
Check a pair for collision. | |
void | callCallbacks (const ColPair &pair) const |
Call all callbacks associated with a certain pair of col. | |
bool | isConsistent (vector< ColObj > *colobjs) const |
Check consistency of the collision interest matrix. | |
Protected Types | |
typedef vector< MatrixCell * > | m_Row |
one row of the collision interest matrix (rows have different length) | |
Protected Member Functions | |
Matrix (const Matrix &source) | |
Matrix & | operator= (const Matrix &source) |
Protected Attributes | |
vector< m_Row > | m_m |
the raison d'etre |
Composed of MatrixCell's.
col::Matrix::Matrix | ( | unsigned int | numcolobjs = 50 |
) |
Create a collision interest matrix.
numcolobjs | this is just an estimate of how many objects there will be |
void col::Matrix::addObj | ( | ColObj * | obj | ) |
Make a new row & column for a collision object.
obj | the collision object |
XColBug | If colobj has already been added. |
Add a callback to a cell of the matrix.
callback | the callback |
XCollision | If the same m_callback, or a callback with the same objects, has been added already. | |
XCollision | If the nodes have not been made collidable yet (by an ADD_OBJECT request). | |
XColBug |
MatrixCell * col::Matrix::getCell | ( | const ColPair & | pair | ) | const |
MatrixCell * col::Matrix::createCell | ( | const ColObj * | obj1, | |
const ColObj * | obj2 | |||
) |
void col::Matrix::callCallbacks | ( | const ColPair & | pair | ) | const |
Call all callbacks associated with a certain pair of col.
objects
pair | the pair of col. objects |
bool col::Matrix::isConsistent | ( | vector< ColObj > * | colobjs | ) | const |
Check consistency of the collision interest matrix.
colobjs | the list of collision objects |