[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