Thanks a lot Erwin, but ...somehow ,what I mean is not the box bound the swept volumn of the convex , but the Box bound the node in the AABB tree , It seems that before perform a ray-AABB intersect :
rayBoxOverlap = aabbOverlap ? btRayAabb2 (raySource, rayDirectionInverse, sign, bounds, param, 0.0f, lambda_max) : false;
the bullet will expands the AABB Node's bound box using the code
bounds[0] = rootNode->m_aabbMinOrg;
bounds[1] = rootNode->m_aabbMaxOrg;
/* Add box cast extents */
bounds[0] += aabbMin;
bounds[1] += aabbMax;
But I think the code shoud be:
bounds[0] = rootNode->m_aabbMinOrg;
bounds[1] = rootNode->m_aabbMaxOrg;
/* Add box cast extents */
bounds[0] -= aabbMax;
bounds[1] -= aabbMin;
As showed in my picture.
So I agree with the swept volumn box calculation of the convex box ,but I am not agree with the calculation of the box of the AABB Node(which is used to perform a ray test)