template<class TDataTypes>
class collisionobbcapsule::geometry::TOBB< TDataTypes >
An OBB model is a set of OBBs. It is linked to a rigid mechanical object. Each frame of the rigid mechanical object represents the frame of one OBB. So an OBB is represented by its frame which orients it, a center and 3 extents. A point P is inside the OBB obb if and only if P = obb.center() + a*obb.axis(0) + b*obb.axis(1) + c*obb.axis(2) with -obb.extent(0) <= a <= obb.extent(0), -obb.extent(1) <= b <= obb.extent(1), -obb.extent(2) <= c <= obb.extent(2). (obb.axis(i) is the local frame axis for i-th dimension)
|
| TOBB (ParentModel *model, Index index) |
|
| TOBB (const core::CollisionElementIterator &i) |
|
Coord | axis (int i) const |
|
void | axes (Coord *v_axes) const |
|
Real | extent (int i) const |
|
const Coord & | extents () const |
|
const Coord & | center () const |
|
const Quaternion & | orientation () const |
|
const Coord & | v () const |
|
Coord | localCoordinates (const Coord &c) const |
|
Coord | generalCoordinates (const Coord &c) const |
|
void | vertices (std::vector< Coord > &vs) const |
|
void | showVertices () const |
|
bool | onSurface (const Coord &p) const |
|
| TCollisionElementIterator (Model *model=nullptr, Index index=0) |
|
| TCollisionElementIterator (Model *model, Index index, VIterator it, VIterator itend) |
|
| TCollisionElementIterator (Model *model, VIterator it, VIterator itend) |
|
bool | isActive (core::CollisionModel *cm=nullptr) const |
|
bool | operator== (const TCollisionElementIterator< Model2 > &i) const |
|
bool | operator== (const TCollisionElementIterator< Model2 > &i) const |
|
bool | operator!= (const TCollisionElementIterator< Model2 > &i) const |
|
bool | operator!= (const TCollisionElementIterator< Model2 > &i) const |
|
TCollisionElementIterator & | operator+= (int n) |
|
TCollisionElementIterator & | operator+= (int n) |
|
TCollisionElementIterator | operator+ (int n) const |
|
TCollisionElementIterator | operator+ (int n) const |
|
bool | valid () const |
|
bool | valid () const |
|
Model * | getCollisionModel () const |
|
Model * | getCollisionModel () const |
|
std::pair< CollisionElementIterator, CollisionElementIterator > | getInternalChildren () const |
|
std::pair< CollisionElementIterator, CollisionElementIterator > | getInternalChildren () const |
|
std::pair< CollisionElementIterator, CollisionElementIterator > | getExternalChildren () const |
|
std::pair< CollisionElementIterator, CollisionElementIterator > | getExternalChildren () const |
|
bool | isLeaf () const |
|
bool | isLeaf () const |
|
bool | canCollideWith (const TCollisionElementIterator< Model > &elem) const |
|
bool | canCollideWith (const TCollisionElementIterator< Model > &elem) const |
|
SReal | getContactDistance () const |
|
SReal | getContactDistance () const |
|
SReal | getContactStiffness () const |
|
SReal | getContactStiffness () const |
|
SReal | getContactFriction () const |
|
SReal | getContactFriction () const |
|
void | draw (const core::visual::VisualParams *vparams) |
|
void | draw (const core::visual::VisualParams *vparams) |
|
| BaseCollisionElementIterator (Index index=0) |
|
| BaseCollisionElementIterator (Index index, VIterator it, VIterator itend) |
|
| BaseCollisionElementIterator (VIterator it, VIterator itend) |
|
void | next () |
|
BaseCollisionElementIterator & | operator++ () |
|
BaseCollisionElementIterator | operator++ (int) |
|
BaseCollisionElementIterator & | operator+= (int n) |
|
BaseCollisionElementIterator | operator+ (int n) const |
|
Index | getIndex () const |
|
const VIterator & | getVIterator () const |
|
const VIterator & | getVIteratorEnd () const |
|
void | next () |
|
BaseCollisionElementIterator & | operator++ () |
|
BaseCollisionElementIterator | operator++ (int) |
|
BaseCollisionElementIterator & | operator+= (int n) |
|
BaseCollisionElementIterator | operator+ (int n) const |
|
Index | getIndex () const |
|
const VIterator & | getVIterator () const |
|
const VIterator & | getVIteratorEnd () const |
|