DubiousEngine  0.2.0
Simple Game Engine
Dubious::Physics::Collision_strategy_multi_threaded Class Reference

Multi-threaded Collision Strategy. More...

#include <Collision_strategy_multi_threaded.h>

Inheritance diagram for Dubious::Physics::Collision_strategy_multi_threaded:
Dubious::Physics::Collision_strategy

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_threadedoperator= (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_strategyoperator= (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
 

Detailed Description

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

Constructor & Destructor Documentation

Dubious::Physics::Collision_strategy_multi_threaded::Collision_strategy_multi_threaded ( float  manifold_persistent_threshold,
unsigned int  workgroup_size 
)

Constructor.

Parameters
manifold_persistent_threshold- [in] see Arena::Settings
workgroup_size- [in] see Arena::Settings
Dubious::Physics::Collision_strategy_multi_threaded::~Collision_strategy_multi_threaded ( )
default

Destructor.

Dubious::Physics::Collision_strategy_multi_threaded::Collision_strategy_multi_threaded ( const Collision_strategy_multi_threaded )
delete

Member Function Documentation

void Dubious::Physics::Collision_strategy_multi_threaded::find_contacts ( const std::vector< std::shared_ptr< Physics_object >> &  objects,
std::map< Physics_object_pair, Contact_manifold > &  manifolds 
)
finalvirtual
Collision_strategy_multi_threaded& Dubious::Physics::Collision_strategy_multi_threaded::operator= ( const Collision_strategy_multi_threaded )
delete

The documentation for this class was generated from the following files: