40 #ifndef _physicscollisiondispatcher_cpp
41 #define _physicscollisiondispatcher_cpp
43 #include "Physics/collisiondispatcher.h.cpp"
44 #include "Physics/physicsmanager.h"
45 #include "Physics/collision.h"
56 : btCollisionDispatcher(CollisionConfig)
69 void* ToReturn = btCollisionDispatcher::allocateCollisionAlgorithm(size);
70 btCollisionAlgorithm* Casted = (btCollisionAlgorithm*)ToReturn;
76 btCollisionAlgorithm* Casted = (btCollisionAlgorithm*)ptr;
82 if(Casted == (*QueIt))
85 btCollisionDispatcher::freeCollisionAlgorithm(ptr);
94 if(Casted == (*ColIt).second->InternalAlgo)
99 delete (*ColIt).second;
100 PhysMan->Collisions.erase(ColIt);
104 btCollisionDispatcher::freeCollisionAlgorithm(ptr);
177 : SpuGatheringCollisionDispatcher(ThreadInterface,MaxNumTasks,CollisionConfig)
190 void* ToReturn = btCollisionDispatcher::allocateCollisionAlgorithm(size);
191 btCollisionAlgorithm* Casted = (btCollisionAlgorithm*)ToReturn;
197 btCollisionAlgorithm* Casted = (btCollisionAlgorithm*)ptr;
203 if(Casted == (*QueIt))
206 btCollisionDispatcher::freeCollisionAlgorithm(ptr);
215 if(Casted == (*ColIt).second->InternalAlgo)
220 delete (*ColIt).second;
221 PhysMan->Collisions.erase(ColIt);
225 btCollisionDispatcher::freeCollisionAlgorithm(ptr);