Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-03-22 13:29:18 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-03-22 13:29:18 +0400
commitdb37011930f2d59ba85d91bec43ff420e451df9b (patch)
treee8e4ddf9e239b9012ab1a40168f6e4f1f6d391f1 /source/blender/python/bmesh
parent762a8baf056d5c79e85d0387f718ddbf74ad1078 (diff)
bmesh py api:
added BMFace.material_index
Diffstat (limited to 'source/blender/python/bmesh')
-rw-r--r--source/blender/python/bmesh/bmesh_py_types.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/source/blender/python/bmesh/bmesh_py_types.c b/source/blender/python/bmesh/bmesh_py_types.c
index 8600d6a10df..04ad9a298fd 100644
--- a/source/blender/python/bmesh/bmesh_py_types.c
+++ b/source/blender/python/bmesh/bmesh_py_types.c
@@ -33,6 +33,7 @@
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
+#include "DNA_material_types.h"
#include "BKE_depsgraph.h"
#include "BKE_customdata.h"
@@ -455,6 +456,40 @@ static int bpy_bmface_normal_set(BPy_BMFace *self, PyObject *value)
}
}
+PyDoc_STRVAR(bpy_bmface_material_index_doc,
+"The faces material index.\n\n:type: int"
+);
+static PyObject *bpy_bmface_material_index_get(BPy_BMFace *self)
+{
+ BPY_BM_CHECK_OBJ(self);
+ return PyLong_FromLong(self->f->mat_nr);
+}
+
+static int bpy_bmface_material_index_set(BPy_BMFace *self, PyObject *value)
+{
+ int param;
+
+ BPY_BM_CHECK_INT(self);
+
+ param = PyLong_AsLong(value);
+
+ if (param == -1 && PyErr_Occurred()) {
+ PyErr_SetString(PyExc_TypeError,
+ "expected an int type");
+ return -1;
+ }
+ else if ((param < 0) || (param > MAXMAT)) {
+ /* normally we clamp but in this case raise an error */
+ PyErr_SetString(PyExc_ValueError,
+ "material index outside of usable range (0 - 32766)");
+ return -1;
+ }
+ else {
+ self->f->mat_nr = (short)param;
+ return 0;
+ }
+}
+
/* Loop
* ^^^^ */
@@ -594,6 +629,8 @@ static PyGetSetDef bpy_bmface_getseters[] = {
{(char *)"normal", (getter)bpy_bmface_normal_get, (setter)bpy_bmface_normal_set, (char *)bpy_bmface_normal_doc, NULL},
+ {(char *)"material_index", (getter)bpy_bmface_material_index_get, (setter)bpy_bmface_material_index_set, (char *)bpy_bmface_material_index_doc, NULL},
+
/* connectivity data */
{(char *)"verts", (getter)bpy_bmelemseq_elem_get, (setter)NULL, (char *)bpy_bmface_verts_doc, (void *)BM_VERTS_OF_FACE},
{(char *)"edges", (getter)bpy_bmelemseq_elem_get, (setter)NULL, (char *)bpy_bmface_edges_doc, (void *)BM_EDGES_OF_FACE},