diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-04-08 15:34:50 +0400 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-04-08 15:34:50 +0400 |
commit | 5398f1ba77d25ff27a4e8275a1453e7ddb2f2f0d (patch) | |
tree | 7407e63eceef245cc430c344a1f1a7e543a68667 /source/gameengine/Ketsji/KX_SumoPhysicsController.cpp | |
parent | fc080d30d6134becd0792e2236e33ff98e5b7e9b (diff) |
Added resolveCombinedVelocities()
Fixed drot actuator. The rotation matrix was being mutilated by passing a float[9] instead of float[12].
Diffstat (limited to 'source/gameengine/Ketsji/KX_SumoPhysicsController.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_SumoPhysicsController.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp b/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp index 57986cd7b78..33ede321f02 100644 --- a/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp +++ b/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp @@ -24,17 +24,17 @@ void KX_SumoPhysicsController::RelativeTranslate(const MT_Vector3& dloc,bool loc } void KX_SumoPhysicsController::RelativeRotate(const MT_Matrix3x3& drot,bool local) { - double oldmat[12]; + float oldmat[12]; drot.getValue(oldmat); - float newmat[9]; +/* float newmat[9]; float *m = &newmat[0]; double *orgm = &oldmat[0]; *m++ = *orgm++;*m++ = *orgm++;*m++ = *orgm++;orgm++; *m++ = *orgm++;*m++ = *orgm++;*m++ = *orgm++;orgm++; - *m++ = *orgm++;*m++ = *orgm++;*m++ = *orgm++;orgm++; + *m++ = *orgm++;*m++ = *orgm++;*m++ = *orgm++;orgm++; */ - SumoPhysicsController::RelativeRotate(newmat,local); + SumoPhysicsController::RelativeRotate(oldmat,local); } void KX_SumoPhysicsController::SetLinearVelocity(const MT_Vector3& lin_vel,bool local) @@ -62,6 +62,15 @@ MT_Vector3 KX_SumoPhysicsController::GetLinearVelocity() return GetVelocity(MT_Point3(0,0,0)); } + +void KX_SumoPhysicsController::resolveCombinedVelocities( + const MT_Vector3 & lin_vel, + const MT_Vector3 & ang_vel + ) +{ + SumoPhysicsController::resolveCombinedVelocities(lin_vel, ang_vel); +} + void KX_SumoPhysicsController::ApplyTorque(const MT_Vector3& torque,bool local) { SumoPhysicsController::ApplyTorque(torque[0],torque[1],torque[2],local); |