MULTIBODY SIMULATION SOFTWARE - API documentation
Public Member Functions
chrono::collision::ChCollisionSystemBullet Class Reference

#include <CHcCollisionSystemBullet.h>

Inheritance diagram for chrono::collision::ChCollisionSystemBullet:
Inheritance graph
[legend]
Collaboration diagram for chrono::collision::ChCollisionSystemBullet:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ChCollisionSystemBullet (unsigned int max_objects=16000, double scene_size=500)
virtual void Clear (void)
virtual void Add (ChCollisionModel *model)
virtual void Remove (ChCollisionModel *model)
virtual void Run ()
virtual void ReportContacts (ChContactContainerBase *mcontactcontainer)
virtual void ReportProximities (ChProximityContainerBase *mproximitycontainer)
virtual bool RayHit (const ChVector<> &from, const ChVector<> &to, ChRayhitResult &mresult)
btCollisionWorld * GetBulletCollisionWorld ()

Detailed Description

Class for collision engine based on the 'Bullet' library. Contains either the broadphase and the narrow phase Bullet methods.


Member Function Documentation

void chrono::collision::ChCollisionSystemBullet::Add ( ChCollisionModel model) [virtual]

Adds a collision model to the collision engine (custom data may be allocated).

Implements chrono::collision::ChCollisionSystem.

void chrono::collision::ChCollisionSystemBullet::Clear ( void  ) [virtual]

Clears all data instanced by this algorithm if any (like persistent contact manifolds)

Implements chrono::collision::ChCollisionSystem.

void chrono::collision::ChCollisionSystemBullet::Remove ( ChCollisionModel model) [virtual]

Removes a collision model from the collision engine (custom data may be deallocated).

Implements chrono::collision::ChCollisionSystem.

void chrono::collision::ChCollisionSystemBullet::ReportContacts ( ChContactContainerBase mcontactcontainer) [virtual]

After the Run() has completed, you can call this function to fill a 'contact container', that is an object inherited from class ChContactContainerBase. For instance ChSystem, after each Run() collision detection, calls this method multiple times for all contact containers in the system, The basic behavior of the implementation is the following: collision system will call in sequence the functions BeginAddContact(), AddContact() (x n times), EndAddContact() of the contact container.

Implements chrono::collision::ChCollisionSystem.

void chrono::collision::ChCollisionSystemBullet::ReportProximities ( ChProximityContainerBase mproximitycontainer) [virtual]

After the Run() has completed, you can call this function to fill a 'proximity container' (container of narrow phase pairs), that is an object inherited from class ChProximityContainerBase. For instance ChSystem, after each Run() collision detection, calls this method multiple times for all proximity containers in the system, The basic behavior of the implementation is the following: collision system will call in sequence the functions BeginAddProximities(), AddProximity() (x n times), EndAddProximities() of the proximity container.

Implements chrono::collision::ChCollisionSystem.

void chrono::collision::ChCollisionSystemBullet::Run ( ) [virtual]

Removes all collision models from the collision engine (custom data may be deallocated). Run the algorithm and finds all the contacts. (Contacts will be managed by the Bullet persistent contact cache).

Implements chrono::collision::ChCollisionSystem.


CHRONO::ENGINE
C++ library for multibody simulation, (C) Alessandro Tasora
This API documentation has been generated on Tue Jul 10 2012 by Doxygen