diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-02 16:09:49 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-02 16:09:49 +0400 |
commit | 622ac0dd1682fd4949319817fd6e58fc7d7c86ed (patch) | |
tree | c52790d29ae0d7f405ad8482b6e4d68a358ea1ac /source/blender | |
parent | cf927d3fd149cbbba4732c789ccbac239f4000f3 (diff) |
code cleanup:
replace casts: '((Mesh *)ob->data)->edit_btmesh' with 'BMEdit_FromObject(ob)'
also minor style edits.
Diffstat (limited to 'source/blender')
29 files changed, 261 insertions, 240 deletions
diff --git a/source/blender/blenkernel/BKE_tessmesh.h b/source/blender/blenkernel/BKE_tessmesh.h index cc3f2870711..ae2882b1712 100644 --- a/source/blender/blenkernel/BKE_tessmesh.h +++ b/source/blender/blenkernel/BKE_tessmesh.h @@ -88,6 +88,7 @@ typedef struct BMEditMesh { void BMEdit_RecalcTesselation(BMEditMesh *tm); BMEditMesh *BMEdit_Create(BMesh *bm, int do_tesselate); BMEditMesh *BMEdit_Copy(BMEditMesh *tm); +BMEditMesh *BMEdit_FromObject(struct Object *ob); void BMEdit_Free(BMEditMesh *em); void BMEdit_UpdateLinkedCustomData(BMEditMesh *em); diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c index f73a2ff6c1a..f0fb5cc64b4 100644 --- a/source/blender/blenkernel/intern/editderivedmesh.c +++ b/source/blender/blenkernel/intern/editderivedmesh.c @@ -47,9 +47,9 @@ #include "BKE_paint.h" +#include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" #include "DNA_object_types.h" -#include "DNA_curve_types.h" /* for Curve */ #include "MEM_guardedalloc.h" @@ -1707,3 +1707,15 @@ DerivedMesh *getEditDerivedBMesh( return (DerivedMesh*) bmdm; } + +/** + * \brief Return the BMEditMesh for a given object + * + * \note this function assumes this is a mesh object, + * don't add NULL data check here. caller must do that + */ +BMEditMesh *BMEdit_FromObject(Object *ob) +{ + BLI_assert(ob->type == OB_MESH); + return ((Mesh *) ob->data )->edit_btmesh; +} diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 37fb8b4a550..52ddfb67bf8 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2527,7 +2527,7 @@ void object_handle_update(Scene *scene, Object *ob) case OB_MESH: { #if 0 // XXX, comment for 2.56a release, background wont set 'scene->customdata_mask' - BMEditMesh *em = (ob == scene->obedit)? ((Mesh*)ob->data)->edit_btmesh : NULL; + BMEditMesh *em = (ob == scene->obedit) ? BMEdit_FromObject(ob) : NULL; BLI_assert((scene->customdata_mask & CD_MASK_BAREMESH) == CD_MASK_BAREMESH); if (em) { makeDerivedMesh(scene, ob, em, scene->customdata_mask, 0); /* was CD_MASK_BAREMESH */ @@ -2537,7 +2537,7 @@ void object_handle_update(Scene *scene, Object *ob) } #else /* ensure CD_MASK_BAREMESH for now */ - BMEditMesh *em = (ob == scene->obedit)? ((Mesh*)ob->data)->edit_btmesh : NULL; + BMEditMesh *em = (ob == scene->obedit) ? BMEdit_FromObject(ob) : NULL; uint64_t data_mask= scene->customdata_mask | ob->customdata_mask | CD_MASK_BAREMESH; if (em) { makeDerivedMesh(scene, ob, em, data_mask, 0); /* was CD_MASK_BAREMESH */ diff --git a/source/blender/bmesh/operators/bmo_edgesplit.c b/source/blender/bmesh/operators/bmo_edgesplit.c index 059ee882fb8..69555f7b89e 100644 --- a/source/blender/bmesh/operators/bmo_edgesplit.c +++ b/source/blender/bmesh/operators/bmo_edgesplit.c @@ -154,25 +154,31 @@ static void tag_out_edges(BMesh *bm, EdgeTag *etags, BMOperator *UNUSED(op)) et = &etags[BM_elem_index_get(l->e)]; if (et->newe1 == l->e) { if (et->newe1) { + printf("ret1a %p\n", et->newe1); BMO_elem_flag_enable(bm, et->newe1, EDGE_RET1); BMO_elem_flag_disable(bm, et->newe1, EDGE_SEAM); } if (et->newe2) { + printf("ret2a %p\n", et->newe2); BMO_elem_flag_enable(bm, et->newe2, EDGE_RET2); BMO_elem_flag_disable(bm, et->newe2, EDGE_SEAM); } } else { if (et->newe1) { + printf("ret2b %p\n", et->newe1); BMO_elem_flag_enable(bm, et->newe1, EDGE_RET2); BMO_elem_flag_disable(bm, et->newe1, EDGE_SEAM); } if (et->newe2) { + printf("ret2b %p\n", et->newe2); BMO_elem_flag_enable(bm, et->newe2, EDGE_RET1); BMO_elem_flag_disable(bm, et->newe2, EDGE_SEAM); } } + printf("SEAM %d\n", BMO_elem_flag_test(bm, l->e, EDGE_SEAM)); + /* If the original edge was non-manifold edges, then it is * possible l->e is not et->newe1 or et->newe2. So always clear * the flag on l->e as well, to prevent infinite looping. */ diff --git a/source/blender/editors/mesh/bmesh_select.c b/source/blender/editors/mesh/bmesh_select.c index ac658f242af..2e21f6d1f28 100644 --- a/source/blender/editors/mesh/bmesh_select.c +++ b/source/blender/editors/mesh/bmesh_select.c @@ -104,7 +104,7 @@ void EDBM_automerge(Scene *scene, Object *obedit, int update) if ((scene->toolsettings->automerge) && (obedit && obedit->type == OB_MESH)) { - em = ((Mesh *)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); if (!em) return; @@ -692,7 +692,7 @@ static EnumPropertyItem prop_similar_types[] = { static int similar_face_select_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; /* get the type from RNA */ @@ -733,7 +733,7 @@ static int similar_face_select_exec(bContext *C, wmOperator *op) static int similar_edge_select_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; /* get the type from RNA */ @@ -780,7 +780,7 @@ VERT GROUP static int similar_vert_select_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; /* get the type from RNA */ int type = RNA_enum_get(op->ptr, "type"); @@ -833,7 +833,7 @@ static EnumPropertyItem *select_similar_type_itemf(bContext *C, PointerRNA *UNUS if (obedit && obedit->type == OB_MESH) { EnumPropertyItem *item = NULL; int a, totitem = 0; - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (em->selectmode & SCE_SELECT_VERTEX) { for (a = SIMVERT_NORMAL; a < SIMEDGE_LENGTH; a++) { @@ -908,7 +908,7 @@ static void walker_select(BMEditMesh *em, int walkercode, void *start, int selec static int loop_multiselect(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMEdge *eed; BMEdge **edarray; int edindex; @@ -1728,7 +1728,7 @@ static void linked_limit_default(bContext *C, wmOperator *op) { if (!RNA_struct_property_is_set(op->ptr, "limit")) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (em->selectmode == SCE_SELECT_FACE) RNA_boolean_set(op->ptr, "limit", TRUE); else @@ -1850,7 +1850,7 @@ void MESH_OT_select_linked_pick(wmOperatorType *ot) static int select_linked_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMIter iter; BMVert *v; @@ -1945,7 +1945,7 @@ void MESH_OT_select_linked(wmOperatorType *ot) static int select_more(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); EDBM_select_more(em); @@ -1971,7 +1971,7 @@ void MESH_OT_select_more(wmOperatorType *ot) static int select_less(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); EDBM_select_less(em); @@ -2145,7 +2145,7 @@ static int EM_deselect_nth(BMEditMesh *em, int nth, int offset) static int mesh_select_nth_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); int nth = RNA_int_get(op->ptr, "nth"); int offset = RNA_int_get(op->ptr, "offset"); @@ -2207,7 +2207,7 @@ static int select_sharp_edges_exec(bContext *C, wmOperator *op) * small enough, select the edge */ Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMIter iter; BMEdge *e; BMLoop *l1, *l2; @@ -2260,7 +2260,7 @@ void MESH_OT_edges_select_sharp(wmOperatorType *ot) static int select_linked_flat_faces_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMIter iter, liter, liter2; BMFace *f, **stack = NULL; BLI_array_declare(stack); @@ -2341,7 +2341,7 @@ void MESH_OT_faces_select_linked_flat(wmOperatorType *ot) static int select_non_manifold_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMVert *v; BMEdge *e; BMIter iter; @@ -2390,7 +2390,7 @@ void MESH_OT_select_non_manifold(wmOperatorType *ot) static int mesh_select_random_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMVert *eve; BMEdge *eed; BMFace *efa; @@ -2456,7 +2456,7 @@ void MESH_OT_select_random(wmOperatorType *ot) static int select_next_loop(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *f; BMVert *v; BMIter iter; @@ -2506,7 +2506,7 @@ void MESH_OT_select_next_loop(wmOperatorType *ot) static int region_to_loop(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *f; BMEdge *e; BMIter iter; @@ -2710,7 +2710,7 @@ static int loop_find_regions(BMEditMesh *em, int selbigger) static int loop_to_region(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMIter iter; BMFace *f; int selbigger = RNA_boolean_get(op->ptr, "select_bigger"); diff --git a/source/blender/editors/mesh/bmesh_tools.c b/source/blender/editors/mesh/bmesh_tools.c index 0a05d1b61e4..daa03d2726f 100644 --- a/source/blender/editors/mesh/bmesh_tools.c +++ b/source/blender/editors/mesh/bmesh_tools.c @@ -77,7 +77,7 @@ static int subdivide_exec(bContext *C, wmOperator *op) { ToolSettings *ts = CTX_data_tool_settings(C); Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); int cuts = RNA_int_get(op->ptr,"number_cuts"); float smooth = 0.292f * RNA_float_get(op->ptr, "smoothness"); float fractal = RNA_float_get(op->ptr, "fractal")/2.5; @@ -368,7 +368,7 @@ static short EDBM_Extrude_vert(Object *obedit, BMEditMesh *em, const char hflag, static int extrude_repeat_mesh(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); RegionView3D *rv3d = CTX_wm_region_view3d(C); int steps = RNA_int_get(op->ptr,"steps"); @@ -508,7 +508,7 @@ static int mesh_extrude_region_exec(bContext *C, wmOperator *op) { Scene *scene = CTX_data_scene(C); Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); EDBM_Extrude_Mesh(scene, obedit, em, op, NULL); @@ -543,7 +543,7 @@ void MESH_OT_extrude_region(wmOperatorType *ot) static int mesh_extrude_verts_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); float nor[3]; EDBM_Extrude_verts_indiv(em, op, BM_ELEM_SELECT, nor); @@ -573,7 +573,7 @@ void MESH_OT_extrude_verts_indiv(wmOperatorType *ot) static int mesh_extrude_edges_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); float nor[3]; EDBM_Extrude_edges_indiv(em, op, BM_ELEM_SELECT, nor); @@ -603,7 +603,7 @@ void MESH_OT_extrude_edges_indiv(wmOperatorType *ot) static int mesh_extrude_faces_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); float nor[3]; EDBM_Extrude_face_indiv(em, op, BM_ELEM_SELECT, nor); @@ -642,7 +642,7 @@ void EDBM_toggle_select_all(BMEditMesh *em) /* exported for UV */ static int mesh_select_all_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); int action = RNA_enum_get(op->ptr, "action"); switch (action) { @@ -685,7 +685,7 @@ void MESH_OT_select_all(wmOperatorType *ot) static int mesh_faces_select_interior_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (EDBM_select_interior_faces(em)) { WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit); @@ -903,7 +903,7 @@ void MESH_OT_dupli_extrude_cursor(wmOperatorType *ot) static int delete_mesh(bContext *C, Object *obedit, wmOperator *op, int event, Scene *UNUSED(scene)) { - BMEditMesh *bem = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *bem = BMEdit_FromObject(obedit); if (event < 1) return OPERATOR_CANCELLED; @@ -978,7 +978,7 @@ static EnumPropertyItem prop_mesh_delete_types[] = { static int delete_mesh_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); Scene *scene = CTX_data_scene(C); int type = RNA_enum_get(op->ptr, "type"); @@ -1027,7 +1027,7 @@ static int addedgeface_mesh_exec(bContext *C, wmOperator *op) { BMOperator bmop; Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (!EDBM_InitOpf(em, &bmop, op, "contextual_create geom=%hfev", BM_ELEM_SELECT)) return OPERATOR_CANCELLED; @@ -1066,7 +1066,7 @@ static int editbmesh_mark_seam(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); Mesh *me = ((Mesh *)obedit->data); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMEdge *eed; BMIter iter; @@ -1120,7 +1120,7 @@ static int editbmesh_mark_sharp(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); Mesh *me = ((Mesh *)obedit->data); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMEdge *eed; BMIter iter; @@ -1176,7 +1176,7 @@ void MESH_OT_mark_sharp(wmOperatorType *ot) static int editbmesh_vert_connect(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMOperator bmop; int len = 0; @@ -1213,7 +1213,7 @@ void MESH_OT_vert_connect(wmOperatorType *ot) static int editbmesh_edge_split(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMOperator bmop; int len = 0; @@ -1256,7 +1256,7 @@ void MESH_OT_edge_split(wmOperatorType *ot) static int mesh_duplicate_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; EDBM_InitOpf(em, &bmop, op, "dupe geom=%hvef", BM_ELEM_SELECT); @@ -1305,7 +1305,7 @@ void MESH_OT_duplicate(wmOperatorType *ot) static int flip_normals(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (!EDBM_CallOpf(em, op, "reversefaces faces=%hf", BM_ELEM_SELECT)) return OPERATOR_CANCELLED; @@ -1340,7 +1340,7 @@ static const EnumPropertyItem direction_items[] = { static int edge_rotate_selected(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMOperator bmop; BMEdge *eed; BMIter iter; @@ -1458,7 +1458,7 @@ void EDBM_hide_mesh(BMEditMesh *em, int swap) static int hide_mesh_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); EDBM_hide_mesh(em, RNA_boolean_get(op->ptr, "unselected")); @@ -1532,7 +1532,7 @@ void EDBM_reveal_mesh(BMEditMesh *em) static int reveal_mesh_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); EDBM_reveal_mesh(em); @@ -1560,7 +1560,7 @@ void MESH_OT_reveal(wmOperatorType *ot) static int normals_make_consistent_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); /* doflip has to do with bmesh_rationalize_normals, it's an internal * thing */ @@ -1598,7 +1598,7 @@ void MESH_OT_normals_make_consistent(wmOperatorType *ot) static int do_smooth_vertex(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); ModifierData *md; int mirrx = FALSE, mirry = FALSE, mirrz = FALSE; int i, repeat; @@ -1677,7 +1677,7 @@ static int bm_test_exec(bContext *C, wmOperator *UNUSED(op)) Object *obedit = CTX_data_edit_object(C); ARegion *ar = CTX_wm_region(C); View3D *v3d = CTX_wm_view3d(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMBVHTree *tree = BMBVH_NewBVH(em, 0, NULL, NULL); BMIter iter; BMEdge *e; @@ -1765,7 +1765,7 @@ static void mesh_set_smooth_faces(BMEditMesh *em, short smooth) static int mesh_faces_shade_smooth_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); mesh_set_smooth_faces(em, 1); @@ -1793,7 +1793,7 @@ void MESH_OT_faces_shade_smooth(wmOperatorType *ot) static int mesh_faces_shade_flat_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); mesh_set_smooth_faces(em, 0); @@ -1830,7 +1830,7 @@ static const EnumPropertyItem axis_items[] = { static int mesh_rotate_uvs(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; /* get the direction from RNA */ @@ -1858,7 +1858,7 @@ static int mesh_rotate_uvs(bContext *C, wmOperator *op) static int mesh_reverse_uvs(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; /* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */ @@ -1883,7 +1883,7 @@ static int mesh_reverse_uvs(bContext *C, wmOperator *op) static int mesh_rotate_colors(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; /* get the direction from RNA */ @@ -1914,7 +1914,7 @@ static int mesh_rotate_colors(bContext *C, wmOperator *op) static int mesh_reverse_colors(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; /* initialize the bmop using EDBM api, which does various ui error reporting and other stuff */ @@ -2084,7 +2084,7 @@ static int merge_exec(bContext *C, wmOperator *op) Scene *scene = CTX_data_scene(C); View3D *v3d = CTX_wm_view3d(C); Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); int status = 0, uvs = RNA_boolean_get(op->ptr, "uvs"); switch(RNA_enum_get(op->ptr, "type")) { @@ -2135,7 +2135,7 @@ static EnumPropertyItem *merge_type_itemf(bContext *C, PointerRNA *UNUSED(ptr), obedit = CTX_data_edit_object(C); if (obedit && obedit->type == OB_MESH) { - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (em->selectmode & SCE_SELECT_VERTEX) { if (em->bm->selected.first && em->bm->selected.last && @@ -2190,7 +2190,7 @@ void MESH_OT_merge(wmOperatorType *ot) static int removedoublesflag_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMOperator bmop; int count; @@ -2254,7 +2254,7 @@ typedef struct PathEdge { static int select_vertex_path_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; BMEditSelection *sv, *ev; @@ -2345,7 +2345,7 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event) ARegion *ar = CTX_wm_region(C); View3D *v3d = CTX_wm_view3d(C); RegionView3D *rv3d = CTX_wm_region_view3d(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMOperator bmop; BMBVHTree *bvhtree; @@ -2731,7 +2731,7 @@ void MESH_OT_blend_from_shape(wmOperatorType *ot) static int select_axis_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMEditSelection *ese = em->bm->selected.last; int axis = RNA_enum_get(op->ptr, "axis"); int mode = RNA_enum_get(op->ptr, "mode"); /* -1 == aligned, 0 == neg, 1 == pos */ @@ -3068,7 +3068,7 @@ static float bm_edge_seg_isect(BMEdge *e, CutCurve *c, int len, char mode, static int knife_cut_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; ARegion *ar = CTX_wm_region(C); BMVert *bv; @@ -3392,7 +3392,7 @@ void MESH_OT_separate(wmOperatorType *ot) static int fill_mesh_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMOperator bmop; if (!EDBM_InitOpf(em, &bmop, op, "triangle_fill edges=%he", BM_ELEM_SELECT)) { @@ -3432,7 +3432,7 @@ void MESH_OT_fill(wmOperatorType *ot) static int beautify_fill_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (!EDBM_CallOpf(em, op, "beautify_fill faces=%hf", BM_ELEM_SELECT)) return OPERATOR_CANCELLED; @@ -3462,7 +3462,7 @@ void MESH_OT_beautify_fill(wmOperatorType *ot) static int quads_convert_to_tris_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (!EDBM_CallOpf(em, op, "triangulate faces=%hf", BM_ELEM_SELECT)) return OPERATOR_CANCELLED; @@ -3490,7 +3490,7 @@ void MESH_OT_quads_convert_to_tris(wmOperatorType *ot) static int tris_convert_to_quads_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); int dosharp, douvs, dovcols, domaterials; float limit = RNA_float_get(op->ptr, "limit"); @@ -3540,7 +3540,7 @@ void MESH_OT_tris_convert_to_quads(wmOperatorType *ot) static int dissolve_limited_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); float angle_limit = RNA_float_get(op->ptr, "angle_limit"); if (!EDBM_CallOpf(em, op, @@ -3580,7 +3580,7 @@ void MESH_OT_dissolve_limited(wmOperatorType *ot) static int split_mesh_exec(bContext *C, wmOperator *op) { Object *ob = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMOperator bmop; EDBM_InitOpf(em, &bmop, op, "split geom=%hvef use_only_faces=%b", BM_ELEM_SELECT, FALSE); @@ -3620,7 +3620,7 @@ static int spin_mesh_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); ToolSettings *ts = CTX_data_tool_settings(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMOperator spinop; float cent[3], axis[3], imat[3][3]; @@ -3700,7 +3700,7 @@ void MESH_OT_spin(wmOperatorType *ot) static int screw_mesh_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; BMEdge *eed; BMVert *eve, *v1, *v2; @@ -3826,7 +3826,7 @@ void MESH_OT_screw(wmOperatorType *ot) static int select_by_number_vertices_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMIter iter; int numverts = RNA_int_get(op->ptr, "number"); @@ -3885,7 +3885,7 @@ void MESH_OT_select_by_number_vertices(wmOperatorType *ot) static int select_loose_verts_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMVert *eve; BMEdge *eed; BMIter iter; @@ -3930,7 +3930,7 @@ void MESH_OT_select_loose_verts(wmOperatorType *ot) static int select_mirror_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); int extend = RNA_boolean_get(op->ptr, "extend"); EDBM_select_mirrored(obedit, em, extend); @@ -4318,7 +4318,7 @@ static void hashvert_flag(EditMesh *em, int flag) static int mesh_vertices_randomize_exec(bContext *C, wmOperator *UNUSED(op)) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); #if 1 /* BMESH TODO */ (void)em; #else @@ -4349,7 +4349,7 @@ void MESH_OT_vertices_randomize(wmOperatorType *ot) static int mesh_noise_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); Material *ma; Tex *tex; BMVert *eve; @@ -4421,7 +4421,7 @@ void MESH_OT_noise(wmOperatorType *ot) static int mesh_bevel_exec(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = (((Mesh *)obedit->data))->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMIter iter; BMEdge *eed; BMOperator bmop; @@ -4515,7 +4515,7 @@ void MESH_OT_bevel(wmOperatorType *ot) static int bridge_edge_loops(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (!EDBM_CallOpf(em, op, "bridge_loops edges=%he", BM_ELEM_SELECT)) return OPERATOR_CANCELLED; diff --git a/source/blender/editors/mesh/bmesh_utils.c b/source/blender/editors/mesh/bmesh_utils.c index 830534e3315..892184e94ad 100644 --- a/source/blender/editors/mesh/bmesh_utils.c +++ b/source/blender/editors/mesh/bmesh_utils.c @@ -245,7 +245,7 @@ void EDBM_selectmode_to_scene(bContext *C) { Scene *scene = CTX_data_scene(C); Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (!em) return; diff --git a/source/blender/editors/mesh/knifetool.c b/source/blender/editors/mesh/knifetool.c index 86e02d44de9..3b78ceada98 100644 --- a/source/blender/editors/mesh/knifetool.c +++ b/source/blender/editors/mesh/knifetool.c @@ -2051,7 +2051,7 @@ static int knifetool_init(bContext *C, wmOperator *op, int UNUSED(do_cut)) kcd->draw_handle = ED_region_draw_cb_activate(kcd->ar->type, knifetool_draw, kcd, REGION_DRAW_POST_VIEW); em_setup_viewcontext(C, &kcd->vc); - kcd->em = ((Mesh *)kcd->ob->data)->edit_btmesh; + kcd->em = BMEdit_FromObject(kcd->ob); BM_mesh_elem_index_ensure(kcd->em->bm, BM_VERT); @@ -2185,7 +2185,7 @@ static int knifetool_modal (bContext *C, wmOperator *op, wmEvent *event) } obedit = CTX_data_edit_object(C); - if (!obedit || obedit->type != OB_MESH || ((Mesh *)obedit->data)->edit_btmesh != kcd->em) { + if (!obedit || obedit->type != OB_MESH || BMEdit_FromObject(obedit) != kcd->em) { knifetool_exit(C, op); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/mesh/loopcut.c b/source/blender/editors/mesh/loopcut.c index 30dedf10618..a82310be926 100644 --- a/source/blender/editors/mesh/loopcut.c +++ b/source/blender/editors/mesh/loopcut.c @@ -373,7 +373,7 @@ static int ringsel_init (bContext *C, wmOperator *op, int do_cut) lcd->ar= CTX_wm_region(C); lcd->draw_handle= ED_region_draw_cb_activate(lcd->ar->type, ringsel_draw, lcd, REGION_DRAW_POST_VIEW); lcd->ob = CTX_data_edit_object(C); - lcd->em= ((Mesh *)lcd->ob->data)->edit_btmesh; + lcd->em = BMEdit_FromObject(lcd->ob); lcd->extend = do_cut ? 0 : RNA_boolean_get(op->ptr, "extend"); lcd->do_cut = do_cut; diff --git a/source/blender/editors/mesh/mesh_navmesh.c b/source/blender/editors/mesh/mesh_navmesh.c index 374fbca0659..38d632ffaee 100644 --- a/source/blender/editors/mesh/mesh_navmesh.c +++ b/source/blender/editors/mesh/mesh_navmesh.c @@ -321,7 +321,7 @@ static Object* createRepresentation(bContext *C, struct recast_polyMesh *pmesh, } ED_object_enter_editmode(C, EM_DO_UNDO|EM_IGNORE_LAYER); - em= (((Mesh *)obedit->data))->edit_btmesh; + em = BMEdit_FromObject(obedit); if(!createob) { /* clear */ @@ -483,8 +483,8 @@ void MESH_OT_navmesh_make(wmOperatorType *ot) static int navmesh_face_copy_exec(bContext *C, wmOperator *op) { - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh *)obedit->data)->edit_btmesh; + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); /* do work here */ BMFace *efa_act= BM_active_face_get(em->bm, FALSE); @@ -571,8 +571,8 @@ static int findFreeNavPolyIndex(BMEditMesh* em) static int navmesh_face_add_exec(bContext *C, wmOperator *UNUSED(op)) { - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh *)obedit->data)->edit_btmesh; + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *ef; BMIter iter; diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c index 4b4083751e7..1c38a9d3cd3 100644 --- a/source/blender/editors/mesh/mesh_ops.c +++ b/source/blender/editors/mesh/mesh_ops.c @@ -174,7 +174,7 @@ static int ED_operator_editmesh_face_select(bContext *C) { Object *obedit= CTX_data_edit_object(C); if(obedit && obedit->type==OB_MESH) { - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); if (em && em->selectmode & SCE_SELECT_FACE) { return 1; } diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c index c2ecf78de5d..f610d758243 100644 --- a/source/blender/editors/object/object_vgroup.c +++ b/source/blender/editors/object/object_vgroup.c @@ -92,7 +92,7 @@ static Lattice *vgroup_edit_lattice(Object *ob) int ED_vgroup_object_is_edit_mode(Object *ob) { if(ob->type == OB_MESH) - return (((Mesh*)ob->data)->edit_btmesh != NULL); + return (BMEdit_FromObject(ob) != NULL); else if(ob->type == OB_LATTICE) return (((Lattice*)ob->data)->editlatt != NULL); @@ -1257,11 +1257,12 @@ static void vgroup_blend(Object *ob) int i, dvert_tot=0; const int def_nr= ob->actdef-1; - BMEditMesh *em= ((Mesh *)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); // ED_vgroup_give_array(ob->data, &dvert_array, &dvert_tot); - if (em==NULL) + if (em == NULL) { return; + } if (BLI_findlink(&ob->defbase, def_nr)) { BMEdge *eed; @@ -1880,7 +1881,7 @@ static void vgroup_delete_edit_mode(Object *ob, bDeformGroup *dg) static int vgroup_object_in_edit_mode(Object *ob) { if(ob->type == OB_MESH) - return (((Mesh*)ob->data)->edit_btmesh != NULL); + return (BMEdit_FromObject(ob) != NULL); else if(ob->type == OB_LATTICE) return (((Lattice*)ob->data)->editlatt != NULL); @@ -2773,7 +2774,7 @@ static int vgroup_do_remap(Object *ob, char *name_array, wmOperator *op) if(ob->mode == OB_MODE_EDIT) { if(ob->type==OB_MESH) { - BMEditMesh *em = ((Mesh*)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMIter iter; BMVert *eve; diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 3a65d701b58..b98eb330e42 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -165,7 +165,7 @@ static int material_slot_assign_exec(bContext *C, wmOperator *UNUSED(op)) if(ob && ob->actcol>0) { if(ob->type == OB_MESH) { - BMEditMesh *em= ((Mesh*)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); BMFace *efa; BMIter iter; @@ -220,13 +220,13 @@ void OBJECT_OT_material_slot_assign(wmOperatorType *ot) static int material_slot_de_select(bContext *C, int select) { - Object *ob= ED_object_context(C); + Object *ob = ED_object_context(C); if(!ob) return OPERATOR_CANCELLED; if(ob->type == OB_MESH) { - BMEditMesh *em= ((Mesh*)ob->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(ob); if(em) { EDBM_deselect_by_material(em, ob->actcol-1, select); diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 039b1c2f866..8818bd66b23 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -315,7 +315,7 @@ int ED_operator_editmesh(bContext *C) { Object *obedit= CTX_data_edit_object(C); if(obedit && obedit->type==OB_MESH) - return NULL != ((Mesh *)obedit->data)->edit_btmesh; + return NULL != BMEdit_FromObject(obedit); return 0; } @@ -367,17 +367,18 @@ int ED_operator_uvedit(bContext *C) int ED_operator_uvmap(bContext *C) { - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= NULL; + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = NULL; - if(obedit && obedit->type==OB_MESH) - em= ((Mesh *)obedit->data)->edit_btmesh; + if(obedit && obedit->type == OB_MESH) { + em = BMEdit_FromObject(obedit); + } if(em && (em->bm->totface)) { - return 1; + return TRUE; } - return 0; + return FALSE; } int ED_operator_editsurfcurve(bContext *C) diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index 725b2a584ba..63e976693e3 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -4661,7 +4661,7 @@ static int uv_sculpt_brush_poll(bContext *C) if(!uv_sculpt_brush(C) || !obedit || obedit->type != OB_MESH) return 0; - em = ((Mesh *)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); ret = EDBM_texFaceCheck(em); if(ret && sima) { diff --git a/source/blender/editors/sculpt_paint/sculpt_uv.c b/source/blender/editors/sculpt_paint/sculpt_uv.c index 9bdb151d55d..f0aedae88ac 100644 --- a/source/blender/editors/sculpt_paint/sculpt_uv.c +++ b/source/blender/editors/sculpt_paint/sculpt_uv.c @@ -299,7 +299,7 @@ static void uv_sculpt_stroke_apply(bContext *C, wmOperator *op, wmEvent *event, float co[2], radius, radius_root; Scene *scene = CTX_data_scene(C); ARegion *ar = CTX_wm_region(C); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); unsigned int tool; UvSculptData *sculptdata = (UvSculptData *)op->customdata; SpaceImage *sima; @@ -471,7 +471,7 @@ static UvSculptData *uv_sculpt_stroke_init(bContext *C, wmOperator *op, wmEvent Object *obedit = CTX_data_edit_object(C); ToolSettings *ts = scene->toolsettings; UvSculptData *data = MEM_callocN(sizeof(*data), "UV Smooth Brush Data"); - BMEditMesh *em = ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMesh *bm = em->bm; op->customdata = data; diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index ce7338ced13..7abc0c6ea71 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -276,7 +276,7 @@ int ED_space_image_show_uvedit(SpaceImage *sima, Object *obedit) return 0; if(obedit && obedit->type == OB_MESH) { - struct BMEditMesh *em = ((Mesh*)obedit->data)->edit_btmesh; + struct BMEditMesh *em = BMEdit_FromObject(obedit); int ret; ret = EDBM_texFaceCheck(em); @@ -294,7 +294,7 @@ int ED_space_image_show_uvshadow(SpaceImage *sima, Object *obedit) if(ED_space_image_show_paint(sima)) if(obedit && obedit->type == OB_MESH) { - struct BMEditMesh *em = ((Mesh*)obedit->data)->edit_btmesh; + struct BMEditMesh *em = BMEdit_FromObject(obedit); int ret; ret = EDBM_texFaceCheck(em); diff --git a/source/blender/editors/space_info/info_stats.c b/source/blender/editors/space_info/info_stats.c index cf003d8c1eb..120783db340 100644 --- a/source/blender/editors/space_info/info_stats.c +++ b/source/blender/editors/space_info/info_stats.c @@ -140,7 +140,7 @@ static void stats_object(Object *ob, int sel, int totob, SceneStats *stats) static void stats_object_edit(Object *obedit, SceneStats *stats) { if(obedit->type==OB_MESH) { - BMEditMesh *em = ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); stats->totvert = em->bm->totvert; stats->totvertsel = em->bm->totvertsel; diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 29ef1f1b617..f80bd6c3807 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -333,17 +333,17 @@ static char *view3d_modeselect_pup(Scene *scene) static void do_view3d_header_buttons(bContext *C, void *UNUSED(arg), int event) { - wmWindow *win= CTX_wm_window(C); - ToolSettings *ts= CTX_data_tool_settings(C); - ScrArea *sa= CTX_wm_area(C); - View3D *v3d= sa->spacedata.first; + wmWindow *win = CTX_wm_window(C); + ToolSettings *ts = CTX_data_tool_settings(C); + ScrArea *sa = CTX_wm_area(C); + View3D *v3d = sa->spacedata.first; Object *obedit = CTX_data_edit_object(C); - BMEditMesh *em= NULL; - int ctrl= win->eventstate->ctrl, shift= win->eventstate->shift; + BMEditMesh *em = NULL; + int ctrl = win->eventstate->ctrl, shift= win->eventstate->shift; PointerRNA props_ptr; - if (obedit && obedit->type==OB_MESH) { - em= ((Mesh *)obedit->data)->edit_btmesh; + if (obedit && obedit->type == OB_MESH) { + em = BMEdit_FromObject(obedit); } /* watch it: if sa->win does not exist, check that when calling direct drawing routines */ @@ -449,7 +449,7 @@ void uiTemplateEditModeSelection(uiLayout *layout, struct bContext *C) uiBlockSetHandleFunc(block, do_view3d_header_buttons, NULL); if (obedit && (obedit->type == OB_MESH)) { - BMEditMesh *em= ((Mesh *)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); uiLayout *row; row= uiLayoutRow(layout, 1); diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index dfd8b4a3568..a5c7e21e3b4 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -516,7 +516,7 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves, lasso_select_boundbox(&rect, mcords, moves); /* set editmesh */ - vc->em= ((Mesh *)vc->obedit->data)->edit_btmesh; + vc->em = BMEdit_FromObject(vc->obedit); data.vc= vc; data.rect = ▭ @@ -2073,7 +2073,7 @@ static int view3d_borderselect_exec(bContext *C, wmOperator *op) if (vc.obedit) { switch(vc.obedit->type) { case OB_MESH: - vc.em= ((Mesh *)vc.obedit->data)->edit_btmesh; + vc.em = BMEdit_FromObject(vc.obedit); ret= do_mesh_box_select(&vc, &rect, select, extend); // if (EM_texFaceCheck()) if (ret & OPERATOR_FINISHED) { @@ -2336,7 +2336,7 @@ static void mesh_circle_select(ViewContext *vc, int select, const int mval[2], f bbsel= EDBM_init_backbuf_circle(vc, mval[0], mval[1], (short)(rad+1.0)); ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */ - vc->em= ((Mesh *)vc->obedit->data)->edit_btmesh; + vc->em = BMEdit_FromObject(vc->obedit); data.vc = vc; data.select = select; diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index eabd3181aa2..1b4a75f80e8 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -303,7 +303,7 @@ static void createTransTexspace(TransInfo *t) static void createTransEdge(TransInfo *t) { - BMEditMesh *em = ((Mesh *)t->obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(t->obedit); TransData *td = NULL; BMEdge *eed; BMIter iter; @@ -2022,7 +2022,7 @@ static void createTransEditVerts(bContext *C, TransInfo *t) { ToolSettings *ts = CTX_data_tool_settings(C); TransData *tob = NULL; - BMEditMesh *em = ((Mesh *)t->obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(t->obedit); BMesh *bm = em->bm; BMVert *eve; BMIter iter; @@ -2442,7 +2442,7 @@ static void createTransUVs(bContext *C, TransInfo *t) TransData2D *td2d = NULL; MTexPoly *tf; MLoopUV *luv; - BMEditMesh *em = ((Mesh *)t->obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(t->obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -5145,7 +5145,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t) else if (t->obedit) { if (t->obedit->type == OB_MESH) { - BMEditMesh *em = ((Mesh *)t->obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(t->obedit); /* table needs to be created for each edit command, since vertices can move etc */ mesh_octree_table(t->obedit, em, NULL, 'e'); } diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index efe4bac3d3f..2f349ae6f2a 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -714,7 +714,7 @@ static void recalcData_view3d(TransInfo *t) if(la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt); } else if (t->obedit->type == OB_MESH) { - BMEditMesh *em = ((Mesh*)t->obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(t->obedit); /* mirror modifier clipping? */ if(t->state != TRANS_CANCEL) { /* apply clipping after so we never project past the clip plane [#25423] */ @@ -1540,7 +1540,7 @@ void calculateCenter(TransInfo *t) if (t->obedit) { if (t->obedit && t->obedit->type == OB_MESH) { BMEditSelection ese; - BMEditMesh *em = ((Mesh*)t->obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(t->obedit); if (EDBM_get_actSelection(em, &ese)) { EDBM_editselection_center(em, t->center, &ese); diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c index bd687ddfe40..296fea75317 100644 --- a/source/blender/editors/transform/transform_manipulator.c +++ b/source/blender/editors/transform/transform_manipulator.c @@ -299,7 +299,7 @@ int calc_manipulator_stats(const bContext *C) if((ob->lay & v3d->lay)==0) return 0; if(obedit->type==OB_MESH) { - BMEditMesh *em = ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMEditSelection ese; float vec[3]= {0,0,0}; diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index b36670bafa5..c17667cd639 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -1650,7 +1650,7 @@ static int snapObject(Scene *scene, ARegion *ar, Object *ob, int editobject, flo if (editobject) { - em = ((Mesh *)ob->data)->edit_btmesh; + em = BMEdit_FromObject(ob); /* dm = editbmesh_get_derived_cage(scene, ob, em, CD_MASK_BAREMESH); */ dm = editbmesh_get_derived_base(ob, em); /* limitation, em & dm MUST have the same number of faces */ } @@ -1976,7 +1976,7 @@ static int peelObjects(Scene *scene, View3D *v3d, ARegion *ar, Object *obedit, L } else { - em = ((Mesh *)ob->data)->edit_btmesh; + em = BMEdit_FromObject(ob); dm = editbmesh_get_derived_cage(scene, obedit, em, CD_MASK_BAREMESH); val = peelDerivedMesh(ob, dm, ob->obmat, ray_start, ray_normal, mval, depth_peels); diff --git a/source/blender/editors/uvedit/uvedit_buttons.c b/source/blender/editors/uvedit/uvedit_buttons.c index 20ff8b07bc6..a45a3555b51 100644 --- a/source/blender/editors/uvedit/uvedit_buttons.c +++ b/source/blender/editors/uvedit/uvedit_buttons.c @@ -112,17 +112,17 @@ static float uvedit_old_center[2]; static void uvedit_vertex_buttons(const bContext *C, uiBlock *block) { - SpaceImage *sima= CTX_wm_space_image(C); - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - Image *ima= sima->image; + SpaceImage *sima = CTX_wm_space_image(C); + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + Image *ima = sima->image; BMEditMesh *em; float center[2]; int imx, imy, step, digits; ED_space_image_size(sima, &imx, &imy); - em= ((Mesh *)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); if(uvedit_center(scene, em, ima, center)) { copy_v2_v2(uvedit_old_center, center); @@ -161,7 +161,7 @@ static void do_uvedit_vertex(bContext *C, void *UNUSED(arg), int event) if(event != B_UVEDIT_VERTEX) return; - em= ((Mesh *)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); ED_space_image_size(sima, &imx, &imy); uvedit_center(scene, em, ima, center); diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c index ef09ec3c3e8..db71f74b8e1 100644 --- a/source/blender/editors/uvedit/uvedit_draw.c +++ b/source/blender/editors/uvedit/uvedit_draw.c @@ -132,7 +132,7 @@ static void draw_uvs_shadow(Object *obedit) BMIter iter, liter; MLoopUV *luv; - em= ((Mesh*)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); /* draws the grey mesh when painting */ glColor3ub(112, 112, 112); diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c index eb7373c226d..42e6ec39e46 100644 --- a/source/blender/editors/uvedit/uvedit_ops.c +++ b/source/blender/editors/uvedit/uvedit_ops.c @@ -97,7 +97,7 @@ int ED_uvedit_test(Object *obedit) if(obedit->type != OB_MESH) return 0; - em = ((Mesh*)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); ret = EDBM_texFaceCheck(em); return ret; @@ -180,7 +180,7 @@ void ED_uvedit_assign_image(Main *bmain, Scene *scene, Object *obedit, Image *im if(!obedit || (obedit->type != OB_MESH)) return; - em= ((Mesh*)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); if(!em || !em->bm->totface) { return; } @@ -249,7 +249,7 @@ static int uvedit_set_tile(Object *obedit, Image *ima, int curtile) if(ima->type==IMA_TYPE_R_RESULT || ima->type==IMA_TYPE_COMPOSITE) return 0; - em= ((Mesh*)obedit->data)->edit_btmesh; + em = BMEdit_FromObject(obedit); BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { tf = CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY); @@ -586,7 +586,7 @@ void uv_copy_aspect(float uv_orig[][2], float uv[][2], float aspx, float aspy) int ED_uvedit_minmax(Scene *scene, Image *ima, Object *obedit, float *min, float *max) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -616,7 +616,7 @@ int ED_uvedit_minmax(Scene *scene, Image *ima, Object *obedit, float *min, float static int ED_uvedit_median(Scene *scene, Image *ima, Object *obedit, float co[3]) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -868,7 +868,7 @@ void uv_find_nearest_vert(Scene *scene, Image *ima, BMEditMesh *em, int ED_uvedit_nearest_uv(Scene *scene, Object *obedit, Image *ima, float co[2], float uv[2]) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -1339,11 +1339,11 @@ static void weld_align_uv(bContext *C, int tool) MLoopUV *luv; float cent[2], min[2], max[2]; - scene= CTX_data_scene(C); - obedit= CTX_data_edit_object(C); - em= ((Mesh*)obedit->data)->edit_btmesh; - ima= CTX_data_edit_image(C); - sima= CTX_wm_space_image(C); + scene = CTX_data_scene(C); + obedit = CTX_data_edit_object(C); + em = BMEdit_FromObject(obedit); + ima = CTX_data_edit_image(C); + sima = CTX_wm_space_image(C); INIT_MINMAX2(min, max); @@ -1606,17 +1606,17 @@ static void select_all_perform(bContext *C, int action) MTexPoly *tf; MLoopUV *luv; - scene= CTX_data_scene(C); - ts= CTX_data_tool_settings(C); - obedit= CTX_data_edit_object(C); - em= ((Mesh*)obedit->data)->edit_btmesh; - ima= CTX_data_edit_image(C); + scene = CTX_data_scene(C); + ts = CTX_data_tool_settings(C); + obedit = CTX_data_edit_object(C); + em = BMEdit_FromObject(obedit); + ima = CTX_data_edit_image(C); if(ts->uv_flag & UV_SYNC_SELECTION) { switch (action) { case SEL_TOGGLE: - EDBM_toggle_select_all(((Mesh*)obedit->data)->edit_btmesh); + EDBM_toggle_select_all(BMEdit_FromObject(obedit)); break; case SEL_SELECT: EDBM_flag_enable_all(em, BM_ELEM_SELECT); @@ -1729,12 +1729,12 @@ static int sticky_select(float *limit, int hitv[4], int v, float *hituv[4], floa static int mouse_select(bContext *C, float co[2], int extend, int loop) { - SpaceImage *sima= CTX_wm_space_image(C); - Scene *scene= CTX_data_scene(C); - ToolSettings *ts= CTX_data_tool_settings(C); - Object *obedit= CTX_data_edit_object(C); - Image *ima= CTX_data_edit_image(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + SpaceImage *sima = CTX_wm_space_image(C); + Scene *scene = CTX_data_scene(C); + ToolSettings *ts = CTX_data_tool_settings(C); + Object *obedit = CTX_data_edit_object(C); + Image *ima = CTX_data_edit_image(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -2115,12 +2115,12 @@ static void UV_OT_select_loop(wmOperatorType *ot) static int select_linked_internal(bContext *C, wmOperator *op, wmEvent *event, int pick) { - SpaceImage *sima= CTX_wm_space_image(C); - Scene *scene= CTX_data_scene(C); - ToolSettings *ts= CTX_data_tool_settings(C); - Object *obedit= CTX_data_edit_object(C); - Image *ima= CTX_data_edit_image(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + SpaceImage *sima = CTX_wm_space_image(C); + Scene *scene = CTX_data_scene(C); + ToolSettings *ts = CTX_data_tool_settings(C); + Object *obedit = CTX_data_edit_object(C); + Image *ima = CTX_data_edit_image(C); + BMEditMesh *em = BMEdit_FromObject(obedit); float limit[2]; int extend; @@ -2218,11 +2218,11 @@ static void UV_OT_select_linked_pick(wmOperatorType *ot) static int unlink_selection_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - ToolSettings *ts= CTX_data_tool_settings(C); - Object *obedit= CTX_data_edit_object(C); - Image *ima= CTX_data_edit_image(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + ToolSettings *ts = CTX_data_tool_settings(C); + Object *obedit = CTX_data_edit_object(C); + Image *ima = CTX_data_edit_image(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -2294,8 +2294,8 @@ static void uv_faces_do_sticky(bContext *C, SpaceImage *sima, Scene *scene, Obje * This only needs to be done when the Mesh is not used for * selection (so for sticky modes, vertex or location based). */ - ToolSettings *ts= CTX_data_tool_settings(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + ToolSettings *ts = CTX_data_tool_settings(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -2416,13 +2416,13 @@ static void uv_faces_do_sticky(bContext *C, SpaceImage *sima, Scene *scene, Obje static int border_select_exec(bContext *C, wmOperator *op) { - SpaceImage *sima= CTX_wm_space_image(C); - Scene *scene= CTX_data_scene(C); - ToolSettings *ts= CTX_data_tool_settings(C); - Object *obedit= CTX_data_edit_object(C); - Image *ima= CTX_data_edit_image(C); - ARegion *ar= CTX_wm_region(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + SpaceImage *sima = CTX_wm_space_image(C); + Scene *scene = CTX_data_scene(C); + ToolSettings *ts = CTX_data_tool_settings(C); + Object *obedit = CTX_data_edit_object(C); + Image *ima = CTX_data_edit_image(C); + ARegion *ar = CTX_wm_region(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -2573,11 +2573,11 @@ static void select_uv_inside_ellipse(BMEditMesh *em, SpaceImage *UNUSED(sima), S static int circle_select_exec(bContext *C, wmOperator *op) { - SpaceImage *sima= CTX_wm_space_image(C); - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; - ARegion *ar= CTX_wm_region(C); + SpaceImage *sima = CTX_wm_space_image(C); + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); + ARegion *ar = CTX_wm_region(C); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -2715,7 +2715,7 @@ static void UV_OT_snap_cursor(wmOperatorType *ot) static int snap_uvs_to_cursor(Scene *scene, Image *ima, Object *obedit, SpaceImage *sima) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -2742,7 +2742,7 @@ static int snap_uvs_to_cursor(Scene *scene, Image *ima, Object *obedit, SpaceIma static int snap_uvs_to_adjacent_unselected(Scene *scene, Image *ima, Object *obedit) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -2839,14 +2839,14 @@ static int snap_uvs_to_adjacent_unselected(Scene *scene, Image *ima, Object *obe static int snap_uvs_to_pixels(SpaceImage *sima, Scene *scene, Object *obedit) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; - Image *ima= sima->image; + BMEditMesh *em = BMEdit_FromObject(obedit); + Image *ima = sima->image; BMFace *efa; BMLoop *l; BMIter iter, liter; MTexPoly *tface; MLoopUV *luv; - int width= 0, height= 0; + int width = 0, height = 0; float w, h; short change = 0; @@ -2928,16 +2928,16 @@ static void UV_OT_snap_selected(wmOperatorType *ot) static int pin_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - Image *ima= CTX_data_edit_image(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + Image *ima = CTX_data_edit_image(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; MTexPoly *tface; MLoopUV *luv; - int clear= RNA_boolean_get(op->ptr, "clear"); + int clear = RNA_boolean_get(op->ptr, "clear"); BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { tface= CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY); @@ -2982,10 +2982,10 @@ static void UV_OT_pin(wmOperatorType *ot) static int select_pinned_exec(bContext *C, wmOperator *UNUSED(op)) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - Image *ima= CTX_data_edit_image(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + Image *ima = CTX_data_edit_image(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -3027,16 +3027,16 @@ static void UV_OT_select_pinned(wmOperatorType *ot) static int hide_exec(bContext *C, wmOperator *op) { - SpaceImage *sima= CTX_wm_space_image(C); - ToolSettings *ts= CTX_data_tool_settings(C); - Object *obedit= CTX_data_edit_object(C); + SpaceImage *sima = CTX_wm_space_image(C); + ToolSettings *ts = CTX_data_tool_settings(C); + Object *obedit = CTX_data_edit_object(C); Scene *scene = CTX_data_scene(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; MLoopUV *luv; - int swap= RNA_boolean_get(op->ptr, "unselected"); + int swap = RNA_boolean_get(op->ptr, "unselected"); int facemode= sima ? sima->flag & SI_SELACTFACE : 0; if(ts->uv_flag & UV_SYNC_SELECTION) { @@ -3127,7 +3127,7 @@ static int reveal_exec(bContext *C, wmOperator *UNUSED(op)) ToolSettings *ts= CTX_data_tool_settings(C); Object *obedit= CTX_data_edit_object(C); /*Scene *scene = CTX_data_scene(C);*/ /*UNUSED*/ - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; diff --git a/source/blender/editors/uvedit/uvedit_smart_stitch.c b/source/blender/editors/uvedit/uvedit_smart_stitch.c index 42d8beb22cc..6196e684842 100644 --- a/source/blender/editors/uvedit/uvedit_smart_stitch.c +++ b/source/blender/editors/uvedit/uvedit_smart_stitch.c @@ -985,7 +985,7 @@ static int stitch_init(bContext *C, wmOperator *op) /* initialize state */ state->use_limit = RNA_boolean_get(op->ptr, "use_limit"); state->limit_dist = RNA_float_get(op->ptr, "limit"); - state->em = em = ((Mesh *)obedit->data)->edit_btmesh; + state->em = em = BMEdit_FromObject(obedit); state->snap_islands = RNA_boolean_get(op->ptr, "snap_islands"); state->static_island = RNA_int_get(op->ptr, "static_island"); state->midpoints = RNA_boolean_get(op->ptr, "midpoint_snap"); diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c index b4f7eda8ccb..56d088577b6 100644 --- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c +++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c @@ -88,8 +88,8 @@ static int ED_uvedit_ensure_uvs(bContext *C, Scene *scene, Object *obedit) { - Main *bmain= CTX_data_main(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Main *bmain = CTX_data_main(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMIter iter; Image *ima; @@ -509,12 +509,12 @@ typedef struct MinStretch { static int minimize_stretch_init(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); MinStretch *ms; - int fill_holes= RNA_boolean_get(op->ptr, "fill_holes"); - short implicit= 1; + int fill_holes = RNA_boolean_get(op->ptr, "fill_holes"); + short implicit = 1; if(!uvedit_have_selection(scene, em, implicit)) { return 0; @@ -706,11 +706,11 @@ void UV_OT_minimize_stretch(wmOperatorType *ot) static int pack_islands_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); ParamHandle *handle; - short implicit= 1; + short implicit = 1; if(!uvedit_have_selection(scene, em, implicit)) { return OPERATOR_CANCELLED; @@ -753,11 +753,11 @@ void UV_OT_pack_islands(wmOperatorType *ot) static int average_islands_scale_exec(bContext *C, wmOperator *UNUSED(op)) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); ParamHandle *handle; - short implicit= 1; + short implicit = 1; if(!uvedit_have_selection(scene, em, implicit)) { return OPERATOR_CANCELLED; @@ -792,7 +792,7 @@ static ParamHandle *liveHandle = NULL; void ED_uvedit_live_unwrap_begin(Scene *scene, Object *obedit) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); short abf = scene->toolsettings->unwrapper == 0; short fillholes = scene->toolsettings->uvcalc_flag & UVCALC_FILLHOLES; short use_subsurf = scene->toolsettings->uvcalc_flag & UVCALC_USESUBSURF; @@ -930,11 +930,11 @@ static void uv_map_rotation_matrix(float result[][4], RegionView3D *rv3d, Object static void uv_map_transform(bContext *C, wmOperator *op, float center[3], float rotmat[4][4]) { /* context checks are messy here, making it work in both 3d view and uv editor */ - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; - View3D *v3d= CTX_wm_view3d(C); - RegionView3D *rv3d= CTX_wm_region_view3d(C); + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); + View3D *v3d = CTX_wm_view3d(C); + RegionView3D *rv3d = CTX_wm_region_view3d(C); /* common operator properties */ int align= RNA_enum_get(op->ptr, "align"); int direction= RNA_enum_get(op->ptr, "direction"); @@ -1112,7 +1112,7 @@ static void uv_map_clip_correct(BMEditMesh *em, wmOperator *op) /* assumes UV Map is checked, doesn't run update funcs */ void ED_unwrap_lscm(Scene *scene, Object *obedit, const short sel) { - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + BMEditMesh *em = BMEdit_FromObject(obedit); ParamHandle *handle; const short fill_holes= scene->toolsettings->uvcalc_flag & UVCALC_FILLHOLES; @@ -1137,9 +1137,9 @@ void ED_unwrap_lscm(Scene *scene, Object *obedit, const short sel) static int unwrap_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); int method = RNA_enum_get(op->ptr, "method"); int fill_holes = RNA_boolean_get(op->ptr, "fill_holes"); int correct_aspect = RNA_boolean_get(op->ptr, "correct_aspect"); @@ -1217,13 +1217,13 @@ void UV_OT_unwrap(wmOperatorType *ot) /**************** Project From View operator **************/ static int uv_from_view_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - Camera *camera= NULL; - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + Camera *camera = NULL; + BMEditMesh *em = BMEdit_FromObject(obedit); ARegion *ar = CTX_wm_region(C); - View3D *v3d= CTX_wm_view3d(C); - RegionView3D *rv3d= CTX_wm_region_view3d(C); + View3D *v3d = CTX_wm_view3d(C); + RegionView3D *rv3d = CTX_wm_region_view3d(C); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -1403,9 +1403,9 @@ static void uv_map_mirror(BMEditMesh *em, BMFace *efa, MTexPoly *UNUSED(tf)) static int sphere_project_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -1476,9 +1476,9 @@ static void uv_cylinder_project(float target[2], float source[3], float center[3 static int cylinder_project_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -1535,9 +1535,9 @@ void UV_OT_cylinder_project(wmOperatorType *ot) static int cube_project_exec(bContext *C, wmOperator *op) { - Scene *scene= CTX_data_scene(C); - Object *obedit= CTX_data_edit_object(C); - BMEditMesh *em= ((Mesh*)obedit->data)->edit_btmesh; + Scene *scene = CTX_data_scene(C); + Object *obedit = CTX_data_edit_object(C); + BMEditMesh *em = BMEdit_FromObject(obedit); BMFace *efa; BMLoop *l; BMIter iter, liter; |