a more elegant method to fix the bug, keep LinearBVHNode the same as before