![]() |
ReactPhysics3D
v0.10.2
C++ Physics engine library
|
This class represents the broad-phase collision detection. More...
#include <include/reactphysics3d/systems/BroadPhaseSystem.h>
Public Member Functions | |
| BroadPhaseSystem (CollisionDetectionSystem &collisionDetection, ColliderComponents &collidersComponents, TransformComponents &transformComponents, RigidBodyComponents &rigidBodyComponents) | |
| Constructor. | |
| ~BroadPhaseSystem ()=default | |
| Destructor. | |
| BroadPhaseSystem (const BroadPhaseSystem &algorithm)=delete | |
| Deleted copy-constructor. | |
| BroadPhaseSystem & | operator= (const BroadPhaseSystem &algorithm)=delete |
| Deleted assignment operator. | |
| void | addCollider (Collider *collider, const AABB &aabb) |
| Add a collider into the broad-phase collision detection. | |
| void | removeCollider (Collider *collider) |
| Remove a collider from the broad-phase collision detection. | |
| void | updateCollider (Entity colliderEntity) |
| Update the broad-phase state of a single collider. | |
| void | updateColliders () |
| Update the broad-phase state of all the enabled colliders. | |
| void | addMovedCollider (int broadPhaseID, Collider *collider) |
| Add a collider in the array of colliders that have moved in the last simulation step and that need to be tested again for broad-phase overlapping. | |
| void | removeMovedCollider (int broadPhaseID) |
| Remove a collider from the array of colliders that have moved in the last simulation step and that need to be tested again for broad-phase overlapping. | |
| void | computeOverlappingPairs (MemoryManager &memoryManager, Array< Pair< int32, int32 > > &overlappingNodes) |
| Compute all the overlapping pairs of collision shapes. | |
| Collider * | getColliderForBroadPhaseId (int broadPhaseId) const |
| Return the collider corresponding to the broad-phase node id in parameter. | |
| bool | testOverlappingShapes (int32 shape1BroadPhaseId, int32 shape2BroadPhaseId) const |
| Return true if the two broad-phase collision shapes are overlapping. | |
| const AABB & | getFatAABB (int broadPhaseId) const |
| Return the fat AABB of a given broad-phase shape. | |
| void | raycast (const Ray &ray, RaycastTest &raycastTest, unsigned short raycastWithCategoryMaskBits) const |
| Ray casting method. | |
This class represents the broad-phase collision detection.
The goal of the broad-phase collision detection is to compute the pairs of colliders that have their AABBs overlapping. Only those pairs of bodies will be tested later for collision during the narrow-phase collision detection. A dynamic AABB tree data structure is used for fast broad-phase collision detection.