
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
|