[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36310] branches/bmesh/blender/source/ blender: =bmesh= fixed a tesselation bug, and smooth shaded operator in object mode
Joseph Eagar
joeedh at gmail.com
Sun Apr 24 10:06:27 CEST 2011
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;
}
More information about the Bf-blender-cvs
mailing list