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
353 const int * pairs,
int pair_count)
361 const int * pair_pointer = pairs;
392 const int * pairs,
int pair_count)
404 const int * pair_pointer = pairs;
417 #ifdef TRI_COLLISION_PROFILING
418 bt_begin_gim02_tri_time();
449 #ifdef TRI_COLLISION_PROFILING
450 bt_end_gim02_tri_time();
504 if(pairset.
size()== 0)
return;
512 #ifdef BULLET_TRIANGLE_COLLISION
532 int i = pairset.
size();
544 if(child_has_transform0)
549 if(child_has_transform1)
589 #ifdef GIMPACT_VS_PLANE_COLLISION
625 if(collided_results.
size() == 0)
return;
636 int i = collided_results.
size();
640 int child_index = collided_results[i];
650 if(child_has_transform0)
713 shape0,colshape1,swapped);
757 vertex = orgtrans0(vertex);
759 btScalar distance = vertex.
dot(plane) - plane[3] - margin;
862 shape0->
getAabb(gimpactInConcaveSpace,minAABB,maxAABB);