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

Collision Strategy using OpenCL. More...

#include <Collision_strategy_open_cl.h>

Inheritance diagram for Dubious::Physics::Collision_strategy_open_cl:
Dubious::Physics::Collision_strategy

Public Member Functions

 Collision_strategy_open_cl (float manifold_persistent_threshold, unsigned int collisions_per_thread, int cl_broadphase_work_group_size)
 Constructor. More...
 
 ~Collision_strategy_open_cl ()
 Destructor. More...
 
 Collision_strategy_open_cl (const Collision_strategy_open_cl &)=delete
 
Collision_strategy_open_cloperator= (const Collision_strategy_open_cl &)=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

Collision Strategy using OpenCL.

As the name implies, it performs the collision detection using OpenCL. The hardest to understand, but early tests show that it's significantly faster then other approaches.

Constructor & Destructor Documentation

Dubious::Physics::Collision_strategy_open_cl::Collision_strategy_open_cl ( float  manifold_persistent_threshold,
unsigned int  collisions_per_thread,
int  cl_broadphase_work_group_size 
)

Constructor.

Parameters
manifold_persistent_threshold- [in] see Arena::Settings
collisions_per_thread- [in] see Arena::Settings
cl_broadphase_work_group_size- [in] see Arena::Settings
Dubious::Physics::Collision_strategy_open_cl::~Collision_strategy_open_cl ( )

Destructor.

Dubious::Physics::Collision_strategy_open_cl::Collision_strategy_open_cl ( const Collision_strategy_open_cl )
delete

Member Function Documentation

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

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