#include <CollisionPairInserter.h>
Definition at line 18 of file CollisionPairInserter.h.
Definition at line 51 of file CollisionPairInserter.cpp.
CollisionPairInserter::~CollisionPairInserter | ( | ) | [virtual] |
Definition at line 57 of file CollisionPairInserter.cpp.
int CollisionPairInserter::apply | ( | const Opcode::AABBCollisionNode * | b1, |
const Opcode::AABBCollisionNode * | b2, | ||
int | id1, | ||
int | id2, | ||
int | num_of_i_points, | ||
Vector3 | i_points[4], | ||
Vector3 & | n_vector, | ||
double | depth, | ||
Vector3 & | n1, | ||
Vector3 & | m1, | ||
int | ctype, | ||
Opcode::MeshInterface * | mesh1, | ||
Opcode::MeshInterface * | mesh2 | ||
) | [virtual] |
refine collision information using neighboring triangls
b1 | node of the first colliding triangle |
b2 | node of the second colliding triangle |
id1 | id of the first colliding triangle |
id2 | id of the second colliding triangle |
num_of_i_points | the number of intersecting points |
i_points | intersecting points |
n_vector | normal vector of collision |
depth | penetration depth |
n1 | normal vector of the first triangle |
m1 | normal vector of the second triangle |
ctype | collision type |
mesh1 | mesh which includes the first triangle |
mesh2 | mesh which includes the second triangle |
Implements hrp::CollisionPairInserterBase.
Definition at line 390 of file CollisionPairInserter.cpp.
void CollisionPairInserter::calc_normal_vector | ( | col_tri * | t | ) | [static, private] |
Definition at line 83 of file CollisionPairInserter.cpp.
void CollisionPairInserter::check_separability | ( | int | id1, |
int | id2, | ||
int | ctype | ||
) | [private] |
Definition at line 196 of file CollisionPairInserter.cpp.
void CollisionPairInserter::copy_tri | ( | col_tri * | t1, |
tri * | t2 | ||
) | [static, private] |
Definition at line 63 of file CollisionPairInserter.cpp.
void CollisionPairInserter::copy_tri | ( | col_tri * | t1, |
col_tri * | t2 | ||
) | [static, private] |
Definition at line 71 of file CollisionPairInserter.cpp.
int CollisionPairInserter::detectTriTriOverlap | ( | const Vector3 & | P1, |
const Vector3 & | P2, | ||
const Vector3 & | P3, | ||
const Vector3 & | Q1, | ||
const Vector3 & | Q2, | ||
const Vector3 & | Q3, | ||
collision_data * | col_p | ||
) | [virtual] |
detect collsiion between triangles
P1 | the first vertex of the first triangle |
P2 | the second vertex of the first triangle |
P3 | the third vertex of the first triangle |
Q1 | the first vertex of the second triangle |
Q2 | the second vertex of the second triangle |
Q3 | the third vertex of the second triangle |
col_p | collision information |
Implements hrp::CollisionPairInserterBase.
Definition at line 446 of file CollisionPairInserter.cpp.
void CollisionPairInserter::examine_normal_vector | ( | int | id1, |
int | id2, | ||
int | ctype | ||
) | [private] |
Definition at line 191 of file CollisionPairInserter.cpp.
void CollisionPairInserter::find_signed_distance | ( | Vector3 & | signed_distance, |
col_tri * | trp, | ||
int | nth, | ||
int | ctype, | ||
int | obj | ||
) | [private] |
Definition at line 271 of file CollisionPairInserter.cpp.
void CollisionPairInserter::find_signed_distance | ( | Vector3 & | signed_distance, |
const Vector3 & | vert, | ||
int | nth, | ||
int | ctype, | ||
int | obj | ||
) | [private] |
Definition at line 279 of file CollisionPairInserter.cpp.
void CollisionPairInserter::find_signed_distance | ( | Vector3 & | signed_distance1, |
ColdetModelSharedDataSet * | model0, | ||
int | id1, | ||
int | contactIndex, | ||
int | ctype, | ||
int | obj | ||
) | [private] |
Definition at line 351 of file CollisionPairInserter.cpp.
int CollisionPairInserter::get_triangles_in_convex_neighbor | ( | ColdetModelSharedDataSet * | model, |
int | id, | ||
col_tri * | tri_convex_neighbor, | ||
int | max_num | ||
) | [private] |
Definition at line 167 of file CollisionPairInserter.cpp.
void CollisionPairInserter::get_triangles_in_convex_neighbor | ( | ColdetModelSharedDataSet * | model, |
int | id, | ||
col_tri * | tri_convex_neighbor, | ||
std::vector< int > & | map, | ||
int & | count | ||
) | [private] |
Definition at line 126 of file CollisionPairInserter.cpp.
int CollisionPairInserter::is_convex_neighbor | ( | col_tri * | t1, |
col_tri * | t2 | ||
) | [static, private] |
Definition at line 94 of file CollisionPairInserter.cpp.
int CollisionPairInserter::new_point_test | ( | int | k | ) | [private] |
Definition at line 370 of file CollisionPairInserter.cpp.
void CollisionPairInserter::triangleIndexToPoint | ( | ColdetModelSharedDataSet * | model, |
int | id, | ||
col_tri & | tri | ||
) | [private] |
Definition at line 116 of file CollisionPairInserter.cpp.