public void performRaycast(TriangleCallback callback, Vector3f raySource, Vector3f rayTarget) { MyNodeOverlapCallback myNodeCallback = myNodeCallbacks.get(); myNodeCallback.init(callback, meshInterface); bvh.reportRayOverlappingNodex(myNodeCallback, raySource, rayTarget); myNodeCallbacks.release(myNodeCallback); }
public void performConvexcast( TriangleCallback callback, Vector3f raySource, Vector3f rayTarget, Vector3f aabbMin, Vector3f aabbMax) { MyNodeOverlapCallback myNodeCallback = myNodeCallbacks.get(); myNodeCallback.init(callback, meshInterface); bvh.reportBoxCastOverlappingNodex(myNodeCallback, raySource, rayTarget, aabbMin, aabbMax); myNodeCallbacks.release(myNodeCallback); }
/** Perform bvh tree traversal and report overlapping triangles to 'callback'. */ @Override public void processAllTriangles(TriangleCallback callback, Vector3f aabbMin, Vector3f aabbMax) { // #ifdef DISABLE_BVH // // brute force traverse all triangles // btTriangleMeshShape::processAllTriangles(callback,aabbMin,aabbMax); // #else // first get all the nodes MyNodeOverlapCallback myNodeCallback = myNodeCallbacks.get(); myNodeCallback.init(callback, meshInterface); bvh.reportAabbOverlappingNodex(myNodeCallback, aabbMin, aabbMax); myNodeCallbacks.release(myNodeCallback); // #endif//DISABLE_BVH }