Collision computation
Types
Fields
Functions
Detailed Description
- group a3d_collision
Determine if there are interferences between parts from an assembly.
This functionality allows to determine if there are interferences (clashes) between parts from an assembly, and if a specified clearance distance is verified between parts (clearance analysis).
Depending on the nature of the analysis, one or two groups can be defined:
One group: the analysis is processed on all the selected parts that are included in the group.
Two groups: the analysis is processed between the two groups, but not inside the groups.
Type Documentation
-
enum A3DCollisionType
Collision type between to A3DRiRepresentationItem.
- Version
11.1
Values:
-
enumerator A3DCollision_Unknown
Cannot compute the result.
-
enumerator A3DCollision_NoCollision
There is no colision or contact between the two A3DRiRepresentationItem.
-
enumerator A3DCollision_Clearance
The safety distance is not verified between the two A3DRiRepresentationItem.
-
enumerator A3DCollision_Contact
There is a contact between the two A3DRiRepresentationItem.
-
enumerator A3DCollision_Collision
There is a collision between the two A3DRiRepresentationItem.
-
enumerator A3DCollision_FirstInside
The first A3DRiRepresentationItem is inside of the second A3DRiRepresentationItem.
-
enumerator A3DCollision_SecondInside
The second A3DRiRepresentationItem is inside of the first A3DRiRepresentationItem.
Function Documentation
-
A3DStatus A3DCollisionCompute(A3DCollisionGroupData const *pGroup1, A3DCollisionGroupData const *pGroup2, A3DCollisionParameterData const *pParameterData, A3DUns32 *uCollisionResultsSize, A3DCollisionResultData **pCollisionResults)
Determine interferences between A3DRiRepresentationItem.
This function allows to determine if there are interferences between A3DRiRepresentationItem from one or two groups.
- Version
11.1
Call A3DCollisionCompute( NULL, NULL, NULL, uCollisionResultsSize, pCollisionResults) to release pCollisionResults structure
if pParameterData->m_dContactLimit is set to 0., the function return only A3DCollision_Collision instead of A3DCollision_Contact, A3DCollision_FirstInside and A3DCollision_SecondInside.
- Parameters:
pGroup1 – [in] define the first group of A3DTransfoRepresentationItemData.
pGroup2 – [in] define a optional second group of A3DTransfoRepresentationItemData.
pParameterData – [in] set parameters for collision computation.
uCollisionResultsSize – [out] Number of A3DCollisionResultData in pCollisionResults.
pCollisionResults – [out] Array of A3DCollisionResultData, containing collision computation result. pCollisionResults is automatically allocated by A3DCollisionCompute.
- Returns:
A3D_SUCCESS
on success, or an error code on failure- Return values:
A3D_INVALID_DATA_STRUCT_SIZE –
A3D_INVALID_DATA_STRUCT_NULL –
A3D_INVALID_DATA –
A3D_SUCCESS –
A3D_ERROR –