[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15276] trunk/blender/source/gameengine/ Ketsji/KX_GameObject.cpp: BGE patch #13625: getLinearVelocity() rewrite to use only vector and matrix operations

Benoit Bolsee benoit.bolsee at online.be
Wed Jun 18 23:22:25 CEST 2008


Revision: 15276
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15276
Author:   ben2610
Date:     2008-06-18 23:22:17 +0200 (Wed, 18 Jun 2008)

Log Message:
-----------
BGE patch #13625: getLinearVelocity() rewrite to use only vector and matrix operations

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp	2008-06-18 21:16:29 UTC (rev 15275)
+++ trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp	2008-06-18 21:22:17 UTC (rev 15276)
@@ -646,8 +646,8 @@
 
 MT_Vector3 KX_GameObject::GetLinearVelocity(bool local)
 {
-	MT_Vector3 velocity(0.0,0.0,0.0);
-	MT_Matrix3x3 ori, locvel;
+	MT_Vector3 velocity(0.0,0.0,0.0), locvel;
+	MT_Matrix3x3 ori;
 	int i, j; 
 	if (m_pPhysicsController1)
 	{
@@ -657,11 +657,8 @@
 		{
 			ori = GetSGNode()->GetWorldOrientation();
 			
-			for(i=0; i < 3; i++)
-				for(j=0; j < 3; j++)
-					locvel[i][j]= velocity[i]*ori[i][j];
-			for(i=0; i < 3; i++)
-				velocity[i] = locvel[0][i] + locvel[1][i] + locvel[2][i];
+			locvel = velocity * ori;
+			return locvel;
 		}
 	}
 	return velocity;	





More information about the Bf-blender-cvs mailing list