diff options
Diffstat (limited to 'extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h')
-rw-r--r-- | extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h b/extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h new file mode 100644 index 00000000000..5699f1019df --- /dev/null +++ b/extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2005 Erwin Coumans http://www.erwincoumans.com + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies. + * Erwin Coumans makes no representations about the suitability + * of this software for any purpose. + * It is provided "as is" without express or implied warranty. +*/ +#ifndef COLLISION_ALGORITHM_H +#define COLLISION_ALGORITHM_H + +struct BroadphaseProxy; +class Dispatcher; + +struct CollisionAlgorithmConstructionInfo +{ + CollisionAlgorithmConstructionInfo() + :m_dispatcher(0) + { + } + CollisionAlgorithmConstructionInfo(Dispatcher* dispatcher,int temp) + :m_dispatcher(dispatcher) + { + } + + Dispatcher* m_dispatcher; + + int GetDispatcherId(); + +}; + + +///CollisionAlgorithm is an collision interface that is compatible with the Broadphase and Dispatcher. +///It is persistent over frames +class CollisionAlgorithm +{ + +protected: + + Dispatcher* m_dispatcher; + +protected: + int GetDispatcherId(); + +public: + + CollisionAlgorithm() {}; + + CollisionAlgorithm(const CollisionAlgorithmConstructionInfo& ci); + + virtual ~CollisionAlgorithm() {}; + + virtual void ProcessCollision (BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,float timeStep,int stepCount, bool useContinuous) = 0; + + virtual float CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,float timeStep,int stepCount) = 0; + +}; + + +#endif //COLLISION_ALGORITHM_H |