Revision: 41341
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41341
Author:   psy-fi
Date:     2011-10-28 14:19:04 +0000 (Fri, 28 Oct 2011)
Log Message:
-----------
smart stitching
===================
*Static islands no longer get preview faces since they are static.

Modified Paths:
--------------
    branches/soc-2011-onion-uv-tools/source/blender/editors/uvedit/uvedit_ops.c

Modified: 
branches/soc-2011-onion-uv-tools/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- branches/soc-2011-onion-uv-tools/source/blender/editors/uvedit/uvedit_ops.c 
2011-10-28 14:17:27 UTC (rev 41340)
+++ branches/soc-2011-onion-uv-tools/source/blender/editors/uvedit/uvedit_ops.c 
2011-10-28 14:19:04 UTC (rev 41341)
@@ -1470,7 +1470,7 @@
                                                mt->uv[element->tfindex][0] += 
island_stitch_data[i].translation[0];
                                                mt->uv[element->tfindex][1] += 
island_stitch_data[i].translation[1];
                                        }
-                                       else{
+                                       else if(efa->tmp.l != -1){
                                                if(efa->v4){
                                                        if(state->mode == 
EDGE_STITCH){
                                                                
stitch_uv_rotate(island_stitch_data[i].rotation, 
island_stitch_data[i].medianPoint, &preview->previewQuads[efa->tmp.l + 
2*element->tfindex]);
@@ -2197,6 +2197,10 @@
 static void stitch_setup_face_preview_for_uv_group(UvElement *element, 
StitchState *state, IslandStitchData *island_stitch_data){
        StitchPreviewer *preview = uv_get_stitch_previewer();
 
+       /* static island does not change so returning immediately */
+       if(!state->midpoints && state->static_island == element->island)
+               return;
+
        if(state->snapIslands){
                island_stitch_data[element->island].addedForPreview = 1;
        }
@@ -2411,7 +2415,7 @@
                }
        }
 
-       //printf("st %d, ust %d\n",preview->numOfStitchable, 
preview->numOfUnstitchable);
+       printf("st %d, ust %d\n",preview->numOfStitchable, 
preview->numOfUnstitchable);
        /*****************************************
         *  Setup preview for stitchable islands *
         *****************************************/
@@ -2604,7 +2608,7 @@
                                                        
mt->uv[element_iter->tfindex][1] = averageUvPosition[i].uv[1];
 
                                                        uvedit_uv_select(scene, 
efa, mt, element_iter->tfindex);
-                                               }else {
+                                               }else if(efa->tmp.l != -1){
                                                        if(efa->v4){
                                                                
*(preview->previewQuads+efa->tmp.l + element_iter->tfindex*2) = 
averageUvPosition[i].uv[0];
                                                                
*(preview->previewQuads+efa->tmp.l + element_iter->tfindex*2 + 1) = 
averageUvPosition[i].uv[1];
@@ -2615,7 +2619,7 @@
                                                }
                                        }
                                        /* end of calculations, keep only the 
selection flag */
-                                       if(!state->snapIslands){
+                                       if( (!state->snapIslands) || 
((!stitchAtMidpoints) && (element_iter->island == state->static_island))) {
                                                element_iter->flag &= 
STITCH_SELECTED;
                                        }
                                }

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

Reply via email to