[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19701] trunk/blender/source/gameengine: mesh proxy attributes from andrecastelo

Campbell Barton ideasman42 at gmail.com
Mon Apr 13 05:43:19 CEST 2009


Revision: 19701
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19701
Author:   campbellbarton
Date:     2009-04-13 05:43:16 +0200 (Mon, 13 Apr 2009)

Log Message:
-----------
mesh proxy attributes from andrecastelo

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp
    trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.h
    trunk/blender/source/gameengine/PyDoc/KX_MeshProxy.py

Modified: trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp	2009-04-13 02:57:24 UTC (rev 19700)
+++ trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp	2009-04-13 03:43:16 UTC (rev 19701)
@@ -73,8 +73,11 @@
 };
 
 PyMethodDef KX_MeshProxy::Methods[] = {
+// Deprecated ----->
 {"getNumMaterials", (PyCFunction)KX_MeshProxy::sPyGetNumMaterials,METH_VARARGS},
 {"getNumPolygons", (PyCFunction)KX_MeshProxy::sPyGetNumPolygons,METH_NOARGS},
+// <-----
+
 {"getMaterialName", (PyCFunction)KX_MeshProxy::sPyGetMaterialName,METH_VARARGS},
 {"getTextureName", (PyCFunction)KX_MeshProxy::sPyGetTextureName,METH_VARARGS},
 {"getVertexArrayLength", (PyCFunction)KX_MeshProxy::sPyGetVertexArrayLength,METH_VARARGS},
@@ -88,6 +91,9 @@
 
 PyAttributeDef KX_MeshProxy::Attributes[] = {
 	KX_PYATTRIBUTE_RO_FUNCTION("materials",		KX_MeshProxy, pyattr_get_materials),
+	KX_PYATTRIBUTE_RO_FUNCTION("numPolygons",	KX_MeshProxy, pyattr_get_materials),
+	KX_PYATTRIBUTE_RO_FUNCTION("numMaterials",	KX_MeshProxy, pyattr_get_materials),
+
 	{ NULL }	//Sentinel
 };
 
@@ -102,6 +108,10 @@
  	py_getattro_up(SCA_IObject);
 }
 
+int KX_MeshProxy::py_setattro(PyObject *attr, PyObject* value)
+{
+	py_setattro_up(SCA_IObject);
+}
 
 
 KX_MeshProxy::KX_MeshProxy(RAS_MeshObject* mesh)
@@ -134,12 +144,14 @@
 			       PyObject* kwds)
 {
 	int num = m_meshobj->NumMaterials();
+	ShowDeprecationWarning("getNumMaterials()", "the numMaterials property");
 	return PyInt_FromLong(num);
 }
 
 PyObject* KX_MeshProxy::PyGetNumPolygons(PyObject* self)
 {
 	int num = m_meshobj->NumPolygons();
+	ShowDeprecationWarning("getNumPolygons()", "the numPolygons property");
 	return PyInt_FromLong(num);
 }
 
@@ -296,3 +308,15 @@
 	}	
 	return materials;
 }
+
+PyObject * KX_MeshProxy::pyattr_get_numMaterials(void * selfv, const KX_PYATTRIBUTE_DEF * attrdef) {
+	KX_MeshProxy * self = static_cast<KX_MeshProxy *> (selfv);
+	int num = self->m_meshobj->NumMaterials();
+	return PyInt_FromLong(num);
+}
+
+PyObject * KX_MeshProxy::pyattr_get_numPolygons(void * selfv, const KX_PYATTRIBUTE_DEF * attrdef) {
+	KX_MeshProxy * self = static_cast<KX_MeshProxy *> (selfv);
+	int num = self->m_meshobj->NumPolygons();
+	return PyInt_FromLong(num);
+}

Modified: trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.h	2009-04-13 02:57:24 UTC (rev 19700)
+++ trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.h	2009-04-13 03:43:16 UTC (rev 19701)
@@ -55,10 +55,12 @@
 
 // stuff for python integration
 	virtual PyObject*  py_getattro(PyObject *attr);
-	KX_PYMETHOD(KX_MeshProxy,GetNumMaterials);
+	virtual int py_setattro(PyObject *attr, PyObject* value);
+
+	KX_PYMETHOD(KX_MeshProxy,GetNumMaterials);	// Deprecated
 	KX_PYMETHOD(KX_MeshProxy,GetMaterialName);
 	KX_PYMETHOD(KX_MeshProxy,GetTextureName);
-	KX_PYMETHOD_NOARGS(KX_MeshProxy,GetNumPolygons);
+	KX_PYMETHOD_NOARGS(KX_MeshProxy,GetNumPolygons); // Deprecated
 	
 	// both take materialid (int)
 	KX_PYMETHOD(KX_MeshProxy,GetVertexArrayLength);
@@ -67,6 +69,8 @@
 	KX_PYMETHOD_DOC(KX_MeshProxy, reinstancePhysicsMesh);
 	
 	static PyObject*	pyattr_get_materials(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
+	static PyObject * pyattr_get_numMaterials(void * self, const KX_PYATTRIBUTE_DEF * attrdef);
+	static PyObject * pyattr_get_numPolygons(void * self, const KX_PYATTRIBUTE_DEF * attrdef);
 };
 
 #endif //__KX_MESHPROXY

Modified: trunk/blender/source/gameengine/PyDoc/KX_MeshProxy.py
===================================================================
--- trunk/blender/source/gameengine/PyDoc/KX_MeshProxy.py	2009-04-13 02:57:24 UTC (rev 19700)
+++ trunk/blender/source/gameengine/PyDoc/KX_MeshProxy.py	2009-04-13 03:43:16 UTC (rev 19701)
@@ -47,6 +47,12 @@
 	
 	@ivar materials: 
 	@type materials: list of L{KX_BlenderMaterial} or L{KX_PolygonMaterial} types
+
+	@ivar numPolygons:
+	@type numPolygons: integer
+
+	@ivar numMaterials:
+	@type numMaterials: integer
 	"""
 	
 	def getNumMaterials():





More information about the Bf-blender-cvs mailing list