Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Coumans <blender@erwincoumans.com>2006-11-29 08:24:52 +0300
committerErwin Coumans <blender@erwincoumans.com>2006-11-29 08:24:52 +0300
commite720f86a836b9343388beafb56be5be9956a3629 (patch)
treea703505b43d0936b433dd0fc177644ebdbc2b64b /extern/bullet2/src/BulletDynamics/Dynamics
parentc5db2965fad723982857c9099114360330f90146 (diff)
updated to latest Bullet 2.x
Diffstat (limited to 'extern/bullet2/src/BulletDynamics/Dynamics')
-rw-r--r--extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp25
-rw-r--r--extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h16
-rw-r--r--extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h3
-rw-r--r--extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp8
-rw-r--r--extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h2
5 files changed, 18 insertions, 36 deletions
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
index 0dece6b20e6..f59598f2a53 100644
--- a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
@@ -57,19 +57,6 @@ subject to the following restrictions:
#include <algorithm>
-btDiscreteDynamicsWorld::btDiscreteDynamicsWorld(btConstraintSolver* constraintSolver)
-:btDynamicsWorld(),
-m_constraintSolver(constraintSolver? constraintSolver: new btSequentialImpulseConstraintSolver),
-m_debugDrawer(0),
-m_gravity(0,-10,0),
-m_localTime(1.f/60.f),
-m_profileTimings(0)
-{
- m_islandManager = new btSimulationIslandManager();
- m_ownsIslandManager = true;
- m_ownsConstraintSolver = (constraintSolver==0);
-}
-
btDiscreteDynamicsWorld::btDiscreteDynamicsWorld(btDispatcher* dispatcher,btOverlappingPairCache* pairCache,btConstraintSolver* constraintSolver)
:btDynamicsWorld(dispatcher,pairCache),
@@ -267,27 +254,27 @@ void btDiscreteDynamicsWorld::internalSingleStepSimulation(float timeStep)
///apply gravity, predict motion
predictUnconstraintMotion(timeStep);
- btDispatcherInfo dispatchInfo;
+ btDispatcherInfo& dispatchInfo = getDispatchInfo();
+
dispatchInfo.m_timeStep = timeStep;
dispatchInfo.m_stepCount = 0;
dispatchInfo.m_debugDraw = getDebugDrawer();
-
///perform collision detection
performDiscreteCollisionDetection(dispatchInfo);
calculateSimulationIslands();
- btContactSolverInfo infoGlobal;
- infoGlobal.m_timeStep = timeStep;
+
+ getSolverInfo().m_timeStep = timeStep;
///solve non-contact constraints
- solveNoncontactConstraints(infoGlobal);
+ solveNoncontactConstraints(getSolverInfo());
///solve contact constraints
- solveContactConstraints(infoGlobal);
+ solveContactConstraints(getSolverInfo());
///CallbackTriggers();
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h
index 4aa83683cd5..72619091c6f 100644
--- a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h
+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h
@@ -23,7 +23,8 @@ class btOverlappingPairCache;
class btConstraintSolver;
class btSimulationIslandManager;
class btTypedConstraint;
-struct btContactSolverInfo;
+#include "BulletDynamics/ConstraintSolver/btContactSolverInfo.h"
+
class btRaycastVehicle;
class btIDebugDraw;
@@ -52,6 +53,9 @@ protected:
bool m_ownsIslandManager;
bool m_ownsConstraintSolver;
+ btContactSolverInfo m_solverInfo;
+
+
std::vector<btRaycastVehicle*> m_vehicles;
int m_profileTimings;
@@ -83,11 +87,8 @@ public:
///this btDiscreteDynamicsWorld constructor gets created objects from the user, and will not delete those
- btDiscreteDynamicsWorld(btDispatcher* dispatcher,btOverlappingPairCache* pairCache,btConstraintSolver* constraintSolver=0);
+ btDiscreteDynamicsWorld(btDispatcher* dispatcher,btOverlappingPairCache* pairCache,btConstraintSolver* constraintSolver);
- ///this btDiscreteDynamicsWorld will create and own dispatcher, pairCache and constraintSolver, and deletes it in the destructor.
- btDiscreteDynamicsWorld(btConstraintSolver* constraintSolver = 0);
-
virtual ~btDiscreteDynamicsWorld();
///if maxSubSteps > 0, it will interpolate motion between fixedTimeStep's
@@ -144,6 +145,11 @@ public:
virtual const btTypedConstraint* getConstraint(int index) const;
+ btContactSolverInfo& getSolverInfo()
+ {
+ return m_solverInfo;
+ }
+
};
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h b/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h
index a991fdca79d..617ed98d2af 100644
--- a/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h
+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btDynamicsWorld.h
@@ -27,9 +27,6 @@ class btDynamicsWorld : public btCollisionWorld
{
public:
- btDynamicsWorld()
- {
- }
btDynamicsWorld(btDispatcher* dispatcher,btOverlappingPairCache* pairCache)
:btCollisionWorld(dispatcher,pairCache)
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp b/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
index fe6a73939a7..ce5c76c58e2 100644
--- a/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp
@@ -22,13 +22,7 @@ subject to the following restrictions:
#include "BulletDynamics/ConstraintSolver/btContactSolverInfo.h"
-btSimpleDynamicsWorld::btSimpleDynamicsWorld()
-:m_constraintSolver(new btSequentialImpulseConstraintSolver),
-m_ownsConstraintSolver(true),
-m_debugDrawer(0),
-m_gravity(0,0,-10)
-{
-}
+
btSimpleDynamicsWorld::btSimpleDynamicsWorld(btDispatcher* dispatcher,btOverlappingPairCache* pairCache,btConstraintSolver* constraintSolver)
:btDynamicsWorld(dispatcher,pairCache),
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h b/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h
index f74e2460732..cdc0c5559f6 100644
--- a/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h
+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.h
@@ -46,8 +46,6 @@ protected:
public:
- ///this btSimpleDynamicsWorld constructor creates and owns dispatcher, broadphase pairCache and constraintSolver
- btSimpleDynamicsWorld();
///this btSimpleDynamicsWorld constructor creates dispatcher, broadphase pairCache and constraintSolver
btSimpleDynamicsWorld(btDispatcher* dispatcher,btOverlappingPairCache* pairCache,btConstraintSolver* constraintSolver);