C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2
+ Collaboration diagram for Collision Detection:

Classes

struct  cdet_query
 Data structure and callbacks for the collision search request. More...
 
struct  cdet_collided_faces
 The structure of the query to find collision faces. More...
 
class  MbCollisionDetectionUtility
 Utility for calculation of intersection and proximity parameters of solids. More...
 

Typedefs

typedef const MbHRepSolid * cdet_item
 Object from the set of collision detection.
 
typedef MbResultType cdet_result
 Result code of collision queries.
 
typedef const MtRefItemcdet_bvt_node
 A node of the bounding volume tree.
 
typedef std::pair< cdet_bvt_node, cdet_bvt_nodecdet_bvt_pair
 A pair of branches of the bounding volume subtree.
 

Functions

MbResultType InterferenceSolids (MbSolid &solid1, MbSolid &solid2, std::vector< MbCurveEdge * > *edges, c3d::IndicesPairsVector *intersectedFaces, c3d::IndicesPairsVector *similarFaces, c3d::IndicesPairsVector *touchedFaces)
 Calculation of intersections between solids using the boolean operations. More...
 
cdet_bvt_pair BvtSubNodes (cdet_item, cdet_bvt_node)
 Get the left and the right branches of the bounding volume subtree.
 
void GetOrientedBox (cdet_item, cdet_bvt_node, MbMatrix3D &)
 Transformation matrix yielding bounding parallelepiped from the unit cube.
 
cdet_result MbCollisionDetectionUtility::CheckCollisions ()
 Check collisions between geometric objects of the set. More...
 

Variables

const cdet_item CDET_NULL = nullptr
 Empty object of the collision query set.
 
const cdet_app_item CDET_APP_NULL = nullptr
 "Null object" of the client app.
 
const cdet_bvt_node CDET_BVT_NULL = nullptr
 An empty bounding volume tree.
 

Detailed Description

Function Documentation

◆ InterferenceSolids()

MbResultType InterferenceSolids ( MbSolid solid1,
MbSolid solid2,
std::vector< MbCurveEdge * > *  edges,
c3d::IndicesPairsVector intersectedFaces,
c3d::IndicesPairsVector similarFaces,
c3d::IndicesPairsVector touchedFaces 
)

Calculation of intersections between solids using the boolean operations.

Calculation of intersections between solids using the boolean operations.

Parameters
[in]solid1- The first solid.
[in]solid2- The second solid.
[out]edges- Intersection edges.
[out]intersectedFaces- The couples of indeses intersected faces of the solids,
[out]touchedFaces- The couples of indeses of contacted faces with oppositely directed normals.
[out]similarFaces- The couples of indeses of relating to similar faces that can be combined.
Returns
Operation result code.
Warning
The solids will be modified by this operation! To keep the body intact, give the copies made using MbSolid::Duplicate().

◆ CheckCollisions()

cdet_result MbCollisionDetectionUtility::CheckCollisions ( )
inline

Check collisions between geometric objects of the set.

Returns
The function will return CDET_RESULT_Intersected if it detects at least one collision.