Description
Collision engine based on the 'Bullet' library.
Contains both the broadphase and the narrow phase Bullet methods.
#include <ChCollisionSystemBulletMulticore.h>
Public Member Functions | |
ChCollisionSystemBulletMulticore (ChMulticoreDataManager *dc) | |
virtual ChCollisionSystemType | GetType () const override |
Return the type of this collision system. | |
virtual void | Clear (void) override |
Clear all data instanced by this algorithm if any (like persistent contact manifolds) | |
virtual void | Add (ChCollisionModel *model) override |
Add a collision model to the collision engine (custom data may be allocated). | |
virtual void | Remove (ChCollisionModel *model) override |
Remove a collision model from the collision engine. | |
virtual void | SetNumThreads (int nthreads) override |
Set the number of OpenMP threads for collision detection. | |
virtual void | Run () override |
Run the algorithm and finds all the contacts. More... | |
virtual void | GetBoundingBox (ChVector<> &aabb_min, ChVector<> &aabb_max) const override |
Return an AABB bounding all collision shapes in the system. | |
virtual void | ResetTimers () override |
Reset timers for collision detection. | |
virtual double | GetTimerCollisionBroad () const override |
Return the time (in seconds) for broadphase collision detection. | |
virtual double | GetTimerCollisionNarrow () const override |
Return the time (in seconds) for narrowphase collision detection. | |
virtual void | ReportContacts (ChContactContainer *mcontactcontainer) override |
Fill in the provided contact container with collision information after Run(). | |
virtual void | ReportProximities (ChProximityContainer *mproximitycontainer) override |
Fill in the provided proximity container with near point information after Run(). More... | |
virtual bool | RayHit (const ChVector<> &from, const ChVector<> &to, ChRayhitResult &mresult) const override |
Perform a ray-hit test with all collision models. More... | |
virtual bool | RayHit (const ChVector<> &from, const ChVector<> &to, ChCollisionModel *model, ChRayhitResult &mresult) const override |
Perform a ray-hit test with the specified collision model. More... | |
cbtCollisionWorld * | GetBulletCollisionWorld () |
Public Member Functions inherited from chrono::collision::ChCollisionSystem | |
virtual void | PreProcess () |
Removes all collision models from the collision engine (custom data may be deallocated). More... | |
virtual void | PostProcess () |
Optional synchronization operations, invoked after running the collision detection. | |
void | RegisterBroadphaseCallback (std::shared_ptr< BroadphaseCallback > callback) |
Specify a callback object to be used each time a pair of 'near enough' collision shapes is found by the broad-phase collision step. More... | |
void | RegisterNarrowphaseCallback (std::shared_ptr< NarrowphaseCallback > callback) |
Specify a callback object to be used each time a collision pair is found during the narrow-phase collision detection step. More... | |
virtual void | RegisterVisualizationCallback (std::shared_ptr< VisualizationCallback > callback) |
Specify a callback object to be used for debug rendering of collision shapes. | |
virtual void | Visualize (int flags) |
Method to trigger debug visualization of collision shapes. More... | |
virtual void | ArchiveOUT (ChArchiveOut &marchive) |
Method to allow serialization of transient data to archives. | |
virtual void | ArchiveIN (ChArchiveIn &marchive) |
Method to allow de-serialization of transient data from archives. | |
void | SetSystem (ChSystem *sys) |
Set associated Chrono system. | |
Additional Inherited Members | |
Public Types inherited from chrono::collision::ChCollisionSystem | |
enum | VisualizationModes { VIS_None = 0, VIS_Shapes = 1 << 0, VIS_Aabb = 1 << 1, VIS_Contacts = 1 << 2, VIS_MAX_MODES } |
Enumeration of supported flags for collision debug visualization. More... | |
Protected Attributes inherited from chrono::collision::ChCollisionSystem | |
ChSystem * | m_system |
associated Chrono system | |
std::shared_ptr< BroadphaseCallback > | broad_callback |
user callback for each near-enough pair of shapes | |
std::shared_ptr< NarrowphaseCallback > | narrow_callback |
user callback for each collision pair | |
std::shared_ptr< VisualizationCallback > | vis_callback |
user callback for debug visualization | |
int | m_vis_flags |
Member Function Documentation
◆ RayHit() [1/2]
|
inlineoverridevirtual |
Perform a ray-hit test with the specified collision model.
Currently not implemented.
Implements chrono::collision::ChCollisionSystem.
◆ RayHit() [2/2]
|
inlineoverridevirtual |
Perform a ray-hit test with all collision models.
Currently not implemented.
Implements chrono::collision::ChCollisionSystem.
◆ ReportProximities()
|
inlineoverridevirtual |
Fill in the provided proximity container with near point information after Run().
Not used in Chrono::Multicore.
Implements chrono::collision::ChCollisionSystem.
◆ Run()
|
overridevirtual |
Run the algorithm and finds all the contacts.
(Contacts will be managed by the Bullet persistent contact cache).
Implements chrono::collision::ChCollisionSystem.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_multicore/collision/ChCollisionSystemBulletMulticore.h
- /builds/uwsbel/chrono/src/chrono_multicore/collision/ChCollisionSystemBulletMulticore.cpp