Revision: 14816
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14816
Author:   campbellbarton
Date:     2008-05-12 20:30:50 +0200 (Mon, 12 May 2008)

Log Message:
-----------
mirror face UVs and color was rotating, shift for alternate axis also wasnt 
implimented

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

Modified: trunk/blender/source/blender/src/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/src/editmesh_tools.c   2008-05-12 17:41:03 UTC 
(rev 14815)
+++ trunk/blender/source/blender/src/editmesh_tools.c   2008-05-12 18:30:50 UTC 
(rev 14816)
@@ -6758,7 +6758,7 @@
 {
        EditMesh *em = G.editMesh;
        EditFace *efa;
-       short change = 0;
+       short change = 0, altaxis;
        MTFace *tf;
        float u1, v1;
        
@@ -6767,33 +6767,65 @@
                return;
        }
        
+       altaxis = (G.qual == LR_SHIFTKEY);
+       
        for(efa=em->faces.first; efa; efa=efa->next) {
                if (efa->f & SELECT) {
                        tf = CustomData_em_get(&em->fdata, efa->data, 
CD_MTFACE);
-                       u1= tf->uv[0][0];
-                       v1= tf->uv[0][1];
-                       if(efa->v4) {
-                               tf->uv[0][0]= tf->uv[3][0];
-                               tf->uv[0][1]= tf->uv[3][1];
-                       
-                               tf->uv[3][0]= u1;
-                               tf->uv[3][1]= v1;
-
+                       if (altaxis) {
                                u1= tf->uv[1][0];
                                v1= tf->uv[1][1];
+                               if(efa->v4) {
+                               
+                                       tf->uv[1][0]= tf->uv[2][0];
+                                       tf->uv[1][1]= tf->uv[2][1];
+                       
+                                       tf->uv[2][0]= u1;
+                                       tf->uv[2][1]= v1;
 
-                               tf->uv[1][0]= tf->uv[2][0];
-                               tf->uv[1][1]= tf->uv[2][1];
+                                       u1= tf->uv[3][0];
+                                       v1= tf->uv[3][1];
+
+                                       tf->uv[3][0]= tf->uv[0][0];
+                                       tf->uv[3][1]= tf->uv[0][1];
                        
-                               tf->uv[2][0]= u1;
-                               tf->uv[2][1]= v1;
+                                       tf->uv[0][0]= u1;
+                                       tf->uv[0][1]= v1;
+                               }
+                               else {
+                                       tf->uv[1][0]= tf->uv[2][0];
+                                       tf->uv[1][1]= tf->uv[2][1];
+                                       tf->uv[2][0]= u1;
+                                       tf->uv[2][1]= v1;
+                               }
+                               
+                       } else {
+                               u1= tf->uv[0][0];
+                               v1= tf->uv[0][1];
+                               if(efa->v4) {
+                               
+                                       tf->uv[0][0]= tf->uv[1][0];
+                                       tf->uv[0][1]= tf->uv[1][1];
+                       
+                                       tf->uv[1][0]= u1;
+                                       tf->uv[1][1]= v1;
+
+                                       u1= tf->uv[3][0];
+                                       v1= tf->uv[3][1];
+
+                                       tf->uv[3][0]= tf->uv[2][0];
+                                       tf->uv[3][1]= tf->uv[2][1];
+                       
+                                       tf->uv[2][0]= u1;
+                                       tf->uv[2][1]= v1;
+                               }
+                               else {
+                                       tf->uv[0][0]= tf->uv[1][0];
+                                       tf->uv[0][1]= tf->uv[1][1];
+                                       tf->uv[1][0]= u1;
+                                       tf->uv[1][1]= v1;
+                               }
                        }
-                       else {
-                               tf->uv[0][0]= tf->uv[2][0];
-                               tf->uv[0][1]= tf->uv[2][1];
-                               tf->uv[2][0]= u1;
-                               tf->uv[2][1]= v1;
-                       }
                        change = 1;
                }
        }
@@ -6858,27 +6890,38 @@
 {
        EditMesh *em = G.editMesh;
        EditFace *efa;
-       short change = 0;
+       short change = 0, altaxis;
        MCol tmpcol, *mcol;
        if (!EM_vertColorCheck()) {
                error("mesh has no color layers");
                return;
        }
        
+       altaxis = (G.qual == LR_SHIFTKEY);
+       
        for(efa=em->faces.first; efa; efa=efa->next) {
                if (efa->f & SELECT) {
                        mcol = CustomData_em_get(&em->fdata, efa->data, 
CD_MCOL);
-                       tmpcol= mcol[0];
-                       
-                       mcol[0]= mcol[1];
-                       mcol[1]= mcol[2];
-
-                       if(efa->v4) {
-                               mcol[2]= mcol[3];
-                               mcol[3]= tmpcol;
-                       }
-                       else {
+                       if (altaxis) {
+                               tmpcol= mcol[1];
+                               mcol[1]= mcol[2];
                                mcol[2]= tmpcol;
+                               
+                               if(efa->v4) {
+                                       tmpcol= mcol[0];
+                                       mcol[0]= mcol[3];
+                                       mcol[3]= tmpcol;
+                               }
+                       } else {
+                               tmpcol= mcol[0];
+                               mcol[0]= mcol[1];
+                               mcol[1]= tmpcol;
+                               
+                               if(efa->v4) {
+                                       tmpcol= mcol[2];
+                                       mcol[2]= mcol[3];
+                                       mcol[3]= tmpcol;
+                               }
                        }
                        change = 1;
                }


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to