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-02-26 02:23:40 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-02-26 02:23:40 +0400
commitc65b3b73fd2c0c0011ef36d8fc36301de4a42fe0 (patch)
tree3a45d161d5814bf403ffa9093a2d417b6f7a960e /source/blender/python
parent72e1316dc4b607440430779d78a26a76a4527c4b (diff)
bmesh api cleanup
* better type safety for BM_elem_flag_* and BM_elem_index_* functions. * add BMElem type to be used where BMFace/Edge/Vert/Loop can be interchanged. * fix bug in select manifold, found when making functions more strict.
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/bmesh/bmesh_py_types.c18
-rw-r--r--source/blender/python/bmesh/bmesh_py_types.h2
2 files changed, 10 insertions, 10 deletions
diff --git a/source/blender/python/bmesh/bmesh_py_types.c b/source/blender/python/bmesh/bmesh_py_types.c
index 6d6bb0db0f6..c4b5d70d83f 100644
--- a/source/blender/python/bmesh/bmesh_py_types.c
+++ b/source/blender/python/bmesh/bmesh_py_types.c
@@ -164,8 +164,8 @@ static int bpy_bm_elem_index_set(BPy_BMElem *self, PyObject *value, void *UNUSED
BM_elem_index_set(self->ele, param); /* set_dirty! */
/* when setting the index assume its set invalid */
- if (self->ele->htype & (BM_VERT | BM_EDGE | BM_FACE)) {
- self->bm->elem_index_dirty |= self->ele->htype;
+ if (self->ele->head.htype & (BM_VERT | BM_EDGE | BM_FACE)) {
+ self->bm->elem_index_dirty |= self->ele->head.htype;
}
return 0;
@@ -1500,7 +1500,7 @@ static PyObject *bpy_bmelemseq_index_update(BPy_BMElemSeq *self)
default:
{
BMIter iter;
- BMHeader *ele;
+ BMElem *ele;
int index = 0;
const char htype = bm_iter_itype_htype_map[self->itype];
@@ -1790,7 +1790,7 @@ static int bpy_bmelemseq_contains(BPy_BMElemSeq *self, PyObject *value)
if (Py_TYPE(value) == bpy_bm_itype_as_pytype(self->itype)) {
BPy_BMElem *value_bm_ele = (BPy_BMElem *)value;
if (value_bm_ele->bm == self->bm) {
- BMHeader *ele, *ele_test = value_bm_ele->ele;
+ BMElem *ele, *ele_test = value_bm_ele->ele;
BMIter iter;
BM_ITER_BPY_BM_SEQ(ele, &iter, self) {
if (ele == ele_test) {
@@ -1870,7 +1870,7 @@ static void bpy_bmvert_dealloc(BPy_BMElem *self)
{
BMesh *bm = self->bm;
if (bm) {
- void **ptr = CustomData_bmesh_get(&bm->vdata, self->ele->data, CD_BM_ELEM_PYPTR);
+ void **ptr = CustomData_bmesh_get(&bm->vdata, self->ele->head.data, CD_BM_ELEM_PYPTR);
*ptr = NULL;
}
PyObject_DEL(self);
@@ -1880,7 +1880,7 @@ static void bpy_bmedge_dealloc(BPy_BMElem *self)
{
BMesh *bm = self->bm;
if (bm) {
- void **ptr = CustomData_bmesh_get(&bm->edata, self->ele->data, CD_BM_ELEM_PYPTR);
+ void **ptr = CustomData_bmesh_get(&bm->edata, self->ele->head.data, CD_BM_ELEM_PYPTR);
*ptr = NULL;
}
PyObject_DEL(self);
@@ -1890,7 +1890,7 @@ static void bpy_bmface_dealloc(BPy_BMElem *self)
{
BMesh *bm = self->bm;
if (bm) {
- void **ptr = CustomData_bmesh_get(&bm->pdata, self->ele->data, CD_BM_ELEM_PYPTR);
+ void **ptr = CustomData_bmesh_get(&bm->pdata, self->ele->head.data, CD_BM_ELEM_PYPTR);
*ptr = NULL;
}
PyObject_DEL(self);
@@ -1900,7 +1900,7 @@ static void bpy_bmloop_dealloc(BPy_BMElem *self)
{
BMesh *bm = self->bm;
if (bm) {
- void **ptr = CustomData_bmesh_get(&bm->ldata, self->ele->data, CD_BM_ELEM_PYPTR);
+ void **ptr = CustomData_bmesh_get(&bm->ldata, self->ele->head.data, CD_BM_ELEM_PYPTR);
*ptr = NULL;
}
PyObject_DEL(self);
@@ -2304,7 +2304,7 @@ void *BPy_BMElem_PySeq_As_Array(BMesh **r_bm, PyObject *seq, Py_ssize_t min, Py_
Py_ssize_t i;
BPy_BMElem *item;
- BMHeader **alloc;
+ BMElem **alloc;
seq_len = PySequence_Fast_GET_SIZE(seq_fast);
diff --git a/source/blender/python/bmesh/bmesh_py_types.h b/source/blender/python/bmesh/bmesh_py_types.h
index 05a36ee9897..c928e8866c3 100644
--- a/source/blender/python/bmesh/bmesh_py_types.h
+++ b/source/blender/python/bmesh/bmesh_py_types.h
@@ -56,7 +56,7 @@ typedef struct BPy_BMGeneric {
typedef struct BPy_BMElem {
PyObject_VAR_HEAD
struct BMesh *bm; /* keep first */
- struct BMHeader *ele;
+ struct BMElem *ele;
} BPy_BMElem;
typedef struct BPy_BMesh {