#include <ColdetModelPair.h>

Classes | |
| struct | figStruct |
| struct | pointStruct |
Public Member Functions | |
| int | calculateCentroidIntersection (float &cx, float &cy, float &A, float radius, std::vector< float > vx, std::vector< float > vy) |
| int | calculateIntersection (std::vector< float > &x, std::vector< float > &y, float radius, float x1, float y1, float x2, float y2) |
| float | calculatePolygonArea (const std::vector< float > &vx, const std::vector< float > &vy) |
| void | calculateSectorCentroid (float &cx, float &cy, float radius, float th1, float th2) |
| bool | checkCollision () |
| void | clearCollisions () |
| ColdetModelPair () | |
| ColdetModelPair (ColdetModelPtr model0, ColdetModelPtr model1, double tolerance=0) | |
| ColdetModelPair (const ColdetModelPair &org) | |
| std::vector< collision_data > & | collisions () |
| double | computeDistance (double *point0, double *point1) |
| double | computeDistance (int &out_triangle0, double *out_point0, int &out_triangle1, double *out_point1) |
| std::vector< collision_data > & | detectCollisions () |
| bool | detectIntersection () |
| void | enableNormalVectorCorrection (bool flag) |
| bool | isInsideCircle (float r, float x, float y) |
| bool | isInsideTriangle (float x, float y, const std::vector< float > &vx, const std::vector< float > &vy) |
| int | makeCCW (std::vector< float > &vx, std::vector< float > &vy) |
| ColdetModel * | model (int index) |
| ColdetModelPair & | operator= (const ColdetModelPair &cmp) |
| void | set (ColdetModelPtr model0, ColdetModelPtr model1) |
| void | setCollisionPairInserter (CollisionPairInserterBase *inserter) |
| double | tolerance () const |
| IceMaths::Matrix4x4 * | transform (int index) |
| virtual | ~ColdetModelPair () |
Private Types | |
| enum | figType { tri, sector } |
| enum | pointType { vertex, inter } |
Private Member Functions | |
| std::vector< collision_data > & | detectCollisionsSub (bool detectAllContacts) |
| bool | detectMeshMeshCollisions (bool detectAllContacts) |
| bool | detectPlaneCylinderCollisions (bool detectAllContacts) |
| bool | detectPlaneMeshCollisions (bool detectAllContacts) |
| bool | detectSphereMeshCollisions (bool detectAllContacts) |
| bool | detectSphereSphereCollisions (bool detectAllContacts) |
Private Attributes | |
| int | boxTestsCount |
| CollisionPairInserterBase * | collisionPairInserter |
| ColdetModelPtr | models [2] |
| double | tolerance_ |
| int | triTestsCount |
Definition at line 29 of file ColdetModelPair.h.
enum hrp::ColdetModelPair::figType [private] |
Definition at line 108 of file ColdetModelPair.h.
enum hrp::ColdetModelPair::pointType [private] |
Definition at line 107 of file ColdetModelPair.h.
Definition at line 25 of file ColdetModelPair.cpp.
| ColdetModelPair::ColdetModelPair | ( | ColdetModelPtr | model0, |
| ColdetModelPtr | model1, | ||
| double | tolerance = 0 |
||
| ) |
Definition at line 31 of file ColdetModelPair.cpp.
Definition at line 40 of file ColdetModelPair.cpp.
| ColdetModelPair::~ColdetModelPair | ( | ) | [virtual] |
Definition at line 48 of file ColdetModelPair.cpp.
| int ColdetModelPair::calculateCentroidIntersection | ( | float & | cx, |
| float & | cy, | ||
| float & | A, | ||
| float | radius, | ||
| std::vector< float > | vx, | ||
| std::vector< float > | vy | ||
| ) |
Definition at line 652 of file ColdetModelPair.cpp.
| int ColdetModelPair::calculateIntersection | ( | std::vector< float > & | x, |
| std::vector< float > & | y, | ||
| float | radius, | ||
| float | x1, | ||
| float | y1, | ||
| float | x2, | ||
| float | y2 | ||
| ) |
Definition at line 896 of file ColdetModelPair.cpp.
| float ColdetModelPair::calculatePolygonArea | ( | const std::vector< float > & | vx, |
| const std::vector< float > & | vy | ||
| ) |
Definition at line 834 of file ColdetModelPair.cpp.
| void ColdetModelPair::calculateSectorCentroid | ( | float & | cx, |
| float & | cy, | ||
| float | radius, | ||
| float | th1, | ||
| float | th2 | ||
| ) |
Definition at line 853 of file ColdetModelPair.cpp.
| bool hrp::ColdetModelPair::checkCollision | ( | ) | [inline] |
Definition at line 55 of file ColdetModelPair.h.
| void hrp::ColdetModelPair::clearCollisions | ( | ) | [inline] |
Definition at line 51 of file ColdetModelPair.h.
| std::vector<collision_data>& hrp::ColdetModelPair::collisions | ( | ) | [inline] |
Definition at line 47 of file ColdetModelPair.h.
| double ColdetModelPair::computeDistance | ( | double * | point0, |
| double * | point1 | ||
| ) |
Definition at line 568 of file ColdetModelPair.cpp.
| double ColdetModelPair::computeDistance | ( | int & | out_triangle0, |
| double * | out_point0, | ||
| int & | out_triangle1, | ||
| double * | out_point1 | ||
| ) |
| out_triangle0,out_triangle1 | Indices of the triangle pair that are originally registered by ColdeModel::setTraiangle(). |
| out_point0,out_point1 | The closest points |
Definition at line 595 of file ColdetModelPair.cpp.
| std::vector<collision_data>& hrp::ColdetModelPair::detectCollisions | ( | ) | [inline] |
Definition at line 43 of file ColdetModelPair.h.
| std::vector< collision_data > & ColdetModelPair::detectCollisionsSub | ( | bool | detectAllContacts | ) | [private] |
Definition at line 65 of file ColdetModelPair.cpp.
| bool ColdetModelPair::detectIntersection | ( | ) |
Definition at line 625 of file ColdetModelPair.cpp.
| bool ColdetModelPair::detectMeshMeshCollisions | ( | bool | detectAllContacts | ) | [private] |
Definition at line 154 of file ColdetModelPair.cpp.
| bool ColdetModelPair::detectPlaneCylinderCollisions | ( | bool | detectAllContacts | ) | [private] |
Definition at line 457 of file ColdetModelPair.cpp.
| bool ColdetModelPair::detectPlaneMeshCollisions | ( | bool | detectAllContacts | ) | [private] |
Definition at line 100 of file ColdetModelPair.cpp.
| bool ColdetModelPair::detectSphereMeshCollisions | ( | bool | detectAllContacts | ) | [private] |
Definition at line 249 of file ColdetModelPair.cpp.
| bool ColdetModelPair::detectSphereSphereCollisions | ( | bool | detectAllContacts | ) | [private] |
Definition at line 191 of file ColdetModelPair.cpp.
| void hrp::ColdetModelPair::enableNormalVectorCorrection | ( | bool | flag | ) | [inline] |
Definition at line 88 of file ColdetModelPair.h.
| bool hrp::ColdetModelPair::isInsideCircle | ( | float | r, |
| float | x, | ||
| float | y | ||
| ) | [inline] |
Definition at line 80 of file ColdetModelPair.h.
| bool ColdetModelPair::isInsideTriangle | ( | float | x, |
| float | y, | ||
| const std::vector< float > & | vx, | ||
| const std::vector< float > & | vy | ||
| ) |
Definition at line 871 of file ColdetModelPair.cpp.
| int ColdetModelPair::makeCCW | ( | std::vector< float > & | vx, |
| std::vector< float > & | vy | ||
| ) |
Definition at line 819 of file ColdetModelPair.cpp.
| ColdetModel* hrp::ColdetModelPair::model | ( | int | index | ) | [inline] |
Definition at line 40 of file ColdetModelPair.h.
| ColdetModelPair & ColdetModelPair::operator= | ( | const ColdetModelPair & | cmp | ) |
Definition at line 971 of file ColdetModelPair.cpp.
| void ColdetModelPair::set | ( | ColdetModelPtr | model0, |
| ColdetModelPtr | model1 | ||
| ) |
Definition at line 54 of file ColdetModelPair.cpp.
Definition at line 643 of file ColdetModelPair.cpp.
| double hrp::ColdetModelPair::tolerance | ( | ) | const [inline] |
Definition at line 69 of file ColdetModelPair.h.
| IceMaths::Matrix4x4* hrp::ColdetModelPair::transform | ( | int | index | ) | [inline] |
Definition at line 41 of file ColdetModelPair.h.
int hrp::ColdetModelPair::boxTestsCount [private] |
Definition at line 104 of file ColdetModelPair.h.
Definition at line 102 of file ColdetModelPair.h.
ColdetModelPtr hrp::ColdetModelPair::models[2] [private] |
Definition at line 99 of file ColdetModelPair.h.
double hrp::ColdetModelPair::tolerance_ [private] |
Definition at line 100 of file ColdetModelPair.h.
int hrp::ColdetModelPair::triTestsCount [private] |
Definition at line 105 of file ColdetModelPair.h.