Revision: 37976
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37976
Author:   psy-fi
Date:     2011-06-30 03:35:53 +0000 (Thu, 30 Jun 2011)
Log Message:
-----------
smart stitch - edge stitch complete. N'joy :)

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

Modified: branches/soc-2011-onion/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/uvedit/uvedit_ops.c  
2011-06-30 03:21:49 UTC (rev 37975)
+++ branches/soc-2011-onion/source/blender/editors/uvedit/uvedit_ops.c  
2011-06-30 03:35:53 UTC (rev 37976)
@@ -1425,7 +1425,7 @@
                                                                        /* Find 
the uv element for the other uv too */
                                                                        
for(el_iter2 = vmap->vert[v2->tmp.l]; el_iter2; el_iter2 = el_iter2->next){
                                                                                
if(el_iter2->separate)
-                                                                               
        el_sep2 = el_iter;
+                                                                               
        el_sep2 = el_iter2;
                                                                                
if(el_iter2->face == efa){
                                                                                
        element2 = el_iter2;
                                                                                
        break;
@@ -1538,24 +1538,60 @@
                                                        }
                                                        if(element->flag & 
STITCH_STITCHABLE &&
                                                        element2->flag & 
STITCH_STITCHABLE){
-                                                               
uv_average[index1].count += uv_average_tmp[0].count;
-                                                               
uv_average[index1].uv[0] += uv_average_tmp[0].uv[0];
-                                                               
uv_average[index1].uv[1] += uv_average_tmp[0].uv[1];
+                                                               UvElement 
*tmp_iter;
+                                                               int index_tmp;
 
-                                                               
uv_average[index2].count += uv_average_tmp[1].count;
-                                                               
uv_average[index2].uv[0] += uv_average_tmp[1].uv[0];
-                                                               
uv_average[index2].uv[1] += uv_average_tmp[1].uv[1];
+                                                               
//uv_average[index1].count += uv_average_tmp[0].count;
+                                                               
//uv_average[index1].uv[0] += uv_average_tmp[0].uv[0];
+                                                               
//uv_average[index1].uv[1] += uv_average_tmp[0].uv[1];
 
-                                                               
if(editFace->tmp.l == -1)
-                                                               {
-                                                                       
if(editFace->v4)
+                                                               
//uv_average[index2].count += uv_average_tmp[1].count;
+                                                               
//uv_average[index2].uv[0] += uv_average_tmp[1].uv[0];
+                                                               
//uv_average[index2].uv[1] += uv_average_tmp[1].uv[1];
+
+                                                               /* update 
coincident uv's with initial */
+                                                               for(tmp_iter = 
el_sep1; tmp_iter; tmp_iter = tmp_iter->next){
+                                                                       
if(tmp_iter->separate && tmp_iter != el_sep1)
+                                                                               
break;
+                                                                       
tmp_iter->flag |= STITCH_STITCHABLE;
+                                                                       efa = 
tmp_iter->face;
+                                                                       
index_tmp = tmp_iter - vmap->buf;
+                                                                       
uv_average[index_tmp].count += uv_average_tmp[0].count;
+                                                                       
uv_average[index_tmp].uv[0] += uv_average_tmp[0].uv[0];
+                                                                       
uv_average[index_tmp].uv[1] += uv_average_tmp[0].uv[1];
+
+                                                                       
if(efa->tmp.l == -1)
                                                                        {
-                                                                               
editFace->tmp.l = preview->numOfQuads*8;
-                                                                               
preview->numOfQuads++;
+                                                                               
if(efa->v4)
+                                                                               
{
+                                                                               
        efa->tmp.l = preview->numOfQuads*8;
+                                                                               
        preview->numOfQuads++;
+                                                                               
} else {
+                                                                               
        efa->tmp.l = preview->numOfTris*6;
+                                                                               
        preview->numOfTris++;
+                                                                               
}
                                                                        }
-                                                                       else {
-                                                                               
editFace->tmp.l = preview->numOfTris*6;
-                                                                               
preview->numOfTris++;
+                                                               }
+                                                               for(tmp_iter = 
el_sep2; tmp_iter; tmp_iter = tmp_iter->next){
+                                                                       
if(tmp_iter->separate && tmp_iter != el_sep2)
+                                                                               
break;
+                                                                       efa = 
tmp_iter->face;
+                                                                       
tmp_iter->flag |= STITCH_STITCHABLE;
+                                                                       
index_tmp = tmp_iter - vmap->buf;
+                                                                       
uv_average[index_tmp].count += uv_average_tmp[1].count;
+                                                                       
uv_average[index_tmp].uv[0] += uv_average_tmp[1].uv[0];
+                                                                       
uv_average[index_tmp].uv[1] += uv_average_tmp[1].uv[1];
+
+                                                                       
if(efa->tmp.l == -1)
+                                                                       {
+                                                                               
if(efa->v4)
+                                                                               
{
+                                                                               
        efa->tmp.l = preview->numOfQuads*8;
+                                                                               
        preview->numOfQuads++;
+                                                                               
} else {
+                                                                               
        efa->tmp.l = preview->numOfTris*6;
+                                                                               
        preview->numOfTris++;
+                                                                               
}
                                                                        }
                                                                }
 

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

Reply via email to