Regular API function

simCheckCollisionEx

Description Checks whether two entities are colliding. This is the extended functionality version of simCheckCollision, and will return all intersections between the two entities. Detection is silent (no visual feedback) compared to simHandleCollision. Also, the collidable flags of the entities are overridden if the entities are objects. See also simReadCollision.
C synopsis simInt simCheckCollisionEx(simInt entity1Handle,simInt entity2Handle,simFloat** intersectionSegments)
C parameters
entity1Handle: handle of entity 1 (can be an object handle or a collection handle)
entity2Handle: handle of entity 2 (can be an object handle or a collection handle), or sim_handle_all to check entity1 against all other collidable objects
intersectionSegments: pointer to an array of simFloat values that represent the intersections (segments) between the two entities (pt1(x,y,z), pt2(x,y,z), pt1(x,y,z), etc). This can be NULL. The user should use simReleaseBuffer to delete the returned data. That data is only valid if return value is >0
C return value
-1 in case of an error, otherwise the number of segments returned
Lua synopsis number result,table intersections=simCheckCollisionEx(number entity1Handle,number entity2Handle)
Lua parameters
entity1Handle: handle of entity 1 (can be an object handle or a collection handle)
entity2Handle: handle of entity 2 (can be an object handle or a collection handle), or sim_handle_all to check entity1 against all other collidable objects
Lua return values
result: -1 for error, otherwise the number of segments returned
intersections: a table that contains the intersection segments between the two entities.

All regular API functions on one page