2 #ifndef CNOID_AIST_COLLISION_DETECTOR_STD_COLLISION_PAIR_INSERTER_H
3 #define CNOID_AIST_COLLISION_DETECTOR_STD_COLLISION_PAIR_INSERTER_H
9 class StdCollisionPairInserter :
public CollisionPairInserter
12 StdCollisionPairInserter();
13 virtual ~StdCollisionPairInserter();
14 virtual int detectTriTriOverlap(
23 virtual int apply(
const Opcode::AABBCollisionNode* b1,
24 const Opcode::AABBCollisionNode* b2,
33 Opcode::MeshInterface* mesh1,
34 Opcode::MeshInterface* mesh2);
53 static void copy_tri(col_tri* t1, tri* t2);
55 static void copy_tri(col_tri* t1, col_tri* t2);
57 static void calc_normal_vector(col_tri* t);
59 static int is_convex_neighbor(col_tri* t1, col_tri* t2);
67 void examine_normal_vector(
int id1,
int id2,
int ctype);
69 void check_separability(
int id1,
int id2,
int ctype);
71 void find_signed_distance(
72 cnoid::Vector3 &signed_distance, col_tri *trp,
int nth,
int ctype,
int obj);
74 void find_signed_distance(
79 int new_point_test(
int k);