add fractionEpsilon to filter rays with similar hit fraction

remove debug printf
This commit is contained in:
Erwin Coumans
2020-05-09 02:42:47 -07:00
parent b154bf75b8
commit 53b65b795f
5 changed files with 53 additions and 14 deletions

View File

@@ -3652,6 +3652,8 @@ B3_SHARED_API b3SharedMemoryCommandHandle b3CreateRaycastCommandInit(b3PhysicsCl
command->m_requestRaycastIntersections.m_fromToRays[0].m_rayToPosition[2] = rayToWorldZ;
command->m_requestRaycastIntersections.m_reportHitNumber = -1;
command->m_requestRaycastIntersections.m_collisionFilterMask = -1;
command->m_requestRaycastIntersections.m_fractionEpsilon = B3_EPSILON;
return (b3SharedMemoryCommandHandle)command;
@@ -3673,6 +3675,7 @@ B3_SHARED_API b3SharedMemoryCommandHandle b3CreateRaycastBatchCommandInit(b3Phys
command->m_requestRaycastIntersections.m_parentLinkIndex=-1;
command->m_requestRaycastIntersections.m_reportHitNumber = -1;
command->m_requestRaycastIntersections.m_collisionFilterMask = -1;
command->m_requestRaycastIntersections.m_fractionEpsilon = B3_EPSILON;
return (b3SharedMemoryCommandHandle)command;
}
@@ -3747,6 +3750,15 @@ B3_SHARED_API void b3RaycastBatchSetCollisionFilterMask(b3SharedMemoryCommandHan
command->m_requestRaycastIntersections.m_collisionFilterMask = collisionFilterMask;
}
B3_SHARED_API void b3RaycastBatchSetFractionEpsilon(b3SharedMemoryCommandHandle commandHandle, double fractionEpsilon)
{
struct SharedMemoryCommand* command = (struct SharedMemoryCommand*)commandHandle;
b3Assert(command);
b3Assert(command->m_type == CMD_REQUEST_RAY_CAST_INTERSECTIONS);
command->m_requestRaycastIntersections.m_fractionEpsilon = fractionEpsilon;
}
B3_SHARED_API void b3GetRaycastInformation(b3PhysicsClientHandle physClient, struct b3RaycastInformation* raycastInfo)
{
PhysicsClient* cl = (PhysicsClient*)physClient;