Removed old Blender/extern/bullet, and upgraded game engine to use Bullet 2.x
authorErwin Coumans <blender@erwincoumans.com>
Tue, 21 Nov 2006 00:53:40 +0000 (00:53 +0000)
committerErwin Coumans <blender@erwincoumans.com>
Tue, 21 Nov 2006 00:53:40 +0000 (00:53 +0000)
All platforms/build systems: either upgrade to use extern/bullet2, or disable the game engine until the build is fixed.

227 files changed:
extern/bullet/Bullet/BLI_Bullet.dsp [deleted file]
extern/bullet/Bullet/BroadphaseCollision/AxisSweep3.cpp [deleted file]
extern/bullet/Bullet/BroadphaseCollision/AxisSweep3.h [deleted file]
extern/bullet/Bullet/BroadphaseCollision/BroadphaseInterface.h [deleted file]
extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.cpp [deleted file]
extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.h [deleted file]
extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.cpp [deleted file]
extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h [deleted file]
extern/bullet/Bullet/BroadphaseCollision/Dispatcher.cpp [deleted file]
extern/bullet/Bullet/BroadphaseCollision/Dispatcher.h [deleted file]
extern/bullet/Bullet/BroadphaseCollision/OverlappingPairCache.cpp [deleted file]
extern/bullet/Bullet/BroadphaseCollision/OverlappingPairCache.h [deleted file]
extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.cpp [deleted file]
extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.h [deleted file]
extern/bullet/Bullet/Bullet3.dsp [deleted file]
extern/bullet/Bullet/Bullet3_vc7.vcproj [deleted file]
extern/bullet/Bullet/Bullet3_vc8.sln [deleted file]
extern/bullet/Bullet/Bullet3_vc8.vcproj [deleted file]
extern/bullet/Bullet/CollisionDispatch/CollisionCreateFunc.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/CollisionDispatcher.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/CollisionDispatcher.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/CollisionObject.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/CollisionObject.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/CollisionWorld.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/CollisionWorld.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/CompoundCollisionAlgorithm.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/CompoundCollisionAlgorithm.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/ConvexConvexAlgorithm.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/ConvexConvexAlgorithm.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/EmptyCollisionAlgorithm.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/EmptyCollisionAlgorithm.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/ManifoldResult.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/ManifoldResult.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/SimulationIslandManager.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/SimulationIslandManager.h [deleted file]
extern/bullet/Bullet/CollisionDispatch/UnionFind.cpp [deleted file]
extern/bullet/Bullet/CollisionDispatch/UnionFind.h [deleted file]
extern/bullet/Bullet/CollisionShapes/BoxShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/BoxShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/BvhTriangleMeshShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/BvhTriangleMeshShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/CollisionMargin.h [deleted file]
extern/bullet/Bullet/CollisionShapes/CollisionShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/CollisionShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/CompoundShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/CompoundShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/ConcaveShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/ConcaveShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/ConeShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/ConeShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/ConvexHullShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/ConvexHullShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/ConvexShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/ConvexShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/ConvexTriangleMeshShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/ConvexTriangleMeshShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/CylinderShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/CylinderShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/EmptyShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/EmptyShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/MinkowskiSumShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/MinkowskiSumShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/MultiSphereShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/MultiSphereShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/OptimizedBvh.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/OptimizedBvh.h [deleted file]
extern/bullet/Bullet/CollisionShapes/PolyhedralConvexShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/PolyhedralConvexShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/Simplex1to4Shape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/Simplex1to4Shape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/SphereShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/SphereShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/StaticPlaneShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/StaticPlaneShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/StridingMeshInterface.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/StridingMeshInterface.h [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleCallback.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleCallback.h [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleIndexVertexArray.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleIndexVertexArray.h [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleMesh.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleMesh.h [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleMeshShape.cpp [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleMeshShape.h [deleted file]
extern/bullet/Bullet/CollisionShapes/TriangleShape.h [deleted file]
extern/bullet/Bullet/Doxyfile [deleted file]
extern/bullet/Bullet/Makefile [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_AlgebraicPolynomialSolver.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_AlgebraicPolynomialSolver.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_Collidable.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_Collidable.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_CollisionPair.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_CollisionPair.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_EdgeEdge.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_EdgeEdge.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_MotionStateInterface.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_PolynomialSolverInterface.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_Screwing.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_Screwing.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_StaticMotionState.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_VertexPoly.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/BU_VertexPoly.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/CollisionMargin.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ContinuousConvexCollision.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ContinuousConvexCollision.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ConvexCast.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ConvexCast.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ConvexPenetrationDepthSolver.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/DiscreteCollisionDetectorInterface.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/GjkConvexCast.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/GjkConvexCast.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/GjkPairDetector.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/GjkPairDetector.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ManifoldContactAddResult.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ManifoldContactAddResult.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/ManifoldPoint.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/MinkowskiPenetrationDepthSolver.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/MinkowskiPenetrationDepthSolver.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/PersistentManifold.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/PersistentManifold.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/PointCollector.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/RaycastCallback.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/RaycastCallback.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/SimplexSolverInterface.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/SubSimplexConvexCast.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/SubSimplexConvexCast.h [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/VoronoiSimplexSolver.cpp [deleted file]
extern/bullet/Bullet/NarrowPhaseCollision/VoronoiSimplexSolver.h [deleted file]
extern/bullet/BulletDynamics/BLI_BulletDynamics.dsp [deleted file]
extern/bullet/BulletDynamics/BulletDynamics.dsp [deleted file]
extern/bullet/BulletDynamics/BulletDynamics_vc7.vcproj [deleted file]
extern/bullet/BulletDynamics/BulletDynamics_vc8.vcproj [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/ConstraintSolver.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.cpp [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/ContactSolverInfo.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/Generic6DofConstraint.cpp [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/Generic6DofConstraint.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/HingeConstraint.cpp [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/HingeConstraint.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/JacobianEntry.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/Point2PointConstraint.cpp [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/Point2PointConstraint.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/SequentialImpulseConstraintSolver.cpp [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/SequentialImpulseConstraintSolver.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/Solve2LinearConstraint.cpp [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/Solve2LinearConstraint.h [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/TypedConstraint.cpp [deleted file]
extern/bullet/BulletDynamics/ConstraintSolver/TypedConstraint.h [deleted file]
extern/bullet/BulletDynamics/Dynamics/BU_Joint.cpp [deleted file]
extern/bullet/BulletDynamics/Dynamics/BU_Joint.h [deleted file]
extern/bullet/BulletDynamics/Dynamics/ContactJoint.cpp [deleted file]
extern/bullet/BulletDynamics/Dynamics/ContactJoint.h [deleted file]
extern/bullet/BulletDynamics/Dynamics/MassProps.h [deleted file]
extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp [deleted file]
extern/bullet/BulletDynamics/Dynamics/RigidBody.h [deleted file]
extern/bullet/BulletDynamics/Makefile [deleted file]
extern/bullet/BulletDynamics/Vehicle/RaycastVehicle.cpp [deleted file]
extern/bullet/BulletDynamics/Vehicle/RaycastVehicle.h [deleted file]
extern/bullet/BulletDynamics/Vehicle/VehicleRaycaster.h [deleted file]
extern/bullet/BulletDynamics/Vehicle/WheelInfo.cpp [deleted file]
extern/bullet/BulletDynamics/Vehicle/WheelInfo.h [deleted file]
extern/bullet/BulletLicense.txt [deleted file]
extern/bullet/CMakeLists.txt [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/CcdPhysics.dsp [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/CcdPhysicsController.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/CcdPhysicsController.h [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/CcdPhysicsEnvironment.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/CcdPhysicsEnvironment.h [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/CcdPhysics_vc7.vcproj [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/CcdPhysics_vc8.vcproj [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/ParallelIslandDispatcher.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/ParallelIslandDispatcher.h [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/ParallelPhysicsEnvironment.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/ParallelPhysicsEnvironment.h [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/SimulationIsland.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/CcdPhysics/SimulationIsland.h [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_DynamicTypes.h [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IMotionState.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IMotionState.h [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IPhysicsController.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IPhysicsController.h [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IPhysicsEnvironment.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IPhysicsEnvironment.h [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IVehicle.cpp [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_IVehicle.h [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PHY_Pro.h [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PhysicsInterface.dsp [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PhysicsInterfaceCommon/PhysicsInterfaceCommon_vc7.vcproj [deleted file]
extern/bullet/Extras/PhysicsInterface/Common/PhysicsInterfaceCommon/PhysicsInterfaceCommon_vc8.vcproj [deleted file]
extern/bullet/LinearMath/AabbUtil2.h [deleted file]
extern/bullet/LinearMath/GEN_List.h [deleted file]
extern/bullet/LinearMath/GEN_MinMax.h [deleted file]
extern/bullet/LinearMath/GEN_random.h [deleted file]
extern/bullet/LinearMath/IDebugDraw.h [deleted file]
extern/bullet/LinearMath/SimdMatrix3x3.h [deleted file]
extern/bullet/LinearMath/SimdMinMax.h [deleted file]
extern/bullet/LinearMath/SimdPoint3.h [deleted file]
extern/bullet/LinearMath/SimdQuadWord.h [deleted file]
extern/bullet/LinearMath/SimdQuaternion.h [deleted file]
extern/bullet/LinearMath/SimdScalar.h [deleted file]
extern/bullet/LinearMath/SimdTransform.h [deleted file]
extern/bullet/LinearMath/SimdTransformUtil.h [deleted file]
extern/bullet/LinearMath/SimdVector3.h [deleted file]
extern/bullet/LinearMath/quickprof.h [deleted file]
extern/bullet/Makefile [deleted file]
extern/bullet/SConscript [deleted file]
extern/bullet/continuous.dsw [deleted file]
extern/bullet/continuous_vc7.sln [deleted file]
extern/bullet/continuous_vc8.sln [deleted file]
extern/bullet/make/msvc_7_0/Bullet3_vc7.vcproj [deleted file]
extern/bullet/make/msvc_7_0/Dynamics/BulletDynamics_vc7.vcproj [deleted file]
source/gameengine/Converter/KX_BlenderSceneConverter.cpp
source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
source/gameengine/Ketsji/KX_BulletPhysicsController.h
source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp
source/gameengine/Ketsji/KX_GameObject.cpp
source/gameengine/Ketsji/KX_IPhysicsController.h
source/gameengine/Ketsji/KX_SumoPhysicsController.cpp
source/gameengine/Ketsji/KX_SumoPhysicsController.h
source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
source/gameengine/Physics/Bullet/CcdPhysicsController.h
source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
source/gameengine/Physics/common/PHY_IVehicle.h

diff --git a/extern/bullet/Bullet/BLI_Bullet.dsp b/extern/bullet/Bullet/BLI_Bullet.dsp
deleted file mode 100644 (file)
index a7357ef..0000000
+++ /dev/null
@@ -1,610 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Bullet" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=Bullet - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "BLI_Bullet.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "BLI_Bullet.mak" CFG="Bullet - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Bullet - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "Bullet - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Bullet - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-MTL=midl.exe
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /Zd /O2 /I "../LinearMath" /I "." /D "NDEBUG" /D "_LIB" /D "WIN32" /D "_MBCS" /D "BUM_INLINED" /D "USE_ALGEBRAIC" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=copy bullet to ..lib\windows\lib
-PostBuild_Cmds=XCOPY  /Y .\release\*.lib .\..\..\..\..\lib\windows\bullet\lib\*.*
-# End Special Build Tool
-
-!ELSEIF  "$(CFG)" == "Bullet - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-MTL=midl.exe
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../LinearMath" /I "." /D "_DEBUG" /D "_LIB" /D "WIN32" /D "_MBCS" /D "BUM_INLINED" /D "USE_ALGEBRAIC" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"Debug\BLI_Bullet_D.lib"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=copy bullet to ..lib\windows\lib
-PostBuild_Cmds=XCOPY  /Y .\debug\*.lib .\..\..\..\..\lib\windows\bullet\lib\*.*
-# End Special Build Tool
-
-!ENDIF 
-
-# Begin Target
-
-# Name "Bullet - Win32 Release"
-# Name "Bullet - Win32 Debug"
-# Begin Group "NarrowPhaseCollision"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Collidable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Collidable.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_CollisionPair.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_CollisionPair.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_EdgeEdge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_EdgeEdge.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_MotionStateInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_PolynomialSolverInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Screwing.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Screwing.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_StaticMotionState.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_VertexPoly.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_VertexPoly.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\CollisionMargin.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ContinuousConvexCollision.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ContinuousConvexCollision.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ConvexCast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ConvexCast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ConvexPenetrationDepthSolver.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\DiscreteCollisionDetectorInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkConvexCast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkConvexCast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkPairDetector.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkPairDetector.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ManifoldContactAddResult.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ManifoldContactAddResult.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ManifoldPoint.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\PersistentManifold.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\PersistentManifold.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\PointCollector.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\RaycastCallback.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\RaycastCallback.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\SimplexSolverInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\SubSimplexConvexCast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\SubSimplexConvexCast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\VoronoiSimplexSolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\VoronoiSimplexSolver.h
-# End Source File
-# End Group
-# Begin Group "BroadphaseCollision"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\AxisSweep3.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\AxisSweep3.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\BroadPhaseInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\BroadphaseProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\BroadphaseProxy.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\CollisionAlgorithm.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\CollisionAlgorithm.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\Dispatcher.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\Dispatcher.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\OverlappingPairCache.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\OverlappingPairCache.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\SimpleBroadphase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\SimpleBroadphase.h
-# End Source File
-# End Group
-# Begin Group "CollisionShapes"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\CollisionShapes\BoxShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\BoxShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\BvhTriangleMeshShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\BvhTriangleMeshShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CollisionMargin.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CollisionShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CollisionShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CompoundShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CompoundShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConcaveShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConcaveShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConeShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConeShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexHullShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexHullShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexTriangleMeshShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexTriangleMeshShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CylinderShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CylinderShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\EmptyShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\EmptyShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MinkowskiSumShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MinkowskiSumShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MultiSphereShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MultiSphereShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\OptimizedBvh.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\OptimizedBvh.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\PolyhedralConvexShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\PolyhedralConvexShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\Simplex1to4Shape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\Simplex1to4Shape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\SphereShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\SphereShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\StaticPlaneShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\StaticPlaneShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\StridingMeshInterface.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\StridingMeshInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleCallback.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleCallback.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleIndexVertexArray.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleIndexVertexArray.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMesh.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMesh.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMeshShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMeshShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleShape.h
-# End Source File
-# End Group
-# Begin Group "CollisionDispatch"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CollisionCreateFunc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CollisionDispatcher.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CollisionDispatcher.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CollisionObject.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CollisionObject.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CollisionWorld.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CollisionWorld.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CompoundCollisionAlgorithm.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\CompoundCollisionAlgorithm.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\ConvexConcaveCollisionAlgorithm.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\ConvexConcaveCollisionAlgorithm.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\ConvexConvexAlgorithm.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\ConvexConvexAlgorithm.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\EmptyCollisionAlgorithm.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\EmptyCollisionAlgorithm.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\ManifoldResult.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\ManifoldResult.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\SimulationIslandManager.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\SimulationIslandManager.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\UnionFind.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionDispatch\UnionFind.h
-# End Source File
-# End Group
-# Begin Group "Extras"
-
-# PROP Default_Filter ""
-# End Group
-# End Target
-# End Project
diff --git a/extern/bullet/Bullet/BroadphaseCollision/AxisSweep3.cpp b/extern/bullet/Bullet/BroadphaseCollision/AxisSweep3.cpp
deleted file mode 100644 (file)
index 235afa1..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-
-//Bullet Continuous Collision Detection and Physics Library
-//Copyright (c) 2003-2006 Erwin Coumans  http://continuousphysics.com/Bullet/
-
-
-//
-// AxisSweep3
-//
-// 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 "AxisSweep3.h"
-
-#include <assert.h>
-
-BroadphaseProxy*       AxisSweep3::CreateProxy(  const SimdVector3& min,  const SimdVector3& max,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask)
-{
-               unsigned short handleId = AddHandle(min,max, userPtr,collisionFilterGroup,collisionFilterMask);
-               
-               Handle* handle = GetHandle(handleId);
-                               
-               return handle;
-}
-
-void   AxisSweep3::DestroyProxy(BroadphaseProxy* proxy)
-{
-       Handle* handle = static_cast<Handle*>(proxy);
-       RemoveHandle(handle->m_handleId);
-}
-
-void   AxisSweep3::SetAabb(BroadphaseProxy* proxy,const SimdVector3& aabbMin,const SimdVector3& aabbMax)
-{
-       Handle* handle = static_cast<Handle*>(proxy);
-       UpdateHandle(handle->m_handleId,aabbMin,aabbMax);
-}
-
-
-
-
-
-
-AxisSweep3::AxisSweep3(const SimdPoint3& worldAabbMin,const SimdPoint3& worldAabbMax, int maxHandles, int maxOverlaps)
-:OverlappingPairCache(maxOverlaps)
-{
-       //assert(bounds.HasVolume());
-
-       // 1 handle is reserved as sentinel
-       assert(maxHandles > 1 && maxHandles < 32767);
-
-       // doesn't need this limit right now, but I may want to use unsigned short indexes into overlaps array
-       assert(maxOverlaps > 0 && maxOverlaps < 65536);
-
-       // init bounds
-       m_worldAabbMin = worldAabbMin;
-       m_worldAabbMax = worldAabbMax;
-
-       SimdVector3 aabbSize = m_worldAabbMax - m_worldAabbMin;
-
-       m_quantize = SimdVector3(65535.0f,65535.0f,65535.0f) / aabbSize;
-
-       // allocate handles buffer and put all handles on free list
-       m_pHandles = new 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 (int 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++)
-               m_pEdges[i] = new 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 = 0xffff;
-               m_pEdges[axis][1].m_handle = 0;
-       }
-}
-
-AxisSweep3::~AxisSweep3()
-{
-       
-       for (int i = 2; i >= 0; i--)
-               delete[] m_pEdges[i];
-       delete[] m_pHandles;
-}
-
-void AxisSweep3::Quantize(unsigned short* out, const SimdPoint3& point, int isMax) const
-{
-       SimdPoint3 clampedPoint(point);
-       /*
-       if (isMax)
-               clampedPoint += SimdVector3(10,10,10);
-       else
-       {
-               clampedPoint -= SimdVector3(10,10,10);
-       }
-       */
-
-
-       clampedPoint.setMax(m_worldAabbMin);
-       clampedPoint.setMin(m_worldAabbMax);
-
-       SimdVector3 v = (clampedPoint - m_worldAabbMin) * m_quantize;
-       out[0] = (unsigned short)(((int)v.getX() & 0xfffc) | isMax);
-       out[1] = (unsigned short)(((int)v.getY() & 0xfffc) | isMax);
-       out[2] = (unsigned short)(((int)v.getZ() & 0xfffc) | isMax);
-       
-}
-
-
-
-unsigned short AxisSweep3::AllocHandle()
-{
-       assert(m_firstFreeHandle);
-
-       unsigned short handle = m_firstFreeHandle;
-       m_firstFreeHandle = GetHandle(handle)->GetNextFree();
-       m_numHandles++;
-
-       return handle;
-}
-
-void AxisSweep3::FreeHandle(unsigned short handle)
-{
-       assert(handle > 0 && handle < m_maxHandles);
-
-       GetHandle(handle)->SetNextFree(m_firstFreeHandle);
-       m_firstFreeHandle = handle;
-
-       m_numHandles--;
-}
-
-
-
-unsigned short AxisSweep3::AddHandle(const SimdPoint3& aabbMin,const SimdPoint3& aabbMax, void* pOwner,short int collisionFilterGroup,short int collisionFilterMask)
-{
-       // quantize the bounds
-       unsigned short min[3], max[3];
-       Quantize(min, aabbMin, 0);
-       Quantize(max, aabbMax, 1);
-
-       // allocate a handle
-       unsigned short handle = AllocHandle();
-       assert(handle!= 0xcdcd);
-
-       Handle* pHandle = GetHandle(handle);
-       
-       pHandle->m_handleId = handle;
-       //pHandle->m_pOverlaps = 0;
-       pHandle->m_clientObject = pOwner;
-       pHandle->m_collisionFilterGroup = collisionFilterGroup;
-       pHandle->m_collisionFilterMask = collisionFilterMask;
-
-       // compute current limit of edge arrays
-       int limit = m_numHandles * 2;
-
-       // insert new edges just inside the max boundary edge
-       for (int 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], false);
-       SortMaxDown(0, pHandle->m_maxEdges[0], false);
-       SortMinDown(1, pHandle->m_minEdges[1], false);
-       SortMaxDown(1, pHandle->m_maxEdges[1], false);
-       SortMinDown(2, pHandle->m_minEdges[2], true);
-       SortMaxDown(2, pHandle->m_maxEdges[2], true);
-
-       //PrintAxis(1);
-
-       return handle;
-}
-
-
-void AxisSweep3::RemoveHandle(unsigned short handle)
-{
-       Handle* pHandle = GetHandle(handle);
-
-       RemoveOverlappingPairsContainingProxy(pHandle);
-
-
-       // compute current limit of edge arrays
-       int limit = m_numHandles * 2;
-       int axis;
-
-       for (axis = 0;axis<3;axis++)
-       {
-               Edge* pEdges = m_pEdges[axis];
-               int maxEdge= pHandle->m_maxEdges[axis];
-               pEdges[maxEdge].m_pos = 0xffff;
-               int minEdge = pHandle->m_minEdges[axis];
-               pEdges[minEdge].m_pos = 0xffff;
-       }
-
-       // remove the edges by sorting them up to the end of the list
-       for ( axis = 0; axis < 3; axis++)
-       {
-               Edge* pEdges = m_pEdges[axis];
-               int max = pHandle->m_maxEdges[axis];
-               pEdges[max].m_pos = 0xffff;
-
-               SortMaxUp(axis,max,false);
-               
-               int i = pHandle->m_minEdges[axis];
-               pEdges[i].m_pos = 0xffff;
-
-               SortMinUp(axis,i,false);
-
-               pEdges[limit-1].m_handle = 0;
-               pEdges[limit-1].m_pos = 0xffff;
-
-       }
-
-       // free the handle
-       FreeHandle(handle);
-
-       
-}
-
-bool AxisSweep3::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
-
-       /*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;
-}
-
-void AxisSweep3::UpdateHandle(unsigned short handle, const SimdPoint3& aabbMin,const SimdPoint3& aabbMax)
-{
-//     assert(bounds.IsFinite());
-       //assert(bounds.HasVolume());
-
-       Handle* pHandle = GetHandle(handle);
-
-       // quantize the new bounds
-       unsigned short min[3], max[3];
-       Quantize(min, aabbMin, 0);
-       Quantize(max, aabbMax, 1);
-
-       // update changed edges
-       for (int axis = 0; axis < 3; axis++)
-       {
-               unsigned short emin = pHandle->m_minEdges[axis];
-               unsigned short 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);
-
-               if (dmax > 0)
-                       SortMaxUp(axis, emax);
-
-               // shrink (only removes overlaps)
-               if (dmin > 0)
-                       SortMinUp(axis, emin);
-
-               if (dmax < 0)
-                       SortMaxDown(axis, emax);
-       }
-
-       //PrintAxis(1);
-}
-
-// sorting a min edge downwards can only ever *add* overlaps
-void AxisSweep3::SortMinDown(int axis, unsigned short edge, 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))
-                       {
-                               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--;
-       }
-}
-
-// sorting a min edge upwards can only ever *remove* overlaps
-void AxisSweep3::SortMinUp(int axis, unsigned short edge, bool updateOverlaps)
-{
-       Edge* pEdge = m_pEdges[axis] + edge;
-       Edge* pNext = pEdge + 1;
-       Handle* pHandleEdge = GetHandle(pEdge->m_handle);
-
-       while (pEdge->m_pos > pNext->m_pos)
-       {
-               Handle* pHandleNext = GetHandle(pNext->m_handle);
-
-               if (pNext->IsMax())
-               {
-                       // 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);
-                               BroadphasePair* pair = FindPair(handle0,handle1);
-                               //assert(pair);
-                               if (pair)
-                               {
-                                       RemoveOverlappingPair(*pair);
-                               }
-                       }
-
-                       // 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
-void AxisSweep3::SortMaxDown(int axis, unsigned short edge, 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)
-                       {
-                               Handle* handle0 = GetHandle(pEdge->m_handle);
-                               Handle* handle1 = GetHandle(pPrev->m_handle);
-                               BroadphasePair* pair = FindPair(handle0,handle1);
-                               //assert(pair);
-
-                               if (pair)
-                               {
-                                       RemoveOverlappingPair(*pair);
-                               }
-                       }
-
-                       // 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--;
-       }
-}
-
-// sorting a max edge upwards can only ever *add* overlaps
-void AxisSweep3::SortMaxUp(int axis, unsigned short edge, bool updateOverlaps)
-{
-       Edge* pEdge = m_pEdges[axis] + edge;
-       Edge* pNext = pEdge + 1;
-       Handle* pHandleEdge = GetHandle(pEdge->m_handle);
-
-       while (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);
-                               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++;
-       }
-}
diff --git a/extern/bullet/Bullet/BroadphaseCollision/AxisSweep3.h b/extern/bullet/Bullet/BroadphaseCollision/AxisSweep3.h
deleted file mode 100644 (file)
index 0a4a75d..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-//Bullet Continuous Collision Detection and Physics Library
-//Copyright (c) 2003-2006 Erwin Coumans  http://continuousphysics.com/Bullet/
-
-//
-// AxisSweep3.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 "SimdPoint3.h"
-#include "SimdVector3.h"
-#include "OverlappingPairCache.h"
-#include "BroadphaseProxy.h"
-
-/// AxisSweep3 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 integer coordinates instead of floats.
-/// The TestOverlap check is optimized to check the array index, rather then the actual AABB coordinates/pos
-class AxisSweep3 : public OverlappingPairCache
-{
-
-public:
-       
-
-       class Edge
-       {
-       public:
-               unsigned short m_pos;                   // low bit is min/max
-               unsigned short m_handle;
-
-               unsigned short IsMax() const {return m_pos & 1;}
-       };
-
-public:
-       class Handle : public BroadphaseProxy
-       {
-       public:
-               
-               // indexes into the edge arrays
-               unsigned short m_minEdges[3], m_maxEdges[3];            // 6 * 2 = 12
-               unsigned short m_handleId;
-               unsigned short m_pad;
-               
-               //void* m_pOwner; this is now in BroadphaseProxy.m_clientObject
-       
-               inline void SetNextFree(unsigned short next) {m_minEdges[0] = next;}
-               inline unsigned short GetNextFree() const {return m_minEdges[0];}
-       };              // 24 bytes + 24 for Edge structures = 44 bytes total per entry
-
-       
-private:
-       SimdPoint3 m_worldAabbMin;                                              // overall system bounds
-       SimdPoint3 m_worldAabbMax;                                              // overall system bounds
-
-       SimdVector3 m_quantize;                                         // scaling factor for quantization
-
-       int m_numHandles;                                               // number of active handles
-       int m_maxHandles;                                               // max number of handles
-       Handle* m_pHandles;                                             // handles pool
-       unsigned short m_firstFreeHandle;               // free handles list
-
-       Edge* m_pEdges[3];                                              // edge arrays for the 3 axes (each array has m_maxHandles * 2 + 2 sentinel entries)
-
-
-       // allocation/deallocation
-       unsigned short AllocHandle();
-       void FreeHandle(unsigned short handle);
-       
-
-       bool TestOverlap(int ignoreAxis,const Handle* pHandleA, const Handle* pHandleB);
-
-       //Overlap* AddOverlap(unsigned short handleA, unsigned short handleB);
-       //void RemoveOverlap(unsigned short handleA, unsigned short handleB);
-
-       void Quantize(unsigned short* out, const SimdPoint3& point, int isMax) const;
-
-       void SortMinDown(int axis, unsigned short edge, bool updateOverlaps = true);
-       void SortMinUp(int axis, unsigned short edge, bool updateOverlaps = true);
-       void SortMaxDown(int axis, unsigned short edge, bool updateOverlaps = true);
-       void SortMaxUp(int axis, unsigned short edge, bool updateOverlaps = true);
-
-public:
-       AxisSweep3(const SimdPoint3& worldAabbMin,const SimdPoint3& worldAabbMax, int maxHandles = 1024, int maxOverlaps = 8192);
-       virtual ~AxisSweep3();
-
-       virtual void    RefreshOverlappingPairs()
-       {
-               //this is replace by sweep and prune
-       }
-       
-       unsigned short AddHandle(const SimdPoint3& aabbMin,const SimdPoint3& aabbMax, void* pOwner,short int collisionFilterGroup,short int collisionFilterMask);
-       void RemoveHandle(unsigned short handle);
-       void UpdateHandle(unsigned short handle, const SimdPoint3& aabbMin,const SimdPoint3& aabbMax);
-       inline Handle* GetHandle(unsigned short index) const {return m_pHandles + index;}
-
-
-       //Broadphase Interface
-       virtual BroadphaseProxy*        CreateProxy(  const SimdVector3& min,  const SimdVector3& max,int shapeType,void* userPtr ,short int collisionFilterGroup,short int collisionFilterMask);
-       virtual void    DestroyProxy(BroadphaseProxy* proxy);
-       virtual void    SetAabb(BroadphaseProxy* proxy,const SimdVector3& aabbMin,const SimdVector3& aabbMax);
-
-};
-
-#endif //AXIS_SWEEP_3_H
diff --git a/extern/bullet/Bullet/BroadphaseCollision/BroadphaseInterface.h b/extern/bullet/Bullet/BroadphaseCollision/BroadphaseInterface.h
deleted file mode 100644 (file)
index 3ca273b..0000000
+++ /dev/null
@@ -1,40 +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 DispatcherInfo;
-class Dispatcher;
-struct BroadphaseProxy;
-#include "SimdVector3.h"
-
-///BroadphaseInterface for aabb-overlapping object pairs
-class BroadphaseInterface
-{
-public:
-       virtual ~BroadphaseInterface() {}
-
-       virtual BroadphaseProxy*        CreateProxy(  const SimdVector3& min,  const SimdVector3& max,int shapeType,void* userPtr, short int collisionFilterGroup,short int collisionFilterMask) =0;
-       virtual void    DestroyProxy(BroadphaseProxy* proxy)=0;
-       virtual void    SetAabb(BroadphaseProxy* proxy,const SimdVector3& aabbMin,const SimdVector3& aabbMax)=0;
-       virtual void    CleanProxyFromPairs(BroadphaseProxy* proxy)=0;
-       
-
-};
-
-#endif //BROADPHASE_INTERFACE_H
diff --git a/extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.cpp b/extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.cpp
deleted file mode 100644 (file)
index 61bcdc4..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 "BroadphaseProxy.h"
-
diff --git a/extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.h b/extern/bullet/Bullet/BroadphaseCollision/BroadphaseProxy.h
deleted file mode 100644 (file)
index 35b2dc8..0000000
+++ /dev/null
@@ -1,125 +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
-
-
-
-/// Dispatcher 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,
-       CONE_SHAPE_PROXYTYPE,
-       CONVEX_SHAPE_PROXYTYPE,
-       CYLINDER_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,
-       EMPTY_SHAPE_PROXYTYPE,
-       STATIC_PLANE_PROXYTYPE,
-CONCAVE_SHAPES_END_HERE,
-
-       COMPOUND_SHAPE_PROXYTYPE,
-
-       MAX_BROADPHASE_COLLISION_TYPES
-};
-
-
-///BroadphaseProxy
-struct BroadphaseProxy
-{
-       
-       //Usually the client CollisionObject or Rigidbody class
-       void*   m_clientObject;
-       short int m_collisionFilterGroup;
-       short int m_collisionFilterMask;
-
-       //used for memory pools
-       BroadphaseProxy() :m_clientObject(0){}
-
-       BroadphaseProxy(void* userPtr,short int collisionFilterGroup, short int collisionFilterMask)
-               :m_clientObject(userPtr),
-               m_collisionFilterGroup(collisionFilterGroup),
-               m_collisionFilterMask(collisionFilterMask)
-       {
-       }
-       
-};
-
-class CollisionAlgorithm;
-
-struct BroadphaseProxy;
-
-#define SIMPLE_MAX_ALGORITHMS 2
-
-/// contains a pair of aabb-overlapping objects
-struct BroadphasePair
-{
-       BroadphasePair ()
-               :
-       m_pProxy0(0),
-               m_pProxy1(0)
-       {
-               for (int i=0;i<SIMPLE_MAX_ALGORITHMS;i++)
-               {
-                       m_algorithms[i] = 0;
-               }
-       }
-
-       BroadphasePair(const BroadphasePair& other)
-               :               m_pProxy0(other.m_pProxy0),
-                               m_pProxy1(other.m_pProxy1)
-       {
-               for (int i=0;i<SIMPLE_MAX_ALGORITHMS;i++)
-               {
-                       m_algorithms[i] = other.m_algorithms[i];
-               }
-       }
-       BroadphasePair(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1)
-               :
-               m_pProxy0(&proxy0),
-               m_pProxy1(&proxy1)
-       {
-               for (int i=0;i<SIMPLE_MAX_ALGORITHMS;i++)
-       {
-                       m_algorithms[i] = 0;
-               }
-
-       }
-
-       
-       BroadphaseProxy* m_pProxy0;
-       BroadphaseProxy* m_pProxy1;
-       
-       mutable CollisionAlgorithm* m_algorithms[SIMPLE_MAX_ALGORITHMS];
-};
-
-#endif //BROADPHASE_PROXY_H
-
diff --git a/extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.cpp b/extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.cpp
deleted file mode 100644 (file)
index d63966c..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 "CollisionAlgorithm.h"
-#include "Dispatcher.h"
-
-CollisionAlgorithm::CollisionAlgorithm(const CollisionAlgorithmConstructionInfo& ci)
-{
-       m_dispatcher = ci.m_dispatcher;
-}
-
diff --git a/extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h b/extern/bullet/Bullet/BroadphaseCollision/CollisionAlgorithm.h
deleted file mode 100644 (file)
index 9368a16..0000000
+++ /dev/null
@@ -1,67 +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
-
-struct BroadphaseProxy;
-class Dispatcher;
-
-struct CollisionAlgorithmConstructionInfo
-{
-       CollisionAlgorithmConstructionInfo()
-               :m_dispatcher(0)
-       {
-       }
-       CollisionAlgorithmConstructionInfo(Dispatcher* dispatcher,int temp)
-               :m_dispatcher(dispatcher)
-       {
-       }
-
-       Dispatcher*     m_dispatcher;
-
-       int     GetDispatcherId();
-
-};
-
-
-///CollisionAlgorithm is an collision interface that is compatible with the Broadphase and Dispatcher.
-///It is persistent over frames
-class CollisionAlgorithm
-{
-
-protected:
-
-       Dispatcher*     m_dispatcher;
-
-protected:
-       int     GetDispatcherId();
-       
-public:
-
-       CollisionAlgorithm() {};
-
-       CollisionAlgorithm(const CollisionAlgorithmConstructionInfo& ci);
-
-       virtual ~CollisionAlgorithm() {};
-
-       virtual void ProcessCollision (BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const struct DispatcherInfo& dispatchInfo) = 0;
-
-       virtual float CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const struct DispatcherInfo& dispatchInfo) = 0;
-
-};
-
-
-#endif //COLLISION_ALGORITHM_H
diff --git a/extern/bullet/Bullet/BroadphaseCollision/Dispatcher.cpp b/extern/bullet/Bullet/BroadphaseCollision/Dispatcher.cpp
deleted file mode 100644 (file)
index a73c7ea..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 "Dispatcher.h"
-
-Dispatcher::~Dispatcher()
-{
-
-}
-
diff --git a/extern/bullet/Bullet/BroadphaseCollision/Dispatcher.h b/extern/bullet/Bullet/BroadphaseCollision/Dispatcher.h
deleted file mode 100644 (file)
index 5edfbbd..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
-
-class CollisionAlgorithm;
-struct BroadphaseProxy;
-class RigidBody;
-struct CollisionObject;
-class ManifoldResult;
-class OverlappingPairCache;
-
-enum CollisionDispatcherId
-{
-       RIGIDBODY_DISPATCHER = 0,
-       USERCALLBACK_DISPATCHER
-};
-
-class PersistentManifold;
-
-struct DispatcherInfo
-{
-       enum DispatchFunc
-       {
-               DISPATCH_DISCRETE = 1,
-               DISPATCH_CONTINUOUS
-       };
-       DispatcherInfo()
-               :m_dispatchFunc(DISPATCH_DISCRETE),
-               m_timeOfImpact(1.f),
-               m_useContinuous(false),
-               m_debugDraw(0),
-               m_enableSatConvex(false)
-       {
-
-       }
-       float   m_timeStep;
-       int             m_stepCount;
-       int             m_dispatchFunc;
-       float   m_timeOfImpact;
-       bool    m_useContinuous;
-       class IDebugDraw*       m_debugDraw;
-       bool    m_enableSatConvex;
-       
-};
-
-/// Dispatcher can be used in combination with broadphase to dispatch overlapping pairs.
-/// For example for pairwise collision detection or user callbacks (game logic).
-class Dispatcher
-{
-
-
-public:
-       virtual ~Dispatcher() ;
-
-       virtual CollisionAlgorithm* FindAlgorithm(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1) = 0;
-
-       //
-       // asume dispatchers to have unique id's in the range [0..max dispacher]
-       //
-       virtual int GetUniqueId() = 0;
-
-       virtual PersistentManifold*     GetNewManifold(void* body0,void* body1)=0;
-
-       virtual void ReleaseManifold(PersistentManifold* manifold)=0;
-
-       virtual void ClearManifold(PersistentManifold* manifold)=0;
-
-       virtual bool    NeedsCollision(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1) = 0;
-
-       virtual bool    NeedsResponse(const CollisionObject& colObj0,const CollisionObject& colObj1)=0;
-
-       virtual ManifoldResult* GetNewManifoldResult(CollisionObject* obj0,CollisionObject* obj1,PersistentManifold* manifold) =0;
-
-       virtual void    ReleaseManifoldResult(ManifoldResult*)=0;
-
-       virtual void    DispatchAllCollisionPairs(struct BroadphasePair* pairs,int numPairs,DispatcherInfo& dispatchInfo)=0;
-
-       virtual int GetNumManifolds() const = 0;
-
-       virtual PersistentManifold* GetManifoldByIndexInternal(int index) = 0;
-
-};
-
-
-#endif //_DISPATCHER_H
diff --git a/extern/bullet/Bullet/BroadphaseCollision/OverlappingPairCache.cpp b/extern/bullet/Bullet/BroadphaseCollision/OverlappingPairCache.cpp
deleted file mode 100644 (file)
index df53504..0000000
+++ /dev/null
@@ -1,151 +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 "OverlappingPairCache.h"
-
-#include "Dispatcher.h"
-#include "CollisionAlgorithm.h"
-
-
-OverlappingPairCache::OverlappingPairCache(int maxOverlap):
-m_blockedForChanges(false),
-m_NumOverlapBroadphasePair(0),
-m_maxOverlap(maxOverlap)
-{
-       m_OverlappingPairs = new BroadphasePair[maxOverlap];
-}
-
-
-OverlappingPairCache::~OverlappingPairCache()
-{
-       delete [] m_OverlappingPairs;
-}
-
-
-void   OverlappingPairCache::RemoveOverlappingPair(BroadphasePair& pair)
-{
-       CleanOverlappingPair(pair);
-       int     index = &pair - &m_OverlappingPairs[0];
-       //remove efficiently, swap with the last
-       m_OverlappingPairs[index] = m_OverlappingPairs[m_NumOverlapBroadphasePair-1];
-       m_NumOverlapBroadphasePair--;
-}
-
-
-void   OverlappingPairCache::CleanOverlappingPair(BroadphasePair& pair)
-{
-       for (int dispatcherId=0;dispatcherId<SIMPLE_MAX_ALGORITHMS;dispatcherId++)
-       {
-               if (pair.m_algorithms[dispatcherId])
-               {
-                       {
-                               delete pair.m_algorithms[dispatcherId];
-                               pair.m_algorithms[dispatcherId]=0;
-                       }
-               }
-       }
-}
-
-
-
-
-
-void   OverlappingPairCache::AddOverlappingPair(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1)
-{
-       //don't add overlap with own
-       assert(proxy0 != proxy1);
-
-       if (!NeedsCollision(proxy0,proxy1))
-               return;
-
-
-       BroadphasePair pair(*proxy0,*proxy1);
-       m_OverlappingPairs[m_NumOverlapBroadphasePair] = pair;
-
-       int i;
-       for (i=0;i<SIMPLE_MAX_ALGORITHMS;i++)
-       {
-               assert(!m_OverlappingPairs[m_NumOverlapBroadphasePair].m_algorithms[i]);
-               m_OverlappingPairs[m_NumOverlapBroadphasePair].m_algorithms[i] = 0;
-       }
-
-       if (m_NumOverlapBroadphasePair >= m_maxOverlap)
-       {
-               //printf("Error: too many overlapping objects: m_NumOverlapBroadphasePair: %d\n",m_NumOverlapBroadphasePair);
-#ifdef DEBUG
-               assert(0);
-#endif 
-       } else
-       {
-               m_NumOverlapBroadphasePair++;
-       }
-
-
-}
-
-
-BroadphasePair*        OverlappingPairCache::FindPair(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1)
-{
-       BroadphasePair* foundPair = 0;
-
-       int i;
-       for (i=m_NumOverlapBroadphasePair-1;i>=0;i--)
-       {
-               BroadphasePair& pair = m_OverlappingPairs[i];
-               if (((pair.m_pProxy0 == proxy0) && (pair.m_pProxy1 == proxy1)) ||
-                       ((pair.m_pProxy0 == proxy1) && (pair.m_pProxy1 == proxy0)))
-               {
-                       foundPair = &pair;
-                       return foundPair;
-               }
-       }       
-
-       return foundPair;
-}
-
-
-
-void   OverlappingPairCache::CleanProxyFromPairs(BroadphaseProxy* proxy)
-{
-       for (int i=0;i<m_NumOverlapBroadphasePair;i++)
-       {
-               BroadphasePair& pair = m_OverlappingPairs[i];
-               if (pair.m_pProxy0 == proxy ||
-                       pair.m_pProxy1 == proxy)
-               {
-                       CleanOverlappingPair(pair);
-               }
-       }
-}
-
-void   OverlappingPairCache::RemoveOverlappingPairsContainingProxy(BroadphaseProxy* proxy)
-{
-       int i;
-       for ( i=m_NumOverlapBroadphasePair-1;i>=0;i--)
-       {
-               BroadphasePair& pair = m_OverlappingPairs[i];
-               if (pair.m_pProxy0 == proxy ||
-                       pair.m_pProxy1 == proxy)
-               {
-                       RemoveOverlappingPair(pair);
-               }
-       }
-}
-
-
-
diff --git a/extern/bullet/Bullet/BroadphaseCollision/OverlappingPairCache.h b/extern/bullet/Bullet/BroadphaseCollision/OverlappingPairCache.h
deleted file mode 100644 (file)
index 0fba0b2..0000000
+++ /dev/null
@@ -1,85 +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 "BroadphaseInterface.h"
-#include "BroadphaseProxy.h"
-#include "SimdPoint3.h"
-
-
-///OverlappingPairCache maintains the objects with overlapping AABB
-///Typically managed by the Broadphase, Axis3Sweep or SimpleBroadphase
-class  OverlappingPairCache : public BroadphaseInterface
-{
-
-       BroadphasePair* m_OverlappingPairs;
-       int     m_NumOverlapBroadphasePair;
-       int m_maxOverlap;
-       
-       //during the dispatch, check that user doesn't destroy/create proxy
-       bool            m_blockedForChanges;
-
-       
-       public:
-               
-       OverlappingPairCache(int maxOverlap);   
-       virtual ~OverlappingPairCache();
-       
-       int             GetNumOverlappingPairs() const
-       {
-               return m_NumOverlapBroadphasePair;
-       }
-
-       BroadphasePair& GetOverlappingPair(int index)
-       {
-               return m_OverlappingPairs[index];
-       }
-
-       void    RemoveOverlappingPair(BroadphasePair& pair);
-
-       void    CleanOverlappingPair(BroadphasePair& pair);
-       
-       void    AddOverlappingPair(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1);
-
-       BroadphasePair* FindPair(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1);
-       
-       
-       
-       void    CleanProxyFromPairs(BroadphaseProxy* proxy);
-
-       void    RemoveOverlappingPairsContainingProxy(BroadphaseProxy* proxy);
-
-
-       inline bool NeedsCollision(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1) const
-       {
-               bool collides = proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask;
-               collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask);
-               
-               return collides;
-       }
-               
-       
-
-       virtual void    RefreshOverlappingPairs() =0;
-
-
-
-
-};
-#endif //OVERLAPPING_PAIR_CACHE_H
\ No newline at end of file
diff --git a/extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.cpp b/extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.cpp
deleted file mode 100644 (file)
index 5a648e1..0000000
+++ /dev/null
@@ -1,192 +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 "SimpleBroadphase.h"
-#include <BroadphaseCollision/Dispatcher.h>
-#include <BroadphaseCollision/CollisionAlgorithm.h>
-
-#include "SimdVector3.h"
-#include "SimdTransform.h"
-#include "SimdMatrix3x3.h"
-#include <vector>
-
-
-void   SimpleBroadphase::validate()
-{
-       for (int i=0;i<m_numProxies;i++)
-       {
-               for (int j=i+1;j<m_numProxies;j++)
-               {
-                       assert(m_pProxies[i] != m_pProxies[j]);
-               }
-       }
-       
-}
-
-SimpleBroadphase::SimpleBroadphase(int maxProxies,int maxOverlap)
-       :OverlappingPairCache(maxOverlap),
-       m_firstFreeProxy(0),
-       m_numProxies(0),
-       m_maxProxies(maxProxies)
-{
-
-       m_proxies = new SimpleBroadphaseProxy[maxProxies];
-       m_freeProxies = new int[maxProxies];
-       m_pProxies = new SimpleBroadphaseProxy*[maxProxies];
-       
-
-       int i;
-       for (i=0;i<m_maxProxies;i++)
-       {
-               m_freeProxies[i] = i;
-       }
-}
-
-SimpleBroadphase::~SimpleBroadphase()
-{
-       delete[] m_proxies;
-       delete []m_freeProxies;
-       delete [] m_pProxies;
-
-       /*int i;
-       for (i=m_numProxies-1;i>=0;i--)
-       {
-               BP_Proxy* proxy = m_pProxies[i]; 
-               destroyProxy(proxy);
-       }
-       */
-}
-
-
-BroadphaseProxy*       SimpleBroadphase::CreateProxy(  const SimdVector3& min,  const SimdVector3& max,int shapeType,void* userPtr ,short int collisionFilterGroup,short int collisionFilterMask)
-{
-       if (m_numProxies >= m_maxProxies)
-       {
-               assert(0);
-               return 0; //should never happen, but don't let the game crash ;-)
-       }
-       assert(min[0]<= max[0] && min[1]<= max[1] && min[2]<= max[2]);
-
-       int freeIndex= m_freeProxies[m_firstFreeProxy];
-       SimpleBroadphaseProxy* proxy = new (&m_proxies[freeIndex])SimpleBroadphaseProxy(min,max,shapeType,userPtr,collisionFilterGroup,collisionFilterMask);
-       m_firstFreeProxy++;
-
-       SimpleBroadphaseProxy* proxy1 = &m_proxies[0];
-               
-       int index = proxy - proxy1;
-       assert(index == freeIndex);
-
-       m_pProxies[m_numProxies] = proxy;
-       m_numProxies++;
-       //validate();
-
-       return proxy;
-}
-
-
-
-void   SimpleBroadphase::DestroyProxy(BroadphaseProxy* proxyOrg)
-{
-               
-               int i;
-               
-               SimpleBroadphaseProxy* proxy0 = static_cast<SimpleBroadphaseProxy*>(proxyOrg);
-               SimpleBroadphaseProxy* proxy1 = &m_proxies[0];
-       
-               int index = proxy0 - proxy1;
-               assert (index < m_maxProxies);
-               m_freeProxies[--m_firstFreeProxy] = index;
-
-               RemoveOverlappingPairsContainingProxy(proxyOrg);
-
-               
-               for (i=0;i<m_numProxies;i++)
-               {
-                       if (m_pProxies[i] == proxyOrg)
-                       {
-                               m_pProxies[i] = m_pProxies[m_numProxies-1];
-                               break;
-                       }
-               }
-               m_numProxies--;
-               //validate();
-               
-}
-
-void   SimpleBroadphase::SetAabb(BroadphaseProxy* proxy,const SimdVector3& aabbMin,const SimdVector3& aabbMax)
-{
-       SimpleBroadphaseProxy* sbp = GetSimpleProxyFromProxy(proxy);
-       sbp->m_min = aabbMin;
-       sbp->m_max = aabbMax;
-}
-
-
-
-
-
-       
-
-
-
-bool   SimpleBroadphase::AabbOverlap(SimpleBroadphaseProxy* proxy0,SimpleBroadphaseProxy* 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];
-
-}
-void   SimpleBroadphase::RefreshOverlappingPairs()
-{
-       //first check for new overlapping pairs
-       int i,j;
-
-       for (i=0;i<m_numProxies;i++)
-       {
-               BroadphaseProxy* proxy0 = m_pProxies[i];
-               for (j=i+1;j<m_numProxies;j++)
-               {
-                       BroadphaseProxy* proxy1 = m_pProxies[j];
-                       SimpleBroadphaseProxy* p0 = GetSimpleProxyFromProxy(proxy0);
-                       SimpleBroadphaseProxy* p1 = GetSimpleProxyFromProxy(proxy1);
-
-                       if (AabbOverlap(p0,p1))
-                       {
-                               if ( !FindPair(proxy0,proxy1))
-                               {
-                                       AddOverlappingPair(proxy0,proxy1);
-                               }
-                       }
-
-               }
-       }
-
-       //then remove non-overlapping ones
-       for (i=0;i<GetNumOverlappingPairs();i++)
-       {
-               BroadphasePair& pair = GetOverlappingPair(i);
-
-               SimpleBroadphaseProxy* proxy0 = GetSimpleProxyFromProxy(pair.m_pProxy0);
-               SimpleBroadphaseProxy* proxy1 = GetSimpleProxyFromProxy(pair.m_pProxy1);
-               if (!AabbOverlap(proxy0,proxy1))
-               {
-            RemoveOverlappingPair(pair);
-               }
-       }
-
-       
-
-}
-
-
diff --git a/extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.h b/extern/bullet/Bullet/BroadphaseCollision/SimpleBroadphase.h
deleted file mode 100644 (file)
index e67c710..0000000
+++ /dev/null
@@ -1,90 +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 "OverlappingPairCache.h"
-
-
-struct SimpleBroadphaseProxy : public BroadphaseProxy
-{
-       SimdVector3     m_min;
-       SimdVector3     m_max;
-       
-       SimpleBroadphaseProxy() {};
-
-       SimpleBroadphaseProxy(const SimdPoint3& minpt,const SimdPoint3& maxpt,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask)
-       :BroadphaseProxy(userPtr,collisionFilterGroup,collisionFilterMask),
-       m_min(minpt),m_max(maxpt)               
-       {
-       }
-       
-
-};
-
-///SimpleBroadphase is a brute force aabb culling broadphase based on O(n^2) aabb checks
-class SimpleBroadphase : public OverlappingPairCache
-{
-
-       SimpleBroadphaseProxy*  m_proxies;
-       int*                            m_freeProxies;
-       int                             m_firstFreeProxy;
-
-       SimpleBroadphaseProxy** m_pProxies;
-       int                             m_numProxies;
-
-       
-
-       int m_maxProxies;
-       
-       
-       inline SimpleBroadphaseProxy*   GetSimpleProxyFromProxy(BroadphaseProxy* proxy)
-       {
-               SimpleBroadphaseProxy* proxy0 = static_cast<SimpleBroadphaseProxy*>(proxy);
-               return proxy0;
-       }
-
-       bool    AabbOverlap(SimpleBroadphaseProxy* proxy0,SimpleBroadphaseProxy* proxy1);
-
-       void    validate();
-
-protected:
-
-
-       virtual void    RefreshOverlappingPairs();
-public:
-       SimpleBroadphase(int maxProxies=4096,int maxOverlap=8192);
-       virtual ~SimpleBroadphase();
-
-
-       virtual BroadphaseProxy*        CreateProxy(  const SimdVector3& min,  const SimdVector3& max,int shapeType,void* userPtr ,short int collisionFilterGroup,short int collisionFilterMask);
-
-
-       virtual void    DestroyProxy(BroadphaseProxy* proxy);
-       virtual void    SetAabb(BroadphaseProxy* proxy,const SimdVector3& aabbMin,const SimdVector3& aabbMax);
-               
-       
-       
-
-
-
-};
-
-
-
-#endif //SIMPLE_BROADPHASE_H
-
diff --git a/extern/bullet/Bullet/Bullet3.dsp b/extern/bullet/Bullet/Bullet3.dsp
deleted file mode 100644 (file)
index 2e4ffaf..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-# Microsoft Developer Studio Project File - Name="Bullet" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=Bullet - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "Bullet3.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "Bullet3.mak" CFG="Bullet - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "Bullet - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "Bullet - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "Bullet - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-MTL=midl.exe
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /Zd /O2 /I "../LinearMath" /I "." /D "NDEBUG" /D "_LIB" /D "WIN32" /D "_MBCS" /D "BUM_INLINED" /D "USE_ALGEBRAIC" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "Bullet - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-MTL=midl.exe
-LINK32=link.exe -lib
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../LinearMath" /I "." /D "_DEBUG" /D "_LIB" /D "WIN32" /D "_MBCS" /D "BUM_INLINED" /D "USE_ALGEBRAIC" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF 
-
-# Begin Target
-
-# Name "Bullet - Win32 Release"
-# Name "Bullet - Win32 Debug"
-# Begin Group "NarrowPhaseCollision"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Collidable.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Collidable.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_CollisionPair.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_CollisionPair.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_EdgeEdge.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_EdgeEdge.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_MotionStateInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_PolynomialSolverInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Screwing.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_Screwing.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_StaticMotionState.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_VertexPoly.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\BU_VertexPoly.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\CollisionMargin.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ContinuousConvexCollision.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ContinuousConvexCollision.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ConvexCast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ConvexCast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ConvexPenetrationDepthSolver.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\DiscreteCollisionDetectorInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkConvexCast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkConvexCast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkPairDetector.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\GjkPairDetector.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\ManifoldPoint.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\PersistentManifold.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\PersistentManifold.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\PointCollector.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\RaycastCallback.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\RaycastCallback.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\SimplexSolverInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\SubSimplexConvexCast.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\SubSimplexConvexCast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\VoronoiSimplexSolver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\NarrowPhaseCollision\VoronoiSimplexSolver.h
-# End Source File
-# End Group
-# Begin Group "BroadphaseCollision"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\BroadPhaseInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\BroadphaseProxy.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\BroadphaseProxy.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\CollisionAlgorithm.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\CollisionAlgorithm.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\CollisionDispatcher.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\CollisionDispatcher.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\SimpleBroadphase.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\BroadphaseCollision\SimpleBroadphase.h
-# End Source File
-# End Group
-# Begin Group "CollisionShapes"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\CollisionShapes\BoxShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\BoxShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CollisionShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CollisionShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConeShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConeShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexHullShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexHullShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\ConvexShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CylinderShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\CylinderShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MinkowskiSumShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MinkowskiSumShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MultiSphereShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\MultiSphereShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\PolyhedralConvexShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\PolyhedralConvexShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\Simplex1to4Shape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\Simplex1to4Shape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\SphereShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\SphereShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\StridingMeshInterface.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\StridingMeshInterface.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleCallback.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMesh.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMesh.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMeshShape.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleMeshShape.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\CollisionShapes\TriangleShape.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/extern/bullet/Bullet/Bullet3_vc7.vcproj b/extern/bullet/Bullet/Bullet3_vc7.vcproj
deleted file mode 100644 (file)
index 933b00f..0000000
+++ /dev/null
@@ -1,517 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.10"
-       Name="Bullet3ContinuousCollision"
-       ProjectGUID="{FFD3C64A-30E2-4BC7-BC8F-51818C320400}"
-       SccProjectName=""
-       SccLocalPath="">
-       <Platforms>
-               <Platform
-                       Name="Win32"/>
-       </Platforms>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories=".;..\LinearMath"
-                               PreprocessorDefinitions="_DEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Debug/Bullet.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="4"
-                               CompileAs="0"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile=".\Debug\Bullet.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"/>
-                       <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="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               AdditionalIncludeDirectories=".;..\LinearMath"
-                               PreprocessorDefinitions="NDEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               StringPooling="TRUE"
-                               RuntimeLibrary="4"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Release/Bullet.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               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"/>
-                       <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="NarrowPhaseCollision"
-                       Filter="">
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Collidable.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Collidable.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_CollisionPair.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_CollisionPair.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_EdgeEdge.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_EdgeEdge.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_MotionStateInterface.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_PolynomialSolverInterface.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Screwing.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Screwing.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_StaticMotionState.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_VertexPoly.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_VertexPoly.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\CollisionMargin.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ContinuousConvexCollision.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ContinuousConvexCollision.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ConvexCast.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ConvexPenetrationDepthSolver.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\DiscreteCollisionDetectorInterface.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkConvexCast.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkConvexCast.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkPairDetector.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkPairDetector.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ManifoldContactAddResult.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ManifoldContactAddResult.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ManifoldPoint.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\PersistentManifold.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\PersistentManifold.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\PointCollector.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\RaycastCallback.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\RaycastCallback.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\SimplexSolverInterface.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\SubSimplexConvexCast.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\SubSimplexConvexCast.h">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\VoronoiSimplexSolver.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\VoronoiSimplexSolver.h">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="CollisionShapes"
-                       Filter="">
-                       <File
-                               RelativePath=".\CollisionShapes\BoxShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\BoxShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\BvhTriangleMeshShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\BvhTriangleMeshShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CollisionShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CollisionShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConeShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConeShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexHullShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexHullShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexTriangleCallback.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexTriangleCallback.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CylinderShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CylinderShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MinkowskiSumShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MinkowskiSumShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MultiSphereShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MultiSphereShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\OptimizedBvh.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\OptimizedBvh.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\PolyhedralConvexShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\PolyhedralConvexShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\Simplex1to4Shape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\Simplex1to4Shape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\SphereShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\SphereShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\StridingMeshInterface.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\StridingMeshInterface.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleCallback.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleCallback.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleIndexVertexArray.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleIndexVertexArray.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMesh.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMesh.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMeshShape.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMeshShape.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleShape.h">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="BroadphaseCollision"
-                       Filter="">
-                       <File
-                               RelativePath=".\BroadphaseCollision\AxisSweep3.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\AxisSweep3.h">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\BroadPhaseInterface.h">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\BroadphaseProxy.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\BroadphaseProxy.h">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\CollisionAlgorithm.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\CollisionAlgorithm.h">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\Dispatcher.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\Dispatcher.h">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\SimpleBroadphase.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\SimpleBroadphase.h">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="LinearAlgebra"
-                       Filter="">
-                       <File
-                               RelativePath="..\LinearMath\AabbUtil2.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\GEN_List.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\GEN_MinMax.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\GEN_random.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdMatrix3x3.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdMinMax.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdPoint3.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdQuadword.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdQuaternion.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdScalar.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdTransform.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdTransformUtil.h">
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdVector3.h">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="CollisionDispatch"
-                       Filter="">
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionDispatcher.cpp">
-                               <FileConfiguration
-                                       Name="Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               ObjectFile="$(IntDir)/$(InputName)1.obj"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionDispatcher.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionObject.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionObject.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionWorld.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionWorld.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConcaveCollisionAlgorithm.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConcaveCollisionAlgorithm.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConvexAlgorithm.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConvexAlgorithm.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\EmptyCollisionAlgorithm.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\EmptyCollisionAlgorithm.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ManifoldResult.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ManifoldResult.h">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\UnionFind.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\UnionFind.h">
-                       </File>
-               </Filter>
-               <File
-                       RelativePath=".\NarrowPhaseCollision\ConvexCast.cpp">
-               </File>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/extern/bullet/Bullet/Bullet3_vc8.sln b/extern/bullet/Bullet/Bullet3_vc8.sln
deleted file mode 100644 (file)
index d95ceb0..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Bullet3ContinuousCollision", "Bullet3_vc8.vcproj", "{FFD3C64A-30E2-4BC7-BC8F-51818C320400}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Win32 = Debug|Win32
-               Release|Win32 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Debug|Win32.ActiveCfg = Debug|Win32
-               {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Debug|Win32.Build.0 = Debug|Win32
-               {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Release|Win32.ActiveCfg = Release|Win32
-               {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Release|Win32.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal
diff --git a/extern/bullet/Bullet/Bullet3_vc8.vcproj b/extern/bullet/Bullet/Bullet3_vc8.vcproj
deleted file mode 100644 (file)
index ff40fb0..0000000
+++ /dev/null
@@ -1,716 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8.00"
-       Name="Bullet3ContinuousCollision"
-       ProjectGUID="{FFD3C64A-30E2-4BC7-BC8F-51818C320400}"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories=".;..\LinearMath"
-                               PreprocessorDefinitions="_DEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               ExceptionHandling="0"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="1"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=""
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               DebugInformationFormat="4"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile=".\Debug\Bullet.lib"
-                               SuppressStartupBanner="true"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               AdditionalIncludeDirectories=".;..\LinearMath"
-                               PreprocessorDefinitions="NDEBUG;_LIB;WIN32;BUM_INLINED;USE_ALGEBRAIC"
-                               StringPooling="true"
-                               RuntimeLibrary="0"
-                               EnableFunctionLevelLinking="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=""
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               DebugInformationFormat="3"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile=".\Release\Bullet.lib"
-                               SuppressStartupBanner="true"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="NarrowPhaseCollision"
-                       >
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_AlgebraicPolynomialSolver.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Collidable.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Collidable.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_CollisionPair.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_CollisionPair.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_EdgeEdge.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_EdgeEdge.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_MotionStateInterface.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_PolynomialSolverInterface.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Screwing.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_Screwing.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_StaticMotionState.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_VertexPoly.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\BU_VertexPoly.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\CollisionMargin.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ContinuousConvexCollision.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ContinuousConvexCollision.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ConvexCast.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ConvexCast.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ConvexPenetrationDepthSolver.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\DiscreteCollisionDetectorInterface.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\Epa.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\Epa.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaFace.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaFace.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaHalfEdge.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaPenetrationDepthSolver.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaPenetrationDepthSolver.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaPolyhedron.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaPolyhedron.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\EpaVertex.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkConvexCast.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkConvexCast.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkPairDetector.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\GjkPairDetector.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ManifoldContactAddResult.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ManifoldContactAddResult.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\ManifoldPoint.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\MinkowskiPenetrationDepthSolver.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\PersistentManifold.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\PersistentManifold.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\PointCollector.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\RaycastCallback.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\RaycastCallback.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\SimplexSolverInterface.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\SubSimplexConvexCast.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\SubSimplexConvexCast.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\VoronoiSimplexSolver.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\NarrowPhaseCollision\VoronoiSimplexSolver.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="CollisionShapes"
-                       >
-                       <File
-                               RelativePath=".\CollisionShapes\BoxShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\BoxShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CollisionShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CollisionShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConeShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConeShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexHullShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexHullShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\ConvexShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CylinderShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\CylinderShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\EmptyShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\EmptyShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MinkowskiSumShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MinkowskiSumShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MultiSphereShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\MultiSphereShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\PolyhedralConvexShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\PolyhedralConvexShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\Simplex1to4Shape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\Simplex1to4Shape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\SphereShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\SphereShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\StridingMeshInterface.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\StridingMeshInterface.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleCallback.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleCallback.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMesh.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMesh.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMeshShape.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleMeshShape.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionShapes\TriangleShape.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="BroadphaseCollision"
-                       >
-                       <File
-                               RelativePath=".\BroadphaseCollision\AxisSweep3.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\AxisSweep3.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\BroadPhaseInterface.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\BroadphaseProxy.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\BroadphaseProxy.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\CollisionAlgorithm.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\CollisionAlgorithm.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\Dispatcher.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\Dispatcher.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\SimpleBroadphase.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\BroadphaseCollision\SimpleBroadphase.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="LinearAlgebra"
-                       >
-                       <File
-                               RelativePath="..\LinearMath\AabbUtil2.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\GEN_List.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\GEN_MinMax.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\GEN_random.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\IDebugDraw.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdMatrix3x3.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdMinMax.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdPoint3.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdQuadword.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdQuaternion.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdScalar.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdTransform.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdTransformUtil.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\LinearMath\SimdVector3.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="CollisionDispatch"
-                       >
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionDispatcher.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionDispatcher.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionObject.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionObject.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionWorld.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\CollisionWorld.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConcaveCollisionAlgorithm.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConcaveCollisionAlgorithm.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConvexAlgorithm.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ConvexConvexAlgorithm.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\EmptyCollisionAlgorithm.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\EmptyCollisionAlgorithm.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ManifoldResult.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\ManifoldResult.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\UnionFind.cpp"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\CollisionDispatch\UnionFind.h"
-                               >
-                       </File>
-               </Filter>
-               <File
-                       RelativePath=".\CollisionShapes\BvhTriangleMeshShape.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath=".\CollisionShapes\BvhTriangleMeshShape.h"
-                       >
-               </File>
-               <File
-                       RelativePath=".\CollisionShapes\OptimizedBvh.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath=".\CollisionShapes\OptimizedBvh.h"
-                       >
-               </File>
-               <File
-                       RelativePath=".\CollisionShapes\TriangleIndexVertexArray.cpp"
-                       >
-               </File>
-               <File
-                       RelativePath=".\CollisionShapes\TriangleIndexVertexArray.h"
-                       >
-               </File>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/extern/bullet/Bullet/CollisionDispatch/CollisionCreateFunc.h b/extern/bullet/Bullet/CollisionDispatch/CollisionCreateFunc.h
deleted file mode 100644 (file)
index 5df073b..0000000
+++ /dev/null
@@ -1,42 +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 <vector>
-
-typedef std::vector<struct CollisionObject*> CollisionObjectArray;
-class CollisionAlgorithm;
-struct BroadphaseProxy;
-
-
-
-struct CollisionAlgorithmCreateFunc
-{
-       bool m_swapped;
-       
-       CollisionAlgorithmCreateFunc()
-               :m_swapped(false)
-       {
-       }
-       virtual ~CollisionAlgorithmCreateFunc(){};
-
-       virtual CollisionAlgorithm* CreateCollisionAlgorithm(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1)
-       {
-               return 0;
-       }
-};
-#endif //COLLISION_CREATE_FUNC
\ No newline at end of file
diff --git a/extern/bullet/Bullet/CollisionDispatch/CollisionDispatcher.cpp b/extern/bullet/Bullet/CollisionDispatch/CollisionDispatcher.cpp
deleted file mode 100644 (file)
index 06e999f..0000000
+++ /dev/null
@@ -1,257 +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 "CollisionDispatcher.h"
-
-
-#include "BroadphaseCollision/CollisionAlgorithm.h"
-#include "CollisionDispatch/ConvexConvexAlgorithm.h"
-#include "CollisionDispatch/EmptyCollisionAlgorithm.h"
-#include "CollisionDispatch/ConvexConcaveCollisionAlgorithm.h"
-#include "CollisionDispatch/CompoundCollisionAlgorithm.h"
-#include "CollisionShapes/CollisionShape.h"
-#include "CollisionDispatch/CollisionObject.h"
-#include <algorithm>
-#include "BroadphaseCollision/OverlappingPairCache.h"
-
-int gNumManifold = 0;
-
-
-       
-
-       
-CollisionDispatcher::CollisionDispatcher (): 
-       m_useIslands(true),
-               m_defaultManifoldResult(0,0,0),
-               m_count(0)
-{
-       int i;
-       
-       for (i=0;i<MAX_BROADPHASE_COLLISION_TYPES;i++)
-       {
-               for (int j=0;j<MAX_BROADPHASE_COLLISION_TYPES;j++)
-               {
-                       m_doubleDispatch[i][j] = 0;
-               }
-       }
-       
-       
-};
-       
-PersistentManifold*    CollisionDispatcher::GetNewManifold(void* b0,void* b1) 
-{ 
-       gNumManifold++;
-       
-       //ASSERT(gNumManifold < 65535);
-       
-
-       CollisionObject* body0 = (CollisionObject*)b0;
-       CollisionObject* body1 = (CollisionObject*)b1;
-       
-       PersistentManifold* manifold = new PersistentManifold (body0,body1);
-       m_manifoldsPtr.push_back(manifold);
-
-       return manifold;
-}
-
-void CollisionDispatcher::ClearManifold(PersistentManifold* manifold)
-{
-       manifold->ClearManifold();
-}
-
-       
-void CollisionDispatcher::ReleaseManifold(PersistentManifold* manifold)
-{
-       
-       gNumManifold--;
-
-       //printf("ReleaseManifold: gNumManifold %d\n",gNumManifold);
-
-       ClearManifold(manifold);
-
-       std::vector<PersistentManifold*>::iterator i =
-               std::find(m_manifoldsPtr.begin(), m_manifoldsPtr.end(), manifold);
-       if (!(i == m_manifoldsPtr.end()))
-       {
-               std::swap(*i, m_manifoldsPtr.back());
-               m_manifoldsPtr.pop_back();
-               delete manifold;
-
-       }
-       
-       
-}
-
-       
-
-
-
-CollisionAlgorithm* CollisionDispatcher::InternalFindAlgorithm(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1)
-{
-       m_count++;
-       CollisionObject* body0 = (CollisionObject*)proxy0.m_clientObject;
-       CollisionObject* body1 = (CollisionObject*)proxy1.m_clientObject;
-
-       CollisionAlgorithmConstructionInfo ci;
-       ci.m_dispatcher = this;
-       
-       if (body0->m_collisionShape->IsConvex() && body1->m_collisionShape->IsConvex() )
-       {
-               return new ConvexConvexAlgorithm(0,ci,&proxy0,&proxy1);                 
-       }
-
-       if (body0->m_collisionShape->IsConvex() && body1->m_collisionShape->IsConcave())
-       {
-               return new ConvexConcaveCollisionAlgorithm(ci,&proxy0,&proxy1);
-       }
-
-       if (body1->m_collisionShape->IsConvex() && body0->m_collisionShape->IsConcave())
-       {
-               return new ConvexConcaveCollisionAlgorithm(ci,&proxy1,&proxy0);
-       }
-
-       if (body0->m_collisionShape->IsCompound())
-       {
-               return new CompoundCollisionAlgorithm(ci,&proxy0,&proxy1);
-       } else
-       {
-               if (body1->m_collisionShape->IsCompound())
-               {
-                       return new CompoundCollisionAlgorithm(ci,&proxy1,&proxy0);
-               }
-       }
-
-       //failed to find an algorithm
-       return new EmptyAlgorithm(ci);
-       
-}
-
-bool   CollisionDispatcher::NeedsResponse(const  CollisionObject& colObj0,const CollisionObject& colObj1)
-{
-
-       
-       //here you can do filtering
-       bool hasResponse = 
-               (!(colObj0.m_collisionFlags & CollisionObject::noContactResponse)) &&
-               (!(colObj1.m_collisionFlags & CollisionObject::noContactResponse));
-       hasResponse = hasResponse &&
-               (colObj0.IsActive() || colObj1.IsActive());
-       return hasResponse;
-}
-
-bool   CollisionDispatcher::NeedsCollision(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1)
-{
-
-       CollisionObject* body0 = (CollisionObject*)proxy0.m_clientObject;
-       CollisionObject* body1 = (CollisionObject*)proxy1.m_clientObject;
-
-       assert(body0);
-       assert(body1);
-
-       bool needsCollision = true;
-
-       if ((body0->m_collisionFlags & CollisionObject::isStatic) && 
-               (body1->m_collisionFlags & CollisionObject::isStatic))
-               needsCollision = false;
-               
-       if ((!body0->IsActive()) && (!body1->IsActive()))
-               needsCollision = false;
-       
-       return needsCollision ;
-
-}
-
-///allows the user to get contact point callbacks 
-ManifoldResult*        CollisionDispatcher::GetNewManifoldResult(CollisionObject* obj0,CollisionObject* obj1,PersistentManifold* manifold)
-{
-
-
-       //in-place, this prevents parallel dispatching, but just adding a list would fix that.
-       ManifoldResult* manifoldResult = new (&m_defaultManifoldResult) ManifoldResult(obj0,obj1,manifold);
-       return manifoldResult;
-}
-       
-///allows the user to get contact point callbacks 
-void   CollisionDispatcher::ReleaseManifoldResult(ManifoldResult*)
-{
-
-}
-
-
-void   CollisionDispatcher::DispatchAllCollisionPairs(BroadphasePair* pairs,int numPairs,DispatcherInfo& dispatchInfo)
-{
-       //m_blockedForChanges = true;
-
-       int i;
-
-       int dispatcherId = GetUniqueId();
-
-       
-
-       for (i=0;i<numPairs;i++)
-       {
-
-               BroadphasePair& pair = pairs[i];
-
-               if (dispatcherId>= 0)
-               {
-                       //dispatcher will keep algorithms persistent in the collision pair
-                       if (!pair.m_algorithms[dispatcherId])
-                       {
-                               pair.m_algorithms[dispatcherId] = FindAlgorithm(
-                                       *pair.m_pProxy0,
-                                       *pair.m_pProxy1);
-                       }
-
-                       if (pair.m_algorithms[dispatcherId])
-                       {
-                               if (dispatchInfo.m_dispatchFunc ==              DispatcherInfo::DISPATCH_DISCRETE)
-                               {
-                                       pair.m_algorithms[dispatcherId]->ProcessCollision(pair.m_pProxy0,pair.m_pProxy1,dispatchInfo);
-                               } else
-                               {
-                                       float toi = pair.m_algorithms[dispatcherId]->CalculateTimeOfImpact(pair.m_pProxy0,pair.m_pProxy1,dispatchInfo);
-                                       if (dispatchInfo.m_timeOfImpact > toi)
-                                               dispatchInfo.m_timeOfImpact = toi;
-
-                               }
-                       }
-               } else
-               {
-                       //non-persistent algorithm dispatcher
-                       CollisionAlgorithm* algo = FindAlgorithm(
-                               *pair.m_pProxy0,
-                               *pair.m_pProxy1);
-
-                       if (algo)
-                       {
-                               if (dispatchInfo.m_dispatchFunc ==              DispatcherInfo::DISPATCH_DISCRETE)
-                               {
-                                       algo->ProcessCollision(pair.m_pProxy0,pair.m_pProxy1,dispatchInfo);
-                               } else
-                               {
-                                       float toi = algo->CalculateTimeOfImpact(pair.m_pProxy0,pair.m_pProxy1,dispatchInfo);
-                                       if (dispatchInfo.m_timeOfImpact > toi)
-                                               dispatchInfo.m_timeOfImpact = toi;
-                               }
-                       }
-               }
-
-       }
-
-       //m_blockedForChanges = false;
-
-}
\ No newline at end of file
diff --git a/extern/bullet/Bullet/CollisionDispatch/CollisionDispatcher.h b/extern/bullet/Bullet/CollisionDispatch/CollisionDispatcher.h
deleted file mode 100644 (file)
index 773978b..0000000
+++ /dev/null
@@ -1,113 +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 "BroadphaseCollision/Dispatcher.h"
-#include "NarrowPhaseCollision/PersistentManifold.h"
-
-#include "CollisionDispatch/ManifoldResult.h"
-
-#include "BroadphaseCollision/BroadphaseProxy.h"
-
-
-class IDebugDraw;
-class OverlappingPairCache;
-
-
-#include "CollisionCreateFunc.h"
-
-
-
-
-///CollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs.
-///Time of Impact, Closest Points and Penetration Depth.
-class CollisionDispatcher : public Dispatcher
-{
-       
-       std::vector<PersistentManifold*>        m_manifoldsPtr;
-
-       
-
-       bool m_useIslands;
-       
-       ManifoldResult  m_defaultManifoldResult;
-       
-       CollisionAlgorithmCreateFunc* m_doubleDispatch[MAX_BROADPHASE_COLLISION_TYPES][MAX_BROADPHASE_COLLISION_TYPES];
-       
-public:
-       
-       
-
-       
-
-
-       int     GetNumManifolds() const
-       { 
-               return m_manifoldsPtr.size();
-       }
-
-        PersistentManifold* GetManifoldByIndexInternal(int index)
-       {
-               return m_manifoldsPtr[index];
-       }
-
-        const PersistentManifold* GetManifoldByIndexInternal(int index) const
-       {
-               return m_manifoldsPtr[index];
-       }
-
-       int m_count;
-       
-       CollisionDispatcher ();
-       virtual ~CollisionDispatcher() {};
-
-       virtual PersistentManifold*     GetNewManifold(void* b0,void* b1);
-       
-       virtual void ReleaseManifold(PersistentManifold* manifold);
-
-       
-       ///allows the user to get contact point callbacks 
-       virtual ManifoldResult* GetNewManifoldResult(CollisionObject* obj0,CollisionObject* obj1,PersistentManifold* manifold);
-
-       ///allows the user to get contact point callbacks 
-       virtual void    ReleaseManifoldResult(ManifoldResult*);
-
-       virtual void ClearManifold(PersistentManifold* manifold);
-
-                       
-       CollisionAlgorithm* FindAlgorithm(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1)
-       {
-               CollisionAlgorithm* algo = InternalFindAlgorithm(proxy0,proxy1);
-               return algo;
-       }
-       
-       CollisionAlgorithm* InternalFindAlgorithm(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1);
-       
-       virtual bool    NeedsCollision(BroadphaseProxy& proxy0,BroadphaseProxy& proxy1);
-       
-       virtual bool    NeedsResponse(const CollisionObject& colObj0,const CollisionObject& colObj1);
-
-       virtual int GetUniqueId() { return RIGIDBODY_DISPATCHER;}
-       
-       virtual void    DispatchAllCollisionPairs(BroadphasePair* pairs,int numPairs,DispatcherInfo& dispatchInfo);
-
-       
-
-};
-
-#endif //COLLISION__DISPATCHER_H
-
diff --git a/extern/bullet/Bullet/CollisionDispatch/CollisionObject.cpp b/extern/bullet/Bullet/CollisionDispatch/CollisionObject.cpp
deleted file mode 100644 (file)
index a96707f..0000000
+++ /dev/null
@@ -1,56 +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 "CollisionObject.h"
-
-CollisionObject::CollisionObject()
-       :       m_collisionFlags(0),
-               m_activationState1(1),
-               m_deactivationTime(0.f),
-               m_broadphaseHandle(0),
-               m_collisionShape(0),
-               m_hitFraction(1.f),
-               m_ccdSweptShereRadius(0.f),
-               m_ccdSquareMotionTreshold(0.f)
-{
-       m_cachedInvertedWorldTransform.setIdentity();
-
-}
-
-
-void CollisionObject::SetActivationState(int newState) 
-{ 
-       if ( (m_activationState1 != DISABLE_DEACTIVATION) && (m_activationState1 != DISABLE_SIMULATION))
-               m_activationState1 = newState;
-}
-
-void CollisionObject::ForceActivationState(int newState)
-{
-       m_activationState1 = newState;
-}
-
-void CollisionObject::activate()
-{
-       if (!(m_collisionFlags & isStatic))
-       {
-               SetActivationState(1);
-               m_deactivationTime = 0.f;
-       }
-}
-
-bool CollisionObject::mergesSimulationIslands() const
-{
-       return ( !(m_collisionFlags & isStatic));
-}
diff --git a/extern/bullet/Bullet/CollisionDispatch/CollisionObject.h b/extern/bullet/Bullet/CollisionDispatch/CollisionObject.h
deleted file mode 100644 (file)
index da4e9b9..0000000
+++ /dev/null
@@ -1,128 +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 "SimdTransform.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 BroadphaseProxy;
-class  CollisionShape;
-
-/// CollisionObject can be used to manage collision detection objects. 
-/// CollisionObject maintains all information that is needed for a collision detection: Shape, Transform and AABB proxy.
-/// They can be added to the CollisionWorld.
-struct CollisionObject
-{
-       SimdTransform   m_worldTransform;
-       
-       //m_interpolationWorldTransform is used for CCD and interpolation
-       //it can be either previous or future (predicted) transform
-       SimdTransform   m_interpolationWorldTransform;
-
-       SimdTransform   m_cachedInvertedWorldTransform;
-
-       enum CollisionFlags
-       {
-               isStatic = 1,
-               noContactResponse = 2,
-               customMaterialCallback = 4,//this allows per-triangle material (friction/restitution)
-       };
-
-       int                             m_collisionFlags;
-
-       int                             m_islandTag1;
-       int                             m_activationState1;
-       float                   m_deactivationTime;
-
-       SimdScalar              m_friction;
-       SimdScalar              m_restitution;
-
-       BroadphaseProxy*        m_broadphaseHandle;
-       CollisionShape*         m_collisionShape;
-
-       void*                   m_userPointer;//not use by Bullet internally
-
-       ///time of impact calculation
-       float                   m_hitFraction; 
-       
-       ///Swept sphere radius (0.0 by default), see ConvexConvexAlgorithm::
-       float                   m_ccdSweptShereRadius;
-
-       /// Don't do continuous collision detection if square motion (in one step) is less then m_ccdSquareMotionTreshold
-       float                   m_ccdSquareMotionTreshold;
-
-       bool                    mergesSimulationIslands() const;
-
-       inline bool             IsStatic() const {
-               return m_collisionFlags & isStatic;
-       }
-
-       inline bool             HasContactResponse() {
-               return !(m_collisionFlags & noContactResponse);
-       }
-
-       
-
-
-       CollisionObject();
-
-
-       void    SetCollisionShape(CollisionShape* collisionShape)
-       {
-               m_collisionShape = collisionShape;
-       }
-
-       int     GetActivationState() const { return m_activationState1;}
-       
-       void SetActivationState(int newState);
-
-       void ForceActivationState(int newState);
-
-       void    activate();
-
-       inline bool IsActive() const
-       {
-               return ((GetActivationState() != ISLAND_SLEEPING) && (GetActivationState() != DISABLE_SIMULATION));
-       }
-
-               void    setRestitution(float rest)
-       {
-               m_restitution = rest;
-       }
-       float   getRestitution() const
-       {
-               return m_restitution;
-       }
-       void    setFriction(float frict)
-       {
-               m_friction = frict;
-       }
-       float   getFriction() const
-       {
-               return m_friction;
-       }
-
-
-};
-
-#endif //COLLISION_OBJECT_H
diff --git a/extern/bullet/Bullet/CollisionDispatch/CollisionWorld.cpp b/extern/bullet/Bullet/CollisionDispatch/CollisionWorld.cpp
deleted file mode 100644 (file)
index bc4413c..0000000
+++ /dev/null
@@ -1,320 +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 "CollisionWorld.h"
-#include "CollisionDispatcher.h"
-#include "CollisionDispatch/CollisionObject.h"
-#include "CollisionShapes/CollisionShape.h"
-#include "CollisionShapes/SphereShape.h" //for raycasting
-#include "CollisionShapes/TriangleMeshShape.h" //for raycasting
-#include "NarrowPhaseCollision/RaycastCallback.h"
-#include "CollisionShapes/CompoundShape.h"
-
-#include "NarrowPhaseCollision/SubSimplexConvexCast.h"
-#include "BroadphaseCollision/BroadphaseInterface.h"
-#include "AabbUtil2.h"
-
-#include <algorithm>
-
-CollisionWorld::~CollisionWorld()
-{
-       //clean up remaining objects
-       std::vector<CollisionObject*>::iterator i;
-
-       int index = 0;
-       for (i=m_collisionObjects.begin();
-       !(i==m_collisionObjects.end()); i++)
-
-       {
-               CollisionObject* collisionObject= (*i);
-               
-               BroadphaseProxy* bp = collisionObject->m_broadphaseHandle;
-               if (bp)
-               {
-                       //
-                       // only clear the cached algorithms
-                       //
-                       GetBroadphase()->CleanProxyFromPairs(bp);
-                       GetBroadphase()->DestroyProxy(bp);
-               }
-       }
-
-}
-
-
-
-
-
-
-
-
-
-
-void   CollisionWorld::AddCollisionObject(CollisionObject* collisionObject,short int collisionFilterGroup,short int collisionFilterMask)
-{
-               m_collisionObjects.push_back(collisionObject);
-
-               //calculate new AABB
-               SimdTransform trans = collisionObject->m_worldTransform;
-
-               SimdVector3     minAabb;
-               SimdVector3     maxAabb;
-               collisionObject->m_collisionShape->GetAabb(trans,minAabb,maxAabb);
-
-               int type = collisionObject->m_collisionShape->GetShapeType();
-               collisionObject->m_broadphaseHandle = GetBroadphase()->CreateProxy(
-                       minAabb,
-                       maxAabb,
-                       type,
-                       collisionObject,
-                       collisionFilterGroup,
-                       collisionFilterMask
-                       );
-               
-
-
-
-}
-
-void   CollisionWorld::PerformDiscreteCollisionDetection()
-{
-       DispatcherInfo  dispatchInfo;
-       dispatchInfo.m_timeStep = 0.f;
-       dispatchInfo.m_stepCount = 0;
-
-       //update aabb (of all moved objects)
-
-       SimdVector3 aabbMin,aabbMax;
-       for (size_t i=0;i<m_collisionObjects.size();i++)
-       {
-               m_collisionObjects[i]->m_collisionShape->GetAabb(m_collisionObjects[i]->m_worldTransform,aabbMin,aabbMax);
-               m_pairCache->SetAabb(m_collisionObjects[i]->m_broadphaseHandle,aabbMin,aabbMax);
-       }
-
-       Dispatcher* dispatcher = GetDispatcher();
-       if (dispatcher)
-               dispatcher->DispatchAllCollisionPairs(&m_pairCache->GetOverlappingPair(0),m_pairCache->GetNumOverlappingPairs(),dispatchInfo);
-
-}
-
-
-void   CollisionWorld::RemoveCollisionObject(CollisionObject* collisionObject)
-{
-       
-       
-       //bool removeFromBroadphase = false;
-       
-       {
-               
-               BroadphaseProxy* bp = collisionObject->m_broadphaseHandle;
-               if (bp)
-               {
-                       //
-                       // only clear the cached algorithms
-                       //
-                       GetBroadphase()->CleanProxyFromPairs(bp);
-                       GetBroadphase()->DestroyProxy(bp);
-                       collisionObject->m_broadphaseHandle = 0;
-               }
-       }
-
-
-       std::vector<CollisionObject*>::iterator i =     std::find(m_collisionObjects.begin(), m_collisionObjects.end(), collisionObject);
-               
-       if (!(i == m_collisionObjects.end()))
-               {
-                       std::swap(*i, m_collisionObjects.back());
-                       m_collisionObjects.pop_back();
-               }
-}
-
-void   RayTestSingle(const SimdTransform& rayFromTrans,const SimdTransform& rayToTrans,
-                                         CollisionObject* collisionObject,
-                                         const CollisionShape* collisionShape,
-                                         const SimdTransform& colObjWorldTransform,
-                                         CollisionWorld::RayResultCallback& resultCallback)
-{
-       
-       SphereShape pointShape(0.0f);
-
-       if (collisionShape->IsConvex())
-                       {
-                               ConvexCast::CastResult castResult;
-                               castResult.m_fraction = 1.f;//??
-
-                               ConvexShape* convexShape = (ConvexShape*) collisionShape;
-                               VoronoiSimplexSolver    simplexSolver;
-                               SubsimplexConvexCast convexCaster(&pointShape,convexShape,&simplexSolver);
-                               //GjkConvexCast convexCaster(&pointShape,convexShape,&simplexSolver);
-                               //ContinuousConvexCollision convexCaster(&pointShape,convexShape,&simplexSolver,0);
-                               
-                               if (convexCaster.calcTimeOfImpact(rayFromTrans,rayToTrans,colObjWorldTransform,colObjWorldTransform,castResult))
-                               {
-                                       //add hit
-                                       if (castResult.m_normal.length2() > 0.0001f)
-                                       {
-                                               castResult.m_normal.normalize();
-                                               if (castResult.m_fraction < resultCallback.m_closestHitFraction)
-                                               {
-                                                       
-
-                                                       CollisionWorld::LocalRayResult localRayResult
-                                                               (
-                                                                       collisionObject, 
-                                                                       0,
-                                                                       castResult.m_normal,
-                                                                       castResult.m_fraction
-                                                               );
-
-                                                       resultCallback.AddSingleResult(localRayResult);
-
-                                               }
-                                       }
-                               }
-                       }
-                       else
-                       {
-                               
-                               if (collisionShape->IsConcave())
-                                       {
-
-                                               TriangleMeshShape* triangleMesh = (TriangleMeshShape*)collisionShape;
-                                               
-                                               SimdTransform worldTocollisionObject = colObjWorldTransform.inverse();
-
-                                               SimdVector3 rayFromLocal = worldTocollisionObject * rayFromTrans.getOrigin();
-                                               SimdVector3 rayToLocal = worldTocollisionObject * rayToTrans.getOrigin();
-
-                                               //ConvexCast::CastResult
-
-                                               struct BridgeTriangleRaycastCallback : public TriangleRaycastCallback 
-                                               {
-                                                       CollisionWorld::RayResultCallback* m_resultCallback;
-                                                       CollisionObject*        m_collisionObject;
-                                                       TriangleMeshShape*      m_triangleMesh;
-
-                                                       BridgeTriangleRaycastCallback( const SimdVector3& from,const SimdVector3& to,
-                                                               CollisionWorld::RayResultCallback* resultCallback, CollisionObject* collisionObject,TriangleMeshShape*  triangleMesh):
-                                                               TriangleRaycastCallback(from,to),
-                                                                       m_resultCallback(resultCallback),
-                                                                       m_collisionObject(collisionObject),
-                                                                       m_triangleMesh(triangleMesh)
-                                                               {
-                                                               }
-
-
-                                                       virtual float ReportHit(const SimdVector3& hitNormalLocal, float hitFraction, int partId, int triangleIndex )
-                                                       {
-                                                               CollisionWorld::LocalShapeInfo  shapeInfo;
-                                                               shapeInfo.m_shapePart = partId;
-                                                               shapeInfo.m_triangleIndex = triangleIndex;
-                                                               
-                                                               CollisionWorld::LocalRayResult rayResult
-                                                               (m_collisionObject, 
-                                                                       &shapeInfo,
-                                                                       hitNormalLocal,
-                                                                       hitFraction);
-                                                               
-                                                               return m_resultCallback->AddSingleResult(rayResult);
-                                                               
-                                                               
-                                                       }
-       
-                                               };
-
-
-                                               BridgeTriangleRaycastCallback   rcb(rayFromLocal,rayToLocal,&resultCallback,collisionObject,triangleMesh);
-                                               rcb.m_hitFraction = resultCallback.m_closestHitFraction;
-
-                                               SimdVector3 rayAabbMinLocal = rayFromLocal;
-                                               rayAabbMinLocal.setMin(rayToLocal);
-                                               SimdVector3 rayAabbMaxLocal = rayFromLocal;
-                                               rayAabbMaxLocal.setMax(rayToLocal);
-
-                                               triangleMesh->ProcessAllTriangles(&rcb,rayAabbMinLocal,rayAabbMaxLocal);
-                                                                                       
-                                       } else
-                                       {
-                                               //todo: use AABB tree or other BVH acceleration structure!
-                                               if (collisionShape->IsCompound())
-                                               {
-                                                       const CompoundShape* compoundShape = static_cast<const CompoundShape*>(collisionShape);
-                                                       int i=0;
-                                                       for (i=0;i<compoundShape->GetNumChildShapes();i++)
-                                                       {
-                                                               SimdTransform childTrans = compoundShape->GetChildTransform(i);
-                                                               const CollisionShape* childCollisionShape = compoundShape->GetChildShape(i);
-                                                               SimdTransform childWorldTrans = colObjWorldTransform * childTrans;
-                                                               RayTestSingle(rayFromTrans,rayToTrans,
-                                                                       collisionObject,
-                                                                       childCollisionShape,
-                                                                       childWorldTrans,
-                                                                       resultCallback);
-
-                                                       }
-
-
-                                               }
-                                       }
-                       }
-}
-
-void   CollisionWorld::RayTest(const SimdVector3& rayFromWorld, const SimdVector3& rayToWorld, RayResultCallback& resultCallback)
-{
-
-       
-       SimdTransform   rayFromTrans,rayToTrans;
-       rayFromTrans.setIdentity();
-       rayFromTrans.setOrigin(rayFromWorld);
-       rayToTrans.setIdentity();
-       
-       rayToTrans.setOrigin(rayToWorld);
-
-       //do culling based on aabb (rayFrom/rayTo)
-       SimdVector3 rayAabbMin = rayFromWorld;
-       SimdVector3 rayAabbMax = rayFromWorld;
-       rayAabbMin.setMin(rayToWorld);
-       rayAabbMax.setMax(rayToWorld);
-
-
-       /// brute force go over all objects. Once there is a broadphase, use that, or
-       /// add a raycast against aabb first.
-       
-       std::vector<CollisionObject*>::iterator iter;
-       
-       for (iter=m_collisionObjects.begin();
-       !(iter==m_collisionObjects.end()); iter++)
-       {
-               
-               CollisionObject*        collisionObject= (*iter);
-
-               //RigidcollisionObject* collisionObject = ctrl->GetRigidcollisionObject();
-               SimdVector3 collisionObjectAabbMin,collisionObjectAabbMax;
-               collisionObject->m_collisionShape->GetAabb(collisionObject->m_worldTransform,collisionObjectAabbMin,collisionObjectAabbMax);
-
-               //check aabb overlap
-
-               if (TestAabbAgainstAabb2(rayAabbMin,rayAabbMax,collisionObjectAabbMin,collisionObjectAabbMax))
-               {
-                       RayTestSingle(rayFromTrans,rayToTrans,
-                               collisionObject,
-                                        collisionObject->m_collisionShape,
-                                         collisionObject->m_worldTransform,
-                                         resultCallback);
-                       
-               }
-       }
-
-}
diff --git a/extern/bullet/Bullet/CollisionDispatch/CollisionWorld.h b/extern/bullet/Bullet/CollisionDispatch/CollisionWorld.h
deleted file mode 100644 (file)
index 8414ba4..0000000
+++ /dev/null
@@ -1,230 +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.
-*/
-
-
-/**
- * @mainpage Bullet Documentation
- *
- * @section intro_sec Introduction
- * Bullet Collision Detection & Physics SDK
- *
- * Bullet is a Collision Detection and Rigid Body Dynamics Library. The Library is Open Source and free for commercial use, under the ZLib license ( http://opensource.org/licenses/zlib-license.php ).
- *
- * There is the Physics Forum for Feedback and General Collision Detection and Physics discussions.
- * Please visit http://www.continuousphysics.com/Bullet/phpBB2/index.php
- *
- * @section install_sec Installation
- *
- * @subsection step1 Step 1: Download
- * You can download the Bullet Physics Library from our website: http://www.continuousphysics.com/Bullet/
- * @subsection step2 Step 2: Building
- * Bullet comes with autogenerated Project Files for Microsoft Visual Studio 6, 7, 7.1 and 8.
- * The main Workspace/Solution is located in Bullet/msvc/8/wksbullet.sln (replace 8 with your version).
- * 
- * Under other platforms, like Linux or Mac OS-X, Bullet can be build using jam, http://www.perforce.com/jam/jam.html .
- * Jam is a build system that can build the library, demos and also autogenerate the MSVC Project Files.
- * So if you are not using MSVC, you can run configure and jam .
- * If you don't have jam installed, you can make jam from the included jam-2.5 sources, or download jam from ftp://ftp.perforce.com/pub/jam/
- * 
- * @subsection step3 Step 3: Testing demos
- * Try to run and experiment with CcdPhysicsDemo executable as a starting point.
- * Bullet can be used in several ways, as Full Rigid Body simulation, as Collision Detector Library or Low Level / Snippets like the GJK Closest Point calculation.
- * The Dependencies can be seen in this documentation under Directories
- * 
- * @subsection step4 Step 4: Integrating in your application, Full Rigid Body Simulation
- * Check out CcdPhysicsDemo how to create a CcdPhysicsEnvironment , CollisionShape and RigidBody, Stepping the simulation and synchronizing your derived version of the PHY_IMotionState class.
- * @subsection step5 Step 5 : Integrate the Collision Detection Library (without Dynamics and other Extras)
- * Bullet Collision Detection can also be used without the Dynamics/Extras.
- * Check out CollisionWorld and CollisionObject, and the CollisionInterfaceDemo. Also in Extras/test_BulletOde.cpp there is a sample Collision Detection integration with Open Dynamics Engine, ODE, http://www.ode.org
- * @subsection step6 Step 6 : Use Snippets like the GJK Closest Point calculation.
- * Bullet has been designed in a modular way keeping dependencies to a minimum. The ConvexHullDistance demo demonstrates direct use of GjkPairDetector.
- *
- * @section copyright Copyright
- * Copyright (C) 2005-2006 Erwin Coumans, some contributions Copyright Gino van den Bergen, Christer Ericson, Simon Hobbs, Ricardo Padrela, F Richter(res), Stephane Redon
- * Special thanks to all visitors of the Bullet Physics forum, and in particular above contributors, Dave Eberle, Dirk Gregorius, Erin Catto, Dave Eberle, Adam Moravanszky,
- * Pierre Terdiman, Kenny Erleben, Russell Smith, Oliver Strunk, Jan Paul van Waveren.
- * 
- */
-
-#ifndef COLLISION_WORLD_H
-#define COLLISION_WORLD_H
-
-
-class CollisionShape;
-class BroadphaseInterface;
-#include "SimdVector3.h"
-#include "SimdTransform.h"
-#include "CollisionObject.h"
-#include "CollisionDispatcher.h" //for definition of CollisionObjectArray
-#include "BroadphaseCollision/OverlappingPairCache.h"
-
-#include <vector>
-
-
-
-///CollisionWorld is interface and container for the collision detection
-class CollisionWorld
-{
-
-       
-
-       std::vector<CollisionObject*>   m_collisionObjects;
-       
-       Dispatcher*     m_dispatcher1;
-
-       OverlappingPairCache*   m_pairCache;
-       
-
-public:
-
-       CollisionWorld(Dispatcher* dispatcher,OverlappingPairCache* pairCache)
-               :m_dispatcher1(dispatcher),
-               m_pairCache(pairCache)
-       {
-
-       }
-       virtual ~CollisionWorld();
-
-
-       BroadphaseInterface*    GetBroadphase()
-       {
-               return m_pairCache;
-       }
-
-       OverlappingPairCache*   GetPairCache()
-       {
-               return m_pairCache;
-       }
-
-
-       Dispatcher*     GetDispatcher()
-       {
-               return m_dispatcher1;
-       }
-
-       ///LocalShapeInfo gives extra information for complex shapes
-       ///Currently, only TriangleMeshShape is available, so it just contains triangleIndex and subpart
-       struct  LocalShapeInfo
-       {
-               int     m_shapePart;
-               int     m_triangleIndex;
-               
-               //const CollisionShape* m_shapeTemp;
-               //const SimdTransform*  m_shapeLocalTransform;
-       };
-
-       struct  LocalRayResult
-       {
-               LocalRayResult(const CollisionObject*   collisionObject, 
-                       LocalShapeInfo* localShapeInfo,
-                       const SimdVector3&              hitNormalLocal,
-                       float hitFraction)
-               :m_collisionObject(collisionObject),
-               m_localShapeInfo(m_localShapeInfo),
-               m_hitNormalLocal(hitNormalLocal),
-               m_hitFraction(hitFraction)
-               {
-               }
-
-               const CollisionObject*  m_collisionObject;
-               LocalShapeInfo*                 m_localShapeInfo;
-               const SimdVector3&              m_hitNormalLocal;
-               float                                   m_hitFraction;
-
-       };
-
-       ///RayResultCallback is used to report new raycast results
-       struct  RayResultCallback
-       {
-               virtual ~RayResultCallback()
-               {
-               }
-               float   m_closestHitFraction;
-               bool    HasHit()
-               {
-                       return (m_closestHitFraction < 1.f);
-               }
-
-               RayResultCallback()
-                       :m_closestHitFraction(1.f)
-               {
-               }
-               virtual float   AddSingleResult(const LocalRayResult& rayResult) = 0;
-       };
-
-       struct  ClosestRayResultCallback : public RayResultCallback
-       {
-               ClosestRayResultCallback(SimdVector3    rayFromWorld,SimdVector3        rayToWorld)
-               :m_rayFromWorld(rayFromWorld),
-               m_rayToWorld(rayToWorld),
-               m_collisionObject(0)
-               {
-               }
-
-               SimdVector3     m_rayFromWorld;//used to calculate hitPointWorld from hitFraction
-               SimdVector3     m_rayToWorld;
-
-               SimdVector3     m_hitNormalWorld;
-               SimdVector3     m_hitPointWorld;
-               const CollisionObject*  m_collisionObject;
-               
-               virtual float   AddSingleResult(const LocalRayResult& rayResult)
-               {
-
-//caller already does the filter on the m_closestHitFraction
-                       assert(rayResult.m_hitFraction <= m_closestHitFraction);
-                       
-                       m_closestHitFraction = rayResult.m_hitFraction;
-                       m_collisionObject = rayResult.m_collisionObject;
-                       m_hitNormalWorld = m_collisionObject->m_worldTransform.getBasis()*rayResult.m_hitNormalLocal;
-                       m_hitPointWorld.setInterpolate3(m_rayFromWorld,m_rayToWorld,rayResult.m_hitFraction);
-                       return rayResult.m_hitFraction;
-               }
-       };
-
-
-       
-
-       int     GetNumCollisionObjects() const
-       {
-               return m_collisionObjects.size();
-       }
-
-       void    RayTest(const SimdVector3& rayFromWorld, const SimdVector3& rayToWorld, RayResultCallback& resultCallback);
-
-
-       void    AddCollisionObject(CollisionObject* collisionObject,short int collisionFilterGroup=1,short int collisionFilterMask=1);
-
-       CollisionObjectArray& GetCollisionObjectArray()
-       {
-               return m_collisionObjects;
-       }
-
-       const CollisionObjectArray& GetCollisionObjectArray() const
-       {
-               return m_collisionObjects;
-       }
-
-
-       void    RemoveCollisionObject(CollisionObject* collisionObject);
-
-       virtual void    PerformDiscreteCollisionDetection();
-
-};
-
-
-#endif //COLLISION_WORLD_H
diff --git a/extern/bullet/Bullet/CollisionDispatch/CompoundCollisionAlgorithm.cpp b/extern/bullet/Bullet/CollisionDispatch/CompoundCollisionAlgorithm.cpp
deleted file mode 100644 (file)
index 0a79d2b..0000000
+++ /dev/null
@@ -1,144 +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 "CollisionDispatch/CompoundCollisionAlgorithm.h"
-#include "CollisionDispatch/CollisionObject.h"
-#include "CollisionShapes/CompoundShape.h"
-
-
-CompoundCollisionAlgorithm::CompoundCollisionAlgorithm( const CollisionAlgorithmConstructionInfo& ci,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1)
-:m_dispatcher(ci.m_dispatcher),
-m_compoundProxy(*proxy0),
-m_otherProxy(*proxy1)
-{
-       CollisionObject* colObj = static_cast<CollisionObject*>(m_compoundProxy.m_clientObject);
-       assert (colObj->m_collisionShape->IsCompound());
-       
-       CompoundShape* compoundShape = static_cast<CompoundShape*>(colObj->m_collisionShape);
-       int numChildren = compoundShape->GetNumChildShapes();
-       m_childProxies.resize( numChildren );
-       int i;
-       for (i=0;i<numChildren;i++)
-       {
-               m_childProxies[i] = BroadphaseProxy(*proxy0);
-       }
-
-       m_childCollisionAlgorithms.resize(numChildren);
-       for (i=0;i<numChildren;i++)
-       {
-               CollisionShape* childShape = compoundShape->GetChildShape(i);
-               CollisionObject* colObj = static_cast<CollisionObject*>(m_childProxies[i].m_clientObject);
-               CollisionShape* orgShape = colObj->m_collisionShape;
-               colObj->m_collisionShape = childShape;
-               m_childCollisionAlgorithms[i] = m_dispatcher->FindAlgorithm(m_childProxies[i],m_otherProxy);
-               colObj->m_collisionShape =orgShape;
-       }
-}
-
-
-CompoundCollisionAlgorithm::~CompoundCollisionAlgorithm()
-{
-       int numChildren = m_childCollisionAlgorithms.size();
-       int i;
-       for (i=0;i<numChildren;i++)
-       {
-               delete m_childCollisionAlgorithms[i];
-       }
-}
-
-void CompoundCollisionAlgorithm::ProcessCollision (BroadphaseProxy* ,BroadphaseProxy* ,const DispatcherInfo& dispatchInfo)
-{
-       CollisionObject* colObj = static_cast<CollisionObject*>(m_compoundProxy.m_clientObject);
-       assert (colObj->m_collisionShape->IsCompound());
-       
-       CompoundShape* compoundShape = static_cast<CompoundShape*>(colObj->m_collisionShape);
-
-       //We will use the OptimizedBVH, AABB tree to cull potential child-overlaps
-       //If both proxies are Compound, we will deal with that directly, by performing sequential/parallel tree traversals
-       //given Proxy0 and Proxy1, if both have a tree, Tree0 and Tree1, this means:
-       //determine overlapping nodes of Proxy1 using Proxy0 AABB against Tree1
-       //then use each overlapping node AABB against Tree0
-       //and vise versa.
-
-
-       int numChildren = m_childCollisionAlgorithms.size();
-       int i;
-       for (i=0;i<numChildren;i++)
-       {
-               //temporarily exchange parent CollisionShape with childShape, and recurse
-               CollisionShape* childShape = compoundShape->GetChildShape(i);
-               CollisionObject* colObj = static_cast<CollisionObject*>(m_childProxies[i].m_clientObject);
-
-               //backup
-               SimdTransform   orgTrans = colObj->m_worldTransform;
-               CollisionShape* orgShape = colObj->m_collisionShape;
-
-               SimdTransform childTrans = compoundShape->GetChildTransform(i);
-               SimdTransform   newChildWorldTrans = orgTrans*childTrans ;
-               colObj->m_worldTransform = newChildWorldTrans;
-
-               colObj->m_collisionShape = childShape;
-               m_childCollisionAlgorithms[i]->ProcessCollision(&m_childProxies[i],&m_otherProxy,dispatchInfo);
-               //revert back
-               colObj->m_collisionShape =orgShape;
-               colObj->m_worldTransform = orgTrans;
-       }
-}
-
-float  CompoundCollisionAlgorithm::CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo)
-{
-       CollisionObject* colObj = static_cast<CollisionObject*>(m_compoundProxy.m_clientObject);
-       assert (colObj->m_collisionShape->IsCompound());
-       
-       CompoundShape* compoundShape = static_cast<CompoundShape*>(colObj->m_collisionShape);
-
-       //We will use the OptimizedBVH, AABB tree to cull potential child-overlaps
-       //If both proxies are Compound, we will deal with that directly, by performing sequential/parallel tree traversals
-       //given Proxy0 and Proxy1, if both have a tree, Tree0 and Tree1, this means:
-       //determine overlapping nodes of Proxy1 using Proxy0 AABB against Tree1
-       //then use each overlapping node AABB against Tree0
-       //and vise versa.
-
-       float hitFraction = 1.f;
-
-       int numChildren = m_childCollisionAlgorithms.size();
-       int i;
-       for (i=0;i<numChildren;i++)
-       {
-               //temporarily exchange parent CollisionShape with childShape, and recurse
-               CollisionShape* childShape = compoundShape->GetChildShape(i);
-               CollisionObject* colObj = static_cast<CollisionObject*>(m_childProxies[i].m_clientObject);
-
-               //backup
-               SimdTransform   orgTrans = colObj->m_worldTransform;
-               CollisionShape* orgShape = colObj->m_collisionShape;
-
-               SimdTransform childTrans = compoundShape->GetChildTransform(i);
-               SimdTransform   newChildWorldTrans = orgTrans*childTrans ;
-               colObj->m_worldTransform = newChildWorldTrans;
-
-               colObj->m_collisionShape = childShape;
-               float frac = m_childCollisionAlgorithms[i]->CalculateTimeOfImpact(&m_childProxies[i],&m_otherProxy,dispatchInfo);
-               if (frac<hitFraction)
-               {
-                       hitFraction = frac;
-               }
-               //revert back
-               colObj->m_collisionShape =orgShape;
-               colObj->m_worldTransform = orgTrans;
-       }
-       return hitFraction;
-
-}
\ No newline at end of file
diff --git a/extern/bullet/Bullet/CollisionDispatch/CompoundCollisionAlgorithm.h b/extern/bullet/Bullet/CollisionDispatch/CompoundCollisionAlgorithm.h
deleted file mode 100644 (file)
index a41d3a8..0000000
+++ /dev/null
@@ -1,56 +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 COMPOUND_COLLISION_ALGORITHM_H
-#define COMPOUND_COLLISION_ALGORITHM_H
-
-#include "BroadphaseCollision/CollisionAlgorithm.h"
-#include "BroadphaseCollision/Dispatcher.h"
-#include "BroadphaseCollision/BroadphaseInterface.h"
-
-#include "NarrowPhaseCollision/PersistentManifold.h"
-class Dispatcher;
-#include "BroadphaseCollision/BroadphaseProxy.h"
-#include <vector>
-
-
-/// CompoundCollisionAlgorithm  supports collision between CompoundCollisionShapes and other collision shapes
-/// Place holder, not fully implemented yet
-class CompoundCollisionAlgorithm  : public CollisionAlgorithm
-{
-       BroadphaseProxy m_compoundProxy;
-       BroadphaseProxy m_otherProxy;
-       std::vector<BroadphaseProxy> m_childProxies;
-       std::vector<CollisionAlgorithm*> m_childCollisionAlgorithms;
-
-       Dispatcher*             m_dispatcher;
-       BroadphaseProxy m_compound;
-
-       BroadphaseProxy m_other;
-
-       
-public:
-
-       CompoundCollisionAlgorithm( const CollisionAlgorithmConstructionInfo& ci,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1);
-
-       virtual ~CompoundCollisionAlgorithm();
-
-       virtual void ProcessCollision (BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-       float   CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-};
-
-#endif //COMPOUND_COLLISION_ALGORITHM_H
diff --git a/extern/bullet/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp b/extern/bullet/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.cpp
deleted file mode 100644 (file)
index 63ed298..0000000
+++ /dev/null
@@ -1,306 +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 "ConvexConcaveCollisionAlgorithm.h"
-#include "CollisionDispatch/CollisionObject.h"
-#include "CollisionShapes/MultiSphereShape.h"
-#include "ConvexConvexAlgorithm.h"
-#include "BroadphaseCollision/BroadphaseProxy.h"
-#include "CollisionShapes/ConcaveShape.h"
-#include "CollisionDispatch/ManifoldResult.h"
-#include "NarrowPhaseCollision/RaycastCallback.h"
-#include "CollisionShapes/TriangleShape.h"
-#include "CollisionShapes/SphereShape.h"
-#include "IDebugDraw.h"
-#include "NarrowPhaseCollision/SubSimplexConvexCast.h"
-
-ConvexConcaveCollisionAlgorithm::ConvexConcaveCollisionAlgorithm( const CollisionAlgorithmConstructionInfo& ci,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1)
-: CollisionAlgorithm(ci),m_convex(*proxy0),m_concave(*proxy1),
-m_ConvexTriangleCallback(ci.m_dispatcher,proxy0,proxy1)
-
-{
-}
-
-ConvexConcaveCollisionAlgorithm::~ConvexConcaveCollisionAlgorithm()
-{
-}
-
-
-
-ConvexTriangleCallback::ConvexTriangleCallback(Dispatcher*  dispatcher,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1):
-  m_convexProxy(proxy0),m_triangleProxy(*proxy1),m_dispatcher(dispatcher),
-       m_dispatchInfoPtr(0)
-{
-
-         //
-         // create the manifold from the dispatcher 'manifold pool'
-         //
-         m_manifoldPtr = m_dispatcher->GetNewManifold(proxy0->m_clientObject,proxy1->m_clientObject);
-
-         ClearCache();
-}
-
-ConvexTriangleCallback::~ConvexTriangleCallback()
-{
-       ClearCache();
-       m_dispatcher->ReleaseManifold( m_manifoldPtr );
-  
-}
-  
-
-void   ConvexTriangleCallback::ClearCache()
-{
-       m_dispatcher->ClearManifold(m_manifoldPtr);
-};
-
-
-
-void ConvexTriangleCallback::ProcessTriangle(SimdVector3* triangle,int partId, int triangleIndex)
-{
-       //just for debugging purposes
-       //printf("triangle %d",m_triangleCount++);
-
-
-       //aabb filter is already applied!       
-
-       CollisionAlgorithmConstructionInfo ci;
-       ci.m_dispatcher = m_dispatcher;
-
-       CollisionObject* ob = static_cast<CollisionObject*>(m_triangleProxy.m_clientObject);
-
-
-       
-       ///debug drawing of the overlapping triangles
-       if (m_dispatchInfoPtr && m_dispatchInfoPtr->m_debugDraw && m_dispatchInfoPtr->m_debugDraw->GetDebugMode() > 0)
-       {
-               SimdVector3 color(255,255,0);
-               SimdTransform& tr = ob->m_worldTransform;
-               m_dispatchInfoPtr->m_debugDraw->DrawLine(tr(triangle[0]),tr(triangle[1]),color);
-               m_dispatchInfoPtr->m_debugDraw->DrawLine(tr(triangle[1]),tr(triangle[2]),color);
-               m_dispatchInfoPtr->m_debugDraw->DrawLine(tr(triangle[2]),tr(triangle[0]),color);
-
-               //SimdVector3 center = triangle[0] + triangle[1]+triangle[2];
-               //center *= 0.333333f;
-               //m_dispatchInfoPtr->m_debugDraw->DrawLine(tr(triangle[0]),tr(center),color);
-               //m_dispatchInfoPtr->m_debugDraw->DrawLine(tr(triangle[1]),tr(center),color);
-               //m_dispatchInfoPtr->m_debugDraw->DrawLine(tr(triangle[2]),tr(center),color);
-
-       }
-
-
-       CollisionObject* colObj = static_cast<CollisionObject*>(m_convexProxy->m_clientObject);
-       
-       if (colObj->m_collisionShape->IsConvex())
-       {
-               TriangleShape tm(triangle[0],triangle[1],triangle[2]);  
-               tm.SetMargin(m_collisionMarginTriangle);
-       
-               
-               CollisionShape* tmpShape = ob->m_collisionShape;
-               ob->m_collisionShape = &tm;
-               
-               ConvexConvexAlgorithm cvxcvxalgo(m_manifoldPtr,ci,m_convexProxy,&m_triangleProxy);
-               cvxcvxalgo.SetShapeIdentifiers(-1,-1,partId,triangleIndex);
-               cvxcvxalgo.ProcessCollision(m_convexProxy,&m_triangleProxy,*m_dispatchInfoPtr);
-               ob->m_collisionShape = tmpShape;
-
-       }
-
-       
-
-}
-
-
-
-void   ConvexTriangleCallback::SetTimeStepAndCounters(float collisionMarginTriangle,const DispatcherInfo& dispatchInfo)
-{
-       m_dispatchInfoPtr = &dispatchInfo;
-       m_collisionMarginTriangle = collisionMarginTriangle;
-
-       //recalc aabbs
-       CollisionObject* convexBody = (CollisionObject* )m_convexProxy->m_clientObject;
-       CollisionObject* triBody = (CollisionObject* )m_triangleProxy.m_clientObject;
-
-       SimdTransform convexInTriangleSpace;
-       convexInTriangleSpace = triBody->m_worldTransform.inverse() * convexBody->m_worldTransform;
-
-       CollisionShape* convexShape = static_cast<CollisionShape*>(convexBody->m_collisionShape);
-       //CollisionShape* triangleShape = static_cast<CollisionShape*>(triBody->m_collisionShape);
-
-       convexShape->GetAabb(convexInTriangleSpace,m_aabbMin,m_aabbMax);
-
-       float extraMargin = collisionMarginTriangle;//CONVEX_DISTANCE_MARGIN;//+0.1f;
-
-       SimdVector3 extra(extraMargin,extraMargin,extraMargin);
-
-       m_aabbMax += extra;
-       m_aabbMin -= extra;
-       
-}
-
-void ConvexConcaveCollisionAlgorithm::ClearCache()
-{
-       m_ConvexTriangleCallback.ClearCache();
-
-}
-
-void ConvexConcaveCollisionAlgorithm::ProcessCollision (BroadphaseProxy* ,BroadphaseProxy* ,const DispatcherInfo& dispatchInfo)
-{
-       
-       CollisionObject* convexBody = static_cast<CollisionObject* >(m_convex.m_clientObject);
-       CollisionObject* triBody = static_cast<CollisionObject* >(m_concave.m_clientObject);
-
-       if (triBody->m_collisionShape->IsConcave())
-       {
-
-               if (!m_dispatcher->NeedsCollision(m_convex,m_concave))
-                       return;
-
-               
-
-               CollisionObject*        triOb = static_cast<CollisionObject*>(m_concave.m_clientObject);
-               ConcaveShape* concaveShape = static_cast<ConcaveShape*>( triOb->m_collisionShape);
-               
-               if (convexBody->m_collisionShape->IsConvex())
-               {
-                       float collisionMarginTriangle = concaveShape->GetMargin();
-                                       
-                       m_ConvexTriangleCallback.SetTimeStepAndCounters(collisionMarginTriangle,dispatchInfo);
-
-                       //Disable persistency. previously, some older algorithm calculated all contacts in one go, so you can clear it here.
-                       //m_dispatcher->ClearManifold(m_ConvexTriangleCallback.m_manifoldPtr);
-
-
-                       m_ConvexTriangleCallback.m_manifoldPtr->SetBodies(m_convex.m_clientObject,m_concave.m_clientObject);
-
-                       concaveShape->ProcessAllTriangles( &m_ConvexTriangleCallback,m_ConvexTriangleCallback.GetAabbMin(),m_ConvexTriangleCallback.GetAabbMax());
-                       
-       
-               }
-
-       }
-
-}
-
-
-float ConvexConcaveCollisionAlgorithm::CalculateTimeOfImpact(BroadphaseProxy* ,BroadphaseProxy* ,const DispatcherInfo& dispatchInfo)
-{
-
-       //quick approximation using raycast, todo: hook up to the continuous collision detection (one of the ConvexCast)
-       CollisionObject* convexbody = (CollisionObject* )m_convex.m_clientObject;
-       CollisionObject* triBody = static_cast<CollisionObject* >(m_concave.m_clientObject);
-
-       //only perform CCD above a certain treshold, this prevents blocking on the long run
-       //because object in a blocked ccd state (hitfraction<1) get their linear velocity halved each frame...
-       float squareMot0 = (convexbody->m_interpolationWorldTransform.getOrigin() - convexbody->m_worldTransform.getOrigin()).length2();
-       if (squareMot0 < convexbody->m_ccdSquareMotionTreshold)
-       {
-               return 1.f;
-       }
-
-       //const SimdVector3& from = convexbody->m_worldTransform.getOrigin();
-       //SimdVector3 to = convexbody->m_interpolationWorldTransform.getOrigin();
-       //todo: only do if the motion exceeds the 'radius'
-
-       SimdTransform convexFromLocal = triBody->m_cachedInvertedWorldTransform * convexbody->m_worldTransform;
-       SimdTransform convexToLocal = triBody->m_cachedInvertedWorldTransform * convexbody->m_interpolationWorldTransform;
-
-       struct LocalTriangleSphereCastCallback  : public TriangleCallback
-       {
-               SimdTransform m_ccdSphereFromTrans;
-               SimdTransform m_ccdSphereToTrans;
-               SimdTransform   m_meshTransform;
-
-               float   m_ccdSphereRadius;
-               float   m_hitFraction;
-       
-
-               LocalTriangleSphereCastCallback(const SimdTransform& from,const SimdTransform& to,float ccdSphereRadius,float hitFraction)
-                       :m_ccdSphereFromTrans(from),
-                       m_ccdSphereToTrans(to),
-                       m_ccdSphereRadius(ccdSphereRadius),
-                       m_hitFraction(hitFraction)
-               {                       
-               }
-               
-               
-               virtual void ProcessTriangle(SimdVector3* triangle, int partId, int triangleIndex)
-               {
-                       //do a swept sphere for now
-                       SimdTransform ident;
-                       ident.setIdentity();
-                       ConvexCast::CastResult castResult;
-                       castResult.m_fraction = m_hitFraction;
-                       SphereShape     pointShape(m_ccdSphereRadius);
-                       TriangleShape   triShape(triangle[0],triangle[1],triangle[2]);
-                       VoronoiSimplexSolver    simplexSolver;
-                       SubsimplexConvexCast convexCaster(&pointShape,&triShape,&simplexSolver);
-                       //GjkConvexCast convexCaster(&pointShape,convexShape,&simplexSolver);
-                       //ContinuousConvexCollision convexCaster(&pointShape,convexShape,&simplexSolver,0);
-                       //local space?
-
-                       if (convexCaster.calcTimeOfImpact(m_ccdSphereFromTrans,m_ccdSphereToTrans,
-                               ident,ident,castResult))
-                       {
-                               if (m_hitFraction > castResult.m_fraction)
-                                       m_hitFraction = castResult.m_fraction;
-                       }
-
-               }
-
-       };
-
-
-       
-
-       
-       if (triBody->m_collisionShape->IsConcave())
-       {
-               SimdVector3 rayAabbMin = convexFromLocal.getOrigin();
-               rayAabbMin.setMin(convexToLocal.getOrigin());
-               SimdVector3 rayAabbMax = convexFromLocal.getOrigin();
-               rayAabbMax.setMax(convexToLocal.getOrigin());
-               rayAabbMin -= SimdVector3(convexbody->m_ccdSweptShereRadius,convexbody->m_ccdSweptShereRadius,convexbody->m_ccdSweptShereRadius);
-               rayAabbMax += SimdVector3(convexbody->m_ccdSweptShereRadius,convexbody->m_ccdSweptShereRadius,convexbody->m_ccdSweptShereRadius);
-
-               float curHitFraction = 1.f; //is this available?
-               LocalTriangleSphereCastCallback raycastCallback(convexFromLocal,convexToLocal,
-               convexbody->m_ccdSweptShereRadius,curHitFraction);
-
-               raycastCallback.m_hitFraction = convexbody->m_hitFraction;
-
-               CollisionObject* concavebody = (CollisionObject* )m_concave.m_clientObject;
-
-               ConcaveShape* triangleMesh = (ConcaveShape*) concavebody->m_collisionShape;
-               
-               if (triangleMesh)
-               {
-                       triangleMesh->ProcessAllTriangles(&raycastCallback,rayAabbMin,rayAabbMax);
-               }
-       
-
-
-               if (raycastCallback.m_hitFraction < convexbody->m_hitFraction)
-               {
-                       convexbody->m_hitFraction = raycastCallback.m_hitFraction;
-                       return raycastCallback.m_hitFraction;
-               }
-       }
-
-       return 1.f;
-
-}
diff --git a/extern/bullet/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.h b/extern/bullet/Bullet/CollisionDispatch/ConvexConcaveCollisionAlgorithm.h
deleted file mode 100644 (file)
index 47b4de3..0000000
+++ /dev/null
@@ -1,95 +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 CONVEX_CONCAVE_COLLISION_ALGORITHM_H
-#define CONVEX_CONCAVE_COLLISION_ALGORITHM_H
-
-#include "BroadphaseCollision/CollisionAlgorithm.h"
-#include "BroadphaseCollision/Dispatcher.h"
-#include "BroadphaseCollision/BroadphaseInterface.h"
-#include "CollisionShapes/TriangleCallback.h"
-#include "NarrowPhaseCollision/PersistentManifold.h"
-class Dispatcher;
-#include "BroadphaseCollision/BroadphaseProxy.h"
-
-
-///For each triangle in the concave mesh that overlaps with the AABB of a convex (m_convexProxy), ProcessTriangle is called.
-class ConvexTriangleCallback : public TriangleCallback
-{
-       BroadphaseProxy* m_convexProxy;
-       BroadphaseProxy m_triangleProxy;
-
-       SimdVector3     m_aabbMin;
-       SimdVector3     m_aabbMax ;
-
-       Dispatcher*     m_dispatcher;
-       const DispatcherInfo* m_dispatchInfoPtr;
-       float m_collisionMarginTriangle;
-       
-public:
-int    m_triangleCount;
-       
-       PersistentManifold*     m_manifoldPtr;
-
-       ConvexTriangleCallback(Dispatcher* dispatcher,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1);
-
-       void    SetTimeStepAndCounters(float collisionMarginTriangle,const DispatcherInfo& dispatchInfo);
-
-       virtual ~ConvexTriangleCallback();
-
-       virtual void ProcessTriangle(SimdVector3* triangle, int partId, int triangleIndex);
-       
-       void ClearCache();
-
-       inline const SimdVector3& GetAabbMin() const
-       {
-               return m_aabbMin;
-       }
-       inline const SimdVector3& GetAabbMax() const
-       {
-               return m_aabbMax;
-       }
-
-};
-
-
-
-
-/// ConvexConcaveCollisionAlgorithm  supports collision between convex shapes and (concave) trianges meshes.
-class ConvexConcaveCollisionAlgorithm  : public CollisionAlgorithm
-{
-
-       BroadphaseProxy m_convex;
-
-       BroadphaseProxy m_concave;
-
-       ConvexTriangleCallback m_ConvexTriangleCallback;
-
-
-public:
-
-       ConvexConcaveCollisionAlgorithm( const CollisionAlgorithmConstructionInfo& ci,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1);
-
-       virtual ~ConvexConcaveCollisionAlgorithm();
-
-       virtual void ProcessCollision (BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-       float   CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-       void    ClearCache();
-
-};
-
-#endif //CONVEX_CONCAVE_COLLISION_ALGORITHM_H
diff --git a/extern/bullet/Bullet/CollisionDispatch/ConvexConvexAlgorithm.cpp b/extern/bullet/Bullet/CollisionDispatch/ConvexConvexAlgorithm.cpp
deleted file mode 100644 (file)
index 765ae86..0000000
+++ /dev/null
@@ -1,432 +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 "ConvexConvexAlgorithm.h"
-
-#include <stdio.h>
-#include "NarrowPhaseCollision/DiscreteCollisionDetectorInterface.h"
-#include "BroadphaseCollision/BroadphaseInterface.h"
-#include "CollisionDispatch/CollisionObject.h"
-#include "CollisionShapes/ConvexShape.h"
-#include "NarrowPhaseCollision/GjkPairDetector.h"
-#include "BroadphaseCollision/BroadphaseProxy.h"
-#include "CollisionDispatch/CollisionDispatcher.h"
-#include "CollisionShapes/BoxShape.h"
-#include "CollisionDispatch/ManifoldResult.h"
-
-#include "NarrowPhaseCollision/ConvexPenetrationDepthSolver.h"
-#include "NarrowPhaseCollision/ContinuousConvexCollision.h"
-#include "NarrowPhaseCollision/SubSimplexConvexCast.h"
-#include "NarrowPhaseCollision/GjkConvexCast.h"
-
-
-
-#include "CollisionShapes/MinkowskiSumShape.h"
-#include "NarrowPhaseCollision/VoronoiSimplexSolver.h"
-#include "CollisionShapes/SphereShape.h"
-
-#include "NarrowPhaseCollision/MinkowskiPenetrationDepthSolver.h"
-
-//#include "NarrowPhaseCollision/EpaPenetrationDepthSolver.h"
-
-#ifdef WIN32
-#if _MSC_VER >= 1310
-//only use SIMD Hull code under Win32
-#ifdef TEST_HULL
-#define USE_HULL 1
-#endif //TEST_HULL
-#endif //_MSC_VER 
-#endif //WIN32
-
-
-#ifdef USE_HULL
-
-#include "NarrowPhaseCollision/Hull.h"
-#include "NarrowPhaseCollision/HullContactCollector.h"
-
-
-#endif //USE_HULL
-
-bool gUseEpa = false;
-
-
-#ifdef WIN32
-void DrawRasterizerLine(const float* from,const float* to,int color);
-#endif
-
-
-
-
-//#define PROCESS_SINGLE_CONTACT
-#ifdef WIN32
-bool gForceBoxBox = false;//false;//true;
-
-#else
-bool gForceBoxBox = false;//false;//true;
-#endif
-bool gBoxBoxUseGjk = true;//true;//false;
-bool gDisableConvexCollision = false;
-
-
-
-ConvexConvexAlgorithm::ConvexConvexAlgorithm(PersistentManifold* mf,const CollisionAlgorithmConstructionInfo& ci,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1)
-: CollisionAlgorithm(ci),
-m_gjkPairDetector(0,0,&m_simplexSolver,0),
-m_useEpa(!gUseEpa),
-m_box0(*proxy0),
-m_box1(*proxy1),
-m_ownManifold (false),
-m_manifoldPtr(mf),
-m_lowLevelOfDetail(false)
-{
-       CheckPenetrationDepthSolver();
-
-       {
-               if (!m_manifoldPtr && m_dispatcher->NeedsCollision(m_box0,m_box1))
-               {
-                       m_manifoldPtr = m_dispatcher->GetNewManifold(proxy0->m_clientObject,proxy1->m_clientObject);
-                       m_ownManifold = true;
-               }
-       }
-
-}
-
-
-
-ConvexConvexAlgorithm::~ConvexConvexAlgorithm()
-{
-       if (m_ownManifold)
-       {
-               if (m_manifoldPtr)
-                       m_dispatcher->ReleaseManifold(m_manifoldPtr);
-       }
-}
-
-void   ConvexConvexAlgorithm ::SetLowLevelOfDetail(bool useLowLevel)
-{
-       m_lowLevelOfDetail = useLowLevel;
-}
-
-
-
-class FlippedContactResult : public DiscreteCollisionDetectorInterface::Result
-{
-       DiscreteCollisionDetectorInterface::Result* m_org;
-
-public:
-
-       FlippedContactResult(DiscreteCollisionDetectorInterface::Result* org)
-               : m_org(org)
-       {
-
-       }
-
-       virtual void AddContactPoint(const SimdVector3& normalOnBInWorld,const SimdVector3& pointInWorld,float depth)
-       {
-               SimdVector3 flippedNormal = -normalOnBInWorld;
-
-               m_org->AddContactPoint(flippedNormal,pointInWorld,depth);
-       }
-
-};
-
-static MinkowskiPenetrationDepthSolver gPenetrationDepthSolver;
-
-//static EpaPenetrationDepthSolver     gEpaPenetrationDepthSolver;
-
-#ifdef USE_EPA
-Solid3EpaPenetrationDepth      gSolidEpaPenetrationSolver;
-#endif //USE_EPA
-
-void   ConvexConvexAlgorithm::CheckPenetrationDepthSolver()
-{
-       if (m_useEpa != gUseEpa)
-       {
-               m_useEpa  = gUseEpa;
-               if (m_useEpa)
-               {
-                       
-               //      m_gjkPairDetector.SetPenetrationDepthSolver(&gEpaPenetrationDepthSolver);
-                                               
-                       
-               } else
-               {
-                       m_gjkPairDetector.SetPenetrationDepthSolver(&gPenetrationDepthSolver);
-               }
-       }
-       
-}
-
-#ifdef USE_HULL
-
-Transform      GetTransformFromSimdTransform(const SimdTransform& trans)
-{
-                       //const SimdVector3& rowA0 = trans.getBasis().getRow(0);
-                       ////const SimdVector3& rowA1 = trans.getBasis().getRow(1);
-                       //const SimdVector3& rowA2 = trans.getBasis().getRow(2);
-
-                       SimdVector3 rowA0 = trans.getBasis().getColumn(0);
-                       SimdVector3 rowA1 = trans.getBasis().getColumn(1);
-                       SimdVector3 rowA2 = trans.getBasis().getColumn(2);
-
-
-                       Vector3 x(rowA0.getX(),rowA0.getY(),rowA0.getZ());
-                       Vector3 y(rowA1.getX(),rowA1.getY(),rowA1.getZ());
-                       Vector3 z(rowA2.getX(),rowA2.getY(),rowA2.getZ());
-                       
-                       Matrix33 ornA(x,y,z);
-       
-                       Point3 transA(
-                               trans.getOrigin().getX(),
-                               trans.getOrigin().getY(),
-                               trans.getOrigin().getZ());
-
-                       return Transform(ornA,transA);
-}
-
-class ManifoldResultCollector : public HullContactCollector
-{
-public:
-       ManifoldResult& m_manifoldResult;
-
-       ManifoldResultCollector(ManifoldResult& manifoldResult)
-               :m_manifoldResult(manifoldResult)
-       {
-
-       }
-       
-
-       virtual ~ManifoldResultCollector() {};
-
-       virtual int     BatchAddContactGroup(const Separation& sep,int numContacts,const Vector3& normalWorld,const Vector3& tangent,const Point3* positionsWorld,const float* depths)
-       {
-               for (int i=0;i<numContacts;i++)
-               {
-                       //printf("numContacts = %i\n",numContacts);
-                       SimdVector3 normalOnBInWorld(sep.m_axis.GetX(),sep.m_axis.GetY(),sep.m_axis.GetZ());
-                       //normalOnBInWorld.normalize();
-                       SimdVector3 pointInWorld(positionsWorld[i].GetX(),positionsWorld[i].GetY(),positionsWorld[i].GetZ());
-                       float depth = -depths[i];
-                       m_manifoldResult.AddContactPoint(normalOnBInWorld,pointInWorld,depth);
-
-               }
-               return 0;
-       }
-
-       virtual int             GetMaxNumContacts() const
-       {
-               return 4;
-       }
-
-};
-#endif //USE_HULL
-
-
-//
-// Convex-Convex collision algorithm
-//
-void ConvexConvexAlgorithm ::ProcessCollision (BroadphaseProxy* ,BroadphaseProxy* ,const DispatcherInfo& dispatchInfo)
-{
-
-       if (!m_manifoldPtr)
-               return;
-
-       CheckPenetrationDepthSolver();
-
-//     printf("ConvexConvexAlgorithm::ProcessCollision\n");
-
-       bool needsCollision = m_dispatcher->NeedsCollision(m_box0,m_box1);
-       if (!needsCollision)
-               return;
-       
-       CollisionObject*        col0 = static_cast<CollisionObject*>(m_box0.m_clientObject);
-       CollisionObject*        col1 = static_cast<CollisionObject*>(m_box1.m_clientObject);
-
-#ifdef USE_HULL
-
-
-       if (dispatchInfo.m_enableSatConvex)
-       {
-               if ((col0->m_collisionShape->IsPolyhedral()) &&
-                       (col1->m_collisionShape->IsPolyhedral()))
-               {
-               
-                       
-                       PolyhedralConvexShape* polyhedron0 = static_cast<PolyhedralConvexShape*>(col0->m_collisionShape);
-                       PolyhedralConvexShape* polyhedron1 = static_cast<PolyhedralConvexShape*>(col1->m_collisionShape);
-                       if (polyhedron0->m_optionalHull && polyhedron1->m_optionalHull)
-                       {
-                               //printf("Hull-Hull");
-
-                               //todo: cache this information, rather then initialize
-                               Separation sep;
-                               sep.m_featureA = 0;
-                               sep.m_featureB = 0;
-                               sep.m_contact = -1;
-                               sep.m_separator = 0;
-
-                               //convert from SimdTransform to Transform
-                               
-                               Transform trA = GetTransformFromSimdTransform(col0->m_worldTransform);
-                               Transform trB = GetTransformFromSimdTransform(col1->m_worldTransform);
-
-                               //either use persistent manifold or clear it every time
-                               m_dispatcher->ClearManifold(m_manifoldPtr);
-                               ManifoldResult* resultOut = m_dispatcher->GetNewManifoldResult(col0,col1,m_manifoldPtr);
-
-                               ManifoldResultCollector hullContactCollector(*resultOut);
-                               
-                               Hull::ProcessHullHull(sep,*polyhedron0->m_optionalHull,*polyhedron1->m_optionalHull,
-                                       trA,trB,&hullContactCollector);
-
-                               
-                               //user provided hull's, so we use SAT Hull collision detection
-                               return;
-                       }
-               }
-       }
-
-#endif //USE_HULL
-
-       
-       ManifoldResult* resultOut = m_dispatcher->GetNewManifoldResult(col0,col1,m_manifoldPtr);
-       
-       ConvexShape* min0 = static_cast<ConvexShape*>(col0->m_collisionShape);
-       ConvexShape* min1 = static_cast<ConvexShape*>(col1->m_collisionShape);
-       
-       GjkPairDetector::ClosestPointInput input;
-
-
-       //TODO: if (dispatchInfo.m_useContinuous)
-       m_gjkPairDetector.SetMinkowskiA(min0);
-       m_gjkPairDetector.SetMinkowskiB(min1);
-       input.m_maximumDistanceSquared = min0->GetMargin() + min1->GetMargin() + m_manifoldPtr->GetContactBreakingTreshold();
-       input.m_maximumDistanceSquared*= input.m_maximumDistanceSquared;
-       
-//     input.m_maximumDistanceSquared = 1e30f;
-       
-       input.m_transformA = col0->m_worldTransform;
-       input.m_transformB = col1->m_worldTransform;
-    
-       m_gjkPairDetector.GetClosestPoints(input,*resultOut,dispatchInfo.m_debugDraw);
-
-       m_dispatcher->ReleaseManifoldResult(resultOut);
-}
-
-
-
-bool disableCcd = false;
-float  ConvexConvexAlgorithm::CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo)
-{
-       ///Rather then checking ALL pairs, only calculate TOI when motion exceeds treshold
-    
-       ///Linear motion for one of objects needs to exceed m_ccdSquareMotionTreshold
-       ///col0->m_worldTransform,
-       float resultFraction = 1.f;
-
-       CollisionObject* col1 = static_cast<CollisionObject*>(m_box1.m_clientObject);
-       CollisionObject* col0 = static_cast<CollisionObject*>(m_box0.m_clientObject);
-
-       float squareMot0 = (col0->m_interpolationWorldTransform.getOrigin() - col0->m_worldTransform.getOrigin()).length2();
-       float squareMot1 = (col1->m_interpolationWorldTransform.getOrigin() - col1->m_worldTransform.getOrigin()).length2();
-    
-       if (squareMot0 < col0->m_ccdSquareMotionTreshold &&
-               squareMot0 < col0->m_ccdSquareMotionTreshold)
-               return resultFraction;
-
-
-
-       if (disableCcd)
-               return 1.f;
-
-       CheckPenetrationDepthSolver();
-
-       //An adhoc way of testing the Continuous Collision Detection algorithms
-       //One object is approximated as a sphere, to simplify things
-       //Starting in penetration should report no time of impact
-       //For proper CCD, better accuracy and handling of 'allowed' penetration should be added
-       //also the mainloop of the physics should have a kind of toi queue (something like Brian Mirtich's application of Timewarp for Rigidbodies)
-
-       bool needsCollision = m_dispatcher->NeedsCollision(m_box0,m_box1);
-
-       if (!needsCollision)
-               return 1.f;
-       
-               
-       /// Convex0 against sphere for Convex1
-       {
-               ConvexShape* convex0 = static_cast<ConvexShape*>(col0->m_collisionShape);
-
-               SphereShape     sphere1(col1->m_ccdSweptShereRadius); //todo: allow non-zero sphere sizes, for better approximation
-               ConvexCast::CastResult result;
-               VoronoiSimplexSolver voronoiSimplex;
-               //SubsimplexConvexCast ccd0(&sphere,min0,&voronoiSimplex);
-               ///Simplification, one object is simplified as a sphere
-               GjkConvexCast ccd1( convex0 ,&sphere1,&voronoiSimplex);
-               //ContinuousConvexCollision ccd(min0,min1,&voronoiSimplex,0);
-               if (ccd1.calcTimeOfImpact(col0->m_worldTransform,col0->m_interpolationWorldTransform,
-                       col1->m_worldTransform,col1->m_interpolationWorldTransform,result))
-               {
-               
-                       //store result.m_fraction in both bodies
-               
-                       if (col0->m_hitFraction > result.m_fraction)
-                               col0->m_hitFraction  = result.m_fraction;
-
-                       if (col1->m_hitFraction > result.m_fraction)
-                               col1->m_hitFraction  = result.m_fraction;
-
-                       if (resultFraction > result.m_fraction)
-                               resultFraction = result.m_fraction;
-
-               }
-               
-               
-
-
-       }
-
-       /// Sphere (for convex0) against Convex1
-       {
-               ConvexShape* convex1 = static_cast<ConvexShape*>(col1->m_collisionShape);
-
-               SphereShape     sphere0(col0->m_ccdSweptShereRadius); //todo: allow non-zero sphere sizes, for better approximation
-               ConvexCast::CastResult result;
-               VoronoiSimplexSolver voronoiSimplex;
-               //SubsimplexConvexCast ccd0(&sphere,min0,&voronoiSimplex);
-               ///Simplification, one object is simplified as a sphere
-               GjkConvexCast ccd1(&sphere0,convex1,&voronoiSimplex);
-               //ContinuousConvexCollision ccd(min0,min1,&voronoiSimplex,0);
-               if (ccd1.calcTimeOfImpact(col0->m_worldTransform,col0->m_interpolationWorldTransform,
-                       col1->m_worldTransform,col1->m_interpolationWorldTransform,result))
-               {
-               
-                       //store result.m_fraction in both bodies
-               
-                       if (col0->m_hitFraction > result.m_fraction)
-                               col0->m_hitFraction  = result.m_fraction;
-
-                       if (col1->m_hitFraction > result.m_fraction)
-                               col1->m_hitFraction  = result.m_fraction;
-
-                       if (resultFraction > result.m_fraction)
-                               resultFraction = result.m_fraction;
-
-               }
-       }
-       
-       return resultFraction;
-
-}
diff --git a/extern/bullet/Bullet/CollisionDispatch/ConvexConvexAlgorithm.h b/extern/bullet/Bullet/CollisionDispatch/ConvexConvexAlgorithm.h
deleted file mode 100644 (file)
index a1cadab..0000000
+++ /dev/null
@@ -1,73 +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 CONVEX_CONVEX_ALGORITHM_H
-#define CONVEX_CONVEX_ALGORITHM_H
-
-#include "BroadphaseCollision/CollisionAlgorithm.h"
-#include "NarrowPhaseCollision/GjkPairDetector.h"
-#include "NarrowPhaseCollision/PersistentManifold.h"
-#include "BroadphaseCollision/BroadphaseProxy.h"
-#include "NarrowPhaseCollision/VoronoiSimplexSolver.h"
-
-class ConvexPenetrationDepthSolver;
-
-///ConvexConvexAlgorithm collision algorithm implements time of impact, convex closest points and penetration depth calculations.
-class ConvexConvexAlgorithm : public CollisionAlgorithm
-{
-       //ConvexPenetrationDepthSolver* m_penetrationDepthSolver;
-       VoronoiSimplexSolver    m_simplexSolver;
-       GjkPairDetector m_gjkPairDetector;
-       bool    m_useEpa;
-public:
-       BroadphaseProxy m_box0;
-       BroadphaseProxy m_box1;
-
-       bool    m_ownManifold;
-       PersistentManifold*     m_manifoldPtr;
-       bool                    m_lowLevelOfDetail;
-
-       void    CheckPenetrationDepthSolver();
-
-       
-
-public:
-
-       ConvexConvexAlgorithm(PersistentManifold* mf,const CollisionAlgorithmConstructionInfo& ci,BroadphaseProxy* proxy0,BroadphaseProxy* proxy1);
-
-       virtual ~ConvexConvexAlgorithm();
-
-       virtual void ProcessCollision (BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-       virtual float CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-       void    SetLowLevelOfDetail(bool useLowLevel);
-
-       virtual void SetShapeIdentifiers(int partId0,int index0,        int partId1,int index1)
-       {
-                       m_gjkPairDetector.m_partId0=partId0;
-                       m_gjkPairDetector.m_partId1=partId1;
-                       m_gjkPairDetector.m_index0=index0;
-                       m_gjkPairDetector.m_index1=index1;              
-       }
-
-       const PersistentManifold*       GetManifold()
-       {
-               return m_manifoldPtr;
-       }
-
-};
-
-#endif //CONVEX_CONVEX_ALGORITHM_H
diff --git a/extern/bullet/Bullet/CollisionDispatch/EmptyCollisionAlgorithm.cpp b/extern/bullet/Bullet/CollisionDispatch/EmptyCollisionAlgorithm.cpp
deleted file mode 100644 (file)
index 6ef31ad..0000000
+++ /dev/null
@@ -1,35 +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 "EmptyCollisionAlgorithm.h"
-
-
-
-EmptyAlgorithm::EmptyAlgorithm(const CollisionAlgorithmConstructionInfo& ci)
-       : CollisionAlgorithm(ci)
-{
-}
-
-void EmptyAlgorithm::ProcessCollision (BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo)
-{
-
-}
-
-float EmptyAlgorithm::CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo)
-{
-       return 1.f;
-}
-
-
diff --git a/extern/bullet/Bullet/CollisionDispatch/EmptyCollisionAlgorithm.h b/extern/bullet/Bullet/CollisionDispatch/EmptyCollisionAlgorithm.h
deleted file mode 100644 (file)
index c85efac..0000000
+++ /dev/null
@@ -1,40 +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 EMPTY_ALGORITH
-#define EMPTY_ALGORITH
-#include "BroadphaseCollision/CollisionAlgorithm.h"
-
-#define ATTRIBUTE_ALIGNED(a)
-
-///EmptyAlgorithm is a stub for unsupported collision pairs.
-///The dispatcher can dispatch a persistent EmptyAlgorithm to avoid a search every frame.
-class EmptyAlgorithm : public CollisionAlgorithm
-{
-
-public:
-       
-       EmptyAlgorithm(const CollisionAlgorithmConstructionInfo& ci);
-
-       virtual void ProcessCollision (BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-       virtual float CalculateTimeOfImpact(BroadphaseProxy* proxy0,BroadphaseProxy* proxy1,const DispatcherInfo& dispatchInfo);
-
-
-
-
-} ATTRIBUTE_ALIGNED(16);
-
-#endif //EMPTY_ALGORITH
diff --git a/extern/bullet/Bullet/CollisionDispatch/ManifoldResult.cpp b/extern/bullet/Bullet/CollisionDispatch/ManifoldResult.cpp
deleted file mode 100644 (file)
index 36f7255..0000000
+++ /dev/null
@@ -1,101 +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 "ManifoldResult.h"
-#include "NarrowPhaseCollision/PersistentManifold.h"
-#include "CollisionDispatch/CollisionObject.h"
-
-
-///This is to allow MaterialCombiner/Custom Friction/Restitution values
-ContactAddedCallback           gContactAddedCallback=0;
-
-///User can override this material combiner by implementing gContactAddedCallback and setting body0->m_collisionFlags |= CollisionObject::customMaterialCallback;
-inline SimdScalar      calculateCombinedFriction(const CollisionObject* body0,const CollisionObject* body1)
-{
-       SimdScalar friction = body0->getFriction() * body1->getFriction();
-
-       const SimdScalar MAX_FRICTION  = 10.f;
-       if (friction < -MAX_FRICTION)
-               friction = -MAX_FRICTION;
-       if (friction > MAX_FRICTION)
-               friction = MAX_FRICTION;
-       return friction;
-
-}
-
-inline SimdScalar      calculateCombinedRestitution(const CollisionObject* body0,const CollisionObject* body1)
-{
-       return body0->getRestitution() * body1->getRestitution();
-}
-
-
-
-ManifoldResult::ManifoldResult(CollisionObject* body0,CollisionObject* body1,PersistentManifold* manifoldPtr)
-               :m_manifoldPtr(manifoldPtr),
-               m_body0(body0),
-               m_body1(body1)
-       {
-       }
-
-
-void ManifoldResult::AddContactPoint(const SimdVector3& normalOnBInWorld,const SimdVector3& pointInWorld,float depth)
-{
-       if (depth > m_manifoldPtr->GetContactBreakingTreshold())
-               return;
-
-
-       SimdTransform transAInv = m_body0->m_cachedInvertedWorldTransform;
-       SimdTransform transBInv= m_body1->m_cachedInvertedWorldTransform;
-
-       //transAInv = m_body0->m_worldTransform.inverse();
-       //transBInv= m_body1->m_worldTransform.inverse();
-       SimdVector3 pointA = pointInWorld + normalOnBInWorld * depth;
-       SimdVector3 localA = transAInv(pointA );
-       SimdVector3 localB = transBInv(pointInWorld);
-       ManifoldPoint newPt(localA,localB,normalOnBInWorld,depth);
-
-       
-
-       int insertIndex = m_manifoldPtr->GetCacheEntry(newPt);
-       if (insertIndex >= 0)
-       {
-
-// This is not needed, just use the old info!
-//             const ManifoldPoint& oldPoint = m_manifoldPtr->GetContactPoint(insertIndex);
-//             newPt.CopyPersistentInformation(oldPoint);
-//             m_manifoldPtr->ReplaceContactPoint(newPt,insertIndex);
-
-
-       } else
-       {
-
-               newPt.m_combinedFriction = calculateCombinedFriction(m_body0,m_body1);
-               newPt.m_combinedRestitution = calculateCombinedRestitution(m_body0,m_body1);
-
-               //User can override friction and/or restitution
-               if (gContactAddedCallback &&
-                       //and if either of the two bodies requires custom material
-                        ((m_body0->m_collisionFlags & CollisionObject::customMaterialCallback) ||
-                          (m_body1->m_collisionFlags & CollisionObject::customMaterialCallback)))
-               {
-                       //experimental feature info, for per-triangle material etc.
-                       (*gContactAddedCallback)(newPt,m_body0,m_partId0,m_index0,m_body1,m_partId1,m_index1);
-               }
-
-               m_manifoldPtr->AddManifoldPoint(newPt);
-       }
-}
-
diff --git a/extern/bullet/Bullet/CollisionDispatch/ManifoldResult.h b/extern/bullet/Bullet/CollisionDispatch/ManifoldResult.h
deleted file mode 100644 (file)
index fe24389..0000000
+++ /dev/null
@@ -1,60 +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 MANIFOLD_RESULT_H
-#define MANIFOLD_RESULT_H
-
-#include "NarrowPhaseCollision/DiscreteCollisionDetectorInterface.h"
-struct CollisionObject;
-class PersistentManifold;
-class ManifoldPoint;
-
-typedef bool (*ContactAddedCallback)(ManifoldPoint& cp,        const CollisionObject* colObj0,int partId0,int index0,const CollisionObject* colObj1,int partId1,int index1);
-extern ContactAddedCallback            gContactAddedCallback;
-
-
-
-///ManifoldResult is a helper class to manage  contact results.
-class ManifoldResult : public DiscreteCollisionDetectorInterface::Result
-{
-       PersistentManifold* m_manifoldPtr;
-       CollisionObject* m_body0;
-       CollisionObject* m_body1;
-       int     m_partId0;
-       int m_partId1;
-       int m_index0;
-       int m_index1;
-public:
-
-       ManifoldResult(CollisionObject* body0,CollisionObject* body1,PersistentManifold* manifoldPtr);
-
-       virtual ~ManifoldResult() {};
-
-       virtual void SetShapeIdentifiers(int partId0,int index0,        int partId1,int index1)
-       {
-                       m_partId0=partId0;
-                       m_partId1=partId1;
-                       m_index0=index0;
-                       m_index1=index1;                
-       }
-
-       virtual void AddContactPoint(const SimdVector3& normalOnBInWorld,const SimdVector3& pointInWorld,float depth);
-
-
-
-};
-
-#endif //MANIFOLD_RESULT_H
diff --git a/extern/bullet/Bullet/CollisionDispatch/SimulationIslandManager.cpp b/extern/bullet/Bullet/CollisionDispatch/SimulationIslandManager.cpp
deleted file mode 100644 (file)
index 75f3084..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-
-#include "SimulationIslandManager.h"
-#include "BroadphaseCollision/Dispatcher.h"
-#include "NarrowPhaseCollision/PersistentManifold.h"
-#include "CollisionDispatch/CollisionObject.h"
-#include "CollisionDispatch/CollisionWorld.h"
-
-
-
-SimulationIslandManager::SimulationIslandManager()
-{
-}
-
-void SimulationIslandManager::InitUnionFind(int n)
-{
-               m_unionFind.reset(n);
-}
-               
-
-void SimulationIslandManager::FindUnions(Dispatcher* dispatcher)
-{
-       
-       {
-               for (int i=0;i<dispatcher->GetNumManifolds();i++)
-               {
-                       const PersistentManifold* manifold = dispatcher->GetManifoldByIndexInternal(i);
-                       //static objects (invmass 0.f) don't merge !
-
-                        const  CollisionObject* colObj0 = static_cast<const CollisionObject*>(manifold->GetBody0());
-                        const  CollisionObject* colObj1 = static_cast<const CollisionObject*>(manifold->GetBody1());
-
-                        if (colObj0 && colObj1 && dispatcher->NeedsResponse(*colObj0,*colObj1))
-                        {
-                               if (((colObj0) && ((colObj0)->mergesSimulationIslands())) &&
-                                       ((colObj1) && ((colObj1)->mergesSimulationIslands())))
-                               {
-
-                                       m_unionFind.unite((colObj0)->m_islandTag1,
-                                               (colObj1)->m_islandTag1);
-                               }
-                        }
-                       
-                       
-               }
-       }
-       
-}
-
-
-void   SimulationIslandManager::UpdateActivationState(CollisionWorld* colWorld,Dispatcher* dispatcher)
-{
-       
-       InitUnionFind(colWorld->GetCollisionObjectArray().size());
-       
-       // put the index into m_controllers into m_tag  
-       {
-               std::vector<CollisionObject*>::iterator i;
-               
-               int index = 0;
-               for (i=colWorld->GetCollisionObjectArray().begin();
-       &nbs