[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23720] trunk/blender/source/blender/ editors: bring back automerge - [#19538] automerge editing doesn't work
Campbell Barton
ideasman42 at gmail.com
Thu Oct 8 17:50:42 CEST 2009
Revision: 23720
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23720
Author: campbellbarton
Date: 2009-10-08 17:50:42 +0200 (Thu, 08 Oct 2009)
Log Message:
-----------
bring back automerge - [#19538] automerge editing doesn't work
Modified Paths:
--------------
trunk/blender/source/blender/editors/mesh/editmesh_mods.c
trunk/blender/source/blender/editors/mesh/mesh_intern.h
trunk/blender/source/blender/editors/transform/transform_conversions.c
Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2009-10-08 15:29:43 UTC (rev 23719)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2009-10-08 15:50:42 UTC (rev 23720)
@@ -117,22 +117,26 @@
}
}
-void EM_automerge(int update)
+void EM_automerge(Scene *scene, Object *obedit, int update)
{
-// XXX int len;
-
-// if ((scene->automerge) &&
-// (obedit && obedit->type==OB_MESH) &&
-// (((Mesh*)obedit->data)->mr==NULL)
-// ) {
-// len = removedoublesflag(1, 1, scene->toolsettings->doublimit);
-// if (len) {
-// em->totvert -= len; /* saves doing a countall */
-// if (update) {
-// DAG_id_flush_update(obedit->data, OB_RECALC_DATA);
-// }
-// }
-// }
+ Mesh *me= (Mesh*)obedit->data; /* can be NULL */
+ int len;
+
+ if ((scene->toolsettings->automerge) &&
+ (obedit && obedit->type==OB_MESH && obedit->mode==OB_MODE_EDIT) &&
+ (me->mr==NULL)
+ ) {
+ Mesh *me= (Mesh*)obedit->data;
+ EditMesh *em= me->edit_mesh;
+
+ len = removedoublesflag(em, 1, 1, scene->toolsettings->doublimit);
+ if (len) {
+ em->totvert -= len; /* saves doing a countall */
+ if (update) {
+ DAG_id_flush_update(obedit->data, OB_RECALC_DATA);
+ }
+ }
+ }
}
/* ****************************** SELECTION ROUTINES **************** */
Modified: trunk/blender/source/blender/editors/mesh/mesh_intern.h
===================================================================
--- trunk/blender/source/blender/editors/mesh/mesh_intern.h 2009-10-08 15:29:43 UTC (rev 23719)
+++ trunk/blender/source/blender/editors/mesh/mesh_intern.h 2009-10-08 15:50:42 UTC (rev 23720)
@@ -167,7 +167,7 @@
void MESH_OT_flip_normals(struct wmOperatorType *ot);
extern EditEdge *findnearestedge(ViewContext *vc, int *dist);
-extern void EM_automerge(int update);
+extern void EM_automerge(Scene *scene, Object *obedit, int update);
void editmesh_select_by_material(EditMesh *em, int index);
void righthandfaces(EditMesh *em, int select); /* makes faces righthand turning */
void EM_select_more(EditMesh *em);
Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c 2009-10-08 15:29:43 UTC (rev 23719)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c 2009-10-08 15:50:42 UTC (rev 23720)
@@ -4477,8 +4477,8 @@
if (t->spacetype==SPACE_VIEW3D) {
if (t->obedit) {
if (cancelled==0) {
+ EM_automerge(t->scene, t->obedit, 1);
#if 0 // TRANSFORM_FIX_ME
- EM_automerge(1);
/* when snapping, delay retopo until after automerge */
if (G.qual & LR_CTRLKEY) {
retopo_do_all();
More information about the Bf-blender-cvs
mailing list