diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-08-02 12:03:07 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-08-02 12:05:13 +0400 |
commit | d98b6a289cc3769b1a8f4e5295533c029e4bd1fa (patch) | |
tree | a4bed8e9f6ce1ae8584db146dc1575efd8fcdc00 /source/blender/bmesh | |
parent | bc9bbca41b6d78b99520a4efb35e299d2def94bb (diff) |
BMesh: typecheck iterator
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_iterators_inline.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/bmesh/intern/bmesh_iterators_inline.h b/source/blender/bmesh/intern/bmesh_iterators_inline.h index 6a0eb0e0a30..b9733d4702f 100644 --- a/source/blender/bmesh/intern/bmesh_iterators_inline.h +++ b/source/blender/bmesh/intern/bmesh_iterators_inline.h @@ -80,60 +80,70 @@ BLI_INLINE bool BM_iter_init(BMIter *iter, BMesh *bm, const char itype, void *da break; case BM_EDGES_OF_VERT: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_VERT); iter->begin = (BMIter__begin_cb)bmiter__edge_of_vert_begin; iter->step = (BMIter__step_cb)bmiter__edge_of_vert_step; iter->data.edge_of_vert.vdata = (BMVert *)data; break; case BM_FACES_OF_VERT: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_VERT); iter->begin = (BMIter__begin_cb)bmiter__face_of_vert_begin; iter->step = (BMIter__step_cb)bmiter__face_of_vert_step; iter->data.face_of_vert.vdata = (BMVert *)data; break; case BM_LOOPS_OF_VERT: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_VERT); iter->begin = (BMIter__begin_cb)bmiter__loop_of_vert_begin; iter->step = (BMIter__step_cb)bmiter__loop_of_vert_step; iter->data.loop_of_vert.vdata = (BMVert *)data; break; case BM_VERTS_OF_EDGE: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_EDGE); iter->begin = (BMIter__begin_cb)bmiter__vert_of_edge_begin; iter->step = (BMIter__step_cb)bmiter__vert_of_edge_step; iter->data.vert_of_edge.edata = (BMEdge *)data; break; case BM_FACES_OF_EDGE: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_EDGE); iter->begin = (BMIter__begin_cb)bmiter__face_of_edge_begin; iter->step = (BMIter__step_cb)bmiter__face_of_edge_step; iter->data.face_of_edge.edata = (BMEdge *)data; break; case BM_VERTS_OF_FACE: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_FACE); iter->begin = (BMIter__begin_cb)bmiter__vert_of_face_begin; iter->step = (BMIter__step_cb)bmiter__vert_of_face_step; iter->data.vert_of_face.pdata = (BMFace *)data; break; case BM_EDGES_OF_FACE: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_FACE); iter->begin = (BMIter__begin_cb)bmiter__edge_of_face_begin; iter->step = (BMIter__step_cb)bmiter__edge_of_face_step; iter->data.edge_of_face.pdata = (BMFace *)data; break; case BM_LOOPS_OF_FACE: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_FACE); iter->begin = (BMIter__begin_cb)bmiter__loop_of_face_begin; iter->step = (BMIter__step_cb)bmiter__loop_of_face_step; iter->data.loop_of_face.pdata = (BMFace *)data; break; case BM_LOOPS_OF_LOOP: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_LOOP); iter->begin = (BMIter__begin_cb)bmiter__loop_of_loop_begin; iter->step = (BMIter__step_cb)bmiter__loop_of_loop_step; iter->data.loop_of_loop.ldata = (BMLoop *)data; break; case BM_LOOPS_OF_EDGE: BLI_assert(data != NULL); + BLI_assert(((BMElem *)data)->head.htype == BM_EDGE); iter->begin = (BMIter__begin_cb)bmiter__loop_of_edge_begin; iter->step = (BMIter__step_cb)bmiter__loop_of_edge_step; iter->data.loop_of_edge.edata = (BMEdge *)data; |