[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13528] trunk/blender/source/blender/ python/api2_2x: == Python API - Mesh ==
Tom Musgrove
LetterRip at gmail.com
Sun Feb 3 00:58:05 CET 2008
Revision: 13528
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13528
Author: letterrip
Date: 2008-02-03 00:58:05 +0100 (Sun, 03 Feb 2008)
Log Message:
-----------
== Python API - Mesh ==
This patch by Domino Maram adds the function addMultiresLevel
Modified Paths:
--------------
trunk/blender/source/blender/python/api2_2x/Mesh.c
trunk/blender/source/blender/python/api2_2x/doc/Mesh.py
Modified: trunk/blender/source/blender/python/api2_2x/Mesh.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Mesh.c 2008-02-02 23:28:50 UTC (rev 13527)
+++ trunk/blender/source/blender/python/api2_2x/Mesh.c 2008-02-02 23:58:05 UTC (rev 13528)
@@ -7178,6 +7178,36 @@
return 0;
}
+static PyObject *Mesh_addMultiresLevel( BPy_Mesh * self, PyObject * args )
+{
+ char typenum;
+ int i, levels = 1;
+ char *type = NULL;
+ if( G.obedit )
+ return EXPP_ReturnPyObjError(PyExc_RuntimeError,
+ "can't add multires level while in edit mode" );
+ if( !PyArg_ParseTuple( args, "|is", &levels, &type ) )
+ return EXPP_ReturnPyObjError( PyExc_TypeError,
+ "expected nothing or an int and optionally a string as arguments" );
+ if( !type || !strcmp( type, "catmull-clark" ) )
+ typenum = 0;
+ else if( !strcmp( type, "simple" ) )
+ typenum = 1;
+ else
+ return EXPP_ReturnPyObjError( PyExc_AttributeError,
+ "if given, type should be 'catmull-clark' or 'simple'" );
+ if (!self->mesh->mr)
+ return EXPP_ReturnPyObjError( PyExc_RuntimeError,
+ "the mesh has no multires data" );
+ for( i = 0; i < levels; i++ ) {
+ multires_add_level(self->object, self->mesh, typenum);
+ };
+ multires_update_levels(self->mesh, 0);
+ multires_level_to_editmesh(self->object, self->mesh, 0);
+ multires_finish_mesh_update(self->object);
+ Py_RETURN_NONE;
+}
+
/* end multires */
@@ -7559,6 +7589,9 @@
"Rename a UV Layer"},
{"renameColorLayer", (PyCFunction)Mesh_renameColorLayer, METH_VARARGS,
"Rename a Color Layer"},
+ /* mesh multires */
+ {"addMultiresLevel", (PyCFunction)Mesh_addMultiresLevel, METH_VARARGS,
+ "(levels=1, type='catmull-clark') - adds multires levels of given type"},
/* python standard class functions */
{"__copy__", (PyCFunction)Mesh_copy, METH_NOARGS,
Modified: trunk/blender/source/blender/python/api2_2x/doc/Mesh.py
===================================================================
--- trunk/blender/source/blender/python/api2_2x/doc/Mesh.py 2008-02-02 23:28:50 UTC (rev 13527)
+++ trunk/blender/source/blender/python/api2_2x/doc/Mesh.py 2008-02-02 23:58:05 UTC (rev 13528)
@@ -1102,6 +1102,15 @@
@param name: The name of the new Color layer, 31 characters max.
"""
+ def addMultiresLevel(levels = 1, type = 'catmull-clark'):
+ """
+ Adds multires levels to this mesh.
+ @type levels: int
+ @param levels: The number of levels to add
+ @type type: string
+ @param type: The type of multires level, 'catmull-clark' or 'simple'.
+ """
+
def removeUVLayer(name):
"""
Removes the active UV/Image layer.
More information about the Bf-blender-cvs
mailing list