Collision computation

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
Returns

A3D_SUCCESS in case of success or an error code

Return values
  • A3D_INVALID_DATA_STRUCT_SIZE

  • A3D_INVALID_DATA_STRUCT_NULL

  • A3D_INVALID_DATA

  • A3D_SUCCESS

  • A3D_ERROR