[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19147] trunk/blender/source/gameengine/ Ketsji: BGE patch #18309 commited: Add an addObject() method to KX_Scene.

Benoit Bolsee benoit.bolsee at online.be
Sat Feb 28 23:25:30 CET 2009


Revision: 19147
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19147
Author:   ben2610
Date:     2009-02-28 23:25:23 +0100 (Sat, 28 Feb 2009)

Log Message:
-----------
BGE patch #18309 commited: Add an addObject() method to KX_Scene.

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

Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp	2009-02-28 21:44:24 UTC (rev 19146)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp	2009-02-28 22:25:23 UTC (rev 19147)
@@ -1517,18 +1517,6 @@
 //----------------------------------------------------------------------------
 //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 @@
 		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 @@
 {
 	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

Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.h	2009-02-28 21:44:24 UTC (rev 19146)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.h	2009-02-28 22:25:23 UTC (rev 19147)
@@ -550,6 +550,7 @@
 	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);





More information about the Bf-blender-cvs mailing list