Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Bolsee <benoit.bolsee@online.be>2009-03-01 01:25:23 +0300
committerBenoit Bolsee <benoit.bolsee@online.be>2009-03-01 01:25:23 +0300
commitd4adc43fc1746389ef89dce5c32163ba1d6011aa (patch)
treeeb8dd56b999b0261942ac385029c2e2ef5796e7b
parent56977d62d43f7591ddeef47ff4ff1f0858d5c41f (diff)
BGE patch #18309 commited: Add an addObject() method to KX_Scene.
-rw-r--r--source/gameengine/Ketsji/KX_Scene.cpp47
-rw-r--r--source/gameengine/Ketsji/KX_Scene.h1
2 files changed, 36 insertions, 12 deletions
diff --git a/source/gameengine/Ketsji/KX_Scene.cpp b/source/gameengine/Ketsji/KX_Scene.cpp
index 073cfc98bf1..0fded15f1a1 100644
--- a/source/gameengine/Ketsji/KX_Scene.cpp
+++ b/source/gameengine/Ketsji/KX_Scene.cpp
@@ -1517,18 +1517,6 @@ double KX_Scene::getSuspendedDelta()
//----------------------------------------------------------------------------
//Python
-PyMethodDef KX_Scene::Methods[] = {
- KX_PYMETHODTABLE_NOARGS(KX_Scene, getLightList),
- KX_PYMETHODTABLE_NOARGS(KX_Scene, getObjectList),
- KX_PYMETHODTABLE_NOARGS(KX_Scene, getName),
-
- {NULL,NULL} //Sentinel
-};
-
-PyAttributeDef KX_Scene::Attributes[] = {
- { NULL } //Sentinel
-};
-
PyTypeObject KX_Scene::Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
@@ -1554,6 +1542,19 @@ PyParentObject KX_Scene::Parents[] = {
NULL
};
+PyMethodDef KX_Scene::Methods[] = {
+ KX_PYMETHODTABLE(KX_Scene, getLightList),
+ KX_PYMETHODTABLE(KX_Scene, getObjectList),
+ KX_PYMETHODTABLE(KX_Scene, getName),
+ KX_PYMETHODTABLE(KX_Scene, addObject),
+
+ {NULL,NULL} //Sentinel
+};
+
+PyAttributeDef KX_Scene::Attributes[] = {
+ { NULL } //Sentinel
+};
+
PyObject* KX_Scene::_getattr(const char *attr)
{
if (!strcmp(attr, "name"))
@@ -1622,3 +1623,25 @@ KX_PYMETHODDEF_DOC_NOARGS(KX_Scene, getName,
{
return PyString_FromString(GetName());
}
+
+KX_PYMETHODDEF_DOC(KX_Scene, addObject,
+"addObject(object, other, time=0)\n"
+"Returns the added object.\n")
+{
+ PyObject *pyob, *pyother;
+ KX_GameObject *ob, *other;
+
+ int time = 0;
+
+ if (!PyArg_ParseTuple(args, "OO|i", &pyob, &pyother, &time))
+ return NULL;
+
+ if (!ConvertPythonToGameObject(pyob, &ob, false)
+ || !ConvertPythonToGameObject(pyother, &other, false))
+ return NULL;
+
+
+ SCA_IObject* replica = AddReplicaObject((SCA_IObject*)ob, other, time);
+ replica->AddRef();
+ return replica;
+} \ No newline at end of file
diff --git a/source/gameengine/Ketsji/KX_Scene.h b/source/gameengine/Ketsji/KX_Scene.h
index e49a87b0402..962db1a9b96 100644
--- a/source/gameengine/Ketsji/KX_Scene.h
+++ b/source/gameengine/Ketsji/KX_Scene.h
@@ -550,6 +550,7 @@ public:
KX_PYMETHOD_DOC_NOARGS(KX_Scene, getLightList);
KX_PYMETHOD_DOC_NOARGS(KX_Scene, getObjectList);
KX_PYMETHOD_DOC_NOARGS(KX_Scene, getName);
+ KX_PYMETHOD_DOC(KX_Scene, addObject);
/*
KX_PYMETHOD_DOC(KX_Scene, getActiveCamera);
KX_PYMETHOD_DOC(KX_Scene, getActiveCamera);