1 #ifndef GIM_BOX_SET_H_INCLUDED
2 #define GIM_BOX_SET_H_INCLUDED
214 template<
typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE,
typename _GIM_BOX_TREE_PROTOTYPE>
293 for (
GUINT i = 0;i<primitive_boxes.
size() ;i++ )
296 primitive_boxes[i].
m_data = i;
308 while (curIndex < numNodes)
318 if (isleafnode && aabbOverlap)
323 if (aabbOverlap || isleafnode)
334 if(collided_results.
size()>0)
return true;
344 return boxQuery(transbox,collided_results);
355 while (curIndex < numNodes)
362 bool aabbOverlap = bound.
collide_ray(ray_origin,ray_dir);
365 if (isleafnode && aabbOverlap)
370 if (aabbOverlap || isleafnode)
381 if(collided_results.
size()>0)
return true;
426 return m_box_tree.getLeftNodeIndex(nodeindex);
431 return m_box_tree.getRightNodeIndex(nodeindex);
436 return m_box_tree.getScapeNodeIndex(nodeindex);
450 template<
typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE>
462 template<
typename BOX_SET_CLASS0,
typename BOX_SET_CLASS1>
543 if(!result)
return false;
557 if(!result)
return false;
572 if(!result)
return false;
588 while(stack_collisions.
size())
629 stack_collisions.
push_pair(left0,right1);
631 stack_collisions.
push_pair(right0,left1);
633 stack_collisions.
push_pair(right0,right1);
643 BOX_SET_CLASS1 * boxset2,
const btTransform & trans2,
644 gim_pair_set & collision_pairs,
bool complete_primitive_tests =
true)
656 if(complete_primitive_tests)
672 #endif // GIM_BOXPRUNING_H_INCLUDED