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:
Diffstat (limited to 'source/blender/bmesh/intern/bmesh_iterators_inline.h')
-rw-r--r--source/blender/bmesh/intern/bmesh_iterators_inline.h76
1 files changed, 39 insertions, 37 deletions
diff --git a/source/blender/bmesh/intern/bmesh_iterators_inline.h b/source/blender/bmesh/intern/bmesh_iterators_inline.h
index faa109617d5..6a0eb0e0a30 100644
--- a/source/blender/bmesh/intern/bmesh_iterators_inline.h
+++ b/source/blender/bmesh/intern/bmesh_iterators_inline.h
@@ -54,87 +54,89 @@ BLI_INLINE bool BM_iter_init(BMIter *iter, BMesh *bm, const char itype, void *da
{
/* int argtype; */
iter->itype = itype;
- iter->bm = bm;
/* inlining optimizes out this switch when called with the defined type */
switch ((BMIterType)itype) {
case BM_VERTS_OF_MESH:
BLI_assert(bm != NULL);
BLI_assert(data == NULL);
- iter->begin = bmiter__vert_of_mesh_begin;
- iter->step = bmiter__vert_of_mesh_step;
+ iter->begin = (BMIter__begin_cb)bmiter__vert_of_mesh_begin;
+ iter->step = (BMIter__step_cb)bmiter__vert_of_mesh_step;
+ iter->data.vert_of_mesh.bm = bm;
break;
case BM_EDGES_OF_MESH:
BLI_assert(bm != NULL);
BLI_assert(data == NULL);
- iter->begin = bmiter__edge_of_mesh_begin;
- iter->step = bmiter__edge_of_mesh_step;
+ iter->begin = (BMIter__begin_cb)bmiter__edge_of_mesh_begin;
+ iter->step = (BMIter__step_cb)bmiter__edge_of_mesh_step;
+ iter->data.edge_of_mesh.bm = bm;
break;
case BM_FACES_OF_MESH:
BLI_assert(bm != NULL);
BLI_assert(data == NULL);
- iter->begin = bmiter__face_of_mesh_begin;
- iter->step = bmiter__face_of_mesh_step;
+ iter->begin = (BMIter__begin_cb)bmiter__face_of_mesh_begin;
+ iter->step = (BMIter__step_cb)bmiter__face_of_mesh_step;
+ iter->data.face_of_mesh.bm = bm;
break;
case BM_EDGES_OF_VERT:
BLI_assert(data != NULL);
- iter->begin = bmiter__edge_of_vert_begin;
- iter->step = bmiter__edge_of_vert_step;
- iter->vdata = (BMVert *)data;
+ 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);
- iter->begin = bmiter__face_of_vert_begin;
- iter->step = bmiter__face_of_vert_step;
- iter->vdata = (BMVert *)data;
+ 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);
- iter->begin = bmiter__loop_of_vert_begin;
- iter->step = bmiter__loop_of_vert_step;
- iter->vdata = (BMVert *)data;
+ 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);
- iter->begin = bmiter__vert_of_edge_begin;
- iter->step = bmiter__vert_of_edge_step;
- iter->edata = (BMEdge *)data;
+ 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);
- iter->begin = bmiter__face_of_edge_begin;
- iter->step = bmiter__face_of_edge_step;
- iter->edata = (BMEdge *)data;
+ 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);
- iter->begin = bmiter__vert_of_face_begin;
- iter->step = bmiter__vert_of_face_step;
- iter->pdata = (BMFace *)data;
+ 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);
- iter->begin = bmiter__edge_of_face_begin;
- iter->step = bmiter__edge_of_face_step;
- iter->pdata = (BMFace *)data;
+ 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);
- iter->begin = bmiter__loop_of_face_begin;
- iter->step = bmiter__loop_of_face_step;
- iter->pdata = (BMFace *)data;
+ 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);
- iter->begin = bmiter__loops_of_loop_begin;
- iter->step = bmiter__loops_of_loop_step;
- iter->ldata = (BMLoop *)data;
+ 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);
- iter->begin = bmiter__loops_of_edge_begin;
- iter->step = bmiter__loops_of_edge_step;
- iter->edata = (BMEdge *)data;
+ 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;
break;
default:
/* should never happen */