[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15637] branches/blender-2.47/source: branches/blender-2.47

Diego Borghetti bdiego at gmail.com
Sat Jul 19 07:10:23 CEST 2008


Revision: 15637
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15637
Author:   bdiego
Date:     2008-07-19 07:10:21 +0200 (Sat, 19 Jul 2008)

Log Message:
-----------
branches/blender-2.47

Merge from trunk:
	Revision: 15620
	Revision: 15623

Modified Paths:
--------------
    branches/blender-2.47/source/blender/src/interface.c
    branches/blender-2.47/source/gameengine/GameLogic/SCA_IObject.cpp
    branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
    branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.h
    branches/blender-2.47/source/gameengine/Ketsji/KX_GameObject.cpp
    branches/blender-2.47/source/gameengine/Ketsji/KX_IPhysicsController.h
    branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.cpp
    branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.h
    branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp
    branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.h

Modified: branches/blender-2.47/source/blender/src/interface.c
===================================================================
--- branches/blender-2.47/source/blender/src/interface.c	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/blender/src/interface.c	2008-07-19 05:10:21 UTC (rev 15637)
@@ -5401,7 +5401,9 @@
 		int getsizex, getsizey;
 
 		bwin_getsize(win, &getsizex, &getsizey);
-		block->aspect= 2.0/( (getsizex)*block->winmat[0][0]);
+		/* TODO - investigate why block->winmat[0][0] is negative
+		 * in the image view when viewRedrawForce is called */
+		block->aspect= 2.0/fabs( (getsizex)*block->winmat[0][0]);
 	}
 
 	uiSetCurFont(block, font);

Modified: branches/blender-2.47/source/gameengine/GameLogic/SCA_IObject.cpp
===================================================================
--- branches/blender-2.47/source/gameengine/GameLogic/SCA_IObject.cpp	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/GameLogic/SCA_IObject.cpp	2008-07-19 05:10:21 UTC (rev 15637)
@@ -300,7 +300,7 @@
 }
 #endif
 
-void SCA_IObject::Suspend(void)
+void SCA_IObject::Suspend()
 {
 	if ((!m_ignore_activity_culling) 
 		&& (!m_suspended))  {

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp	2008-07-19 05:10:21 UTC (rev 15637)
@@ -17,7 +17,8 @@
 
 KX_BulletPhysicsController::KX_BulletPhysicsController (const CcdConstructionInfo& ci, bool dyna)
 : KX_IPhysicsController(dyna,(PHY_IPhysicsController*)this),
-CcdPhysicsController(ci)
+CcdPhysicsController(ci),
+m_savedCollisionFlags(0)
 {
 
 }
@@ -154,14 +155,26 @@
 {
 }
 
-void	KX_BulletPhysicsController::SuspendDynamics()
+void	KX_BulletPhysicsController::SuspendDynamics(bool ghost)
 {
-	GetRigidBody()->setActivationState(DISABLE_SIMULATION);
+	btRigidBody *body = GetRigidBody();
+	if (body->getActivationState() != DISABLE_SIMULATION)
+	{
+		m_savedCollisionFlags = body->getCollisionFlags();
+		body->setActivationState(DISABLE_SIMULATION);
+		body->setCollisionFlags((btCollisionObject::CF_STATIC_OBJECT)|
+			((ghost)?btCollisionObject::CF_NO_CONTACT_RESPONSE:0));
+	}
+}
 
-}
 void	KX_BulletPhysicsController::RestoreDynamics()
 {
-	GetRigidBody()->forceActivationState(ACTIVE_TAG);
+	btRigidBody *body = GetRigidBody();
+	if (body->getActivationState() == DISABLE_SIMULATION)
+	{
+		GetRigidBody()->forceActivationState(ACTIVE_TAG);
+		body->setCollisionFlags(m_savedCollisionFlags);
+	}
 }
 
 SG_Controller*	KX_BulletPhysicsController::GetReplica(class SG_Node* destnode)

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.h
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.h	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_BulletPhysicsController.h	2008-07-19 05:10:21 UTC (rev 15637)
@@ -7,7 +7,8 @@
 
 class KX_BulletPhysicsController : public KX_IPhysicsController ,public CcdPhysicsController
 {
-
+private:
+	int m_savedCollisionFlags;
 public:
 
 	KX_BulletPhysicsController (const CcdConstructionInfo& ci, bool dyna);
@@ -38,7 +39,7 @@
 
 	virtual void	resolveCombinedVelocities(float linvelX,float linvelY,float linvelZ,float angVelX,float angVelY,float angVelZ);
 
-	virtual void	SuspendDynamics();
+	virtual void	SuspendDynamics(bool ghost);
 	virtual void	RestoreDynamics();
 
 	virtual	SG_Controller*	GetReplica(class SG_Node* destnode);

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_GameObject.cpp
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_GameObject.cpp	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_GameObject.cpp	2008-07-19 05:10:21 UTC (rev 15637)
@@ -236,6 +236,10 @@
 		if (rootlist->RemoveValue(this))
 			// the object was in parent list, decrement ref count as it's now removed
 			Release();
+		if (m_pPhysicsController1) 
+		{
+			m_pPhysicsController1->SuspendDynamics(true);
+		}
 	}
 }
 
