Resolved other bad files in branch, had to kick old bullet, will have to copy from...
authorDaniel Genrich <daniel.genrich@gmx.net>
Wed, 7 May 2008 20:06:28 +0000 (20:06 +0000)
committerDaniel Genrich <daniel.genrich@gmx.net>
Wed, 7 May 2008 20:06:28 +0000 (20:06 +0000)
217 files changed:
extern/bullet2/CMakeLists.txt [deleted file]
extern/bullet2/Makefile [deleted file]
extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj [deleted file]
extern/bullet2/readme.txt [deleted file]
extern/bullet2/src/Bullet-C-Api.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.cpp [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp [deleted file]
extern/bullet2/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h [deleted file]
extern/bullet2/src/BulletCollision/CMakeLists.txt [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionObject.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btManifoldResult.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btManifoldResult.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btUnionFind.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionDispatch/btUnionFind.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btBoxShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btBoxShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCapsuleShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCapsuleShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCollisionMargin.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCollisionShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCollisionShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCompoundShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCompoundShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConcaveShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConcaveShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConeShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConeShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexHullShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexHullShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexInternalShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCylinderShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btCylinderShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btEmptyShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btEmptyShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btMinkowskiSumShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btMultiSphereShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btOptimizedBvh.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btSphereShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btSphereShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btStaticPlaneShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btStridingMeshInterface.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTetrahedronShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleBuffer.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleCallback.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleCallback.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleMesh.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleMesh.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleMeshShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btTriangleShape.h [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp [deleted file]
extern/bullet2/src/BulletCollision/CollisionShapes/btUniformScalingShape.h [deleted file]
extern/bullet2/src/BulletCollision/Doxyfile [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btConvexCast.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btConvexPenetrationDepthSolver.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpa.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpa.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btPointCollector.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp [deleted file]
extern/bullet2/src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h [deleted file]
extern/bullet2/src/BulletCollision/ibmsdk/Makefile [deleted file]
extern/bullet2/src/BulletDynamics/CMakeLists.txt [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btConstraintSolver.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btContactConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btContactSolverInfo.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btHingeConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btJacobianEntry.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolverBody.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btSolverConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp [deleted file]
extern/bullet2/src/BulletDynamics/ConstraintSolver/btTypedConstraint.h [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-API.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/Bullet-C-Api.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.h [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btRigidBody.h [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h [deleted file]
extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.h [deleted file]
extern/bullet2/src/BulletDynamics/Vehicle/btVehicleRaycaster.h [deleted file]
extern/bullet2/src/BulletDynamics/Vehicle/btWheelInfo.cpp [deleted file]
extern/bullet2/src/BulletDynamics/Vehicle/btWheelInfo.h [deleted file]
extern/bullet2/src/BulletDynamics/ibmsdk/Makefile [deleted file]
extern/bullet2/src/CMakeLists.txt [deleted file]
extern/bullet2/src/LinearMath/CMakeLists.txt [deleted file]
extern/bullet2/src/LinearMath/btAabbUtil2.h [deleted file]
extern/bullet2/src/LinearMath/btAlignedAllocator.cpp [deleted file]
extern/bullet2/src/LinearMath/btAlignedAllocator.h [deleted file]
extern/bullet2/src/LinearMath/btAlignedObjectArray.h [deleted file]
extern/bullet2/src/LinearMath/btDefaultMotionState.h [deleted file]
extern/bullet2/src/LinearMath/btGeometryUtil.cpp [deleted file]
extern/bullet2/src/LinearMath/btGeometryUtil.h [deleted file]
extern/bullet2/src/LinearMath/btIDebugDraw.h [deleted file]
extern/bullet2/src/LinearMath/btList.h [deleted file]
extern/bullet2/src/LinearMath/btMatrix3x3.h [deleted file]
extern/bullet2/src/LinearMath/btMinMax.h [deleted file]
extern/bullet2/src/LinearMath/btMotionState.h [deleted file]
extern/bullet2/src/LinearMath/btPoint3.h [deleted file]
extern/bullet2/src/LinearMath/btPoolAllocator.h [deleted file]
extern/bullet2/src/LinearMath/btQuadWord.h [deleted file]
extern/bullet2/src/LinearMath/btQuaternion.h [deleted file]
extern/bullet2/src/LinearMath/btQuickprof.cpp [deleted file]
extern/bullet2/src/LinearMath/btQuickprof.h [deleted file]
extern/bullet2/src/LinearMath/btRandom.h [deleted file]
extern/bullet2/src/LinearMath/btScalar.h [deleted file]
extern/bullet2/src/LinearMath/btSimdMinMax.h [deleted file]
extern/bullet2/src/LinearMath/btStackAlloc.h [deleted file]
extern/bullet2/src/LinearMath/btTransform.h [deleted file]
extern/bullet2/src/LinearMath/btTransformUtil.h [deleted file]
extern/bullet2/src/LinearMath/btVector3.h [deleted file]
extern/bullet2/src/LinearMath/ibmsdk/Makefile [deleted file]
extern/bullet2/src/Makefile [deleted file]
extern/bullet2/src/SConscript [deleted file]
extern/bullet2/src/btBulletCollisionCommon.h [deleted file]
extern/bullet2/src/btBulletDynamicsCommon.h [deleted file]
extern/bullet2/src/ibmsdk/Makefile [deleted file]
source/blender/include/BIF_imasel.h
source/blender/include/BSE_drawview.h
source/blender/include/BSE_filesel.h
source/blender/makesdna/DNA_userdef_types.h

diff --git a/extern/bullet2/CMakeLists.txt b/extern/bullet2/CMakeLists.txt
deleted file mode 100644 (file)
index 19dc6e2..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# $Id$
-# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version. The Blender
-# Foundation also sells licenses for use in proprietary software under
-# the Blender License.  See http://www.blender.org/BL/ for information
-# about this.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Jacques Beaurai, Erwin Coumans
-#
-# ***** END GPL/BL DUAL LICENSE BLOCK *****
-
-SET(INC . src)
-
-FILE(GLOB SRC   
-  src/LinearMath/*.cpp
-  src/BulletCollision/BroadphaseCollision/*.cpp
-  src/BulletCollision/CollisionShapes/*.cpp
-  src/BulletCollision/NarrowPhaseCollision/*.cpp
-  src/BulletCollision//CollisionDispatch/*.cpp
-  src/BulletDynamics/ConstraintSolver/*.cpp
-  src/BulletDynamics/Vehicle/*.cpp
-  src/BulletDynamics/Dynamics/*.cpp
-)
-
-ADD_DEFINITIONS(-D_LIB)
-
-BLENDERLIB(extern_bullet "${SRC}" "${INC}")
-#, libtype=['game2', 'player'], priority=[20, 170], compileflags=cflags )
diff --git a/extern/bullet2/Makefile b/extern/bullet2/Makefile
deleted file mode 100644 (file)
index be242c2..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# $Id$
-#
-# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version. The Blender
-# Foundation also sells licenses for use in proprietary software under
-# the Blender License.  See http://www.blender.org/BL/ for information
-# about this.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-# The Original Code is Copyright (C) 2002 by Hans Lambermont
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s):
-#
-# ***** END GPL/BL DUAL LICENSE BLOCK *****
-LIBNAME = bullet2
-include nan_definitions.mk
-SOURCEDIR = extern/$(LIBNAME)
-DIR = $(OCGDIR)/extern/$(LIBNAME)
-DIRS = src
-DISTDIR = src
-
-BULLETDIRS = \
-LinearMath \
-BulletCollision/BroadphaseCollision \
-BulletCollision/CollisionShapes \
-BulletCollision/NarrowPhaseCollision \
-BulletCollision//CollisionDispatch \
-BulletDynamics/ConstraintSolver \
-BulletDynamics/Vehicle \
-BulletDynamics/Dynamics
-
-include nan_subdirs.mk
-
-CP = $(NANBLENDERHOME)/intern/tools/cpifdiff.sh
-
-install: all debug
-       @[ -d $(NAN_BULLET2) ] || mkdir -p $(NAN_BULLET2)
-       @[ -d $(NAN_BULLET2)/include ] || mkdir -p $(NAN_BULLET2)/include
-       @for i in $(BULLETDIRS); do \
-       [ -d $(NAN_BULLET2)/include/$$i ] || mkdir -p $(NAN_BULLET2)/include/$$i; \
-       $(CP) $(DISTDIR)/$$i/*.h $(NAN_BULLET2)/include/$$i; \
-       done
-       @[ -d $(NAN_BULLET2)/lib ] || mkdir -p $(NAN_BULLET2)/lib
-       @$(CP) $(DISTDIR)/*.h $(NAN_BULLET2)/include
-       @$(CP) $(OCGDIR)/extern/bullet2/libbullet2.a $(NAN_BULLET2)/lib
-ifeq ($(OS),darwin)
-       ranlib $(NAN_BULLET2)/lib/libbullet2.a
-endif
diff --git a/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj b/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj
deleted file mode 100644 (file)
index 87a1e45..0000000
+++ /dev/null
@@ -1,921 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.10"
-       Name="bullet2"
-       ProjectGUID="{FFD3C64A-30E2-4BC7-BC8F-51818C320400}"
-       SccProjectName=""
-       SccLocalPath="">
-       <Platforms>
-               <Platform
-                       Name="Win32"/>
-       </Platforms>
-       <Configurations>
-               <Configuration
-                       Name="Blender Debug|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\bullet\debug"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\bullet\debug"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..\..\src"
-                               PreprocessorDefinitions="_DEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               ExceptionHandling="FALSE"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="1"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\bullet\debug\Bullet.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\bullet\debug\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\bullet\debug\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\bullet\debug\"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="4"
-                               CompileAs="0"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\debug\Bullet.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-
-XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include
-XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="Blender Release|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\bullet"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\bullet"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               AdditionalIncludeDirectories="..\..\src"
-                               PreprocessorDefinitions="NDEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               StringPooling="TRUE"
-                               ExceptionHandling="FALSE"
-                               RuntimeLibrary="0"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\bullet\Bullet.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\bullet\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\bullet\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\bullet\"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="2"
-                               CompileAs="0"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\Bullet.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-
-XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include
-XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="3D Plugin Debug|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\debug"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\debug"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..\..\src"
-                               PreprocessorDefinitions="_DEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               ExceptionHandling="FALSE"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\debug\Bullet.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\debug\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\debug\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\debug\"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="4"
-                               CompileAs="0"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\mtdll\debug\Bullet.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-
-XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include
-XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="3D Plugin Release|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               AdditionalIncludeDirectories="..\..\src"
-                               PreprocessorDefinitions="NDEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               StringPooling="TRUE"
-                               ExceptionHandling="FALSE"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\Bullet.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\bullet\mtdll\"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="2"
-                               CompileAs="0"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\mtdll\Bullet.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\BroadphaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\NarrowPhaseCollision MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionDispatch MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletCollision\CollisionShapes MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\ConstraintSolver MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Dynamics MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\BulletDynamics\Vehicle MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\bullet2\include\LinearMath MKDIR ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-
-XCOPY /Y ..\..\src\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include
-XCOPY /Y ..\..\src\LinearMath\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\LinearMath
-XCOPY /Y ..\..\src\BulletCollision\BroadphaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\BroadphaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\NarrowPhaseCollision\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\NarrowPhaseCollision
-XCOPY /Y ..\..\src\BulletCollision\CollisionDispatch\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionDispatch
-XCOPY /Y ..\..\src\BulletCollision\CollisionShapes\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletCollision\CollisionShapes
-XCOPY /Y ..\..\src\BulletDynamics\ConstraintSolver\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\ConstraintSolver
-XCOPY /Y ..\..\src\BulletDynamics\Dynamics\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Dynamics
-XCOPY /Y ..\..\src\BulletDynamics\Vehicle\*.h ..\..\..\..\..\build\msvc_7\extern\bullet\include\BulletDynamics\Vehicle
-
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="src"
-                       Filter="">
-                       <File
-                               RelativePath="..\..\src\btBulletCollisionCommon.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\btBulletDynamicsCommon.h">
-                       </File>
-                       <Filter
-                               Name="BulletDynamics"
-                               Filter="">
-                               <Filter
-                                       Name="ConstraintSolver"
-                                       Filter="">
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btConstraintSolver.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btContactConstraint.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btContactConstraint.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btContactSolverInfo.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btHingeConstraint.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btHingeConstraint.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btJacobianEntry.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btTypedConstraint.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\ConstraintSolver\btTypedConstraint.h">
-                                       </File>
-                               </Filter>
-                               <Filter
-                                       Name="Dynamics"
-                                       Filter="">
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Dynamics\btDynamicsWorld.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Dynamics\btRigidBody.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Dynamics\btRigidBody.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Dynamics\btSimpleDynamicsWorld.h">
-                                       </File>
-                               </Filter>
-                               <Filter
-                                       Name="Vehicle"
-                                       Filter="">
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Vehicle\btRaycastVehicle.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Vehicle\btRaycastVehicle.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Vehicle\btVehicleRaycaster.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Vehicle\btWheelInfo.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletDynamics\Vehicle\btWheelInfo.h">
-                                       </File>
-                               </Filter>
-                       </Filter>
-                       <Filter
-                               Name="BulletCollision"
-                               Filter="">
-                               <Filter
-                                       Name="BroadphaseCollision"
-                                       Filter="">
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btAxisSweep3.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btAxisSweep3.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btBroadphaseInterface.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btBroadphaseProxy.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDispatcher.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btDispatcher.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btOverlappingPairCache.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\BroadphaseCollision\btSimpleBroadphase.h">
-                                       </File>
-                               </Filter>
-                               <Filter
-                                       Name="NarrowPhaseCollision"
-                                       Filter="">
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btConvexCast.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btConvexCast.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btConvexPenetrationDepthSolver.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btDiscreteCollisionDetectorInterface.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpa.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpa.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btManifoldPoint.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btPersistentManifold.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btPointCollector.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btRaycastCallback.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btSimplexSolverInterface.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.h">
-                                       </File>
-                               </Filter>
-                               <Filter
-                                       Name="CollisionDispatch"
-                                       Filter="">
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionCreateFunc.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionDispatcher.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionObject.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionObject.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionWorld.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCollisionWorld.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btManifoldResult.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btManifoldResult.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSimulationIslandManager.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btUnionFind.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\btUnionFind.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionDispatch\SphereTriangleDetector.h">
-                                       </File>
-                               </Filter>
-                               <Filter
-                                       Name="CollisionShapes"
-                                       Filter="">
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btBoxShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btBoxShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCapsuleShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCapsuleShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCollisionMargin.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCollisionShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCollisionShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCompoundShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCompoundShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConcaveShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConcaveShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConeShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConeShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexHullShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexHullShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCylinderShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btCylinderShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btEmptyShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btEmptyShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btMinkowskiSumShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btMultiSphereShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btMultiSphereShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btOptimizedBvh.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btOptimizedBvh.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btPolyhedralConvexShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btSphereShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btSphereShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btStaticPlaneShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btStaticPlaneShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btStridingMeshInterface.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btStridingMeshInterface.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTetrahedronShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTetrahedronShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleBuffer.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleBuffer.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleCallback.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleCallback.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMesh.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMesh.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMeshShape.cpp">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleMeshShape.h">
-                                       </File>
-                                       <File
-                                               RelativePath="..\..\src\BulletCollision\CollisionShapes\btTriangleShape.h">
-                                       </File>
-                               </Filter>
-                       </Filter>
-                       <Filter
-                               Name="LinearMath"
-                               Filter="">
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btAabbUtil2.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btAlignedAllocator.cpp">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btAlignedAllocator.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btAlignedObjectArray.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btDefaultMotionState.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btGeometryUtil.cpp">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btGeometryUtil.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btIDebugDraw.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btList.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btMatrix3x3.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btMinMax.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btMotionState.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btPoint3.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btQuadWord.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btQuaternion.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btQuickprof.cpp">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btQuickprof.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btRandom.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btScalar.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btSimdMinMax.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btStackAlloc.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btTransform.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btTransformUtil.h">
-                               </File>
-                               <File
-                                       RelativePath="..\..\src\LinearMath\btVector3.h">
-                               </File>
-                       </Filter>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/extern/bullet2/readme.txt b/extern/bullet2/readme.txt
deleted file mode 100644 (file)
index 4d1a4c1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-
-*** These files in extern/bullet2 are NOT part of the Blender build yet ***
-
-This is the new refactored version of Bullet physics library version 2.x
-
-Soon this will replace the old Bullet version in extern/bullet.
-First the integration in Blender Game Engine needs to be updated.
-Once that is done all build systems can be updated to use/build extern/bullet2 files.
-
-Questions? mail blender at erwincoumans.com, or check the bf-blender mailing list.
-Thanks,
-Erwin
diff --git a/extern/bullet2/src/Bullet-C-Api.h b/extern/bullet2/src/Bullet-C-Api.h
deleted file mode 100644 (file)
index 078dcae..0000000
+++ /dev/null
@@ -1,37 +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.
-*/
-
-/*
-       Draft high-level generic physics C-API. For low-level access, use the physics SDK native API's.
-       Work in progress, functionality will be added on demand.
-
-       If possible, use the richer Bullet C++ API, by including "btBulletDynamicsCommon.h"
-*/
-
-#ifndef BULLET_C_API_H
-#define BULLET_C_API_H
-
-#ifdef __cplusplus
-extern "C" { 
-#endif
-
-double plNearestPoints(float p1[3], float p2[3], float p3[3], float q1[3], float q2[3], float q3[3], float *pa, float *pb, float normal[3]);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif //BULLET_C_API_H
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp
deleted file mode 100644 (file)
index d7eea33..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-
-//Bullet Continuous Collision Detection and Physics Library
-//Copyright (c) 2003-2006 Erwin Coumans  http://continuousphysics.com/Bullet/
-
-
-//
-// btAxisSweep3
-//
-// Copyright (c) 2006 Simon Hobbs
-//
-// 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.
-#include "btAxisSweep3.h"
-
-#include <assert.h>
-
-btAxisSweep3::btAxisSweep3(const btPoint3& worldAabbMin,const btPoint3& worldAabbMax, unsigned short int maxHandles, btOverlappingPairCache* pairCache)
-:btAxisSweep3Internal<unsigned short int>(worldAabbMin,worldAabbMax,0xfffe,0xffff,maxHandles,pairCache)
-{
-       // 1 handle is reserved as sentinel
-       btAssert(maxHandles > 1 && maxHandles < 32767);
-
-}
-
-
-bt32BitAxisSweep3::bt32BitAxisSweep3(const btPoint3& worldAabbMin,const btPoint3& worldAabbMax, unsigned int maxHandles , btOverlappingPairCache* pairCache )
-:btAxisSweep3Internal<unsigned int>(worldAabbMin,worldAabbMax,0xfffffffe,0x7fffffff,maxHandles,pairCache)
-{
-       // 1 handle is reserved as sentinel
-       btAssert(maxHandles > 1 && maxHandles < 2147483647);
-}
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btAxisSweep3.h
deleted file mode 100644 (file)
index d36df6e..0000000
+++ /dev/null
@@ -1,880 +0,0 @@
-//Bullet Continuous Collision Detection and Physics Library
-//Copyright (c) 2003-2006 Erwin Coumans  http://continuousphysics.com/Bullet/
-
-//
-// btAxisSweep3.h
-//
-// Copyright (c) 2006 Simon Hobbs
-//
-// 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 AXIS_SWEEP_3_H
-#define AXIS_SWEEP_3_H
-
-#include "LinearMath/btPoint3.h"
-#include "LinearMath/btVector3.h"
-#include "btOverlappingPairCache.h"
-#include "btBroadphaseInterface.h"
-#include "btBroadphaseProxy.h"
-#include "btOverlappingPairCallback.h"
-
-//#define DEBUG_BROADPHASE 1
-
-/// btAxisSweep3Internal is an internal template class that implements sweep and prune.
-/// Dont use this class directly, use btAxisSweep3 or bt32BitAxisSweep3 instead.
-template <typename BP_FP_INT_TYPE>
-class btAxisSweep3Internal : public btBroadphaseInterface
-{
-protected:
-
-       BP_FP_INT_TYPE  m_bpHandleMask;
-       BP_FP_INT_TYPE  m_handleSentinel;
-
-public:
-       
-
-       class Edge
-       {
-       public:
-               BP_FP_INT_TYPE m_pos;                   // low bit is min/max
-               BP_FP_INT_TYPE m_handle;
-
-               BP_FP_INT_TYPE IsMax() const {return m_pos & 1;}
-       };
-
-public:
-       ATTRIBUTE_ALIGNED16(class) Handle : public btBroadphaseProxy
-       {
-       public:
-       BT_DECLARE_ALIGNED_ALLOCATOR();
-       
-               // indexes into the edge arrays
-               BP_FP_INT_TYPE m_minEdges[3], m_maxEdges[3];            // 6 * 2 = 12
-//             BP_FP_INT_TYPE m_uniqueId;
-               BP_FP_INT_TYPE m_pad;
-               
-               //void* m_pOwner; this is now in btBroadphaseProxy.m_clientObject
-       
-               SIMD_FORCE_INLINE void SetNextFree(BP_FP_INT_TYPE next) {m_minEdges[0] = next;}
-               SIMD_FORCE_INLINE BP_FP_INT_TYPE GetNextFree() const {return m_minEdges[0];}
-       };              // 24 bytes + 24 for Edge structures = 44 bytes total per entry
-
-       
-protected:
-       btPoint3 m_worldAabbMin;                                                // overall system bounds
-       btPoint3 m_worldAabbMax;                                                // overall system bounds
-
-       btVector3 m_quantize;                                           // scaling factor for quantization
-
-       BP_FP_INT_TYPE m_numHandles;                                            // number of active handles
-       BP_FP_INT_TYPE m_maxHandles;                                            // max number of handles
-       Handle* m_pHandles;                                             // handles pool
-       BP_FP_INT_TYPE m_firstFreeHandle;               // free handles list
-
-       Edge* m_pEdges[3];                                              // edge arrays for the 3 axes (each array has m_maxHandles * 2 + 2 sentinel entries)
-
-       btOverlappingPairCache* m_pairCache;
-
-       ///btOverlappingPairCallback is an additional optional user callback for adding/removing overlapping pairs, similar interface to btOverlappingPairCache.
-       btOverlappingPairCallback* m_userPairCallback;
-       
-       bool    m_ownsPairCache;
-
-       int     m_invalidPair;
-
-       // allocation/deallocation
-       BP_FP_INT_TYPE allocHandle();
-       void freeHandle(BP_FP_INT_TYPE handle);
-       
-
-       bool testOverlap(int ignoreAxis,const Handle* pHandleA, const Handle* pHandleB);
-
-#ifdef DEBUG_BROADPHASE
-       void debugPrintAxis(int axis,bool checkCardinality=true);
-#endif //DEBUG_BROADPHASE
-
-       //Overlap* AddOverlap(BP_FP_INT_TYPE handleA, BP_FP_INT_TYPE handleB);
-       //void RemoveOverlap(BP_FP_INT_TYPE handleA, BP_FP_INT_TYPE handleB);
-
-       void quantize(BP_FP_INT_TYPE* out, const btPoint3& point, int isMax) const;
-
-       void sortMinDown(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps );
-       void sortMinUp(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps );
-       void sortMaxDown(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps );
-       void sortMaxUp(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps );
-
-public:
-
-       btAxisSweep3Internal(const btPoint3& worldAabbMin,const btPoint3& worldAabbMax, BP_FP_INT_TYPE handleMask, BP_FP_INT_TYPE handleSentinel, BP_FP_INT_TYPE maxHandles = 16384, btOverlappingPairCache* pairCache=0);
-
-       virtual ~btAxisSweep3Internal();
-
-
-       virtual void    calculateOverlappingPairs(btDispatcher* dispatcher);
-       
-       BP_FP_INT_TYPE addHandle(const btPoint3& aabbMin,const btPoint3& aabbMax, void* pOwner,short int collisionFilterGroup,short int collisionFilterMask,btDispatcher* dispatcher);
-       void removeHandle(BP_FP_INT_TYPE handle,btDispatcher* dispatcher);
-       void updateHandle(BP_FP_INT_TYPE handle, const btPoint3& aabbMin,const btPoint3& aabbMax,btDispatcher* dispatcher);
-       SIMD_FORCE_INLINE Handle* getHandle(BP_FP_INT_TYPE index) const {return m_pHandles + index;}
-
-       void    processAllOverlappingPairs(btOverlapCallback* callback);
-
-       //Broadphase Interface
-       virtual btBroadphaseProxy*      createProxy(  const btVector3& aabbMin,  const btVector3& aabbMax,int shapeType,void* userPtr ,short int collisionFilterGroup,short int collisionFilterMask,btDispatcher* dispatcher);
-       virtual void    destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
-       virtual void    setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* dispatcher);
-       
-       bool    testAabbOverlap(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1);
-
-       btOverlappingPairCache* getOverlappingPairCache()
-       {
-               return m_pairCache;
-       }
-       const btOverlappingPairCache*   getOverlappingPairCache() const
-       {
-               return m_pairCache;
-       }
-
-       void    setOverlappingPairUserCallback(btOverlappingPairCallback* pairCallback)
-       {
-               m_userPairCallback = pairCallback;
-       }
-       const btOverlappingPairCallback*        getOverlappingPairUserCallback() const
-       {
-               return m_userPairCallback;
-       }
-};
-
-////////////////////////////////////////////////////////////////////
-
-
-
-
-#ifdef DEBUG_BROADPHASE
-#include <stdio.h>
-
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3<BP_FP_INT_TYPE>::debugPrintAxis(int axis, bool checkCardinality)
-{
-       int numEdges = m_pHandles[0].m_maxEdges[axis];
-       printf("SAP Axis %d, numEdges=%d\n",axis,numEdges);
-
-       int i;
-       for (i=0;i<numEdges+1;i++)
-       {
-               Edge* pEdge = m_pEdges[axis] + i;
-               Handle* pHandlePrev = getHandle(pEdge->m_handle);
-               int handleIndex = pEdge->IsMax()? pHandlePrev->m_maxEdges[axis] : pHandlePrev->m_minEdges[axis];
-               char beginOrEnd;
-               beginOrEnd=pEdge->IsMax()?'E':'B';
-               printf("        [%c,h=%d,p=%x,i=%d]\n",beginOrEnd,pEdge->m_handle,pEdge->m_pos,handleIndex);
-       }
-
-       if (checkCardinality)
-               assert(numEdges == m_numHandles*2+1);
-}
-#endif //DEBUG_BROADPHASE
-
-template <typename BP_FP_INT_TYPE>
-btBroadphaseProxy*     btAxisSweep3Internal<BP_FP_INT_TYPE>::createProxy(  const btVector3& aabbMin,  const btVector3& aabbMax,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask,btDispatcher* dispatcher)
-{
-               (void)shapeType;
-               BP_FP_INT_TYPE handleId = addHandle(aabbMin,aabbMax, userPtr,collisionFilterGroup,collisionFilterMask,dispatcher);
-               
-               Handle* handle = getHandle(handleId);
-                               
-               return handle;
-}
-
-
-
-template <typename BP_FP_INT_TYPE>
-void   btAxisSweep3Internal<BP_FP_INT_TYPE>::destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher)
-{
-       Handle* handle = static_cast<Handle*>(proxy);
-       removeHandle(handle->m_uniqueId,dispatcher);
-}
-
-template <typename BP_FP_INT_TYPE>
-void   btAxisSweep3Internal<BP_FP_INT_TYPE>::setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* dispatcher)
-{
-       Handle* handle = static_cast<Handle*>(proxy);
-       updateHandle(handle->m_uniqueId,aabbMin,aabbMax,dispatcher);
-
-}
-
-
-
-
-
-template <typename BP_FP_INT_TYPE>
-btAxisSweep3Internal<BP_FP_INT_TYPE>::btAxisSweep3Internal(const btPoint3& worldAabbMin,const btPoint3& worldAabbMax, BP_FP_INT_TYPE handleMask, BP_FP_INT_TYPE handleSentinel,BP_FP_INT_TYPE maxHandles, btOverlappingPairCache* pairCache )
-:m_bpHandleMask(handleMask),
-m_handleSentinel(handleSentinel),
-m_pairCache(pairCache),
-m_userPairCallback(0),
-m_ownsPairCache(false),
-m_invalidPair(0)
-{
-       if (!m_pairCache)
-       {
-               void* ptr = btAlignedAlloc(sizeof(btOverlappingPairCache),16);
-               m_pairCache = new(ptr) btOverlappingPairCache();
-               m_ownsPairCache = true;
-       }
-
-       //assert(bounds.HasVolume());
-
-       // init bounds
-       m_worldAabbMin = worldAabbMin;
-       m_worldAabbMax = worldAabbMax;
-
-       btVector3 aabbSize = m_worldAabbMax - m_worldAabbMin;
-
-       BP_FP_INT_TYPE  maxInt = m_handleSentinel;
-
-       m_quantize = btVector3(btScalar(maxInt),btScalar(maxInt),btScalar(maxInt)) / aabbSize;
-
-       // allocate handles buffer and put all handles on free list
-       void* ptr = btAlignedAlloc(sizeof(Handle)*maxHandles,16);
-       m_pHandles = new(ptr) Handle[maxHandles];
-       m_maxHandles = maxHandles;
-       m_numHandles = 0;
-
-       // handle 0 is reserved as the null index, and is also used as the sentinel
-       m_firstFreeHandle = 1;
-       {
-               for (BP_FP_INT_TYPE i = m_firstFreeHandle; i < maxHandles; i++)
-                       m_pHandles[i].SetNextFree(i + 1);
-               m_pHandles[maxHandles - 1].SetNextFree(0);
-       }
-
-       {
-               // allocate edge buffers
-               for (int i = 0; i < 3; i++)
-               {
-                       void* ptr = btAlignedAlloc(sizeof(Edge)*maxHandles*2,16);
-                       m_pEdges[i] = new(ptr) Edge[maxHandles * 2];
-               }
-       }
-       //removed overlap management
-
-       // make boundary sentinels
-       
-       m_pHandles[0].m_clientObject = 0;
-
-       for (int axis = 0; axis < 3; axis++)
-       {
-               m_pHandles[0].m_minEdges[axis] = 0;
-               m_pHandles[0].m_maxEdges[axis] = 1;
-
-               m_pEdges[axis][0].m_pos = 0;
-               m_pEdges[axis][0].m_handle = 0;
-               m_pEdges[axis][1].m_pos = m_handleSentinel;
-               m_pEdges[axis][1].m_handle = 0;
-#ifdef DEBUG_BROADPHASE
-               debugPrintAxis(axis);
-#endif //DEBUG_BROADPHASE
-
-       }
-
-}
-
-template <typename BP_FP_INT_TYPE>
-btAxisSweep3Internal<BP_FP_INT_TYPE>::~btAxisSweep3Internal()
-{
-       
-       for (int i = 2; i >= 0; i--)
-       {
-               btAlignedFree(m_pEdges[i]);
-       }
-       btAlignedFree(m_pHandles);
-
-       if (m_ownsPairCache)
-       {
-               m_pairCache->~btOverlappingPairCache();
-               btAlignedFree(m_pairCache);
-       }
-}
-
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::quantize(BP_FP_INT_TYPE* out, const btPoint3& point, int isMax) const
-{
-       btPoint3 clampedPoint(point);
-       
-
-
-       clampedPoint.setMax(m_worldAabbMin);
-       clampedPoint.setMin(m_worldAabbMax);
-
-       btVector3 v = (clampedPoint - m_worldAabbMin) * m_quantize;
-       out[0] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.getX() & m_bpHandleMask) | isMax);
-       out[1] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.getY() & m_bpHandleMask) | isMax);
-       out[2] = (BP_FP_INT_TYPE)(((BP_FP_INT_TYPE)v.getZ() & m_bpHandleMask) | isMax);
-       
-}
-
-
-template <typename BP_FP_INT_TYPE>
-BP_FP_INT_TYPE btAxisSweep3Internal<BP_FP_INT_TYPE>::allocHandle()
-{
-       assert(m_firstFreeHandle);
-
-       BP_FP_INT_TYPE handle = m_firstFreeHandle;
-       m_firstFreeHandle = getHandle(handle)->GetNextFree();
-       m_numHandles++;
-
-       return handle;
-}
-
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::freeHandle(BP_FP_INT_TYPE handle)
-{
-       assert(handle > 0 && handle < m_maxHandles);
-
-       getHandle(handle)->SetNextFree(m_firstFreeHandle);
-       m_firstFreeHandle = handle;
-
-       m_numHandles--;
-}
-
-
-template <typename BP_FP_INT_TYPE>
-BP_FP_INT_TYPE btAxisSweep3Internal<BP_FP_INT_TYPE>::addHandle(const btPoint3& aabbMin,const btPoint3& aabbMax, void* pOwner,short int collisionFilterGroup,short int collisionFilterMask,btDispatcher* dispatcher)
-{
-       // quantize the bounds
-       BP_FP_INT_TYPE min[3], max[3];
-       quantize(min, aabbMin, 0);
-       quantize(max, aabbMax, 1);
-
-       // allocate a handle
-       BP_FP_INT_TYPE handle = allocHandle();
-       
-
-       Handle* pHandle = getHandle(handle);
-       
-       pHandle->m_uniqueId = handle;
-       //pHandle->m_pOverlaps = 0;
-       pHandle->m_clientObject = pOwner;
-       pHandle->m_collisionFilterGroup = collisionFilterGroup;
-       pHandle->m_collisionFilterMask = collisionFilterMask;
-
-       // compute current limit of edge arrays
-       BP_FP_INT_TYPE limit = m_numHandles * 2;
-
-       
-       // insert new edges just inside the max boundary edge
-       for (BP_FP_INT_TYPE axis = 0; axis < 3; axis++)
-       {
-
-               m_pHandles[0].m_maxEdges[axis] += 2;
-
-               m_pEdges[axis][limit + 1] = m_pEdges[axis][limit - 1];
-
-               m_pEdges[axis][limit - 1].m_pos = min[axis];
-               m_pEdges[axis][limit - 1].m_handle = handle;
-
-               m_pEdges[axis][limit].m_pos = max[axis];
-               m_pEdges[axis][limit].m_handle = handle;
-
-               pHandle->m_minEdges[axis] = limit - 1;
-               pHandle->m_maxEdges[axis] = limit;
-       }
-
-       // now sort the new edges to their correct position
-       sortMinDown(0, pHandle->m_minEdges[0], dispatcher,false);
-       sortMaxDown(0, pHandle->m_maxEdges[0], dispatcher,false);
-       sortMinDown(1, pHandle->m_minEdges[1], dispatcher,false);
-       sortMaxDown(1, pHandle->m_maxEdges[1], dispatcher,false);
-       sortMinDown(2, pHandle->m_minEdges[2], dispatcher,true);
-       sortMaxDown(2, pHandle->m_maxEdges[2], dispatcher,true);
-
-
-       return handle;
-}
-
-
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::removeHandle(BP_FP_INT_TYPE handle,btDispatcher* dispatcher)
-{
-
-       Handle* pHandle = getHandle(handle);
-
-       //explicitly remove the pairs containing the proxy
-       //we could do it also in the sortMinUp (passing true)
-       //todo: compare performance
-       m_pairCache->removeOverlappingPairsContainingProxy(pHandle,dispatcher);
-
-
-       // compute current limit of edge arrays
-       int limit = m_numHandles * 2;
-       
-       int axis;
-
-       for (axis = 0;axis<3;axis++)
-       {
-               m_pHandles[0].m_maxEdges[axis] -= 2;
-       }
-
-       // remove the edges by sorting them up to the end of the list
-       for ( axis = 0; axis < 3; axis++)
-       {
-               Edge* pEdges = m_pEdges[axis];
-               BP_FP_INT_TYPE max = pHandle->m_maxEdges[axis];
-               pEdges[max].m_pos = m_handleSentinel;
-
-               sortMaxUp(axis,max,dispatcher,false);
-
-
-               BP_FP_INT_TYPE i = pHandle->m_minEdges[axis];
-               pEdges[i].m_pos = m_handleSentinel;
-
-
-               sortMinUp(axis,i,dispatcher,false);
-
-               pEdges[limit-1].m_handle = 0;
-               pEdges[limit-1].m_pos = m_handleSentinel;
-               
-#ifdef DEBUG_BROADPHASE
-                       debugPrintAxis(axis,false);
-#endif //DEBUG_BROADPHASE
-
-
-       }
-
-
-       // free the handle
-       freeHandle(handle);
-
-       
-}
-
-extern int gOverlappingPairs;
-#include <stdio.h>
-
-template <typename BP_FP_INT_TYPE>
-void   btAxisSweep3Internal<BP_FP_INT_TYPE>::calculateOverlappingPairs(btDispatcher* dispatcher)
-{
-#ifdef USE_LAZY_REMOVAL
-
-       if (m_ownsPairCache)
-       {
-       
-               btBroadphasePairArray&  overlappingPairArray = m_pairCache->getOverlappingPairArray();
-
-               //perform a sort, to find duplicates and to sort 'invalid' pairs to the end
-               overlappingPairArray.heapSort(btBroadphasePairSortPredicate());
-
-               overlappingPairArray.resize(overlappingPairArray.size() - m_invalidPair);
-               m_invalidPair = 0;
-
-               
-               int i;
-
-               btBroadphasePair previousPair;
-               previousPair.m_pProxy0 = 0;
-               previousPair.m_pProxy1 = 0;
-               previousPair.m_algorithm = 0;
-               
-               
-               for (i=0;i<overlappingPairArray.size();i++)
-               {
-               
-                       btBroadphasePair& pair = overlappingPairArray[i];
-
-                       bool isDuplicate = (pair == previousPair);
-
-                       previousPair = pair;
-
-                       bool needsRemoval = false;
-
-                       if (!isDuplicate)
-                       {
-                               bool hasOverlap = testAabbOverlap(pair.m_pProxy0,pair.m_pProxy1);
-
-                               if (hasOverlap)
-                               {
-                                       needsRemoval = false;//callback->processOverlap(pair);
-                               } else
-                               {
-                                       needsRemoval = true;
-                               }
-                       } else
-                       {
-                               //remove duplicate
-                               needsRemoval = true;
-                               //should have no algorithm
-                               btAssert(!pair.m_algorithm);
-                       }
-                       
-                       if (needsRemoval)
-                       {
-                               m_pairCache->cleanOverlappingPair(pair,dispatcher);
-
-               //              m_overlappingPairArray.swap(i,m_overlappingPairArray.size()-1);
-               //              m_overlappingPairArray.pop_back();
-                               pair.m_pProxy0 = 0;
-                               pair.m_pProxy1 = 0;
-                               m_invalidPair++;
-                               gOverlappingPairs--;
-                       } 
-                       
-               }
-
-       ///if you don't like to skip the invalid pairs in the array, execute following code:
-       #define CLEAN_INVALID_PAIRS 1
-       #ifdef CLEAN_INVALID_PAIRS
-
-               //perform a sort, to sort 'invalid' pairs to the end
-               overlappingPairArray.heapSort(btBroadphasePairSortPredicate());
-
-               overlappingPairArray.resize(overlappingPairArray.size() - m_invalidPair);
-               m_invalidPair = 0;
-       #endif//CLEAN_INVALID_PAIRS
-               
-               //printf("overlappingPairArray.size()=%d\n",overlappingPairArray.size());
-       }
-#endif //USE_LAZY_REMOVAL
-
-
-       
-
-}
-
-
-template <typename BP_FP_INT_TYPE>
-bool btAxisSweep3Internal<BP_FP_INT_TYPE>::testAabbOverlap(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1)
-{
-       const Handle* pHandleA = static_cast<Handle*>(proxy0);
-       const Handle* pHandleB = static_cast<Handle*>(proxy1);
-       
-       //optimization 1: check the array index (memory address), instead of the m_pos
-
-       for (int axis = 0; axis < 3; axis++)
-       { 
-               if (pHandleA->m_maxEdges[axis] < pHandleB->m_minEdges[axis] || 
-                       pHandleB->m_maxEdges[axis] < pHandleA->m_minEdges[axis]) 
-               { 
-                       return false; 
-               } 
-       } 
-       return true;
-}
-
-template <typename BP_FP_INT_TYPE>
-bool btAxisSweep3Internal<BP_FP_INT_TYPE>::testOverlap(int ignoreAxis,const Handle* pHandleA, const Handle* pHandleB)
-{
-       //optimization 1: check the array index (memory address), instead of the m_pos
-
-       for (int axis = 0; axis < 3; axis++)
-       { 
-               if (axis != ignoreAxis)
-               {
-                       if (pHandleA->m_maxEdges[axis] < pHandleB->m_minEdges[axis] || 
-                               pHandleB->m_maxEdges[axis] < pHandleA->m_minEdges[axis]) 
-                       { 
-                               return false; 
-                       } 
-               }
-       } 
-
-       //optimization 2: only 2 axis need to be tested (conflicts with 'delayed removal' optimization)
-
-       /*for (int axis = 0; axis < 3; axis++)
-       {
-               if (m_pEdges[axis][pHandleA->m_maxEdges[axis]].m_pos < m_pEdges[axis][pHandleB->m_minEdges[axis]].m_pos ||
-                       m_pEdges[axis][pHandleB->m_maxEdges[axis]].m_pos < m_pEdges[axis][pHandleA->m_minEdges[axis]].m_pos)
-               {
-                       return false;
-               }
-       }
-       */
-
-       return true;
-}
-
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::updateHandle(BP_FP_INT_TYPE handle, const btPoint3& aabbMin,const btPoint3& aabbMax,btDispatcher* dispatcher)
-{
-//     assert(bounds.IsFinite());
-       //assert(bounds.HasVolume());
-
-       Handle* pHandle = getHandle(handle);
-
-       // quantize the new bounds
-       BP_FP_INT_TYPE min[3], max[3];
-       quantize(min, aabbMin, 0);
-       quantize(max, aabbMax, 1);
-
-       // update changed edges
-       for (int axis = 0; axis < 3; axis++)
-       {
-               BP_FP_INT_TYPE emin = pHandle->m_minEdges[axis];
-               BP_FP_INT_TYPE emax = pHandle->m_maxEdges[axis];
-
-               int dmin = (int)min[axis] - (int)m_pEdges[axis][emin].m_pos;
-               int dmax = (int)max[axis] - (int)m_pEdges[axis][emax].m_pos;
-
-               m_pEdges[axis][emin].m_pos = min[axis];
-               m_pEdges[axis][emax].m_pos = max[axis];
-
-               // expand (only adds overlaps)
-               if (dmin < 0)
-                       sortMinDown(axis, emin,dispatcher,true);
-
-               if (dmax > 0)
-                       sortMaxUp(axis, emax,dispatcher,true);
-
-               // shrink (only removes overlaps)
-               if (dmin > 0)
-                       sortMinUp(axis, emin,dispatcher,true);
-
-               if (dmax < 0)
-                       sortMaxDown(axis, emax,dispatcher,true);
-
-#ifdef DEBUG_BROADPHASE
-       debugPrintAxis(axis);
-#endif //DEBUG_BROADPHASE
-       }
-
-       
-}
-
-
-
-
-// sorting a min edge downwards can only ever *add* overlaps
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::sortMinDown(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps)
-{
-
-       Edge* pEdge = m_pEdges[axis] + edge;
-       Edge* pPrev = pEdge - 1;
-       Handle* pHandleEdge = getHandle(pEdge->m_handle);
-
-       while (pEdge->m_pos < pPrev->m_pos)
-       {
-               Handle* pHandlePrev = getHandle(pPrev->m_handle);
-
-               if (pPrev->IsMax())
-               {
-                       // if previous edge is a maximum check the bounds and add an overlap if necessary
-                       if (updateOverlaps && testOverlap(axis,pHandleEdge, pHandlePrev))
-                       {
-                               m_pairCache->addOverlappingPair(pHandleEdge,pHandlePrev);
-                               if (m_userPairCallback)
-                                       m_userPairCallback->addOverlappingPair(pHandleEdge,pHandlePrev);
-
-                               //AddOverlap(pEdge->m_handle, pPrev->m_handle);
-
-                       }
-
-                       // update edge reference in other handle
-                       pHandlePrev->m_maxEdges[axis]++;
-               }
-               else
-                       pHandlePrev->m_minEdges[axis]++;
-
-               pHandleEdge->m_minEdges[axis]--;
-
-               // swap the edges
-               Edge swap = *pEdge;
-               *pEdge = *pPrev;
-               *pPrev = swap;
-
-               // decrement
-               pEdge--;
-               pPrev--;
-       }
-
-#ifdef DEBUG_BROADPHASE
-       debugPrintAxis(axis);
-#endif //DEBUG_BROADPHASE
-
-}
-
-// sorting a min edge upwards can only ever *remove* overlaps
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::sortMinUp(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps)
-{
-       Edge* pEdge = m_pEdges[axis] + edge;
-       Edge* pNext = pEdge + 1;
-       Handle* pHandleEdge = getHandle(pEdge->m_handle);
-
-       while (pNext->m_handle && (pEdge->m_pos >= pNext->m_pos))
-       {
-               Handle* pHandleNext = getHandle(pNext->m_handle);
-
-               if (pNext->IsMax())
-               {
-#ifndef USE_LAZY_REMOVAL
-                       // if next edge is maximum remove any overlap between the two handles
-                       if (updateOverlaps)
-                       {
-                               Handle* handle0 = getHandle(pEdge->m_handle);
-                               Handle* handle1 = getHandle(pNext->m_handle);
-
-                               m_pairCache->removeOverlappingPair(handle0,handle1,dispatcher); 
-                               if (m_userPairCallback)
-                                       m_userPairCallback->removeOverlappingPair(handle0,handle1);
-                               
-                       }
-#endif //USE_LAZY_REMOVAL
-
-                       // update edge reference in other handle
-                       pHandleNext->m_maxEdges[axis]--;
-               }
-               else
-                       pHandleNext->m_minEdges[axis]--;
-
-               pHandleEdge->m_minEdges[axis]++;
-
-               // swap the edges
-               Edge swap = *pEdge;
-               *pEdge = *pNext;
-               *pNext = swap;
-
-               // increment
-               pEdge++;
-               pNext++;
-       }
-
-
-}
-
-// sorting a max edge downwards can only ever *remove* overlaps
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::sortMaxDown(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps)
-{
-
-       Edge* pEdge = m_pEdges[axis] + edge;
-       Edge* pPrev = pEdge - 1;
-       Handle* pHandleEdge = getHandle(pEdge->m_handle);
-
-       while (pEdge->m_pos < pPrev->m_pos)
-       {
-               Handle* pHandlePrev = getHandle(pPrev->m_handle);
-
-               if (!pPrev->IsMax())
-               {
-                       // if previous edge was a minimum remove any overlap between the two handles
-                       if (updateOverlaps)
-                       {
-                               //this is done during the overlappingpairarray iteration/narrowphase collision
-#ifndef USE_LAZY_REMOVAL
-                               Handle* handle0 = getHandle(pEdge->m_handle);
-                               Handle* handle1 = getHandle(pPrev->m_handle);
-                               m_pairCache->removeOverlappingPair(handle0,handle1,dispatcher);
-                               if (m_userPairCallback)
-                                       m_userPairCallback->removeOverlappingPair(handle0,handle1);
-                       
-#endif //USE_LAZY_REMOVAL              
-
-                       }
-
-                       // update edge reference in other handle
-                       pHandlePrev->m_minEdges[axis]++;;
-               }
-               else
-                       pHandlePrev->m_maxEdges[axis]++;
-
-               pHandleEdge->m_maxEdges[axis]--;
-
-               // swap the edges
-               Edge swap = *pEdge;
-               *pEdge = *pPrev;
-               *pPrev = swap;
-
-               // decrement
-               pEdge--;
-               pPrev--;
-       }
-
-       
-#ifdef DEBUG_BROADPHASE
-       debugPrintAxis(axis);
-#endif //DEBUG_BROADPHASE
-
-}
-
-// sorting a max edge upwards can only ever *add* overlaps
-template <typename BP_FP_INT_TYPE>
-void btAxisSweep3Internal<BP_FP_INT_TYPE>::sortMaxUp(int axis, BP_FP_INT_TYPE edge, btDispatcher* dispatcher, bool updateOverlaps)
-{
-       Edge* pEdge = m_pEdges[axis] + edge;
-       Edge* pNext = pEdge + 1;
-       Handle* pHandleEdge = getHandle(pEdge->m_handle);
-
-       while (pNext->m_handle && (pEdge->m_pos >= pNext->m_pos))
-       {
-               Handle* pHandleNext = getHandle(pNext->m_handle);
-
-               if (!pNext->IsMax())
-               {
-                       // if next edge is a minimum check the bounds and add an overlap if necessary
-                       if (updateOverlaps && testOverlap(axis, pHandleEdge, pHandleNext))
-                       {
-                               Handle* handle0 = getHandle(pEdge->m_handle);
-                               Handle* handle1 = getHandle(pNext->m_handle);
-                               m_pairCache->addOverlappingPair(handle0,handle1);
-                               if (m_userPairCallback)
-                                       m_userPairCallback->addOverlappingPair(handle0,handle1);
-                       }
-
-                       // update edge reference in other handle
-                       pHandleNext->m_minEdges[axis]--;
-               }
-               else
-                       pHandleNext->m_maxEdges[axis]--;
-
-               pHandleEdge->m_maxEdges[axis]++;
-
-               // swap the edges
-               Edge swap = *pEdge;
-               *pEdge = *pNext;
-               *pNext = swap;
-
-               // increment
-               pEdge++;
-               pNext++;
-       }
-       
-}
-
-
-
-////////////////////////////////////////////////////////////////////
-
-
-/// btAxisSweep3 is an efficient implementation of the 3d axis sweep and prune broadphase.
-/// It uses arrays rather then lists for storage of the 3 axis. Also it operates using 16 bit integer coordinates instead of floats.
-/// For large worlds and many objects, use bt32BitAxisSweep3 instead. bt32BitAxisSweep3 has higher precision and allows more then 16384 objects at the cost of more memory and bit of performance.
-class btAxisSweep3 : public btAxisSweep3Internal<unsigned short int>
-{
-public:
-
-       btAxisSweep3(const btPoint3& worldAabbMin,const btPoint3& worldAabbMax, unsigned short int maxHandles = 16384, btOverlappingPairCache* pairCache = 0);
-
-};
-
-/// bt32BitAxisSweep3 allows higher precision quantization and more objects compared to the btAxisSweep3 sweep and prune.
-/// This comes at the cost of more memory per handle, and a bit slower performance.
-/// It uses arrays rather then lists for storage of the 3 axis.
-class bt32BitAxisSweep3 : public btAxisSweep3Internal<unsigned int>
-{
-public:
-
-       bt32BitAxisSweep3(const btPoint3& worldAabbMin,const btPoint3& worldAabbMax, unsigned int maxHandles = 1500000, btOverlappingPairCache* pairCache = 0);
-
-};
-
-#endif
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h
deleted file mode 100644 (file)
index 97ba207..0000000
+++ /dev/null
@@ -1,46 +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                BROADPHASE_INTERFACE_H
-#define        BROADPHASE_INTERFACE_H
-
-
-
-struct btDispatcherInfo;
-class btDispatcher;
-#include "btBroadphaseProxy.h"
-class btOverlappingPairCache;
-
-#include "LinearMath/btVector3.h"
-
-///BroadphaseInterface for aabb-overlapping object pairs
-class btBroadphaseInterface
-{
-public:
-       virtual ~btBroadphaseInterface() {}
-
-       virtual btBroadphaseProxy*      createProxy(  const btVector3& aabbMin,  const btVector3& aabbMax,int shapeType,void* userPtr, short int collisionFilterGroup,short int collisionFilterMask, btDispatcher* dispatcher) =0;
-       virtual void    destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher)=0;
-       virtual void    setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax, btDispatcher* dispatcher)=0;
-       
-       ///calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb
-       virtual void    calculateOverlappingPairs(btDispatcher* dispatcher)=0;
-
-       virtual btOverlappingPairCache* getOverlappingPairCache()=0;
-       virtual const btOverlappingPairCache*   getOverlappingPairCache() const =0;
-
-};
-
-#endif //BROADPHASE_INTERFACE_H
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp
deleted file mode 100644 (file)
index f4d7341..0000000
+++ /dev/null
@@ -1,17 +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.
-*/
-
-#include "btBroadphaseProxy.h"
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.h
deleted file mode 100644 (file)
index f0a462c..0000000
+++ /dev/null
@@ -1,232 +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 BROADPHASE_PROXY_H
-#define BROADPHASE_PROXY_H
-
-#include "LinearMath/btScalar.h" //for SIMD_FORCE_INLINE
-#include "LinearMath/btAlignedAllocator.h"
-
-
-/// btDispatcher uses these types
-/// IMPORTANT NOTE:The types are ordered polyhedral, implicit convex and concave
-/// to facilitate type checking
-enum BroadphaseNativeTypes
-{
-// polyhedral convex shapes
-       BOX_SHAPE_PROXYTYPE,
-       TRIANGLE_SHAPE_PROXYTYPE,
-       TETRAHEDRAL_SHAPE_PROXYTYPE,
-       CONVEX_TRIANGLEMESH_SHAPE_PROXYTYPE,
-       CONVEX_HULL_SHAPE_PROXYTYPE,
-//implicit convex shapes
-IMPLICIT_CONVEX_SHAPES_START_HERE,
-       SPHERE_SHAPE_PROXYTYPE,
-       MULTI_SPHERE_SHAPE_PROXYTYPE,
-       CAPSULE_SHAPE_PROXYTYPE,
-       CONE_SHAPE_PROXYTYPE,
-       CONVEX_SHAPE_PROXYTYPE,
-       CYLINDER_SHAPE_PROXYTYPE,
-       UNIFORM_SCALING_SHAPE_PROXYTYPE,
-       MINKOWSKI_SUM_SHAPE_PROXYTYPE,
-       MINKOWSKI_DIFFERENCE_SHAPE_PROXYTYPE,
-//concave shapes
-CONCAVE_SHAPES_START_HERE,
-       //keep all the convex shapetype below here, for the check IsConvexShape in broadphase proxy!
-       TRIANGLE_MESH_SHAPE_PROXYTYPE,
-       ///used for demo integration FAST/Swift collision library and Bullet
-       FAST_CONCAVE_MESH_PROXYTYPE,
-       //terrain
-       TERRAIN_SHAPE_PROXYTYPE,
-///Used for GIMPACT Trimesh integration
-       GIMPACT_SHAPE_PROXYTYPE,
-       
-       EMPTY_SHAPE_PROXYTYPE,
-       STATIC_PLANE_PROXYTYPE,
-CONCAVE_SHAPES_END_HERE,
-
-       COMPOUND_SHAPE_PROXYTYPE,
-
-       MAX_BROADPHASE_COLLISION_TYPES
-};
-
-
-///btBroadphaseProxy
-ATTRIBUTE_ALIGNED16(struct) btBroadphaseProxy
-{
-
-BT_DECLARE_ALIGNED_ALLOCATOR();
-       
-       ///optional filtering to cull potential collisions
-       enum CollisionFilterGroups
-       {
-               DefaultFilter = 1,
-               StaticFilter = 2,
-               KinematicFilter = 4,
-               DebrisFilter = 8,
-                       SensorTrigger = 16,
-               AllFilter = DefaultFilter | StaticFilter | KinematicFilter | DebrisFilter | SensorTrigger
-       };
-
-       //Usually the client btCollisionObject or Rigidbody class
-       void*   m_clientObject;
-
-       ///in the case of btMultiSapBroadphase, we store the collifionFilterGroup/Mask in the m_multiSapParentProxy
-       union
-       {
-               struct
-               {
-                       short int m_collisionFilterGroup;
-                       short int m_collisionFilterMask;
-               };
-
-               void*   m_multiSapParentProxy;
-
-       };
-
-       int                     m_uniqueId;//m_uniqueId is introduced for paircache. could get rid of this, by calculating the address offset etc.
-       int m_unusedPadding; //making the structure 16 bytes, better for alignment etc.
-
-       SIMD_FORCE_INLINE int getUid()
-       {
-               return m_uniqueId;//(int)this;
-       }
-
-       //used for memory pools
-       btBroadphaseProxy() :m_clientObject(0){}
-
-       btBroadphaseProxy(void* userPtr,short int collisionFilterGroup, short int collisionFilterMask)
-               :m_clientObject(userPtr),
-               m_collisionFilterGroup(collisionFilterGroup),
-               m_collisionFilterMask(collisionFilterMask)
-       {
-       }
-
-       
-
-       static SIMD_FORCE_INLINE bool isPolyhedral(int proxyType)
-       {
-               return (proxyType  < IMPLICIT_CONVEX_SHAPES_START_HERE);
-       }
-
-       static SIMD_FORCE_INLINE bool   isConvex(int proxyType)
-       {
-               return (proxyType < CONCAVE_SHAPES_START_HERE);
-       }
-
-       static SIMD_FORCE_INLINE bool   isConcave(int proxyType)
-       {
-               return ((proxyType > CONCAVE_SHAPES_START_HERE) &&
-                       (proxyType < CONCAVE_SHAPES_END_HERE));
-       }
-       static SIMD_FORCE_INLINE bool   isCompound(int proxyType)
-       {
-               return (proxyType == COMPOUND_SHAPE_PROXYTYPE);
-       }
-       static SIMD_FORCE_INLINE bool isInfinite(int proxyType)
-       {
-               return (proxyType == STATIC_PLANE_PROXYTYPE);
-       }
-       
-}
-;
-
-class btCollisionAlgorithm;
-
-struct btBroadphaseProxy;
-
-
-
-/// contains a pair of aabb-overlapping objects
-ATTRIBUTE_ALIGNED16(struct) btBroadphasePair
-{
-       btBroadphasePair ()
-               :
-       m_pProxy0(0),
-               m_pProxy1(0),
-               m_algorithm(0),
-               m_userInfo(0)
-       {
-       }
-
-BT_DECLARE_ALIGNED_ALLOCATOR();
-
-       btBroadphasePair(const btBroadphasePair& other)
-               :               m_pProxy0(other.m_pProxy0),
-                               m_pProxy1(other.m_pProxy1),
-                               m_algorithm(other.m_algorithm),
-                               m_userInfo(other.m_userInfo)
-       {
-       }
-       btBroadphasePair(btBroadphaseProxy& proxy0,btBroadphaseProxy& proxy1)
-       {
-
-               //keep them sorted, so the std::set operations work
-               if (&proxy0 < &proxy1)
-        { 
-            m_pProxy0 = &proxy0; 
-            m_pProxy1 = &proxy1; 
-        }
-        else 
-        { 
-                       m_pProxy0 = &proxy1; 
-            m_pProxy1 = &proxy0; 
-        }
-
-               m_algorithm = 0;
-               m_userInfo = 0;
-
-       }
-       
-       btBroadphaseProxy* m_pProxy0;
-       btBroadphaseProxy* m_pProxy1;
-       
-       mutable btCollisionAlgorithm* m_algorithm;
-       mutable void* m_userInfo;
-
-};
-
-/*
-//comparison for set operation, see Solid DT_Encounter
-SIMD_FORCE_INLINE bool operator<(const btBroadphasePair& a, const btBroadphasePair& b) 
-{ 
-    return a.m_pProxy0 < b.m_pProxy0 || 
-        (a.m_pProxy0 == b.m_pProxy0 && a.m_pProxy1 < b.m_pProxy1); 
-}
-*/
-
-
-
-class btBroadphasePairSortPredicate
-{
-       public:
-
-               bool operator() ( const btBroadphasePair& a, const btBroadphasePair& b )
-               {
-                        return a.m_pProxy0 > b.m_pProxy0 || 
-                               (a.m_pProxy0 == b.m_pProxy0 && a.m_pProxy1 > b.m_pProxy1) ||
-                               (a.m_pProxy0 == b.m_pProxy0 && a.m_pProxy1 == b.m_pProxy1 && a.m_algorithm > b.m_algorithm); 
-               }
-};
-
-
-SIMD_FORCE_INLINE bool operator==(const btBroadphasePair& a, const btBroadphasePair& b) 
-{
-        return (a.m_pProxy0 == b.m_pProxy0) && (a.m_pProxy1 == b.m_pProxy1);
-}
-
-
-#endif //BROADPHASE_PROXY_H
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp
deleted file mode 100644 (file)
index c95d1be..0000000
+++ /dev/null
@@ -1,23 +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.
-*/
-
-#include "btCollisionAlgorithm.h"
-#include "btDispatcher.h"
-
-btCollisionAlgorithm::btCollisionAlgorithm(const btCollisionAlgorithmConstructionInfo& ci)
-{
-       m_dispatcher = ci.m_dispatcher1;
-}
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h
deleted file mode 100644 (file)
index 610eab4..0000000
+++ /dev/null
@@ -1,77 +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 COLLISION_ALGORITHM_H
-#define COLLISION_ALGORITHM_H
-
-#include "LinearMath/btScalar.h"
-
-struct btBroadphaseProxy;
-class btDispatcher;
-class btManifoldResult;
-class btCollisionObject;
-struct btDispatcherInfo;
-class  btPersistentManifold;
-
-
-struct btCollisionAlgorithmConstructionInfo
-{
-       btCollisionAlgorithmConstructionInfo()
-               :m_dispatcher1(0),
-               m_manifold(0)
-       {
-       }
-       btCollisionAlgorithmConstructionInfo(btDispatcher* dispatcher,int temp)
-               :m_dispatcher1(dispatcher)
-       {
-               (void)temp;
-       }
-
-       btDispatcher*   m_dispatcher1;
-       btPersistentManifold*   m_manifold;
-
-       int     getDispatcherId();
-
-};
-
-
-///btCollisionAlgorithm is an collision interface that is compatible with the Broadphase and btDispatcher.
-///It is persistent over frames
-class btCollisionAlgorithm
-{
-
-protected:
-
-       btDispatcher*   m_dispatcher;
-
-protected:
-       int     getDispatcherId();
-       
-public:
-
-       btCollisionAlgorithm() {};
-
-       btCollisionAlgorithm(const btCollisionAlgorithmConstructionInfo& ci);
-
-       virtual ~btCollisionAlgorithm() {};
-
-       virtual void processCollision (btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut) = 0;
-
-       virtual btScalar calculateTimeOfImpact(btCollisionObject* body0,btCollisionObject* body1,const btDispatcherInfo& dispatchInfo,btManifoldResult* resultOut) = 0;
-
-};
-
-
-#endif //COLLISION_ALGORITHM_H
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.cpp b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.cpp
deleted file mode 100644 (file)
index 2076822..0000000
+++ /dev/null
@@ -1,22 +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.
-*/
-
-#include "btDispatcher.h"
-
-btDispatcher::~btDispatcher()
-{
-
-}
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btDispatcher.h
deleted file mode 100644 (file)
index daea11f..0000000
+++ /dev/null
@@ -1,99 +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 _DISPATCHER_H
-#define _DISPATCHER_H
-
-#include "LinearMath/btScalar.h"
-
-class btCollisionAlgorithm;
-struct btBroadphaseProxy;
-class btRigidBody;
-class  btCollisionObject;
-class btOverlappingPairCache;
-
-
-class btPersistentManifold;
-class btStackAlloc;
-
-struct btDispatcherInfo
-{
-       enum DispatchFunc
-       {
-               DISPATCH_DISCRETE = 1,
-               DISPATCH_CONTINUOUS
-       };
-       btDispatcherInfo()
-               :m_timeStep(btScalar(0.)),
-               m_stepCount(0),
-               m_dispatchFunc(DISPATCH_DISCRETE),
-               m_timeOfImpact(btScalar(1.)),
-               m_useContinuous(false),
-               m_debugDraw(0),
-               m_enableSatConvex(false),
-               m_enableSPU(false),
-               m_stackAllocator(0)
-       {
-
-       }
-       btScalar        m_timeStep;
-       int             m_stepCount;
-       int             m_dispatchFunc;
-       btScalar        m_timeOfImpact;
-       bool    m_useContinuous;
-       class btIDebugDraw*     m_debugDraw;
-       bool    m_enableSatConvex;
-       bool    m_enableSPU;
-       btStackAlloc*   m_stackAllocator;
-       
-};
-
-/// btDispatcher can be used in combination with broadphase to dispatch overlapping pairs.
-/// For example for pairwise collision detection or user callbacks (game logic).
-class btDispatcher
-{
-
-
-public:
-       virtual ~btDispatcher() ;
-
-       virtual btCollisionAlgorithm* findAlgorithm(btCollisionObject* body0,btCollisionObject* body1,btPersistentManifold* sharedManifold=0) = 0;
-
-       virtual btPersistentManifold*   getNewManifold(void* body0,void* body1)=0;
-
-       virtual void releaseManifold(btPersistentManifold* manifold)=0;
-
-       virtual void clearManifold(btPersistentManifold* manifold)=0;
-
-       virtual bool    needsCollision(btCollisionObject* body0,btCollisionObject* body1) = 0;
-
-       virtual bool    needsResponse(btCollisionObject* body0,btCollisionObject* body1)=0;
-
-       virtual void    dispatchAllCollisionPairs(btOverlappingPairCache* pairCache,btDispatcherInfo& dispatchInfo,btDispatcher* dispatcher)=0;
-
-       virtual int getNumManifolds() const = 0;
-
-       virtual btPersistentManifold* getManifoldByIndexInternal(int index) = 0;
-
-       virtual btPersistentManifold**  getInternalManifoldPointer() = 0;
-
-       virtual void* allocateCollisionAlgorithm(int size) = 0;
-
-       virtual void freeCollisionAlgorithm(void* ptr) = 0;
-
-};
-
-
-#endif //_DISPATCHER_H
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp
deleted file mode 100644 (file)
index 41406ff..0000000
+++ /dev/null
@@ -1,204 +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.
-*/
-
-#include "btMultiSapBroadphase.h"
-
-#include "btSimpleBroadphase.h"
-#include "LinearMath/btAabbUtil2.h"
-
-///    btSapBroadphaseArray    m_sapBroadphases;
-
-///    btOverlappingPairCache* m_overlappingPairs;
-extern int gOverlappingPairs;
-
-btMultiSapBroadphase::btMultiSapBroadphase(int maxProxies,btOverlappingPairCache* pairCache)
-:m_overlappingPairs(pairCache),
-m_ownsPairCache(false),
-m_invalidPair(0)
-{
-       if (!m_overlappingPairs)
-       {
-               m_ownsPairCache = true;
-               void* mem = btAlignedAlloc(sizeof(btOverlappingPairCache),16);
-               m_overlappingPairs = new (mem)btOverlappingPairCache();
-       }
-
-       struct btMultiSapOverlapFilterCallback : public btOverlapFilterCallback
-       {
-               virtual ~btMultiSapOverlapFilterCallback()
-               {}
-               // return true when pairs need collision
-               virtual bool    needBroadphaseCollision(btBroadphaseProxy* childProxy0,btBroadphaseProxy* childProxy1) const
-               {
-                       btMultiSapBroadphase::btMultiSapProxy* multiSapProxy0 = (btMultiSapBroadphase::btMultiSapProxy*)childProxy0->m_multiSapParentProxy;
-                       btMultiSapBroadphase::btMultiSapProxy* multiSapProxy1 = (btMultiSapBroadphase::btMultiSapProxy*)childProxy1->m_multiSapParentProxy;
-                       
-                       bool collides = (multiSapProxy0->m_collisionFilterGroup & multiSapProxy1->m_collisionFilterMask) != 0;
-                       collides = collides && (multiSapProxy1->m_collisionFilterGroup & multiSapProxy0->m_collisionFilterMask);
-       
-                       return collides;
-               }
-       };
-
-       void* mem = btAlignedAlloc(sizeof(btMultiSapOverlapFilterCallback),16);
-       m_filterCallback = new (mem)btMultiSapOverlapFilterCallback();
-
-       m_overlappingPairs->setOverlapFilterCallback(m_filterCallback);
-       mem = btAlignedAlloc(sizeof(btSimpleBroadphase),16);
-       m_simpleBroadphase = new (mem) btSimpleBroadphase(maxProxies,m_overlappingPairs);
-}
-
-btMultiSapBroadphase::~btMultiSapBroadphase()
-{
-       if (m_ownsPairCache)
-       {
-               btAlignedFree(m_overlappingPairs);
-       }
-}
-
-btBroadphaseProxy*     btMultiSapBroadphase::createProxy(  const btVector3& aabbMin,  const btVector3& aabbMax,int shapeType,void* userPtr, short int collisionFilterGroup,short int collisionFilterMask, btDispatcher* dispatcher)
-{
-       void* mem = btAlignedAlloc(sizeof(btMultiSapProxy),16);
-       btMultiSapProxy* proxy = new (mem)btMultiSapProxy(aabbMin,  aabbMax,shapeType,userPtr, collisionFilterGroup,collisionFilterMask);
-       m_multiSapProxies.push_back(proxy);
-
-       ///we don't pass the userPtr but our multisap proxy. We need to patch this, before processing an actual collision
-       ///this is needed to be able to calculate the aabb overlap
-       btBroadphaseProxy* simpleProxy = m_simpleBroadphase->createProxy(aabbMin,aabbMax,shapeType,userPtr,collisionFilterGroup,collisionFilterMask, dispatcher);
-       simpleProxy->m_multiSapParentProxy = proxy;
-
-       mem = btAlignedAlloc(sizeof(btChildProxy),16);
-       btChildProxy* childProxyRef = new btChildProxy();
-       childProxyRef->m_proxy = simpleProxy;
-       childProxyRef->m_childBroadphase = m_simpleBroadphase;
-       proxy->m_childProxies.push_back(childProxyRef);
-
-       ///this should deal with inserting/removal into child broadphases
-       setAabb(proxy,aabbMin,aabbMax,dispatcher);
-       return proxy;
-}
-
-void   btMultiSapBroadphase::destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher)
-{
-       ///not yet
-       btAssert(0);
-
-}
-void   btMultiSapBroadphase::setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax, btDispatcher* dispatcher)
-{
-       btMultiSapProxy* multiProxy = static_cast<btMultiSapProxy*>(proxy);
-       multiProxy->m_aabbMin = aabbMin;
-       multiProxy->m_aabbMax = aabbMax;
-
-       for (int i=0;i<multiProxy->m_childProxies.size();i++)
-       {
-               btChildProxy* childProxyRef = multiProxy->m_childProxies[i];
-               childProxyRef->m_childBroadphase->setAabb(childProxyRef->m_proxy,aabbMin,aabbMax,dispatcher);
-       }
-
-}
-       
-       ///calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb
-void   btMultiSapBroadphase::calculateOverlappingPairs(btDispatcher* dispatcher)
-{
-       m_simpleBroadphase->calculateOverlappingPairs(dispatcher);
-
-#ifndef USE_HASH_PAIRCACHE
-
-       btBroadphasePairArray&  overlappingPairArray = m_overlappingPairs->getOverlappingPairArray();
-       
-       //perform a sort, to find duplicates and to sort 'invalid' pairs to the end
-       overlappingPairArray.heapSort(btBroadphasePairSortPredicate());
-
-       overlappingPairArray.resize(overlappingPairArray.size() - m_invalidPair);
-       m_invalidPair = 0;
-
-
-       btBroadphasePair previousPair;
-       previousPair.m_pProxy0 = 0;
-       previousPair.m_pProxy1 = 0;
-       previousPair.m_algorithm = 0;
-       
-       int i;
-
-       for (i=0;i<overlappingPairArray.size();i++)
-       {
-       
-               btBroadphasePair& pair = overlappingPairArray[i];
-
-               bool isDuplicate = (pair == previousPair);
-
-               previousPair = pair;
-
-               bool needsRemoval = false;
-
-               if (!isDuplicate)
-               {
-                       bool hasOverlap = testAabbOverlap(pair.m_pProxy0,pair.m_pProxy1);
-
-                       if (hasOverlap)
-                       {
-                               needsRemoval = false;//callback->processOverlap(pair);
-                       } else
-                       {
-                               needsRemoval = true;
-                       }
-               } else
-               {
-                       //remove duplicate
-                       needsRemoval = true;
-                       //should have no algorithm
-                       btAssert(!pair.m_algorithm);
-               }
-               
-               if (needsRemoval)
-               {
-                       m_overlappingPairs->cleanOverlappingPair(pair,dispatcher);
-
-       //              m_overlappingPairArray.swap(i,m_overlappingPairArray.size()-1);
-       //              m_overlappingPairArray.pop_back();
-                       pair.m_pProxy0 = 0;
-                       pair.m_pProxy1 = 0;
-                       m_invalidPair++;
-                       gOverlappingPairs--;
-               } 
-               
-       }
-
-///if you don't like to skip the invalid pairs in the array, execute following code:
-#define CLEAN_INVALID_PAIRS 1
-#ifdef CLEAN_INVALID_PAIRS
-
-       //perform a sort, to sort 'invalid' pairs to the end
-       overlappingPairArray.heapSort(btBroadphasePairSortPredicate());
-
-       overlappingPairArray.resize(overlappingPairArray.size() - m_invalidPair);
-       m_invalidPair = 0;
-#endif//CLEAN_INVALID_PAIRS
-
-#endif //USE_HASH_PAIRCACHE
-
-}
-
-
-bool   btMultiSapBroadphase::testAabbOverlap(btBroadphaseProxy* childProxy0,btBroadphaseProxy* childProxy1)
-{
-               btMultiSapProxy* multiSapProxy0 = (btMultiSapProxy*)childProxy0->m_multiSapParentProxy;
-               btMultiSapProxy* multiSapProxy1 = (btMultiSapProxy*)childProxy1->m_multiSapParentProxy;
-
-               return  TestAabbAgainstAabb2(multiSapProxy0->m_aabbMin,multiSapProxy0->m_aabbMax,
-                       multiSapProxy1->m_aabbMin,multiSapProxy1->m_aabbMax);
-               
-}
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.h
deleted file mode 100644 (file)
index 1ee609b..0000000
+++ /dev/null
@@ -1,119 +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_MULTI_SAP_BROADPHASE
-#define BT_MULTI_SAP_BROADPHASE
-
-#include "btBroadphaseInterface.h"
-#include "LinearMath/btAlignedObjectArray.h"
-#include "btOverlappingPairCache.h"
-
-class btAxisSweep3;
-class btSimpleBroadphase;
-
-
-typedef btAlignedObjectArray<btAxisSweep3*> btSapBroadphaseArray;
-
-///multi SAP broadphase
-///See http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=328
-///and http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1329
-class btMultiSapBroadphase :public btBroadphaseInterface
-{
-       btSapBroadphaseArray    m_sapBroadphases;
-       
-       btSimpleBroadphase*             m_simpleBroadphase;
-
-       btOverlappingPairCache* m_overlappingPairs;
-
-       bool                                    m_ownsPairCache;
-       
-       btOverlapFilterCallback*        m_filterCallback;
-
-       int                     m_invalidPair;
-
-       struct  btChildProxy
-       {
-               btBroadphaseProxy*              m_proxy;
-               btBroadphaseInterface*  m_childBroadphase;
-       };
-
-public:
-
-       struct  btMultiSapProxy : public btBroadphaseProxy
-       {
-
-               ///array with all the entries that this proxy belongs to
-               btAlignedObjectArray<btChildProxy*> m_childProxies;
-               btVector3       m_aabbMin;
-               btVector3       m_aabbMax;
-
-               int     m_shapeType;
-               void*   m_userPtr;
-               short int       m_collisionFilterGroup;
-               short int       m_collisionFilterMask;
-
-               btMultiSapProxy(const btVector3& aabbMin,  const btVector3& aabbMax,int shapeType,void* userPtr, short int collisionFilterGroup,short int collisionFilterMask)
-                       :m_aabbMin(aabbMin),
-                       m_aabbMax(aabbMax),
-                       m_shapeType(shapeType),
-                       m_userPtr(userPtr),
-                       m_collisionFilterGroup(collisionFilterGroup),
-                       m_collisionFilterMask(collisionFilterMask)
-               {
-
-               }
-
-               
-       };
-
-protected:
-
-       btAlignedObjectArray<btMultiSapProxy*> m_multiSapProxies;
-
-public:
-
-       btMultiSapBroadphase(int maxProxies = 16384,btOverlappingPairCache* pairCache=0);
-
-       btSapBroadphaseArray    getBroadphaseArray()
-       {
-               return m_sapBroadphases;
-       }
-
-       const btSapBroadphaseArray      getBroadphaseArray() const
-       {
-               return m_sapBroadphases;
-       }
-
-       virtual ~btMultiSapBroadphase();
-
-       virtual btBroadphaseProxy*      createProxy(  const btVector3& aabbMin,  const btVector3& aabbMax,int shapeType,void* userPtr, short int collisionFilterGroup,short int collisionFilterMask, btDispatcher* dispatcher);
-       virtual void    destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
-       virtual void    setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax, btDispatcher* dispatcher);
-       
-       ///calculateOverlappingPairs is optional: incremental algorithms (sweep and prune) might do it during the set aabb
-       virtual void    calculateOverlappingPairs(btDispatcher* dispatcher);
-
-       bool    testAabbOverlap(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1);
-
-       virtual btOverlappingPairCache* getOverlappingPairCache()
-       {
-               return m_overlappingPairs;
-       }
-       virtual const btOverlappingPairCache*   getOverlappingPairCache() const
-       {
-               return m_overlappingPairs;
-       }
-};
-
-#endif //BT_MULTI_SAP_BROADPHASE
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp
deleted file mode 100644 (file)
index e4ef043..0000000
+++ /dev/null
@@ -1,474 +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.
-*/
-
-
-
-#include "btOverlappingPairCache.h"
-
-#include "btDispatcher.h"
-#include "btCollisionAlgorithm.h"
-
-int    gOverlappingPairs = 0;
-
-int gRemovePairs =0;
-int gAddedPairs =0;
-int gFindPairs =0;
-
-btOverlappingPairCache::btOverlappingPairCache():
-       m_overlapFilterCallback(0),
-       m_blockedForChanges(false)
-{
-       int initialAllocatedSize= 2;
-       m_overlappingPairArray.reserve(initialAllocatedSize);
-#ifdef USE_HASH_PAIRCACHE
-       growTables();
-#endif //USE_HASH_PAIRCACHE
-}
-
-
-btOverlappingPairCache::~btOverlappingPairCache()
-{
-       //todo/test: show we erase/delete data, or is it automatic
-}
-
-void   btOverlappingPairCache::cleanOverlappingPair(btBroadphasePair& pair,btDispatcher* dispatcher)
-{
-       if (pair.m_algorithm)
-       {
-               {
-                       pair.m_algorithm->~btCollisionAlgorithm();
-                       dispatcher->freeCollisionAlgorithm(pair.m_algorithm);
-                       pair.m_algorithm=0;
-               }
-       }
-}
-
-
-void   btOverlappingPairCache::cleanProxyFromPairs(btBroadphaseProxy* proxy,btDispatcher* dispatcher)
-{
-
-       class   CleanPairCallback : public btOverlapCallback
-       {
-               btBroadphaseProxy* m_cleanProxy;
-               btOverlappingPairCache* m_pairCache;
-               btDispatcher* m_dispatcher;
-
-       public:
-               CleanPairCallback(btBroadphaseProxy* cleanProxy,btOverlappingPairCache* pairCache,btDispatcher* dispatcher)
-                       :m_cleanProxy(cleanProxy),
-                       m_pairCache(pairCache),
-                       m_dispatcher(dispatcher)
-               {
-               }
-               virtual bool    processOverlap(btBroadphasePair& pair)
-               {
-                       if ((pair.m_pProxy0 == m_cleanProxy) ||
-                               (pair.m_pProxy1 == m_cleanProxy))
-                       {
-                               m_pairCache->cleanOverlappingPair(pair,m_dispatcher);
-                       }
-                       return false;
-               }
-               
-       };
-
-       CleanPairCallback cleanPairs(proxy,this,dispatcher);
-
-       processAllOverlappingPairs(&cleanPairs,dispatcher);
-
-}
-
-void   btOverlappingPairCache::removeOverlappingPairsContainingProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher)
-{
-
-       class   RemovePairCallback : public btOverlapCallback
-       {
-               btBroadphaseProxy* m_obsoleteProxy;
-
-       public:
-               RemovePairCallback(btBroadphaseProxy* obsoleteProxy)
-                       :m_obsoleteProxy(obsoleteProxy)
-               {
-               }
-               virtual bool    processOverlap(btBroadphasePair& pair)
-               {
-                       return ((pair.m_pProxy0 == m_obsoleteProxy) ||
-                               (pair.m_pProxy1 == m_obsoleteProxy));
-               }
-               
-       };
-
-
-       RemovePairCallback removeCallback(proxy);
-
-       processAllOverlappingPairs(&removeCallback,dispatcher);
-}
-
-
-#ifdef USE_HASH_PAIRCACHE
-
-
-
-
-
-
-
-btBroadphasePair* btOverlappingPairCache::findPair(btBroadphaseProxy* proxy0, btBroadphaseProxy* proxy1)
-{
-       gFindPairs++;
-
-       int proxyId1 = proxy0->getUid();
-       int proxyId2 = proxy1->getUid();
-
-       if (proxyId1 > proxyId2) 
-               btSwap(proxyId1, proxyId2);
-
-       int hash = getHash(proxyId1, proxyId2) & (m_overlappingPairArray.capacity()-1);
-
-       int index = m_hashTable[hash];
-       while (index != BT_NULL_PAIR && equalsPair(m_overlappingPairArray[index], proxyId1, proxyId2) == false)
-       {
-               index = m_next[index];
-       }
-
-       if (index == BT_NULL_PAIR)
-       {
-               return NULL;
-       }
-
-       btAssert(index < m_overlappingPairArray.size());
-
-       return &m_overlappingPairArray[index];
-}
-
-#include <stdio.h>
-
-void   btOverlappingPairCache::growTables()
-{
-
-       int newCapacity = m_overlappingPairArray.capacity();
-
-       if (m_hashTable.size() < newCapacity)
-       {
-               //grow hashtable and next table
-               int curHashtableSize = m_hashTable.size();
-
-               m_hashTable.resize(newCapacity);
-               m_next.resize(newCapacity);
-
-
-               int i;
-
-               for (i= 0; i < newCapacity; ++i)
-               {
-                       m_hashTable[i] = BT_NULL_PAIR;
-               }
-               for (i = 0; i < newCapacity; ++i)
-               {
-                       m_next[i] = BT_NULL_PAIR;
-               }
-
-               for(i=0;i<curHashtableSize;i++)
-               {
-       
-                       const btBroadphasePair& pair = m_overlappingPairArray[i];
-                       int proxyId1 = pair.m_pProxy0->getUid();
-                       int proxyId2 = pair.m_pProxy1->getUid();
-                       if (proxyId1 > proxyId2) 
-                               btSwap(proxyId1, proxyId2);
-                       int     hashValue = getHash(proxyId1,proxyId2) & (m_overlappingPairArray.capacity()-1); // New hash value with new mask
-                       m_next[i] = m_hashTable[hashValue];
-                       m_hashTable[hashValue] = i;
-               }
-
-
-       }
-}
-
-btBroadphasePair* btOverlappingPairCache::internalAddPair(btBroadphaseProxy* proxy0, btBroadphaseProxy* proxy1)
-{
-       int proxyId1 = proxy0->getUid();
-       int proxyId2 = proxy1->getUid();
-
-       if (proxyId1 > proxyId2) 
-               btSwap(proxyId1, proxyId2);
-
-       int hash = getHash(proxyId1, proxyId2) & (m_overlappingPairArray.capacity()-1);
-
-       
-
-       btBroadphasePair* pair = internalFindPair(proxy0, proxy1, hash);
-       if (pair != NULL)
-       {
-               return pair;
-       }
-
-       int count = m_overlappingPairArray.size();
-       int oldCapacity = m_overlappingPairArray.capacity();
-       void* mem = &m_overlappingPairArray.expand();
-       int newCapacity = m_overlappingPairArray.capacity();
-
-       if (oldCapacity < newCapacity)
-       {
-               growTables();
-               //hash with new capacity
-               hash = getHash(proxyId1, proxyId2) & (m_overlappingPairArray.capacity()-1);
-       }
-       
-       pair = new (mem) btBroadphasePair(*proxy0,*proxy1);
-//     pair->m_pProxy0 = proxy0;
-//     pair->m_pProxy1 = proxy1;
-       pair->m_algorithm = 0;
-       pair->m_userInfo = 0;
-       
-
-       m_next[count] = m_hashTable[hash];
-       m_hashTable[hash] = count;
-
-       return pair;
-}
-
-
-
-void* btOverlappingPairCache::removeOverlappingPair(btBroadphaseProxy* proxy0, btBroadphaseProxy* proxy1,btDispatcher* dispatcher)
-{
-       gRemovePairs++;
-
-       int proxyId1 = proxy0->getUid();
-       int proxyId2 = proxy1->getUid();
-
-       if (proxyId1 > proxyId2) 
-               btSwap(proxyId1, proxyId2);
-
-       int hash = getHash(proxyId1, proxyId2) & (m_overlappingPairArray.capacity()-1);
-
-       btBroadphasePair* pair = internalFindPair(proxy0, proxy1, hash);
-       if (pair == NULL)
-       {
-               return 0;
-       }
-
-       cleanOverlappingPair(*pair,dispatcher);
-
-       void* userData = pair->m_userInfo;
-
-       btAssert(pair->m_pProxy0->getUid() == proxyId1);
-       btAssert(pair->m_pProxy1->getUid() == proxyId2);
-
-       int pairIndex = int(pair - &m_overlappingPairArray[0]);
-       btAssert(pairIndex < m_overlappingPairArray.size());
-
-       // Remove the pair from the hash table.
-       int index = m_hashTable[hash];
-       btAssert(index != BT_NULL_PAIR);
-
-       int previous = BT_NULL_PAIR;
-       while (index != pairIndex)
-       {
-               previous = index;
-               index = m_next[index];
-       }
-
-       if (previous != BT_NULL_PAIR)
-       {
-               btAssert(m_next[previous] == pairIndex);
-               m_next[previous] = m_next[pairIndex];
-       }
-       else
-       {
-               m_hashTable[hash] = m_next[pairIndex];
-       }
-
-       // We now move the last pair into spot of the
-       // pair being removed. We need to fix the hash
-       // table indices to support the move.
-
-       int lastPairIndex = m_overlappingPairArray.size() - 1;
-
-       // If the removed pair is the last pair, we are done.
-       if (lastPairIndex == pairIndex)
-       {
-               m_overlappingPairArray.pop_back();
-               return userData;
-       }
-
-       // Remove the last pair from the hash table.
-       const btBroadphasePair* last = &m_overlappingPairArray[lastPairIndex];
-       int lastHash = getHash(last->m_pProxy0->getUid(), last->m_pProxy1->getUid()) & (m_overlappingPairArray.capacity()-1);
-
-       index = m_hashTable[lastHash];
-       btAssert(index != BT_NULL_PAIR);
-
-       previous = BT_NULL_PAIR;
-       while (index != lastPairIndex)
-       {
-               previous = index;
-               index = m_next[index];
-       }
-
-       if (previous != BT_NULL_PAIR)
-       {
-               btAssert(m_next[previous] == lastPairIndex);
-               m_next[previous] = m_next[lastPairIndex];
-       }
-       else
-       {
-               m_hashTable[lastHash] = m_next[lastPairIndex];
-       }
-
-       // Copy the last pair into the remove pair's spot.
-       m_overlappingPairArray[pairIndex] = m_overlappingPairArray[lastPairIndex];
-
-       // Insert the last pair into the hash table
-       m_next[pairIndex] = m_hashTable[lastHash];
-       m_hashTable[lastHash] = pairIndex;
-
-       m_overlappingPairArray.pop_back();
-
-       return userData;
-}
-#include <stdio.h>
-
-void   btOverlappingPairCache::processAllOverlappingPairs(btOverlapCallback* callback,btDispatcher* dispatcher)
-{
-
-       int i;
-
-//     printf("m_overlappingPairArray.size()=%d\n",m_overlappingPairArray.size());
-       for (i=0;i<m_overlappingPairArray.size();)
-       {
-       
-               btBroadphasePair* pair = &m_overlappingPairArray[i];
-               if (callback->processOverlap(*pair))
-               {
-                       removeOverlappingPair(pair->m_pProxy0,pair->m_pProxy1,dispatcher);
-
-                       gOverlappingPairs--;
-               } else
-               {
-                       i++;
-               }
-       }
-}
-
-#else
-
-
-
-
-void*  btOverlappingPairCache::removeOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1, btDispatcher* dispatcher )
-{
-#ifndef USE_LAZY_REMOVAL
-
-       btBroadphasePair findPair(*proxy0,*proxy1);
-
-       int findIndex = m_overlappingPairArray.findLinearSearch(findPair);
-       if (findIndex < m_overlappingPairArray.size())
-       {
-               gOverlappingPairs--;
-               btBroadphasePair& pair = m_overlappingPairArray[findIndex];
-               void* userData = pair.m_userInfo;
-               cleanOverlappingPair(pair,dispatcher);
-               
-               m_overlappingPairArray.swap(findIndex,m_overlappingPairArray.capacity()-1);
-               m_overlappingPairArray.pop_back();
-               return userData;
-       }
-#endif //USE_LAZY_REMOVAL
-
-       return 0;
-}
-
-
-
-
-
-
-
-
-btBroadphasePair*      btOverlappingPairCache::addOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1)
-{
-       //don't add overlap with own
-       assert(proxy0 != proxy1);
-
-       if (!needsBroadphaseCollision(proxy0,proxy1))
-               return 0;
-       
-       void* mem = &m_overlappingPairArray.expand();
-       btBroadphasePair* pair = new (mem) btBroadphasePair(*proxy0,*proxy1);
-       gOverlappingPairs++;
-       return pair;
-       
-}
-
-///this findPair becomes really slow. Either sort the list to speedup the query, or
-///use a different solution. It is mainly used for Removing overlapping pairs. Removal could be delayed.
-///we could keep a linked list in each proxy, and store pair in one of the proxies (with lowest memory address)
-///Also we can use a 2D bitmap, which can be useful for a future GPU implementation
- btBroadphasePair*     btOverlappingPairCache::findPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1)
-{
-       if (!needsBroadphaseCollision(proxy0,proxy1))
-               return 0;
-
-       btBroadphasePair tmpPair(*proxy0,*proxy1);
-       int findIndex = m_overlappingPairArray.findLinearSearch(tmpPair);
-
-       if (findIndex < m_overlappingPairArray.size())
-       {
-               //assert(it != m_overlappingPairSet.end());
-                btBroadphasePair* pair = &m_overlappingPairArray[findIndex];
-               return pair;
-       }
-       return 0;
-}
-
-
-
-
-
-
-
-
-
-
-#include <stdio.h>
-
-void   btOverlappingPairCache::processAllOverlappingPairs(btOverlapCallback* callback,btDispatcher* dispatcher)
-{
-
-       int i;
-
-       for (i=0;i<m_overlappingPairArray.size();)
-       {
-       
-               btBroadphasePair* pair = &m_overlappingPairArray[i];
-               if (callback->processOverlap(*pair))
-               {
-                       cleanOverlappingPair(*pair,dispatcher);
-
-                       m_overlappingPairArray.swap(i,m_overlappingPairArray.capacity()-1);
-                       m_overlappingPairArray.pop_back();
-                       gOverlappingPairs--;
-               } else
-               {
-                       i++;
-               }
-       }
-}
-
-
-
-#endif //USE_HASH_PAIRCACHE
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.h
deleted file mode 100644 (file)
index a387505..0000000
+++ /dev/null
@@ -1,323 +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 OVERLAPPING_PAIR_CACHE_H
-#define OVERLAPPING_PAIR_CACHE_H
-
-
-#include "btBroadphaseInterface.h"
-#include "btBroadphaseProxy.h"
-#include "LinearMath/btPoint3.h"
-#include "LinearMath/btAlignedObjectArray.h"
-class btDispatcher;
-
-///disable the USE_HASH_PAIRCACHE define to use a pair manager that sorts the pairs to find duplicates/non-overlap
-#define USE_HASH_PAIRCACHE 1
-
-
-struct btOverlapCallback
-{
-       virtual ~btOverlapCallback()
-       {}
-       //return true for deletion of the pair
-       virtual bool    processOverlap(btBroadphasePair& pair) = 0;
-};
-
-struct btOverlapFilterCallback
-{
-       virtual ~btOverlapFilterCallback()
-       {}
-       // return true when pairs need collision
-       virtual bool    needBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const = 0;
-};
-
-typedef btAlignedObjectArray<btBroadphasePair> btBroadphasePairArray;
-
-#ifdef USE_HASH_PAIRCACHE
-
-
-/// Hash-space based Pair Cache, thanks to Erin Catto, Box2D, http://www.box2d.org, and Pierre Terdiman, Codercorner, http://codercorner.com
-
-extern int gRemovePairs;
-extern int gAddedPairs;
-extern int gFindPairs;
-
-const int BT_NULL_PAIR=0xffffffff;
-
-class btOverlappingPairCache
-{
-       btBroadphasePairArray   m_overlappingPairArray;
-       btOverlapFilterCallback* m_overlapFilterCallback;
-       bool            m_blockedForChanges;
-
-
-public:
-       btOverlappingPairCache();
-       virtual ~btOverlappingPairCache();
-
-       
-       void    removeOverlappingPairsContainingProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
-
-       void*   removeOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1,btDispatcher* dispatcher);
-       
-       SIMD_FORCE_INLINE bool needsBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const
-       {
-               if (m_overlapFilterCallback)
-                       return m_overlapFilterCallback->needBroadphaseCollision(proxy0,proxy1);
-
-               bool collides = (proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask) != 0;
-               collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask);
-               
-               return collides;
-       }
-
-       // Add a pair and return the new pair. If the pair already exists,
-       // no new pair is created and the old one is returned.
-       SIMD_FORCE_INLINE       btBroadphasePair*       addOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1)
-       {
-               gAddedPairs++;
-
-               if (!needsBroadphaseCollision(proxy0,proxy1))
-                       return 0;
-
-               return internalAddPair(proxy0,proxy1);
-       }
-
-       
-
-       void    cleanProxyFromPairs(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
-
-       
-       virtual void    processAllOverlappingPairs(btOverlapCallback*,btDispatcher* dispatcher);
-
-       btBroadphasePair*       getOverlappingPairArrayPtr()
-       {
-               return &m_overlappingPairArray[0];
-       }
-
-       const btBroadphasePair* getOverlappingPairArrayPtr() const
-       {
-               return &m_overlappingPairArray[0];
-       }
-
-       btBroadphasePairArray&  getOverlappingPairArray()
-       {
-               return m_overlappingPairArray;
-       }
-
-       const btBroadphasePairArray&    getOverlappingPairArray() const
-       {
-               return m_overlappingPairArray;
-       }
-
-       void    cleanOverlappingPair(btBroadphasePair& pair,btDispatcher* dispatcher);
-
-
-
-       btBroadphasePair* findPair(btBroadphaseProxy* proxy0, btBroadphaseProxy* proxy1);
-
-       int GetCount() const { return m_overlappingPairArray.size(); }
-//     btBroadphasePair* GetPairs() { return m_pairs; }
-
-       btOverlapFilterCallback* getOverlapFilterCallback()
-       {
-               return m_overlapFilterCallback;
-       }
-
-       void setOverlapFilterCallback(btOverlapFilterCallback* callback)
-       {
-               m_overlapFilterCallback = callback;
-       }
-
-       int     getNumOverlappingPairs() const
-       {
-               return m_overlappingPairArray.size();
-       }
-private:
-       
-       btBroadphasePair*       internalAddPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1);
-
-       void    growTables();
-
-       SIMD_FORCE_INLINE bool equalsPair(const btBroadphasePair& pair, int proxyId1, int proxyId2)
-       {       
-               return pair.m_pProxy0->getUid() == proxyId1 && pair.m_pProxy1->getUid() == proxyId2;
-       }
-
-       /*
-       // Thomas Wang's hash, see: http://www.concentric.net/~Ttwang/tech/inthash.htm
-       // This assumes proxyId1 and proxyId2 are 16-bit.
-       SIMD_FORCE_INLINE int getHash(int proxyId1, int proxyId2)
-       {
-               int key = (proxyId2 << 16) | proxyId1;
-               key = ~key + (key << 15);
-               key = key ^ (key >> 12);
-               key = key + (key << 2);
-               key = key ^ (key >> 4);
-               key = key * 2057;
-               key = key ^ (key >> 16);
-               return key;
-       }
-       */
-
-
-       
-       SIMD_FORCE_INLINE       unsigned int getHash(unsigned int proxyId1, unsigned int proxyId2)
-       {
-               int key = ((unsigned int)proxyId1) | (((unsigned int)proxyId1) <<16);
-               // Thomas Wang's hash
-
-               key += ~(key << 15);
-               key ^=  (key >> 10);
-               key +=  (key << 3);
-               key ^=  (key >> 6);
-               key += ~(key << 11);
-               key ^=  (key >> 16);
-               return key;
-       }
-       
-
-
-
-
-       SIMD_FORCE_INLINE btBroadphasePair* internalFindPair(btBroadphaseProxy* proxy0, btBroadphaseProxy* proxy1, int hash)
-       {
-               int proxyId1 = proxy0->getUid();
-               int proxyId2 = proxy1->getUid();
-               if (proxyId1 > proxyId2) 
-                       btSwap(proxyId1, proxyId2);
-
-               int index = m_hashTable[hash];
-               
-               while( index != BT_NULL_PAIR && equalsPair(m_overlappingPairArray[index], proxyId1, proxyId2) == false)
-               {
-                       index = m_next[index];
-               }
-
-               if ( index == BT_NULL_PAIR )
-               {
-                       return NULL;
-               }
-
-               btAssert(index < m_overlappingPairArray.size());
-
-               return &m_overlappingPairArray[index];
-       }
-
-
-public:
-       
-       btAlignedObjectArray<int>       m_hashTable;
-       btAlignedObjectArray<int>       m_next;
-       
-};
-
-
-
-#else//USE_HASH_PAIRCACHE
-
-#define USE_LAZY_REMOVAL 1
-
-///btOverlappingPairCache maintains the objects with overlapping AABB
-///Typically managed by the Broadphase, Axis3Sweep or btSimpleBroadphase
-class  btOverlappingPairCache
-{
-       protected:
-               //avoid brute-force finding all the time
-               btBroadphasePairArray   m_overlappingPairArray;
-
-               //during the dispatch, check that user doesn't destroy/create proxy
-               bool            m_blockedForChanges;
-               
-               //if set, use the callback instead of the built in filter in needBroadphaseCollision
-               btOverlapFilterCallback* m_overlapFilterCallback;
-
-       public:
-                       
-               btOverlappingPairCache();       
-               virtual ~btOverlappingPairCache();
-
-               virtual void    processAllOverlappingPairs(btOverlapCallback*,btDispatcher* dispatcher);
-
-               void*   removeOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1,btDispatcher* dispatcher);
-
-               void    cleanOverlappingPair(btBroadphasePair& pair,btDispatcher* dispatcher);
-               
-               btBroadphasePair*       addOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1);
-
-               btBroadphasePair*       findPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1);
-                       
-               
-               void    cleanProxyFromPairs(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
-
-               void    removeOverlappingPairsContainingProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
-
-
-               inline bool needsBroadphaseCollision(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) const
-               {
-                       if (m_overlapFilterCallback)
-                               return m_overlapFilterCallback->needBroadphaseCollision(proxy0,proxy1);
-
-                       bool collides = (proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask) != 0;
-                       collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask);
-                       
-                       return collides;
-               }
-               
-               btBroadphasePairArray&  getOverlappingPairArray()
-               {
-                       return m_overlappingPairArray;
-               }
-
-               const btBroadphasePairArray&    getOverlappingPairArray() const
-               {
-                       return m_overlappingPairArray;
-               }
-
-               
-
-
-               btBroadphasePair*       getOverlappingPairArrayPtr()
-               {
-                       return &m_overlappingPairArray[0];
-               }
-
-               const btBroadphasePair* getOverlappingPairArrayPtr() const
-               {
-                       return &m_overlappingPairArray[0];
-               }
-
-               int     getNumOverlappingPairs() const
-               {
-                       return m_overlappingPairArray.size();
-               }
-               
-               btOverlapFilterCallback* getOverlapFilterCallback()
-               {
-                       return m_overlapFilterCallback;
-               }
-
-               void setOverlapFilterCallback(btOverlapFilterCallback* callback)
-               {
-                       m_overlapFilterCallback = callback;
-               }
-
-};
-#endif //USE_HASH_PAIRCACHE
-
-#endif //OVERLAPPING_PAIR_CACHE_H
-
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btOverlappingPairCallback.h
deleted file mode 100644 (file)
index b8d967d..0000000
+++ /dev/null
@@ -1,37 +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 OVERLAPPING_PAIR_CALLBACK_H
-#define OVERLAPPING_PAIR_CALLBACK_H
-
-///btOverlappingPairCallback provides user callback to keep track of overlap between objects, like a collision sensor
-class btOverlappingPairCallback
-{
-public:
-       virtual ~btOverlappingPairCallback()
-       {
-
-       }
-       
-       virtual void    addOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) = 0;
-
-       virtual void    removeOverlappingPair(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1) = 0;
-
-       virtual void    removeOverlappingPairsContainingProxy(btBroadphaseProxy* proxy0) = 0;
-
-};
-
-#endif //OVERLAPPING_PAIR_CALLBACK_H
\ No newline at end of file
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp
deleted file mode 100644 (file)
index e0bb099..0000000
+++ /dev/null
@@ -1,312 +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.
-*/
-
-#include "btSimpleBroadphase.h"
-#include <BulletCollision/BroadphaseCollision/btDispatcher.h>
-#include <BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h>
-
-#include "LinearMath/btVector3.h"
-#include "LinearMath/btTransform.h"
-#include "LinearMath/btMatrix3x3.h"
-#include <new>
-
-extern int gOverlappingPairs;
-
-void   btSimpleBroadphase::validate()
-{
-       for (int i=0;i<m_numHandles;i++)
-       {
-               for (int j=i+1;j<m_numHandles;j++)
-               {
-                       btAssert(&m_pHandles[i] != &m_pHandles[j]);
-               }
-       }
-       
-}
-
-btSimpleBroadphase::btSimpleBroadphase(int maxProxies, btOverlappingPairCache* overlappingPairCache)
-       :m_pairCache(overlappingPairCache),
-       m_ownsPairCache(false),
-       m_invalidPair(0)
-{
-
-       if (!overlappingPairCache)
-       {
-               void* mem = btAlignedAlloc(sizeof(btOverlappingPairCache),16);
-               m_pairCache = new (mem)btOverlappingPairCache();
-               m_ownsPairCache = true;
-       }
-
-       // allocate handles buffer and put all handles on free list
-       void* ptr = btAlignedAlloc(sizeof(btSimpleBroadphaseProxy)*maxProxies,16);
-       m_pHandles = new(ptr) btSimpleBroadphaseProxy[maxProxies];
-       m_maxHandles = maxProxies;
-       m_numHandles = 0;
-       m_firstFreeHandle = 0;
-       m_firstAllocatedHandle = -1;
-
-       {
-               for (int i = m_firstFreeHandle; i < maxProxies; i++)
-               {
-                       m_pHandles[i].SetNextFree(i + 1);
-                       m_pHandles[i].m_uniqueId = i+2;//any UID will do, we just avoid too trivial values (0,1) for debugging purposes
-                       m_pHandles[i].SetNextAllocated(-1);
-               }
-               m_pHandles[maxProxies - 1].SetNextFree(0);
-               m_pHandles[maxProxies - 1].SetNextAllocated(-1);
-       
-       }
-
-}
-
-btSimpleBroadphase::~btSimpleBroadphase()
-{
-       btAlignedFree(m_pHandles);
-
-       if (m_ownsPairCache)
-       {
-               m_pairCache->~btOverlappingPairCache();
-               btAlignedFree(m_pairCache);
-       }
-}
-
-
-btBroadphaseProxy*     btSimpleBroadphase::createProxy(  const btVector3& aabbMin,  const btVector3& aabbMax,int shapeType,void* userPtr ,short int collisionFilterGroup,short int collisionFilterMask, btDispatcher* dispatcher)
-{
-       if (m_numHandles >= m_maxHandles)
-       {
-               btAssert(0);
-               return 0; //should never happen, but don't let the game crash ;-)
-       }
-       assert(aabbMin[0]<= aabbMax[0] && aabbMin[1]<= aabbMax[1] && aabbMin[2]<= aabbMax[2]);
-
-       int newHandleIndex = allocHandle();
-       btSimpleBroadphaseProxy* proxy = new (&m_pHandles[newHandleIndex])btSimpleBroadphaseProxy(aabbMin,aabbMax,shapeType,userPtr,collisionFilterGroup,collisionFilterMask);
-
-       return proxy;
-}
-
-class  RemovingOverlapCallback : public btOverlapCallback
-{
-protected:
-       virtual bool    processOverlap(btBroadphasePair& pair)
-       {
-               (void)pair;
-               btAssert(0);
-               return false;
-       }
-};
-
-class RemovePairContainingProxy
-{
-
-       btBroadphaseProxy*      m_targetProxy;
-       public:
-       virtual ~RemovePairContainingProxy()
-       {
-       }
-protected:
-       virtual bool processOverlap(btBroadphasePair& pair)
-       {
-               btSimpleBroadphaseProxy* proxy0 = static_cast<btSimpleBroadphaseProxy*>(pair.m_pProxy0);
-               btSimpleBroadphaseProxy* proxy1 = static_cast<btSimpleBroadphaseProxy*>(pair.m_pProxy1);
-
-               return ((m_targetProxy == proxy0 || m_targetProxy == proxy1));
-       };
-};
-
-void   btSimpleBroadphase::destroyProxy(btBroadphaseProxy* proxyOrg,btDispatcher* dispatcher)
-{
-               
-               btSimpleBroadphaseProxy* proxy0 = static_cast<btSimpleBroadphaseProxy*>(proxyOrg);
-               freeHandle(proxy0);
-
-               m_pairCache->removeOverlappingPairsContainingProxy(proxyOrg,dispatcher);
-
-               //validate();
-               
-}
-
-void   btSimpleBroadphase::setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax, btDispatcher* dispatcher)
-{
-       btSimpleBroadphaseProxy* sbp = getSimpleProxyFromProxy(proxy);
-       sbp->m_min = aabbMin;
-       sbp->m_max = aabbMax;
-}
-
-
-
-
-
-       
-
-
-
-bool   btSimpleBroadphase::aabbOverlap(btSimpleBroadphaseProxy* proxy0,btSimpleBroadphaseProxy* proxy1)
-{
-       return proxy0->m_min[0] <= proxy1->m_max[0] && proxy1->m_min[0] <= proxy0->m_max[0] && 
-                  proxy0->m_min[1] <= proxy1->m_max[1] && proxy1->m_min[1] <= proxy0->m_max[1] &&
-                  proxy0->m_min[2] <= proxy1->m_max[2] && proxy1->m_min[2] <= proxy0->m_max[2];
-
-}
-
-
-
-//then remove non-overlapping ones
-class CheckOverlapCallback : public btOverlapCallback
-{
-public:
-       virtual bool processOverlap(btBroadphasePair& pair)
-       {
-               return (!btSimpleBroadphase::aabbOverlap(static_cast<btSimpleBroadphaseProxy*>(pair.m_pProxy0),static_cast<btSimpleBroadphaseProxy*>(pair.m_pProxy1)));
-       }
-};
-
-void   btSimpleBroadphase::calculateOverlappingPairs(btDispatcher* dispatcher)
-{
-       //first check for new overlapping pairs
-       int i,j;
-
-       if (m_firstAllocatedHandle >= 0)
-       {
-
-               btSimpleBroadphaseProxy* proxy0 = &m_pHandles[m_firstAllocatedHandle];
-
-               for (i=0;i<m_numHandles;i++)
-               {
-                       btSimpleBroadphaseProxy* proxy1 = &m_pHandles[m_firstAllocatedHandle];
-
-                       for (j=0;j<m_numHandles;j++)
-                       {
-                               
-                               if (proxy0 != proxy1)
-                               {
-                                       btSimpleBroadphaseProxy* p0 = getSimpleProxyFromProxy(proxy0);
-                                       btSimpleBroadphaseProxy* p1 = getSimpleProxyFromProxy(proxy1);
-
-                                       if (aabbOverlap(p0,p1))
-                                       {
-                                               if ( !m_pairCache->findPair(proxy0,proxy1))
-                                               {
-                                                       m_pairCache->addOverlappingPair(proxy0,proxy1);
-                                               }
-                                       } else
-                                       {
-               #ifdef USE_HASH_PAIRCACHE
-                                               if ( m_pairCache->findPair(proxy0,proxy1))
-                                               {
-                                                       m_pairCache->removeOverlappingPair(proxy0,proxy1,dispatcher);
-                                               }
-               #endif //USE_HASH_PAIRCACHE
-
-                                       }
-                               }
-                               proxy1 = &m_pHandles[proxy1->GetNextAllocated()];
-
-                       }
-                       proxy0 = &m_pHandles[proxy0->GetNextAllocated()];
-
-               }
-
-       #ifndef USE_HASH_PAIRCACHE
-
-               if (m_ownsPairCache)
-               {
-                       
-                       btBroadphasePairArray&  overlappingPairArray = m_pairCache->getOverlappingPairArray();
-
-                       //perform a sort, to find duplicates and to sort 'invalid' pairs to the end
-                       overlappingPairArray.heapSort(btBroadphasePairSortPredicate());
-
-                       overlappingPairArray.resize(overlappingPairArray.size() - m_invalidPair);
-                       m_invalidPair = 0;
-
-
-                       btBroadphasePair previousPair;
-                       previousPair.m_pProxy0 = 0;
-                       previousPair.m_pProxy1 = 0;
-                       previousPair.m_algorithm = 0;
-                       
-                       
-                       for (i=0;i<overlappingPairArray.size();i++)
-                       {
-                       
-                               btBroadphasePair& pair = overlappingPairArray[i];
-
-                               bool isDuplicate = (pair == previousPair);
-
-                               previousPair = pair;
-
-                               bool needsRemoval = false;
-
-                               if (!isDuplicate)
-                               {
-                                       bool hasOverlap = testAabbOverlap(pair.m_pProxy0,pair.m_pProxy1);
-
-                                       if (hasOverlap)
-                                       {
-                                               needsRemoval = false;//callback->processOverlap(pair);
-                                       } else
-                                       {
-                                               needsRemoval = true;
-                                       }
-                               } else
-                               {
-                                       //remove duplicate
-                                       needsRemoval = true;
-                                       //should have no algorithm
-                                       btAssert(!pair.m_algorithm);
-                               }
-                               
-                               if (needsRemoval)
-                               {
-                                       m_pairCache->cleanOverlappingPair(pair,dispatcher);
-
-                       //              m_overlappingPairArray.swap(i,m_overlappingPairArray.size()-1);
-                       //              m_overlappingPairArray.pop_back();
-                                       pair.m_pProxy0 = 0;
-                                       pair.m_pProxy1 = 0;
-                                       m_invalidPair++;
-                                       gOverlappingPairs--;
-                               } 
-                               
-                       }
-
-               ///if you don't like to skip the invalid pairs in the array, execute following code:
-               #define CLEAN_INVALID_PAIRS 1
-               #ifdef CLEAN_INVALID_PAIRS
-
-                       //perform a sort, to sort 'invalid' pairs to the end
-                       overlappingPairArray.heapSort(btBroadphasePairSortPredicate());
-
-                       overlappingPairArray.resize(overlappingPairArray.size() - m_invalidPair);
-                       m_invalidPair = 0;
-               #endif//CLEAN_INVALID_PAIRS
-
-               }
-       #endif //USE_HASH_PAIRCACHE
-       }
-}
-
-
-bool btSimpleBroadphase::testAabbOverlap(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1)
-{
-       btSimpleBroadphaseProxy* p0 = getSimpleProxyFromProxy(proxy0);
-       btSimpleBroadphaseProxy* p1 = getSimpleProxyFromProxy(proxy1);
-       return aabbOverlap(p0,p1);
-}
-
-
-
diff --git a/extern/bullet2/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h b/extern/bullet2/src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.h
deleted file mode 100644 (file)
index 09367a7..0000000
+++ /dev/null
@@ -1,147 +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 SIMPLE_BROADPHASE_H
-#define SIMPLE_BROADPHASE_H
-
-
-#include "btOverlappingPairCache.h"
-
-
-struct btSimpleBroadphaseProxy : public btBroadphaseProxy
-{
-       btVector3       m_min;
-       btVector3       m_max;
-       int                     m_nextFree;
-       int                     m_nextAllocated;
-//     int                     m_handleId;
-
-       
-       btSimpleBroadphaseProxy() {};
-
-       btSimpleBroadphaseProxy(const btPoint3& minpt,const btPoint3& maxpt,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask)
-       :btBroadphaseProxy(userPtr,collisionFilterGroup,collisionFilterMask),
-       m_min(minpt),m_max(maxpt)               
-       {
-               (void)shapeType;
-       }
-       
-       
-       SIMD_FORCE_INLINE void SetNextFree(int next) {m_nextFree = next;}
-       SIMD_FORCE_INLINE int GetNextFree() const {return m_nextFree;}
-
-       SIMD_FORCE_INLINE void SetNextAllocated(int next) {m_nextAllocated = next;}
-       SIMD_FORCE_INLINE int GetNextAllocated() const {return m_nextAllocated;}
-
-
-};
-
-///SimpleBroadphase is a brute force aabb culling broadphase based on O(n^2) aabb checks
-///btSimpleBroadphase is just a unit-test implementation to verify and test other broadphases.
-///So please don't use this class, but use bt32BitAxisSweep3 or btAxisSweep3 instead!
-class btSimpleBroadphase : public btBroadphaseInterface
-{
-
-protected:
-
-       int             m_numHandles;                                           // number of active handles
-       int             m_maxHandles;                                           // max number of handles
-       btSimpleBroadphaseProxy* m_pHandles;                                            // handles pool
-       int             m_firstFreeHandle;              // free handles list
-       int             m_firstAllocatedHandle;
-
-       int allocHandle()
-       {
-
-               int freeHandle = m_firstFreeHandle;
-               m_firstFreeHandle = m_pHandles[freeHandle].GetNextFree();
-               
-               m_pHandles[freeHandle].SetNextAllocated(m_firstAllocatedHandle);
-               m_firstAllocatedHandle = freeHandle;
-               
-               m_numHandles++;
-
-               return freeHandle;
-       }
-
-       void freeHandle(btSimpleBroadphaseProxy* proxy)
-       {
-               int handle = int(proxy-m_pHandles);
-               btAssert(handle >= 0 && handle < m_maxHandles);
-
-               proxy->SetNextFree(m_firstFreeHandle);
-               m_firstFreeHandle = handle;
-
-               m_firstAllocatedHandle = proxy->GetNextAllocated();
-               proxy->SetNextAllocated(-1);
-
-               m_numHandles--;
-       }
-
-
-       btOverlappingPairCache* m_pairCache;
-       bool    m_ownsPairCache;
-
-       int     m_invalidPair;
-
-       
-       
-       inline btSimpleBroadphaseProxy* getSimpleProxyFromProxy(btBroadphaseProxy* proxy)
-       {
-               btSimpleBroadphaseProxy* proxy0 = static_cast<btSimpleBroadphaseProxy*>(proxy);
-               return proxy0;
-       }
-
-
-       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 ,short int collisionFilterGroup,short 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);
-               
-       btOverlappingPairCache* getOverlappingPairCache()
-       {
-               return m_pairCache;
-       }
-       const btOverlappingPairCache*   getOverlappingPairCache() const
-       {
-               return m_pairCache;
-       }
-
-       bool    testAabbOverlap(btBroadphaseProxy* proxy0,btBroadphaseProxy* proxy1);
-
-
-};
-
-
-
-#endif //SIMPLE_BROADPHASE_H
-
diff --git a/extern/bullet2/src/BulletCollision/CMakeLists.txt b/extern/bullet2/src/BulletCollision/CMakeLists.txt
deleted file mode 100644 (file)
index d2d3dc6..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-                       
-INCLUDE_DIRECTORIES(
-${BULLET_PHYSICS_SOURCE_DIR}/src }
-)
-       
-ADD_LIBRARY(LibBulletCollision
-                               BroadphaseCollision/btAxisSweep3.cpp
-                               BroadphaseCollision/btBroadphaseProxy.cpp
-                               BroadphaseCollision/btCollisionAlgorithm.cpp
-                               BroadphaseCollision/btDispatcher.cpp
-                               BroadphaseCollision/btMultiSapBroadphase.cpp
-                               BroadphaseCollision/btOverlappingPairCache.cpp
-                               BroadphaseCollision/btSimpleBroadphase.cpp
-                               CollisionDispatch/btCollisionDispatcher.cpp
-                               CollisionDispatch/btCollisionObject.cpp
-                               CollisionDispatch/btCollisionWorld.cpp
-                               CollisionDispatch/btCompoundCollisionAlgorithm.cpp
-                               CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp
-                               CollisionDispatch/btDefaultCollisionConfiguration.cpp
-                               CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp
-                               CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp
-                               CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp
-                               CollisionDispatch/btConvexConvexAlgorithm.cpp
-                               CollisionDispatch/btEmptyCollisionAlgorithm.cpp
-                               CollisionDispatch/btManifoldResult.cpp
-                               CollisionDispatch/btSimulationIslandManager.cpp
-                               CollisionDispatch/btUnionFind.cpp
-                               CollisionDispatch/SphereTriangleDetector.cpp
-                               CollisionShapes/btBoxShape.cpp
-                               CollisionShapes/btBvhTriangleMeshShape.cpp
-                               CollisionShapes/btCapsuleShape.cpp
-                               CollisionShapes/btCollisionShape.cpp
-                               CollisionShapes/btCompoundShape.cpp
-                               CollisionShapes/btConcaveShape.cpp
-                               CollisionShapes/btConeShape.cpp
-                               CollisionShapes/btConvexHullShape.cpp
-                               CollisionShapes/btConvexShape.cpp
-                               CollisionShapes/btConvexInternalShape.cpp
-                               CollisionShapes/btConvexTriangleMeshShape.cpp
-                               CollisionShapes/btCylinderShape.cpp
-                               CollisionShapes/btEmptyShape.cpp
-                               CollisionShapes/btHeightfieldTerrainShape.cpp
-                               CollisionShapes/btMinkowskiSumShape.cpp
-                               CollisionShapes/btMultiSphereShape.cpp
-                               CollisionShapes/btOptimizedBvh.cpp
-                               CollisionShapes/btPolyhedralConvexShape.cpp
-                               CollisionShapes/btTetrahedronShape.cpp
-                               CollisionShapes/btSphereShape.cpp
-                               CollisionShapes/btStaticPlaneShape.cpp
-                               CollisionShapes/btStridingMeshInterface.cpp
-                               CollisionShapes/btTriangleCallback.cpp
-                               CollisionShapes/btTriangleBuffer.cpp
-                               CollisionShapes/btTriangleIndexVertexArray.cpp
-                               CollisionShapes/btTriangleMesh.cpp
-                               CollisionShapes/btTriangleMeshShape.cpp
-                               CollisionShapes/btUniformScalingShape.cpp
-                               NarrowPhaseCollision/btContinuousConvexCollision.cpp
-                               NarrowPhaseCollision/btGjkEpa.cpp
-                               NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp
-                               NarrowPhaseCollision/btConvexCast.cpp
-                               NarrowPhaseCollision/btGjkConvexCast.cpp
-                               NarrowPhaseCollision/btGjkPairDetector.cpp
-                               NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp
-                               NarrowPhaseCollision/btPersistentManifold.cpp
-                               NarrowPhaseCollision/btRaycastCallback.cpp
-                               NarrowPhaseCollision/btSubSimplexConvexCast.cpp
-                               NarrowPhaseCollision/btVoronoiSimplexSolver.cpp
-)
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp
deleted file mode 100644 (file)
index 8113367..0000000
+++ /dev/null
@@ -1,200 +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.
-*/
-
-#include "LinearMath/btScalar.h"
-#include "SphereTriangleDetector.h"
-#include "BulletCollision/CollisionShapes/btTriangleShape.h"
-#include "BulletCollision/CollisionShapes/btSphereShape.h"
-
-
-SphereTriangleDetector::SphereTriangleDetector(btSphereShape* sphere,btTriangleShape* triangle)
-:m_sphere(sphere),
-m_triangle(triangle)
-{
-
-}
-
-void   SphereTriangleDetector::getClosestPoints(const ClosestPointInput& input,Result& output,class btIDebugDraw* debugDraw)
-{
-
-       (void)debugDraw;
-       const btTransform& transformA = input.m_transformA;
-       const btTransform& transformB = input.m_transformB;
-
-       btVector3 point,normal;
-       btScalar timeOfImpact = btScalar(1.);
-       btScalar depth = btScalar(0.);
-//     output.m_distance = btScalar(1e30);
-       //move sphere into triangle space
-       btTransform     sphereInTr = transformB.inverseTimes(transformA);
-
-       if (collide(sphereInTr.getOrigin(),point,normal,depth,timeOfImpact))
-       {
-               output.addContactPoint(transformB.getBasis()*normal,transformB*point,depth);
-       }
-
-}
-
-#define MAX_OVERLAP btScalar(0.)
-
-
-
-// See also geometrictools.com
-// Basic idea: D = |p - (lo + t0*lv)| where t0 = lv . (p - lo) / lv . lv
-btScalar SegmentSqrDistance(const btVector3& from, const btVector3& to,const btVector3 &p, btVector3 &nearest) {
-       btVector3 diff = p - from;
-       btVector3 v = to - from;
-       btScalar t = v.dot(diff);
-       
-       if (t > 0) {
-               btScalar dotVV = v.dot(v);
-               if (t < dotVV) {
-                       t /= dotVV;
-                       diff -= t*v;
-               } else {
-                       t = 1;
-                       diff -= v;
-               }
-       } else
-               t = 0;
-
-       nearest = from + t*v;
-       return diff.dot(diff);  
-}
-
-bool SphereTriangleDetector::facecontains(const btVector3 &p,const btVector3* vertices,btVector3& normal)  {
-       btVector3 lp(p);
-       btVector3 lnormal(normal);
-       
-       return pointInTriangle(vertices, lnormal, &lp);
-}
-
-///combined discrete/continuous sphere-triangle
-bool SphereTriangleDetector::collide(const btVector3& sphereCenter,btVector3 &point, btVector3& resultNormal, btScalar& depth, btScalar &timeOfImpact)
-{
-
-       const btVector3* vertices = &m_triangle->getVertexPtr(0);
-       const btVector3& c = sphereCenter;
-       btScalar r = m_sphere->getRadius();
-
-       btVector3 delta (0,0,0);
-
-       btVector3 normal = (vertices[1]-vertices[0]).cross(vertices[2]-vertices[0]);
-       normal.normalize();
-       btVector3 p1ToCentre = c - vertices[0];
-       btScalar distanceFromPlane = p1ToCentre.dot(normal);
-
-       if (distanceFromPlane < btScalar(0.))
-       {
-               //triangle facing the other way
-       
-               distanceFromPlane *= btScalar(-1.);
-               normal *= btScalar(-1.);
-       }
-
-       ///todo: move this gContactBreakingThreshold into a proper structure
-       extern btScalar gContactBreakingThreshold;
-
-       btScalar contactMargin = gContactBreakingThreshold;
-       bool isInsideContactPlane = distanceFromPlane < r + contactMargin;
-       bool isInsideShellPlane = distanceFromPlane < r;
-       
-       btScalar deltaDotNormal = delta.dot(normal);
-       if (!isInsideShellPlane && deltaDotNormal >= btScalar(0.0))
-               return false;
-
-       // Check for contact / intersection
-       bool hasContact = false;
-       btVector3 contactPoint;
-       if (isInsideContactPlane) {
-               if (facecontains(c,vertices,normal)) {
-                       // Inside the contact wedge - touches a point on the shell plane
-                       hasContact = true;
-                       contactPoint = c - normal*distanceFromPlane;
-               } else {
-                       // Could be inside one of the contact capsules
-                       btScalar contactCapsuleRadiusSqr = (r + contactMargin) * (r + contactMargin);
-                       btVector3 nearestOnEdge;
-                       for (int i = 0; i < m_triangle->getNumEdges(); i++) {
-                               
-                               btPoint3 pa;
-                               btPoint3 pb;
-                               
-                               m_triangle->getEdge(i,pa,pb);
-
-                               btScalar distanceSqr = SegmentSqrDistance(pa,pb,c, nearestOnEdge);
-                               if (distanceSqr < contactCapsuleRadiusSqr) {
-                                       // Yep, we're inside a capsule
-                                       hasContact = true;
-                                       contactPoint = nearestOnEdge;
-                               }
-                               
-                       }
-               }
-       }
-
-       if (hasContact) {
-               btVector3 contactToCentre = c - contactPoint;
-               btScalar distanceSqr = contactToCentre.length2();
-               if (distanceSqr < (r - MAX_OVERLAP)*(r - MAX_OVERLAP)) {
-                       btScalar distance = btSqrt(distanceSqr);
-                       resultNormal = contactToCentre;
-                       resultNormal.normalize();
-                       point = contactPoint;
-                       depth = -(r-distance);
-                       return true;
-               }
-
-               if (delta.dot(contactToCentre) >= btScalar(0.0)) 
-                       return false;
-               
-               // Moving towards the contact point -> collision
-               point = contactPoint;
-               timeOfImpact = btScalar(0.0);
-               return true;
-       }
-       
-       return false;
-}
-
-
-bool SphereTriangleDetector::pointInTriangle(const btVector3 vertices[], const btVector3 &normal, btVector3 *p )
-{
-       const btVector3* p1 = &vertices[0];
-       const btVector3* p2 = &vertices[1];
-       const btVector3* p3 = &vertices[2];
-
-       btVector3 edge1( *p2 - *p1 );
-       btVector3 edge2( *p3 - *p2 );
-       btVector3 edge3( *p1 - *p3 );
-
-       btVector3 p1_to_p( *p - *p1 );
-       btVector3 p2_to_p( *p - *p2 );
-       btVector3 p3_to_p( *p - *p3 );
-
-       btVector3 edge1_normal( edge1.cross(normal));
-       btVector3 edge2_normal( edge2.cross(normal));
-       btVector3 edge3_normal( edge3.cross(normal));
-       
-       btScalar r1, r2, r3;
-       r1 = edge1_normal.dot( p1_to_p );
-       r2 = edge2_normal.dot( p2_to_p );
-       r3 = edge3_normal.dot( p3_to_p );
-       if ( ( r1 > 0 && r2 > 0 && r3 > 0 ) ||
-            ( r1 <= 0 && r2 <= 0 && r3 <= 0 ) )
-               return true;
-       return false;
-
-}
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.h b/extern/bullet2/src/BulletCollision/CollisionDispatch/SphereTriangleDetector.h
deleted file mode 100644 (file)
index 0c817b2..0000000
+++ /dev/null
@@ -1,49 +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 SPHERE_TRIANGLE_DETECTOR_H
-#define SPHERE_TRIANGLE_DETECTOR_H
-
-#include "BulletCollision/NarrowPhaseCollision/btDiscreteCollisionDetectorInterface.h"
-#include "LinearMath/btPoint3.h"
-
-
-class btSphereShape;
-class btTriangleShape;
-
-
-
-/// sphere-triangle to match the btDiscreteCollisionDetectorInterface
-struct SphereTriangleDetector : public btDiscreteCollisionDetectorInterface
-{
-       virtual void    getClosestPoints(const ClosestPointInput& input,Result& output,class btIDebugDraw* debugDraw);
-
-       SphereTriangleDetector(btSphereShape* sphere,btTriangleShape* triangle);
-
-       virtual ~SphereTriangleDetector() {};
-
-private:
-
-       bool collide(const btVector3& sphereCenter,btVector3 &point, btVector3& resultNormal, btScalar& depth, btScalar &timeOfImpact);
-       bool pointInTriangle(const btVector3 vertices[], const btVector3 &normal, btVector3 *p );
-       bool facecontains(const btVector3 &p,const btVector3* vertices,btVector3& normal);
-
-       btSphereShape* m_sphere;
-       btTriangleShape* m_triangle;
-
-       
-};
-#endif //SPHERE_TRIANGLE_DETECTOR_H
-
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionConfiguration.h
deleted file mode 100644 (file)
index fad770a..0000000
+++ /dev/null
@@ -1,47 +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_COLLISION_CONFIGURATION
-#define BT_COLLISION_CONFIGURATION
-struct btCollisionAlgorithmCreateFunc;
-
-class btStackAlloc;
-class btPoolAllocator;
-
-///btCollisionConfiguration allows to configure Bullet collision detection
-///stack allocator size, default collision algorithms and persistent manifold pool size
-///todo: describe the meaning
-class  btCollisionConfiguration
-{
-
-public:
-
-       virtual ~btCollisionConfiguration()
-       {
-       }
-
-       ///memory pools
-       virtual btPoolAllocator* getPersistentManifoldPool() = 0;
-
-       virtual btPoolAllocator* getCollisionAlgorithmPool() = 0;
-
-       virtual btStackAlloc*   getStackAllocator() = 0;
-
-       virtual btCollisionAlgorithmCreateFunc* getCollisionAlgorithmCreateFunc(int proxyType0,int proxyType1) =0;
-
-};
-
-#endif //BT_COLLISION_CONFIGURATION
-
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionCreateFunc.h
deleted file mode 100644 (file)
index c672891..0000000
+++ /dev/null
@@ -1,46 +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 COLLISION_CREATE_FUNC
-#define COLLISION_CREATE_FUNC
-
-#include "LinearMath/btAlignedObjectArray.h"
-typedef btAlignedObjectArray<class btCollisionObject*> btCollisionObjectArray;
-class btCollisionAlgorithm;
-class btCollisionObject;
-
-struct btCollisionAlgorithmConstructionInfo;
-
-///Used by the btCollisionDispatcher to register and create instances for btCollisionAlgorithm
-struct btCollisionAlgorithmCreateFunc
-{
-       bool m_swapped;
-       
-       btCollisionAlgorithmCreateFunc()
-               :m_swapped(false)
-       {
-       }
-       virtual ~btCollisionAlgorithmCreateFunc(){};
-
-       virtual btCollisionAlgorithm* CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo& , btCollisionObject* body0,btCollisionObject* body1)
-       {
-               
-               (void)body0;
-               (void)body1;
-               return 0;
-       }
-};
-#endif //COLLISION_CREATE_FUNC
-
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp
deleted file mode 100644 (file)
index 644caf2..0000000
+++ /dev/null
@@ -1,287 +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.
-*/
-
-
-
-#include "btCollisionDispatcher.h"
-
-
-#include "BulletCollision/BroadphaseCollision/btCollisionAlgorithm.h"
-
-#include "BulletCollision/CollisionShapes/btCollisionShape.h"
-#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
-#include "BulletCollision/BroadphaseCollision/btOverlappingPairCache.h"
-#include "LinearMath/btPoolAllocator.h"
-#include "BulletCollision/CollisionDispatch/btCollisionConfiguration.h"
-
-int gNumManifold = 0;
-
-#include <stdio.h>
-
-
-
-btCollisionDispatcher::btCollisionDispatcher (btCollisionConfiguration* collisionConfiguration): 
-       m_count(0),
-       m_useIslands(true),
-       m_collisionConfiguration(collisionConfiguration)
-{
-       int i;
-
-       setNearCallback(defaultNearCallback);
-       
-       m_collisionAlgorithmPoolAllocator = collisionConfiguration->getCollisionAlgorithmPool();
-
-       m_persistentManifoldPoolAllocator = collisionConfiguration->getPersistentManifoldPool();
-
-       for (i=0;i<MAX_BROADPHASE_COLLISION_TYPES;i++)
-       {
-               for (int j=0;j<MAX_BROADPHASE_COLLISION_TYPES;j++)
-               {
-                       m_doubleDispatch[i][j] = m_collisionConfiguration->getCollisionAlgorithmCreateFunc(i,j);
-                       assert(m_doubleDispatch[i][j]);
-               }
-       }
-       
-       
-};
-
-
-void btCollisionDispatcher::registerCollisionCreateFunc(int proxyType0, int proxyType1, btCollisionAlgorithmCreateFunc *createFunc)
-{
-       m_doubleDispatch[proxyType0][proxyType1] = createFunc;
-}
-
-btCollisionDispatcher::~btCollisionDispatcher()
-{
-}
-
-btPersistentManifold*  btCollisionDispatcher::getNewManifold(void* b0,void* b1) 
-{ 
-       gNumManifold++;
-       
-       //btAssert(gNumManifold < 65535);
-       
-
-       btCollisionObject* body0 = (btCollisionObject*)b0;
-       btCollisionObject* body1 = (btCollisionObject*)b1;
-       
-       void* mem = 0;
-       
-       if (m_persistentManifoldPoolAllocator->getFreeCount())
-       {
-               mem = m_persistentManifoldPoolAllocator->allocate(sizeof(btPersistentManifold));
-       } else
-       {
-               mem = btAlignedAlloc(sizeof(btPersistentManifold),16);
-
-       }
-       btPersistentManifold* manifold = new(mem) btPersistentManifold (body0,body1,0);
-       manifold->m_index1a = m_manifoldsPtr.size();
-       m_manifoldsPtr.push_back(manifold);
-
-       return manifold;
-}
-
-void btCollisionDispatcher::clearManifold(btPersistentManifold* manifold)
-{
-       manifold->clearManifold();
-}
-
-       
-void btCollisionDispatcher::releaseManifold(btPersistentManifold* manifold)
-{
-       
-       gNumManifold--;
-
-       //printf("releaseManifold: gNumManifold %d\n",gNumManifold);
-       clearManifold(manifold);
-
-       int findIndex = manifold->m_index1a;
-       btAssert(findIndex < m_manifoldsPtr.size());
-       m_manifoldsPtr.swap(findIndex,m_manifoldsPtr.size()-1);
-       m_manifoldsPtr[findIndex]->m_index1a = findIndex;
-       m_manifoldsPtr.pop_back();
-
-       manifold->~btPersistentManifold();
-       if (m_persistentManifoldPoolAllocator->validPtr(manifold))
-       {
-               m_persistentManifoldPoolAllocator->free(manifold);
-       } else
-       {
-               btAlignedFree(manifold);
-       }
-       
-}
-
-       
-
-btCollisionAlgorithm* btCollisionDispatcher::findAlgorithm(btCollisionObject* body0,btCollisionObject* body1,btPersistentManifold* sharedManifold)
-{
-       
-       btCollisionAlgorithmConstructionInfo ci;
-
-       ci.m_dispatcher1 = this;
-       ci.m_manifold = sharedManifold;
-       btCollisionAlgorithm* algo = m_doubleDispatch[body0->getCollisionShape()->getShapeType()][body1->getCollisionShape()->getShapeType()]->CreateCollisionAlgorithm(ci,body0,body1);
-
-       return algo;
-}
-
-
-
-
-
-bool   btCollisionDispatcher::needsResponse(btCollisionObject* body0,btCollisionObject* body1)
-{
-       //here you can do filtering
-       bool hasResponse = 
-               (body0->hasContactResponse() && body1->hasContactResponse());
-       //no response between two static/kinematic bodies:
-       hasResponse = hasResponse &&
-               ((!body0->isStaticOrKinematicObject()) ||(! body1->isStaticOrKinematicObject()));
-       return hasResponse;
-}
-
-bool   btCollisionDispatcher::needsCollision(btCollisionObject* body0,btCollisionObject* body1)
-{
-       assert(body0);
-       assert(body1);
-
-       bool needsCollision = true;
-
-       //broadphase filtering already deals with this
-       if ((body0->isStaticObject() || body0->isKinematicObject()) &&
-               (body1->isStaticObject() || body1->isKinematicObject()))
-       {
-               printf("warning btCollisionDispatcher::needsCollision: static-static collision!\n");
-       }
-               
-       if ((!body0->isActive()) && (!body1->isActive()))
-               needsCollision = false;
-       else if (!body0->checkCollideWith(body1))
-               needsCollision = false;
-       
-       return needsCollision ;
-
-}
-
-
-
-///interface for iterating all overlapping collision pairs, no matter how those pairs are stored (array, set, map etc)
-///this is useful for the collision dispatcher.
-class btCollisionPairCallback : public btOverlapCallback
-{
-       btDispatcherInfo& m_dispatchInfo;
-       btCollisionDispatcher*  m_dispatcher;
-
-public:
-
-       btCollisionPairCallback(btDispatcherInfo& dispatchInfo,btCollisionDispatcher*   dispatcher)
-       :m_dispatchInfo(dispatchInfo),
-       m_dispatcher(dispatcher)
-       {
-       }
-
-       btCollisionPairCallback& operator=(btCollisionPairCallback& other)
-       {
-               m_dispatchInfo = other.m_dispatchInfo;
-               m_dispatcher = other.m_dispatcher;
-               return *this;
-       }
-
-       virtual ~btCollisionPairCallback() {}
-
-
-       virtual bool    processOverlap(btBroadphasePair& pair)
-       {
-               (*m_dispatcher->getNearCallback())(pair,*m_dispatcher,m_dispatchInfo);
-
-               return false;
-       }
-};
-
-
-void   btCollisionDispatcher::dispatchAllCollisionPairs(btOverlappingPairCache* pairCache,btDispatcherInfo& dispatchInfo,btDispatcher* dispatcher)
-{
-       //m_blockedForChanges = true;
-
-       btCollisionPairCallback collisionCallback(dispatchInfo,this);
-
-       pairCache->processAllOverlappingPairs(&collisionCallback,dispatcher);
-
-       //m_blockedForChanges = false;
-
-}
-
-
-
-
-//by default, Bullet will use this near callback
-void btCollisionDispatcher::defaultNearCallback(btBroadphasePair& collisionPair, btCollisionDispatcher& dispatcher, btDispatcherInfo& dispatchInfo)
-{
-               btCollisionObject* colObj0 = (btCollisionObject*)collisionPair.m_pProxy0->m_clientObject;
-               btCollisionObject* colObj1 = (btCollisionObject*)collisionPair.m_pProxy1->m_clientObject;
-
-               if (dispatcher.needsCollision(colObj0,colObj1))
-               {
-                       //dispatcher will keep algorithms persistent in the collision pair
-                       if (!collisionPair.m_algorithm)
-                       {
-                               collisionPair.m_algorithm = dispatcher.findAlgorithm(colObj0,colObj1);
-                       }
-
-                       if (collisionPair.m_algorithm)
-                       {
-                               btManifoldResult contactPointResult(colObj0,colObj1);
-                               
-                               if (dispatchInfo.m_dispatchFunc ==              btDispatcherInfo::DISPATCH_DISCRETE)
-                               {
-                                       //discrete collision detection query
-                                       collisionPair.m_algorithm->processCollision(colObj0,colObj1,dispatchInfo,&contactPointResult);
-                               } else
-                               {
-                                       //continuous collision detection query, time of impact (toi)
-                                       btScalar toi = collisionPair.m_algorithm->calculateTimeOfImpact(colObj0,colObj1,dispatchInfo,&contactPointResult);
-                                       if (dispatchInfo.m_timeOfImpact > toi)
-                                               dispatchInfo.m_timeOfImpact = toi;
-
-                               }
-                       }
-               }
-
-}
-
-
-void* btCollisionDispatcher::allocateCollisionAlgorithm(int size)
-{
-       if (m_collisionAlgorithmPoolAllocator->getFreeCount())
-       {
-               return m_collisionAlgorithmPoolAllocator->allocate(size);
-       }
-       
-       //warn user for overflow?
-       return  btAlignedAlloc(size,16);
-}
-
-void btCollisionDispatcher::freeCollisionAlgorithm(void* ptr)
-{
-       if (m_collisionAlgorithmPoolAllocator->validPtr(ptr))
-       {
-               m_collisionAlgorithmPoolAllocator->free(ptr);
-       } else
-       {
-               btAlignedFree(ptr);
-       }
-}
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.h b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionDispatcher.h
deleted file mode 100644 (file)
index 45aaa1b..0000000
+++ /dev/null
@@ -1,145 +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 COLLISION__DISPATCHER_H
-#define COLLISION__DISPATCHER_H
-
-#include "BulletCollision/BroadphaseCollision/btDispatcher.h"
-#include "BulletCollision/NarrowPhaseCollision/btPersistentManifold.h"
-
-#include "BulletCollision/CollisionDispatch/btManifoldResult.h"
-
-#include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
-#include "LinearMath/btAlignedObjectArray.h"
-
-class btIDebugDraw;
-class btOverlappingPairCache;
-class btPoolAllocator;
-class btCollisionConfiguration;
-
-#include "btCollisionCreateFunc.h"
-
-#define USE_DISPATCH_REGISTRY_ARRAY 1
-
-class btCollisionDispatcher;
-///user can override this nearcallback for collision filtering and more finegrained control over collision detection
-typedef void (*btNearCallback)(btBroadphasePair& collisionPair, btCollisionDispatcher& dispatcher, btDispatcherInfo& dispatchInfo);
-
-
-///btCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs.
-///Time of Impact, Closest Points and Penetration Depth.
-class btCollisionDispatcher : public btDispatcher
-{
-       int m_count;
-       
-       btAlignedObjectArray<btPersistentManifold*>     m_manifoldsPtr;
-
-       bool m_useIslands;
-       
-       btManifoldResult        m_defaultManifoldResult;
-
-       btNearCallback          m_nearCallback;
-       
-       btPoolAllocator*        m_collisionAlgorithmPoolAllocator;
-
-       btPoolAllocator*        m_persistentManifoldPoolAllocator;
-
-       btCollisionAlgorithmCreateFunc* m_doubleDispatch[MAX_BROADPHASE_COLLISION_TYPES][MAX_BROADPHASE_COLLISION_TYPES];
-       
-
-       btCollisionConfiguration*       m_collisionConfiguration;
-
-
-public:
-
-       ///registerCollisionCreateFunc allows registration of custom/alternative collision create functions
-       void    registerCollisionCreateFunc(int proxyType0,int proxyType1, btCollisionAlgorithmCreateFunc* createFunc);
-
-       int     getNumManifolds() const
-       { 
-               return int( m_manifoldsPtr.size());
-       }
-
-       btPersistentManifold**  getInternalManifoldPointer()
-       {
-               return &m_manifoldsPtr[0];
-       }
-
-        btPersistentManifold* getManifoldByIndexInternal(int index)
-       {
-               return m_manifoldsPtr[index];
-       }
-
-        const btPersistentManifold* getManifoldByIndexInternal(int index) const
-       {
-               return m_manifoldsPtr[index];
-       }
-
-       btCollisionDispatcher (btCollisionConfiguration* collisionConfiguration);
-
-       virtual ~btCollisionDispatcher();
-
-       virtual btPersistentManifold*   getNewManifold(void* b0,void* b1);
-       
-       virtual void releaseManifold(btPersistentManifold* manifold);
-
-
-       virtual void clearManifold(btPersistentManifold* manifold);
-
-                       
-       btCollisionAlgorithm* findAlgorithm(btCollisionObject* body0,btCollisionObject* body1,btPersistentManifold* sharedManifold = 0);
-               
-       virtual bool    needsCollision(btCollisionObject* body0,btCollisionObject* body1);
-       
-       virtual bool    needsResponse(btCollisionObject* body0,btCollisionObject* body1);
-       
-       virtual void    dispatchAllCollisionPairs(btOverlappingPairCache* pairCache,btDispatcherInfo& dispatchInfo,btDispatcher* dispatcher);
-
-       void    setNearCallback(btNearCallback  nearCallback)
-       {
-               m_nearCallback = nearCallback; 
-       }
-
-       btNearCallback  getNearCallback() const
-       {
-               return m_nearCallback;
-       }
-
-       //by default, Bullet will use this near callback
-       static void  defaultNearCallback(btBroadphasePair& collisionPair, btCollisionDispatcher& dispatcher, btDispatcherInfo& dispatchInfo);
-
-       virtual void* allocateCollisionAlgorithm(int size);
-
-       virtual void freeCollisionAlgorithm(void* ptr);
-
-       btCollisionConfiguration*       getCollisionConfiguration()
-       {
-               return m_collisionConfiguration;
-       }
-
-       const btCollisionConfiguration* getCollisionConfiguration() const
-       {
-               return m_collisionConfiguration;
-       }
-
-       void    setCollisionConfiguration(btCollisionConfiguration* config)
-       {
-               m_collisionConfiguration = config;
-       }
-
-};
-
-#endif //COLLISION__DISPATCHER_H
-
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionObject.cpp
deleted file mode 100644 (file)
index 6b72a13..0000000
+++ /dev/null
@@ -1,62 +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.
-*/
-
-
-#include "btCollisionObject.h"
-
-btCollisionObject::btCollisionObject()
-       :       m_broadphaseHandle(0),
-               m_collisionShape(0),
-               m_collisionFlags(0),
-               m_islandTag1(-1),
-               m_companionId(-1),
-               m_activationState1(1),
-               m_deactivationTime(btScalar(0.)),
-               m_userObjectPointer(0),
-               m_internalOwner(0),
-               m_hitFraction(btScalar(1.)),
-               m_ccdSweptSphereRadius(btScalar(0.)),
-               m_ccdSquareMotionThreshold(btScalar(0.)),
-               m_checkCollideWith(false)
-{
-       
-}
-
-btCollisionObject::~btCollisionObject()
-{
-}
-
-void btCollisionObject::setActivationState(int newState) 
-{ 
-       if ( (m_activationState1 != DISABLE_DEACTIVATION) && (m_activationState1 != DISABLE_SIMULATION))
-               m_activationState1 = newState;
-}
-
-void btCollisionObject::forceActivationState(int newState)
-{
-       m_activationState1 = newState;
-}
-
-void btCollisionObject::activate(bool forceActivation)
-{
-       if (forceActivation || !(m_collisionFlags & (CF_STATIC_OBJECT|CF_KINEMATIC_OBJECT)))
-       {
-               setActivationState(ACTIVE_TAG);
-               m_deactivationTime = btScalar(0.);
-       }
-}
-
-
-
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionObject.h b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionObject.h
deleted file mode 100644 (file)
index 7c1ddbf..0000000
+++ /dev/null
@@ -1,349 +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 COLLISION_OBJECT_H
-#define COLLISION_OBJECT_H
-
-#include "LinearMath/btTransform.h"
-
-//island management, m_activationState1
-#define ACTIVE_TAG 1
-#define ISLAND_SLEEPING 2
-#define WANTS_DEACTIVATION 3
-#define DISABLE_DEACTIVATION 4
-#define DISABLE_SIMULATION 5
-
-struct btBroadphaseProxy;
-class  btCollisionShape;
-#include "LinearMath/btMotionState.h"
-#include "LinearMath/btAlignedAllocator.h"
-
-
-
-/// btCollisionObject can be used to manage collision detection objects. 
-/// btCollisionObject maintains all information that is needed for a collision detection: Shape, Transform and AABB proxy.
-/// They can be added to the btCollisionWorld.
-ATTRIBUTE_ALIGNED16(class)     btCollisionObject
-{
-
-protected:
-
-       btTransform     m_worldTransform;
-
-       ///m_interpolationWorldTransform is used for CCD and interpolation
-       ///it can be either previous or future (predicted) transform
-       btTransform     m_interpolationWorldTransform;
-       //those two are experimental: just added for bullet time effect, so you can still apply impulses (directly modifying velocities) 
-       //without destroying the continuous interpolated motion (which uses this interpolation velocities)
-       btVector3       m_interpolationLinearVelocity;
-       btVector3       m_interpolationAngularVelocity;
-       btBroadphaseProxy*              m_broadphaseHandle;
-       btCollisionShape*               m_collisionShape;
-
-       int                             m_collisionFlags;
-
-       int                             m_islandTag1;
-       int                             m_companionId;
-
-       int                             m_activationState1;
-       btScalar                        m_deactivationTime;
-
-       btScalar                m_friction;
-       btScalar                m_restitution;
-
-       ///users can point to their objects, m_userPointer is not used by Bullet, see setUserPointer/getUserPointer
-       void*                   m_userObjectPointer;
-
-       ///m_internalOwner is reserved to point to Bullet's btRigidBody. Don't use this, use m_userObjectPointer instead.
-       void*                   m_internalOwner;
-
-       ///time of impact calculation
-       btScalar                m_hitFraction; 
-       
-       ///Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::
-       btScalar                m_ccdSweptSphereRadius;
-
-       /// Don't do continuous collision detection if square motion (in one step) is less then m_ccdSquareMotionThreshold
-       btScalar                m_ccdSquareMotionThreshold;
-       
-       /// If some object should have elaborate collision filtering by sub-classes
-       bool                    m_checkCollideWith;
-
-       char    m_pad[7];
-
-       virtual bool    checkCollideWithOverride(btCollisionObject* co)
-       {
-               return true;
-       }
-
-public:
-
-       BT_DECLARE_ALIGNED_ALLOCATOR();
-
-       enum CollisionFlags
-       {
-               CF_STATIC_OBJECT= 1,
-               CF_KINEMATIC_OBJECT= 2,
-               CF_NO_CONTACT_RESPONSE = 4,
-               CF_CUSTOM_MATERIAL_CALLBACK = 8//this allows per-triangle material (friction/restitution)
-       };
-
-
-       SIMD_FORCE_INLINE bool mergesSimulationIslands() const
-       {
-               ///static objects, kinematic and object without contact response don't merge islands
-               return  ((m_collisionFlags & (CF_STATIC_OBJECT | CF_KINEMATIC_OBJECT | CF_NO_CONTACT_RESPONSE) )==0);
-       }
-
-
-       SIMD_FORCE_INLINE bool          isStaticObject() const {
-               return (m_collisionFlags & CF_STATIC_OBJECT) != 0;
-       }
-
-       SIMD_FORCE_INLINE bool          isKinematicObject() const
-       {
-               return (m_collisionFlags & CF_KINEMATIC_OBJECT) != 0;
-       }
-
-       SIMD_FORCE_INLINE bool          isStaticOrKinematicObject() const
-       {
-               return (m_collisionFlags & (CF_KINEMATIC_OBJECT | CF_STATIC_OBJECT)) != 0 ;
-       }
-
-       SIMD_FORCE_INLINE bool          hasContactResponse() const {
-               return (m_collisionFlags & CF_NO_CONTACT_RESPONSE)==0;
-       }
-
-       
-       btCollisionObject();
-
-       virtual ~btCollisionObject();
-
-       void    setCollisionShape(btCollisionShape* collisionShape)
-       {
-               m_collisionShape = collisionShape;
-       }
-
-       SIMD_FORCE_INLINE const btCollisionShape*       getCollisionShape() const
-       {
-               return m_collisionShape;
-       }
-
-       SIMD_FORCE_INLINE btCollisionShape*     getCollisionShape()
-       {
-               return m_collisionShape;
-       }
-
-       
-
-
-       int     getActivationState() const { return m_activationState1;}
-       
-       void setActivationState(int newState);
-
-       void    setDeactivationTime(btScalar time)
-       {
-               m_deactivationTime = time;
-       }
-       btScalar        getDeactivationTime() const
-       {
-               return m_deactivationTime;
-       }
-
-       void forceActivationState(int newState);
-
-       void    activate(bool forceActivation = false);
-
-       inline bool isActive() const
-       {
-               return ((getActivationState() != ISLAND_SLEEPING) && (getActivationState() != DISABLE_SIMULATION));
-       }
-
-       void    setRestitution(btScalar rest)
-       {
-               m_restitution = rest;
-       }
-       btScalar        getRestitution() const
-       {
-               return m_restitution;
-       }
-       void    setFriction(btScalar frict)
-       {
-               m_friction = frict;
-       }
-       btScalar        getFriction() const
-       {
-               return m_friction;
-       }
-
-       ///reserved for Bullet internal usage
-       void*   getInternalOwner()
-       {
-               return m_internalOwner;
-       }
-
-       const void*     getInternalOwner() const
-       {
-               return m_internalOwner;
-       }
-
-       btTransform&    getWorldTransform()
-       {
-               return m_worldTransform;
-       }
-
-       const btTransform&      getWorldTransform() const
-       {
-               return m_worldTransform;
-       }
-
-       void    setWorldTransform(const btTransform& worldTrans)
-       {
-               m_worldTransform = worldTrans;
-       }
-
-
-       btBroadphaseProxy*      getBroadphaseHandle()
-       {
-               return m_broadphaseHandle;
-       }
-
-       const btBroadphaseProxy*        getBroadphaseHandle() const
-       {
-               return m_broadphaseHandle;
-       }
-
-       void    setBroadphaseHandle(btBroadphaseProxy* handle)
-       {
-               m_broadphaseHandle = handle;
-       }
-
-
-       const btTransform&      getInterpolationWorldTransform() const
-       {
-               return m_interpolationWorldTransform;
-       }
-
-       btTransform&    getInterpolationWorldTransform()
-       {
-               return m_interpolationWorldTransform;
-       }
-
-       void    setInterpolationWorldTransform(const btTransform&       trans)
-       {
-               m_interpolationWorldTransform = trans;
-       }
-
-
-       const btVector3&        getInterpolationLinearVelocity() const
-       {
-               return m_interpolationLinearVelocity;
-       }
-
-       const btVector3&        getInterpolationAngularVelocity() const
-       {
-               return m_interpolationAngularVelocity;
-       }
-
-       const int getIslandTag() const
-       {
-               return  m_islandTag1;
-       }
-
-       void    setIslandTag(int tag)
-       {
-               m_islandTag1 = tag;
-       }
-
-       const int getCompanionId() const
-       {
-               return  m_companionId;
-       }
-
-       void    setCompanionId(int id)
-       {
-               m_companionId = id;
-       }
-
-       const btScalar                  getHitFraction() const
-       {
-               return m_hitFraction; 
-       }
-
-       void    setHitFraction(btScalar hitFraction)
-       {
-               m_hitFraction = hitFraction;
-       }
-
-       
-       const int       getCollisionFlags() const
-       {
-               return m_collisionFlags;
-       }
-
-       void    setCollisionFlags(int flags)
-       {
-               m_collisionFlags = flags;
-       }
-       
-       ///Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::
-       btScalar                        getCcdSweptSphereRadius() const
-       {
-               return m_ccdSweptSphereRadius;
-       }
-
-       ///Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::
-       void    setCcdSweptSphereRadius(btScalar radius)
-       {
-               m_ccdSweptSphereRadius = radius;
-       }
-
-       btScalar        getCcdSquareMotionThreshold() const
-       {
-               return m_ccdSquareMotionThreshold;
-       }
-
-
-       /// Don't do continuous collision detection if square motion (in one step) is less then m_ccdSquareMotionThreshold
-       void    setCcdSquareMotionThreshold(btScalar ccdSquareMotionThreshold)
-       {
-               m_ccdSquareMotionThreshold = ccdSquareMotionThreshold;
-       }
-
-       ///users can point to their objects, userPointer is not used by Bullet
-       void*   getUserPointer() const
-       {
-               return m_userObjectPointer;
-       }
-       
-       ///users can point to their objects, userPointer is not used by Bullet
-       void    setUserPointer(void* userPointer)
-       {
-               m_userObjectPointer = userPointer;
-       }
-
-       inline bool checkCollideWith(btCollisionObject* co)
-       {
-               if (m_checkCollideWith)
-                       return checkCollideWithOverride(co);
-
-               return true;
-       }
-
-
-}
-;
-
-#endif //COLLISION_OBJECT_H
diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp
deleted file mode 100644 (file)
index b482850..0000000
+++ /dev/null
@@ -1,370 +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.
-*/
-
-#include "btCollisionWorld.h"
-#include "btCollisionDispatcher.h"
-#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
-#include "BulletCollision/CollisionShapes/btCollisionShape.h"
-#include "BulletCollision/CollisionShapes/btConvexShape.h"
-
-#include "BulletCollision/CollisionShapes/btSphereShape.h" //for raycasting
-#include "BulletCollision/CollisionShapes/btTriangleMeshShape.h" //for raycasting
-#include "BulletCollision/NarrowPhaseCollision/btRaycastCallback.h"
-#include "BulletCollision/CollisionShapes/btCompoundShape.h"
-#include "BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h"
-#include "BulletCollision/NarrowPhaseCollision/btGjkConvexCast.h"
-#include "BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.h"
-
-#include "BulletCollision/BroadphaseCollision/btBroadphaseInterface.h"
-#include "LinearMath/btAabbUtil2.h"
-#include "LinearMath/btQuickprof.h"
-#include "LinearMath/btStackAlloc.h"
-
-//When the user doesn't provide dispatcher or broadphase, create basic versions (and delete them in destructor)
-#include "BulletCollision/CollisionDispatch/btCollisionDispatcher.h"
-#include "BulletCollision/BroadphaseCollision/btSimpleBroadphase.h"
-#include "BulletCollision/CollisionDispatch/btCollisionConfiguration.h"
-
-
-btCollisionWorld::btCollisionWorld(btDispatcher* dispatcher,btBroadphaseInterface* pairCache, btCollisionConfiguration* collisionConfiguration)
-:m_dispatcher1(dispatcher),
-m_broadphasePairCache(pairCache)
-{
-       m_stackAlloc = collisionConfiguration->getStackAllocator();
-       m_dispatchInfo.m_stackAllocator = m_stackAlloc;
-}
-
-
-btCollisionWorld::~btCollisionWorld()
-{
-
-       //clean up remaining objects
-       int i;
-       for (i=0;i<m_collisionObjects.size();i++)
-       {
-               btCollisionObject* collisionObject= m_collisionObjects[i];
-               
-               btBroadphaseProxy* bp = collisionObject->getBroadphaseHandle();
-               if (bp)
-               {
-                       //
-                       // only clear the cached algorithms
-                       //
-                       getBroadphase()->getOverlappingPairCache()->cleanProxyFromPairs(bp,m_dispatcher1);
-                       getBroadphase()->destroyProxy(bp,m_dispatcher1);
-               }
-       }
-
-
-}
-
-
-
-
-
-
-
-
-
-
-void   btCollisionWorld::addCollisionObject(btCollisionObject* collisionObject,short int collisionFilterGroup,short int collisionFilterMask)
-{
-
-       //check that the object isn't already added
-               btAssert( m_collisionObjects.findLinearSearch(collisionObject)  == m_collisionObjects.size());
-
-               m_collisionObjects.push_back(collisionObject);
-
-               //calculate new AABB
-               btTransform trans = collisionObject->getWorldTransform();
-
-               btVector3       minAabb;
-               btVector3       maxAabb;
-               collisionObject->getCollisionShape()->getAabb(trans,minAabb,maxAabb);
-
-               int type = collisionObject->getCollisionShape()->getShapeType();
-               collisionObject->setBroadphaseHandle( getBroadphase()->createProxy(
-                       minAabb,
-                       maxAabb,
-                       type,
-                       collisionObject,
-                       collisionFilterGroup,
-                       collisionFilterMask,
-                       m_dispatcher1
-                       ))      ;
-
-               
-
-
-
-}
-
-
-
-
-void   btCollisionWorld::performDiscreteCollisionDetection()
-{
-       btDispatcherInfo& dispatchInfo = getDispatchInfo();
-
-       BEGIN_PROFILE("perform Broadphase Collision Detection");
-
-
-       //update aabb (of all moved objects)
-
-       btVector3 aabbMin,aabbMax;
-       for (int i=0;i<m_collisionObjects.size();i++)
-       {
-               m_collisionObjects[i]->getCollisionShape()->getAabb(m_collisionObjects[i]->getWorldTransform(),aabbMin,aabbMax);
-               m_broadphasePairCache->setAabb(m_collisionObjects[i]->getBroadphaseHandle(),aabbMin,aabbMax,m_dispatcher1);
-       }
-
-       m_broadphasePairCache->calculateOverlappingPairs(m_dispatcher1);
-       
-       END_PROFILE("perform Broadphase Collision Detection");
-
-       BEGIN_PROFILE("performDiscreteCollisionDetection");
-
-       btDispatcher* dispatcher = getDispatcher();
-       if (dispatcher)
-               dispatcher->dispatchAllCollisionPairs(m_broadphasePairCache->getOverlappingPairCache(),dispatchInfo,m_dispatcher1);
-
-       END_PROFILE("performDiscreteCollisionDetection");
-
-}
-
-
-
-void   btCollisionWorld::removeCollisionObject(btCollisionObject* collisionObject)
-{
-       
-       
-       //bool removeFromBroadphase = false;
-       
-       {
-               
-               btBroadphaseProxy* bp = collisionObject->getBroadphaseHandle();
-               if (bp)
-               {
-                       //
-                       // only clear the cached algorithms
-                       //
-                       getBroadphase()->getOverlappingPairCache()->cleanProxyFromPairs(bp,m_dispatcher1);
-                       getBroadphase()->destroyProxy(bp,m_dispatcher1);
-                       collisionObject->setBroadphaseHandle(0);
-               }
-       }
-
-
-       //swapremove
-       m_collisionObjects.remove(collisionObject);
-
-}
-
-
-
-void   btCollisionWorld::rayTestSingle(const btTransform& rayFromTrans,const btTransform& rayToTrans,
-                                         btCollisionObject* collisionObject,
-                                         const btCollisionShape* collisionShape,
-                                         const btTransform& colObjWorldTransform,
-                                         RayResultCallback& resultCallback,short int collisionFilterMask)
-{
-       
-       btSphereShape pointShape(btScalar(0.0));
-       pointShape.setMargin(0.f);
-
-       objectQuerySingle(&pointShape,rayFromTrans,rayToTrans,
-                                         collisionObject,
-                                         collisionShape,
-                                         colObjWorldTransform,
-                                         resultCallback,collisionFilterMask);
-}
-
-void   btCollisionWorld::objectQuerySingle(const btConvexShape* castShape,const btTransform& rayFromTrans,const btTransform& rayToTrans,
-                                         btCollisionObject* collisionObject,
-                                         const btCollisionShape* collisionShape,
-                                         const btTransform& colObjWorldTransform,
-                                         RayResultCallback& resultCallback,short int collisionFilterMask)
-{
-       
-
-       if (collisionShape->isConvex())
-                       {
-                               btConvexCast::CastResult castResult;
-                               castResult.m_fraction = btScalar(1.);//??
-
-                               btConvexShape* convexShape = (btConvexShape*) collisionShape;
-                               btVoronoiSimplexSolver  simplexSolver;
-#define  USE_SUBSIMPLEX_CONVEX_CAST 1
-#ifdef USE_SUBSIMPLEX_CONVEX_CAST
-                               btSubsimplexConvexCast convexCaster(castShape,convexShape,&simplexSolver);
-#else
-                               //btGjkConvexCast       convexCaster(castShape,convexShape,&simplexSolver);
-                               //btContinuousConvexCollision convexCaster(castShape,convexShape,&simplexSolver,0);
-#endif //#USE_SUBSIMPLEX_CONVEX_CAST
-                       
-                               if (convexCaster.calcTimeOfImpact(rayFromTrans,rayToTrans,colObjWorldTransform,colObjWorldTransform,castResult))
-                               {
-                                       //add hit
-                                       if (castResult.m_normal.length2() > btScalar(0.0001))
-                                       {
-                                               
-                                               if (castResult.m_fraction < resultCallback.m_closestHitFraction)
-                                               {
-#ifdef USE_SUBSIMPLEX_CONVEX_CAST
-                                                       //rotate normal into worldspace
-                                                       castResult.m_normal = rayFromTrans.getBasis() * castResult.m_normal;
-#endif //USE_SUBSIMPLEX_CONVEX_CAST
-
-                                                       castResult.m_normal.normalize();
-                                                       btCollisionWorld::LocalRayResult localRayResult
-                                                               (
-                                                                       collisionObject, 
-                                                                       0,
-                                                                       castResult.m_normal,
-                                                                       castResult.m_fraction
-                                                               );
-
-                                                       bool normalInWorldSpace = true;
-                                                       resultCallback.AddSingleResult(localRayResult, normalInWorldSpace);
-
-                                               }
-                                       }
-                               }
-                       }
-                       else
-                       {
-                               
-                               if (collisionShape->isConcave())
-                                       {
-
-                                               btTriangleMeshShape* triangleMesh = (btTriangleMeshShape*)collisionShape;
-                                               
-                                               btTransform worldTocollisionObject = colObjWorldTransform.inverse();
-
-                                               btVector3 rayFromLocal = worldTocollisionObject * rayFromTrans.getOrigin();
-                                               btVector3 rayToLocal = worldTocollisionObject * rayToTrans.getOrigin();
-
-                                               //ConvexCast::CastResult
-
-                                               struct BridgeTriangleRaycastCallback : public btTriangleRaycastCallback 
-                                               {
-                                                       btCollisionWorld::RayResultCallback* m_resultCallback;
-                                                       btCollisionObject*      m_collisionObject;
-                                                       btTriangleMeshShape*    m_triangleMesh;
-
-                                                       BridgeTriangleRaycastCallback( const btVector3& from,const btVector3& to,
-                                                               btCollisionWorld::RayResultCallback* resultCallback, btCollisionObject* collisionObject,btTriangleMeshShape*    triangleMesh):
-                                                               btTriangleRaycastCallback(from,to),
-                                                                       m_resultCallback(resultCallback),
-                                                                       m_collisionObject(collisionObject),
-                                                                       m_triangleMesh(triangleMesh)
-                                                               {
-                                                               }
-
-
-                                                       virtual btScalar reportHit(const btVector3& hitNormalLocal, btScalar hitFraction, int partId, int triangleIndex )
-                                                       {
-                                                               btCollisionWorld::LocalShapeInfo        shapeInfo;
-                                                               shapeInfo.m_shapePart = partId;
-                                                               shapeInfo.m_triangleIndex = triangleIndex;
-                                                               
-                                                               btCollisionWorld::LocalRayResult rayResult
-                                                               (m_collisionObject, 
-                                                                       &shapeInfo,
-                                                                       hitNormalLocal,
-                                                                       hitFraction);
-                                                               
- &n