DubiousEngine
0.2.0
Simple Game Engine
|
Multi-threaded Collision Strategy. More...
#include <Collision_strategy_multi_threaded.h>
Public Member Functions | |
Collision_strategy_multi_threaded (float manifold_persistent_threshold, unsigned int workgroup_size) | |
Constructor. More... | |
~Collision_strategy_multi_threaded ()=default | |
Destructor. More... | |
Collision_strategy_multi_threaded (const Collision_strategy_multi_threaded &)=delete | |
Collision_strategy_multi_threaded & | operator= (const Collision_strategy_multi_threaded &)=delete |
void | find_contacts (const std::vector< std::shared_ptr< Physics_object >> &objects, std::map< Physics_object_pair, Contact_manifold > &manifolds) final |
See Collision_strategy::find_contacts. More... | |
Public Member Functions inherited from Dubious::Physics::Collision_strategy | |
Collision_strategy (const Collision_strategy &)=delete | |
Collision_strategy & | operator= (const Collision_strategy &)=delete |
~Collision_strategy ()=default | |
Additional Inherited Members | |
Public Types inherited from Dubious::Physics::Collision_strategy | |
typedef std::tuple< Physics_object *, Physics_object * > | Physics_object_pair |
Protected Member Functions inherited from Dubious::Physics::Collision_strategy | |
Collision_strategy ()=default | |
Multi-threaded Collision Strategy.
This one uses multiple CPU threads. It makes use of the new C++11 async and future interface to spin up threads. This should probably be the fallback option if OpenCL isn't available
Dubious::Physics::Collision_strategy_multi_threaded::Collision_strategy_multi_threaded | ( | float | manifold_persistent_threshold, |
unsigned int | workgroup_size | ||
) |
Constructor.
manifold_persistent_threshold | - [in] see Arena::Settings |
workgroup_size | - [in] see Arena::Settings |
|
default |
Destructor.
|
delete |
|
finalvirtual |
See Collision_strategy::find_contacts.
Implements Dubious::Physics::Collision_strategy.
|
delete |