@@ -256,6 +260,10 @@
 		if (!rootlist->SearchValue(this))
 			// object was not in root list, add it now and increment ref count
 			rootlist->Add(AddRef());
+		if (m_pPhysicsController1) 
+		{
+			m_pPhysicsController1->RestoreDynamics();
+		}
 	}
 }
 
@@ -702,7 +710,7 @@
 	}
 }
 
-void KX_GameObject::Suspend(void)
+void KX_GameObject::Suspend()
 {
 	if ((!m_ignore_activity_culling) 
 		&& (!m_suspended))  {

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_IPhysicsController.h
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_IPhysicsController.h	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_IPhysicsController.h	2008-07-19 05:10:21 UTC (rev 15637)
@@ -77,7 +77,7 @@
 	virtual	MT_Vector3	getReactionForce()=0;
 	virtual void	setRigidBody(bool rigid)=0;
 
-	virtual void	SuspendDynamics()=0;
+	virtual void	SuspendDynamics(bool ghost=false)=0;
 	virtual void	RestoreDynamics()=0;
 
 	virtual	SG_Controller*	GetReplica(class SG_Node* destnode)=0;

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.cpp
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.cpp	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.cpp	2008-07-19 05:10:21 UTC (rev 15637)
@@ -177,7 +177,7 @@
 
 }
 
-void	KX_OdePhysicsController::SuspendDynamics()
+void	KX_OdePhysicsController::SuspendDynamics(bool)
 {
 	ODEPhysicsController::SuspendDynamics();
 }

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.h
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.h	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_OdePhysicsController.h	2008-07-19 05:10:21 UTC (rev 15637)
@@ -74,7 +74,7 @@
 	virtual	MT_Vector3	getReactionForce();
 	virtual void	setRigidBody(bool rigid);
 
-	virtual void	SuspendDynamics();
+	virtual void	SuspendDynamics(bool);
 	virtual void	RestoreDynamics();
 	
 

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.cpp	2008-07-19 05:10:21 UTC (rev 15637)
@@ -101,7 +101,7 @@
 
 }
 
-void	KX_SumoPhysicsController::SuspendDynamics()
+void	KX_SumoPhysicsController::SuspendDynamics(bool)
 {
 	SumoPhysicsController::SuspendDynamics();
 }

Modified: branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.h
===================================================================
--- branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.h	2008-07-18 23:35:34 UTC (rev 15636)
+++ branches/blender-2.47/source/gameengine/Ketsji/KX_SumoPhysicsController.h	2008-07-19 05:10:21 UTC (rev 15637)
@@ -74,7 +74,7 @@
 	void	resolveCombinedVelocities(float linvelX,float linvelY,float linvelZ,float angVelX,float angVelY,float angVelZ);
 
 
-	void	SuspendDynamics();
+	void	SuspendDynamics(bool);
 	void	RestoreDynamics();
 	virtual	void	getOrientation(MT_Quaternion& orn);
 	virtual	void setOrientation(const MT_Quaternion& orn);





More information about the Bf-blender-cvs mailing list