11 #ifndef HRPCOLLISION_COLLISION_PAIR_INSERTER_H_INCLUDED 12 #define HRPCOLLISION_COLLISION_PAIR_INSERTER_H_INCLUDED virtual int detectTriTriOverlap(const Vector3 &P1, const Vector3 &P2, const Vector3 &P3, const Vector3 &Q1, const Vector3 &Q2, const Vector3 &Q3, collision_data *col_p)
detect collsiion between triangles
static void copy_tri(col_tri *t1, tri *t2)
virtual int 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)
refine collision information using neighboring triangls
int get_triangles_in_convex_neighbor(ColdetModelSharedDataSet *model, int id, col_tri *tri_convex_neighbor, int max_num)
virtual ~CollisionPairInserter()
static void calc_normal_vector(col_tri *t)
void find_signed_distance(Vector3 &signed_distance, col_tri *trp, int nth, int ctype, int obj)
int new_point_test(int k)
void check_separability(int id1, int id2, int ctype)
void triangleIndexToPoint(ColdetModelSharedDataSet *model, int id, col_tri &tri)
static int is_convex_neighbor(col_tri *t1, col_tri *t2)
void examine_normal_vector(int id1, int id2, int ctype)