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:
Diffstat (limited to 'extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp')
-rw-r--r--extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp b/extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp
index d3b105dc7f6..c0927a96915 100644
--- a/extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp
+++ b/extern/bullet/BulletDynamics/Dynamics/RigidBody.cpp
@@ -4,12 +4,14 @@
#include "GEN_MinMax.h"
#include <SimdTransformUtil.h>
-float gRigidBodyDamping = 0.5f;
+float gLinearAirDamping = 1.f;
+
static int uniqueId = 0;
RigidBody::RigidBody( const MassProps& massProps,SimdScalar linearDamping,SimdScalar angularDamping,SimdScalar friction,SimdScalar restitution)
: m_collisionShape(0),
m_activationState1(1),
+ m_deactivationTime(0.f),
m_hitFraction(1.f),
m_gravity(0.0f, 0.0f, 0.0f),
m_linearDamping(0.f),
@@ -90,12 +92,13 @@ void RigidBody::setDamping(SimdScalar lin_damping, SimdScalar ang_damping)
#include <stdio.h>
+
void RigidBody::applyForces(SimdScalar step)
{
applyCentralForce(m_gravity);
- m_linearVelocity *= GEN_clamped((1.f - step * m_linearDamping), 0.0f, 1.0f);
+ m_linearVelocity *= GEN_clamped((1.f - step * gLinearAirDamping * m_linearDamping), 0.0f, 1.0f);
m_angularVelocity *= GEN_clamped((1.f - step * m_angularDamping), 0.0f, 1.0f);
}
@@ -150,7 +153,11 @@ SimdQuaternion RigidBody::getOrientation() const
void RigidBody::setCenterOfMassTransform(const SimdTransform& xform)
{
m_worldTransform = xform;
-
+ SimdQuaternion orn;
+// m_worldTransform.getBasis().getRotation(orn);
+// orn.normalize();
+// m_worldTransform.setBasis(SimdMatrix3x3(orn));
+
// m_worldTransform.getBasis().getRotation(m_orn1);
updateInertiaTensor();
}