diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-06-05 09:58:51 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-06-05 09:58:51 +0400 |
commit | 666c8b51ca667f2c91600a98745a4f115a82216d (patch) | |
tree | 40d3ab71c6e46d830ba7689e4f4b91bbe9eaf0ee /source/blender/editors/include/ED_mesh.h | |
parent | e03bbcec651f35baca647b1c3fe79505ad546585 (diff) |
changes to mirror tools
- give feedback on how many mirror verts succeed/fail (for select mirror, shape key mirror, weight mirror)
... when a mirror failed it was confusing and not obvious what was going on.
- slight change to select mirror, now center vertices will remain selected.
- speedup to EDBM_verts_mirror_cache_begin, cache customdata layer offset.
Diffstat (limited to 'source/blender/editors/include/ED_mesh.h')
-rw-r--r-- | source/blender/editors/include/ED_mesh.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h index 9aa405eda1d..e3d762dccfb 100644 --- a/source/blender/editors/include/ED_mesh.h +++ b/source/blender/editors/include/ED_mesh.h @@ -76,7 +76,7 @@ struct MeshStatVis; /* editmesh_utils.c */ -void EDBM_verts_mirror_cache_begin(struct BMEditMesh *em, const bool use_select); /* note, replaces EM_cache_x_mirror_vert in trunk */ +void EDBM_verts_mirror_cache_begin(struct BMEditMesh *em, const bool use_self, const bool use_select); void EDBM_verts_mirror_apply(struct BMEditMesh *em, const int sel_from, const int sel_to); struct BMVert *EDBM_verts_mirror_get(struct BMEditMesh *em, struct BMVert *v); void EDBM_verts_mirror_cache_clear(struct BMEditMesh *em, struct BMVert *v); @@ -141,7 +141,8 @@ bool BMBVH_EdgeVisible(struct BMBVHTree *tree, struct BMEdge *e, struct ARegion *ar, struct View3D *v3d, struct Object *obedit); /* editmesh_select.c */ -void EDBM_select_mirrored(struct Object *obedit, struct BMEditMesh *em, bool extend); +void EDBM_select_mirrored(struct BMEditMesh *em, bool extend, + int *r_totmirr, int *r_totfail); void EDBM_automerge(struct Scene *scene, struct Object *ob, bool update); bool EDBM_backbuf_border_init(struct ViewContext *vc, short xmin, short ymin, short xmax, short ymax); @@ -237,7 +238,8 @@ void ED_vgroup_data_clamp_range(struct ID *id, const int total); bool ED_vgroup_give_array(struct ID *id, struct MDeformVert **dvert_arr, int *dvert_tot); bool ED_vgroup_copy_array(struct Object *ob, struct Object *ob_from); void ED_vgroup_mirror(struct Object *ob, - const bool mirror_weights, const bool flip_vgroups, const bool all_vgroups); + const bool mirror_weights, const bool flip_vgroups, const bool all_vgroups, + int *r_totmirr, int *r_totfail); bool ED_vgroup_object_is_edit_mode(struct Object *ob); @@ -273,6 +275,8 @@ bool ED_mesh_color_remove_index(struct Mesh *me, const int n); bool ED_mesh_color_remove_active(struct Mesh *me); bool ED_mesh_color_remove_named(struct Mesh *me, const char *name); +void ED_mesh_report_mirror(struct wmOperator *op, int totmirr, int totfail); + /* mesh backup */ typedef struct BMBackup { struct BMesh *bmcopy; |