diff options
Diffstat (limited to 'source/gameengine/Ketsji/KX_GameObject.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_GameObject.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index c7f6954fd6c..ae5758b8597 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -42,7 +42,6 @@ typedef unsigned __int64 uint_ptr; typedef unsigned long uint_ptr; #endif -#define KX_INERTIA_INFINITE 10000 #include "RAS_IPolygonMaterial.h" #include "KX_BlenderMaterial.h" #include "KX_GameObject.h" @@ -1401,6 +1400,14 @@ CListValue* KX_GameObject::GetChildrenRecursive() return list; } +KX_Scene* KX_GameObject::GetScene() +{ + SG_Node* node = this->GetSGNode(); + KX_Scene* scene = static_cast<KX_Scene*>(node->GetSGClientInfo()); + + return scene; +} + /* --------------------------------------------------------------------- * Some stuff taken from the header * --------------------------------------------------------------------- */ @@ -1755,8 +1762,7 @@ PyObject *KX_GameObject::PyReplaceMesh(PyObject *args) PyObject *KX_GameObject::PyEndObject() { - SG_Node* node = this->GetSGNode(); - KX_Scene* scene = static_cast<KX_Scene*>(node->GetSGClientInfo()); + KX_Scene* scene = GetScene(); scene->DelayedRemoveObject(this); @@ -1778,7 +1784,7 @@ PyObject *KX_GameObject::PyReinstancePhysicsMesh(PyObject *args) ) { return NULL; } -#ifdef USE_BULLET +#ifdef WITH_BULLET /* gameobj and mesh can be NULL */ if (KX_ReInstanceBulletShapeFromMesh(this, gameobj, mesh)) Py_RETURN_TRUE; @@ -2004,8 +2010,7 @@ PyObject *KX_GameObject::pyattr_get_group_members(void *self_v, const KX_PYATTRI PyObject* KX_GameObject::pyattr_get_scene(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef) { KX_GameObject *self = static_cast<KX_GameObject*>(self_v); - SG_Node *node = self->GetSGNode(); - KX_Scene *scene = static_cast<KX_Scene *>(node->GetSGClientInfo()); + KX_Scene *scene = self->GetScene(); if (scene) { return scene->GetProxy(); } @@ -2737,11 +2742,11 @@ PyObject *KX_GameObject::PyGetReactionForce() // only can get the velocity if we have a physics object connected to us... // XXX - Currently not working with bullet intergration, see KX_BulletPhysicsController.cpp's getReactionForce - /* +#if 0 if (GetPhysicsController()) return PyObjectFrom(GetPhysicsController()->getReactionForce()); return PyObjectFrom(dummy_point); - */ +#endif return Py_BuildValue("fff", 0.0, 0.0, 0.0); @@ -3057,7 +3062,7 @@ KX_PYMETHODDEF_DOC(KX_GameObject, rayCastTo, if (dist != 0.0f) toPoint = fromPoint + dist * (toPoint-fromPoint).safe_normalized(); - PHY_IPhysicsEnvironment* pe = KX_GetActiveScene()->GetPhysicsEnvironment(); + PHY_IPhysicsEnvironment* pe = GetScene()->GetPhysicsEnvironment(); KX_IPhysicsController *spc = GetPhysicsController(); KX_GameObject *parent = GetParent(); if (!spc && parent) @@ -3203,7 +3208,7 @@ KX_PYMETHODDEF_DOC(KX_GameObject, rayCast, return none_tuple_3(); } - PHY_IPhysicsEnvironment* pe = KX_GetActiveScene()->GetPhysicsEnvironment(); + PHY_IPhysicsEnvironment* pe = GetScene()->GetPhysicsEnvironment(); KX_IPhysicsController *spc = GetPhysicsController(); KX_GameObject *parent = GetParent(); if (!spc && parent) |