Search in sources :

Example 1 with BoxBoxTransformCache

use of com.bulletphysics.extras.gimpact.BoxCollision.BoxBoxTransformCache in project bdx by GoranM.

the class GImpactBvh method find_collision.

//public static float getAverageTreeCollisionTime();
public static void find_collision(GImpactBvh boxset0, Transform trans0, GImpactBvh boxset1, Transform trans1, PairSet collision_pairs) {
    if (boxset0.getNodeCount() == 0 || boxset1.getNodeCount() == 0) {
        return;
    }
    Stack stack = Stack.enter();
    BoxBoxTransformCache trans_cache_1to0 = stack.allocBoxBoxTransformCache();
    trans_cache_1to0.calc_from_homogenic(trans0, trans1);
    //#ifdef TRI_COLLISION_PROFILING
    //bt_begin_gim02_tree_time();
    //#endif //TRI_COLLISION_PROFILING
    _find_collision_pairs_recursive(boxset0, boxset1, collision_pairs, trans_cache_1to0, 0, 0, true);
    //#ifdef TRI_COLLISION_PROFILING
    //bt_end_gim02_tree_time();
    //#endif //TRI_COLLISION_PROFILING
    stack.leave();
}
Also used : BoxBoxTransformCache(com.bulletphysics.extras.gimpact.BoxCollision.BoxBoxTransformCache) Stack(com.bulletphysics.util.Stack)

Example 2 with BoxBoxTransformCache

use of com.bulletphysics.extras.gimpact.BoxCollision.BoxBoxTransformCache in project bdx by GoranM.

the class Stack method allocBoxBoxTransformCache.

public BoxBoxTransformCache allocBoxBoxTransformCache() {
    types[sp++] = TYPE_BOX_BOX_TRANSFORM_CACHE;
    int pos = stackPositions[TYPE_BOX_BOX_TRANSFORM_CACHE]++;
    if (boxBoxTransformCacheStack.size() <= pos) {
        boxBoxTransformCacheStack.add(new BoxBoxTransformCache());
    }
    return boxBoxTransformCacheStack.get(pos);
}
Also used : BoxBoxTransformCache(com.bulletphysics.extras.gimpact.BoxCollision.BoxBoxTransformCache)

Aggregations

BoxBoxTransformCache (com.bulletphysics.extras.gimpact.BoxCollision.BoxBoxTransformCache)2 Stack (com.bulletphysics.util.Stack)1