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():


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to