66 #ifdef TRI_COLLISION_PROFILING
70 float g_accum_triangle_collision_time = 0;
71 int g_count_triangle_collision = 0;
73 void bt_begin_gim02_tri_time()
75 g_triangle_clock.
reset();
78 void bt_end_gim02_tri_time()
81 g_count_triangle_collision++;
83 #endif //TRI_COLLISION_PROFILING
169 #ifdef TRI_COLLISION_PROFILING
172 float btGImpactCollisionAlgorithm::getAverageTreeCollisionTime()
174 return btGImpactBoxSet::getAverageTreeCollisionTime();
179 float btGImpactCollisionAlgorithm::getAverageTriangleCollisionTime()
181 if(g_count_triangle_collision == 0)
return 0;
183 float avgtime = g_accum_triangle_collision_time;
184 avgtime /= (float)g_count_triangle_collision;
186 g_accum_triangle_collision_time = 0;
187 g_count_triangle_collision = 0;
192 #endif //TRI_COLLISION_PROFILING
245 algor->~btCollisionAlgorithm();
355 const int * pairs,
int pair_count)
363 const int * pair_pointer = pairs;
394 const int * pairs,
int pair_count)
406 const int * pair_pointer = pairs;
419 #ifdef TRI_COLLISION_PROFILING
420 bt_begin_gim02_tri_time();
451 #ifdef TRI_COLLISION_PROFILING
452 bt_end_gim02_tri_time();
506 if(pairset.
size()== 0)
return;
514 #ifdef BULLET_TRIANGLE_COLLISION
534 int i = pairset.
size();
546 if(child_has_transform0)
551 if(child_has_transform1)
591 #ifdef GIMPACT_VS_PLANE_COLLISION
627 if(collided_results.
size() == 0)
return;
638 int i = collided_results.
size();
642 int child_index = collided_results[i];
652 if(child_has_transform0)
692 shape0,colshape1,swapped);
728 vertex = orgtrans0(vertex);
730 btScalar distance = vertex.
dot(plane) - plane[3] - margin;
810 shape0->
getAabb(gimpactInConcaveSpace,minAABB,maxAABB);