Revision: 14238
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14238
Author:   campbellbarton
Date:     2008-03-25 17:16:11 +0100 (Tue, 25 Mar 2008)

Log Message:
-----------
selecting similar edges (Shift+G in edge mode) didnt flush selection from edges 
to faces, so you could have all edges of a face selected without the face being 
selected.

Modified Paths:
--------------
    trunk/blender/source/blender/src/editmesh_mods.c

Modified: trunk/blender/source/blender/src/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/src/editmesh_mods.c    2008-03-25 13:18:13 UTC 
(rev 14237)
+++ trunk/blender/source/blender/src/editmesh_mods.c    2008-03-25 16:16:11 UTC 
(rev 14238)
@@ -960,7 +960,7 @@
 
 
 
-int edgegroup_select(short mode)
+static int edgegroup_select__internal(short mode)
 {
        EditMesh *em = G.editMesh;
        EditEdge *eed, *base_eed=NULL;
@@ -1155,11 +1155,35 @@
                                }
                        }
                }
-       } 
+       }       
        return selcount;
 }
+/* wrap the above function but do selection flushing edge to face */
+int edgegroup_select(short mode)
+{
+       int selcount = edgegroup_select__internal(mode);
+       
+       if (selcount) {
+               /* Could run a generic flush function,
+                * but the problem is only that all edges of a face
+                * can be selected without the face becoming selected */
+               EditMesh *em = G.editMesh;
+               EditFace *efa;
+               for(efa= em->faces.first; efa; efa= efa->next) {
+                       if (efa->v4) {
+                               if (efa->e1->f&SELECT && efa->e2->f&SELECT && 
efa->e3->f&SELECT && efa->e4->f&SELECT)
+                                       efa->f |= SELECT;
+                       }  else {
+                               if (efa->e1->f&SELECT && efa->e2->f&SELECT && 
efa->e3->f&SELECT)
+                                       efa->f |= SELECT;
+                       }
+               }
+       }
+       return selcount;
+}
 
 
+
 /*
 VERT GROUP
  mode 1: same normal


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to