Determine if there are interferences between parts from an assembly. More...
Data Structures | |
struct | A3DCollisionGroupData |
A3DCollisionGroupData structure. More... | |
struct | A3DCollisionParameterData |
A3DCollisionParameterData structure. More... | |
struct | A3DCollisionResultData |
A3DCollisionResultData structure. More... | |
struct | A3DTransfoRepresentationItemData |
A3DTransfoRepresentationItemData structure. More... | |
Enumerations | |
enum | A3DCollisionType { A3DCollision_Unknown = 0, A3DCollision_NoCollision = 1, A3DCollision_Clearance = 2, A3DCollision_Contact = 3, A3DCollision_Collision = 4, A3DCollision_FirstInside = 5, A3DCollision_SecondInside = 6 } |
Collision type between to A3DRiRepresentationItem. More... | |
Functions | |
A3DStatus | A3DCollisionCompute (A3DCollisionGroupData const *pGroup1, A3DCollisionGroupData const *pGroup2, A3DCollisionParameterData const *pParameterData, A3DUns32 *uCollisionResultsSize, A3DCollisionResultData **pCollisionResults) |
Determine interferences between A3DRiRepresentationItem. More... | |
Detailed Description
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.
Enumeration Type Documentation
◆ A3DCollisionType
enum A3DCollisionType |
Collision type between to A3DRiRepresentationItem.
- Version
- 11.1
Enumerator | |
---|---|
A3DCollision_Unknown | Cannot compute the result |
A3DCollision_NoCollision | There is no colision or contact between the two A3DRiRepresentationItem |
A3DCollision_Clearance | The safety distance is not verified between the two A3DRiRepresentationItem |
A3DCollision_Contact | There is a contact between the two A3DRiRepresentationItem |
A3DCollision_Collision | There is a collision between the two A3DRiRepresentationItem |
A3DCollision_FirstInside | The first A3DRiRepresentationItem is inside of the second A3DRiRepresentationItem |
A3DCollision_SecondInside | The second A3DRiRepresentationItem is inside of the first A3DRiRepresentationItem |
Function Documentation
◆ A3DCollisionCompute()
A3DStatus A3DCollisionCompute | ( | A3DCollisionGroupData const * | pGroup1, |
A3DCollisionGroupData const * | pGroup2, | ||
A3DCollisionParameterData const * | pParameterData, | ||
A3DUns32 * | uCollisionResultsSize, | ||
A3DCollisionResultData ** | pCollisionResults | ||
) |
Determine interferences between A3DRiRepresentationItem.
- Version
- 11.1
This function allows to determine if there are interferences between A3DRiRepresentationItem from one or two groups.
- Parameters
-
[in] pGroup1 define the first group of A3DTransfoRepresentationItemData. [in] pGroup2 define a optional second group of A3DTransfoRepresentationItemData. [in] pParameterData set parameters for collision computation. [out] uCollisionResultsSize Number of A3DCollisionResultData in pCollisionResults. [out] pCollisionResults Array of A3DCollisionResultData, containing collision computation result. pCollisionResults is automatically allocated by A3DCollisionCompute.
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.