summaryrefslogtreecommitdiff
path: root/thirdparty/bullet/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/bullet/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h')
-rw-r--r--thirdparty/bullet/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h171
1 files changed, 0 insertions, 171 deletions
diff --git a/thirdparty/bullet/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h b/thirdparty/bullet/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h
deleted file mode 100644
index d7a18e400a..0000000000
--- a/thirdparty/bullet/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-Bullet Continuous Collision Detection and Physics Library
-Copyright (c) 2003-2006 Erwin Coumans http://continuousphysics.com/Bullet/
-
-This software is provided 'as-is', without any express or implied warranty.
-In no event will the authors be held liable for any damages arising from the use of this software.
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it freely,
-subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
-2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
-3. This notice may not be removed or altered from any source distribution.
-*/
-
-#ifndef BT_SIMPLE_BROADPHASE_H
-#define BT_SIMPLE_BROADPHASE_H
-
-
-#include "btOverlappingPairCache.h"
-
-
-struct btSimpleBroadphaseProxy : public btBroadphaseProxy
-{
- int m_nextFree;
-
-// int m_handleId;
-
-
- btSimpleBroadphaseProxy() {};
-
- btSimpleBroadphaseProxy(const btVector3& minpt,const btVector3& maxpt,int shapeType,void* userPtr, int collisionFilterGroup, int collisionFilterMask)
- :btBroadphaseProxy(minpt,maxpt,userPtr,collisionFilterGroup,collisionFilterMask)
- {
- (void)shapeType;
- }
-
-
- SIMD_FORCE_INLINE void SetNextFree(int next) {m_nextFree = next;}
- SIMD_FORCE_INLINE int GetNextFree() const {return m_nextFree;}
-
-
-
-
-};
-
-///The SimpleBroadphase is just a unit-test for btAxisSweep3, bt32BitAxisSweep3, or btDbvtBroadphase, so use those classes instead.
-///It is a brute force aabb culling broadphase based on O(n^2) aabb checks
-class btSimpleBroadphase : public btBroadphaseInterface
-{
-
-protected:
-
- int m_numHandles; // number of active handles
- int m_maxHandles; // max number of handles
- int m_LastHandleIndex;
-
- btSimpleBroadphaseProxy* m_pHandles; // handles pool
-
- void* m_pHandlesRawPtr;
- int m_firstFreeHandle; // free handles list
-
- int allocHandle()
- {
- btAssert(m_numHandles < m_maxHandles);
- int freeHandle = m_firstFreeHandle;
- m_firstFreeHandle = m_pHandles[freeHandle].GetNextFree();
- m_numHandles++;
- if(freeHandle > m_LastHandleIndex)
- {
- m_LastHandleIndex = freeHandle;
- }
- return freeHandle;
- }
-
- void freeHandle(btSimpleBroadphaseProxy* proxy)
- {
- int handle = int(proxy-m_pHandles);
- btAssert(handle >= 0 && handle < m_maxHandles);
- if(handle == m_LastHandleIndex)
- {
- m_LastHandleIndex--;
- }
- proxy->SetNextFree(m_firstFreeHandle);
- m_firstFreeHandle = handle;
-
- proxy->m_clientObject = 0;
-
- m_numHandles--;
- }
-
- btOverlappingPairCache* m_pairCache;
- bool m_ownsPairCache;
-
- int m_invalidPair;
-
-
-
- inline btSimpleBroadphaseProxy* getSimpleProxyFromProxy(btBroadphaseProxy* proxy)
- {
- btSimpleBroadphaseProxy* proxy0 = static_cast<btSimpleBroadphaseProxy*>(proxy);
- return proxy0;
- }
-
- inline const btSimpleBroadphaseProxy* getSimpleProxyFromProxy(btBroadphaseProxy* proxy) const
- {
- const btSimpleBroadphaseProxy* proxy0 = static_cast<const btSimpleBroadphaseProxy*>(proxy);
- return proxy0;
- }
-
- ///reset broadphase internal structures, to ensure determinism/reproducability
- virtual void resetPool(btDispatcher* dispatcher);
-
-
- void validate();
-
-protected:
-
-
-
-
-public:
- btSimpleBroadphase(int maxProxies=16384,btOverlappingPairCache* overlappingPairCache=0);
- virtual ~btSimpleBroadphase();
-
-
- static bool aabbOverlap(btSimpleBroadphaseProxy* proxy0,btSimpleBroadphaseProxy* proxy1);
-
-
- virtual btBroadphaseProxy* createProxy( const btVector3& aabbMin, const btVector3& aabbMax,int shapeType,void* userPtr , int collisionFilterGroup, int collisionFilterMask, btDispatcher* dispatcher);
-
- virtual void calculateOverlappingPairs(btDispatcher* dispatcher);
-
- virtual void destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
- virtual void setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax, btDispatcher* dispatcher);
- virtual void getAabb(btBroadphaseProxy* proxy,btVector3& aabbMin, btVector3& aabbMax ) const;
-
- virtual void rayTest(const btVector3& rayFrom,const btVector3& rayTo, btBroadphaseRayCallback& rayCallback, const btVector3& aabbMin=btVector3(0,0,0),const btVector3& aabbMax=btVector3(0,0,0));
- virtual void aabbTest(const btVector3& aabbMin, const btVector3& aabbMax, btBroadphaseAabbCallback& callback);
-
- btOverlappingPairCache* getOverlappingPairCache()
- {
- return m_pairCache;
- }
- const btOverlappingPairCache* getOverlappingPairCache() const
- {
- return m_pairCache;
- }
-
- bool testAabbOverlap(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1);
-
-
- ///getAabb returns the axis aligned bounding box in the 'global' coordinate frame
- ///will add some transform later
- virtual void getBroadphaseAabb(btVector3& aabbMin,btVector3& aabbMax) const
- {
- aabbMin.setValue(-BT_LARGE_FLOAT,-BT_LARGE_FLOAT,-BT_LARGE_FLOAT);
- aabbMax.setValue(BT_LARGE_FLOAT,BT_LARGE_FLOAT,BT_LARGE_FLOAT);
- }
-
- virtual void printStats()
- {
-// printf("btSimpleBroadphase.h\n");
-// printf("numHandles = %d, maxHandles = %d\n",m_numHandles,m_maxHandles);
- }
-};
-
-
-
-#endif //BT_SIMPLE_BROADPHASE_H
-