diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-11-06 07:58:10 +0300 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-11-06 07:58:10 +0300 |
commit | 38b993f787b1694957f7c9876189f8ef9e346515 (patch) | |
tree | cf51058e0dc02eba41d1dd06d7fe3411412a8004 /source/gameengine/Ketsji/KX_TouchEventManager.h | |
parent | b3395edd2a371de8ee56b3fbdfff4687750acccd (diff) |
Speed up the physics engine: hook the SOLID broad phase, so we can either reject the test or request the penetration depth test as necessary. Previously we were doing the penetration depth test, as well as SOLID's intersection test.
Diffstat (limited to 'source/gameengine/Ketsji/KX_TouchEventManager.h')
-rw-r--r-- | source/gameengine/Ketsji/KX_TouchEventManager.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_TouchEventManager.h b/source/gameengine/Ketsji/KX_TouchEventManager.h index 923ecd10884..eb2c26a64f3 100644 --- a/source/gameengine/Ketsji/KX_TouchEventManager.h +++ b/source/gameengine/Ketsji/KX_TouchEventManager.h @@ -37,11 +37,32 @@ #include "KX_GameObject.h" #include <vector> +#include <set> + +class SCA_ISensor; +class SM_Object; class KX_TouchEventManager : public SCA_EventManager { + struct Collision + { + static int next_id; + int m_id; + SCA_ISensor *m_sensor; + SM_Object *m_object1; + SM_Object *m_object2; + + Collision(SCA_ISensor *sensor, SM_Object *obj1, SM_Object *obj2); + + bool operator<(const Collision &other) const; + bool operator==(const Collision &other) const; + }; + class SCA_LogicManager* m_logicmgr; SM_Scene *m_scene; + + std::set<Collision> m_collisions; + static DT_Bool collisionResponse(void *client_data, void *object1, |