[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