Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-11-06 07:58:10 +0300
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-11-06 07:58:10 +0300
commit38b993f787b1694957f7c9876189f8ef9e346515 (patch)
treecf51058e0dc02eba41d1dd06d7fe3411412a8004 /source/gameengine/Ketsji/KX_TouchEventManager.h
parentb3395edd2a371de8ee56b3fbdfff4687750acccd (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.h21
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,