Revision: 36310
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36310
Author:   joeedh
Date:     2011-04-24 08:06:26 +0000 (Sun, 24 Apr 2011)
Log Message:
-----------
=bmesh= fixed a tesselation bug, and smooth shaded operator in object mode

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
    branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c

Modified: branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c      
2011-04-24 07:49:21 UTC (rev 36309)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c      
2011-04-24 08:06:26 UTC (rev 36310)
@@ -1662,6 +1662,12 @@
 {
        int i;
 
+       for (i=0; i<me->totpoly; i++) {
+               MPoly *mf = &((MFace*) me->mpoly)[i];
+               if (mf->mat_nr && mf->mat_nr>=index) 
+                       mf->mat_nr--;
+       }
+       
        for (i=0; i<me->totface; i++) {
                MFace *mf = &((MFace*) me->mface)[i];
                if (mf->mat_nr && mf->mat_nr>=index) 
@@ -1674,6 +1680,16 @@
        Mesh *me = meshOb->data;
        int i;
 
+       for (i=0; i<me->totpoly; i++) {
+               MPoly *mp = &((MPoly*) me->mpoly)[i];
+
+               if (enableSmooth) {
+                       mp->flag |= ME_SMOOTH;
+               } else {
+                       mp->flag &= ~ME_SMOOTH;
+               }
+       }
+       
        for (i=0; i<me->totface; i++) {
                MFace *mf = &((MFace*) me->mface)[i];
 

Modified: branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c
===================================================================
--- branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c     
2011-04-24 07:49:21 UTC (rev 36309)
+++ branches/bmesh/blender/source/blender/blenlib/intern/scanfill.c     
2011-04-24 08:06:26 UTC (rev 36310)
@@ -789,7 +789,7 @@
        EditVert *eve;
        EditEdge *eed,*nexted;
        PolyFill *pflist,*pf;
-       float *minp, *maxp, *v1, *v2, norm[3], len;
+       float limit, *minp, *maxp, *v1, *v2, norm[3], len;
        short a,c,poly=0,ok=0,toggle=0;
 
        /* reset variables */
@@ -864,12 +864,13 @@
        v1= eve->co;
        v2= 0;
        eve= fillvertbase.first;
+       limit = a < 5 ? FLT_EPSILON*200 : M_PI/24.0;
        while(eve) {
                if(v2) {
                        if( compare_v3v3(v2, eve->co, COMPLIMIT)==0) {
                                float inner = angle_v3v3v3(v1, v2, eve->co);
                                
-                               if (fabs(inner-M_PI) < FLT_EPSILON*200 || 
fabs(inner) < FLT_EPSILON*200) {
+                               if (fabs(inner-M_PI) < limit || fabs(inner) < 
limit) {
                                        eve = eve->next;        
                                        continue;
                                }

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

Reply via email to