[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53948] trunk/blender/source/blender/ blenkernel/intern: fix regression in own recent commit, vertex flags were left uninitialized.
Campbell Barton
ideasman42 at gmail.com
Mon Jan 21 10:54:38 CET 2013
Revision: 53948
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53948
Author: campbellbarton
Date: 2013-01-21 09:54:33 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
fix regression in own recent commit, vertex flags were left uninitialized.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
Modified: trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c 2013-01-21 09:05:05 UTC (rev 53947)
+++ trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c 2013-01-21 09:54:33 UTC (rev 53948)
@@ -1410,7 +1410,7 @@
normal_float_to_short_v3(vert_r->no, eve->no);
vert_r->flag = BM_vert_flag_to_mflag(eve);
- if (cd_vert_bweight_offset != -1) vert_r->bweight = BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eve, cd_vert_bweight_offset);
+ vert_r->bweight = (cd_vert_bweight_offset != -1) ? BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eve, cd_vert_bweight_offset) : 0;
vert_r++;
}
@@ -1421,7 +1421,7 @@
normal_float_to_short_v3(vert_r->no, eve->no);
vert_r->flag = BM_vert_flag_to_mflag(eve);
- if (cd_vert_bweight_offset != -1) vert_r->bweight = BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eve, cd_vert_bweight_offset);
+ vert_r->bweight = (cd_vert_bweight_offset != -1) ? BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eve, cd_vert_bweight_offset) : 0;
vert_r++;
}
@@ -1445,8 +1445,8 @@
edge_r->flag = BM_edge_flag_to_mflag(eed);
- if (cd_edge_crease_offset != -1) edge_r->crease = BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eed, cd_edge_crease_offset);
- if (cd_edge_bweight_offset != -1) edge_r->bweight = BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eed, cd_edge_bweight_offset);
+ edge_r->crease = (cd_edge_crease_offset != -1) ? BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eed, cd_edge_crease_offset) : 0;
+ edge_r->bweight = (cd_edge_bweight_offset != -1) ? BM_ELEM_CD_GET_FLOAT_AS_UCHAR(eed, cd_edge_bweight_offset) : 0;
edge_r++;
}
@@ -1469,6 +1469,7 @@
face_r->mat_nr = (unsigned char) ef->mat_nr;
face_r->flag = BM_face_flag_to_mflag(ef);
+ face_r->edcode = 0;
face_r->v1 = BM_elem_index_get(l[0]->v);
face_r->v2 = BM_elem_index_get(l[1]->v);
Modified: trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2013-01-21 09:05:05 UTC (rev 53947)
+++ trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2013-01-21 09:54:33 UTC (rev 53948)
@@ -1013,7 +1013,11 @@
mf->flag = faceFlags[i].flag;
mf->mat_nr = faceFlags[i].mat_nr;
}
- else mf->flag = ME_SMOOTH;
+ else {
+ mf->flag = ME_SMOOTH;
+ }
+
+ mf->edcode = 0;
}
/* Translate GridHidden into the ME_HIDE flag for MVerts. Assumes
@@ -1122,6 +1126,7 @@
vd = ccgSubSurf_getFaceGridEdgeData(ss, f, S, x);
copy_v3_v3(mvert[i].co, CCG_elem_co(&key, vd));
normal_float_to_short_v3(mvert[i].no, CCG_elem_no(&key, vd));
+ mvert[i].flag = mvert[i].bweight = 0;
}
}
@@ -1131,6 +1136,7 @@
vd = ccgSubSurf_getFaceGridData(ss, f, S, x, y);
copy_v3_v3(mvert[i].co, CCG_elem_co(&key, vd));
normal_float_to_short_v3(mvert[i].no, CCG_elem_no(&key, vd));
+ mvert[i].flag = mvert[i].bweight = 0;
}
}
}
@@ -1150,6 +1156,7 @@
* faces which are now zerod out, see comment in:
* ccgSubSurf__calcVertNormals(), - campbell */
normal_float_to_short_v3(mvert[i].no, CCG_elem_no(&key, vd));
+ mvert[i].flag = mvert[i].bweight = 0;
}
}
@@ -1160,6 +1167,7 @@
vd = ccgSubSurf_getVertData(ss, v);
copy_v3_v3(mvert[i].co, CCG_elem_co(&key, vd));
normal_float_to_short_v3(mvert[i].no, CCG_elem_no(&key, vd));
+ mvert[i].flag = mvert[i].bweight = 0;
i++;
}
}
@@ -1174,6 +1182,7 @@
int edgeSize = ccgSubSurf_getEdgeSize(ss);
int i = 0;
short *edgeFlags = ccgdm->edgeFlags;
+ const short ed_interior_flag = ccgdm->drawInteriorEdges ? (ME_EDGEDRAW | ME_EDGERENDER) : 0;
totface = ccgSubSurf_getNumFaces(ss);
for (index = 0; index < totface; index++) {
@@ -1184,10 +1193,10 @@
for (x = 0; x < gridSize - 1; x++) {
MEdge *med = &medge[i];
- if (ccgdm->drawInteriorEdges)
- med->flag = ME_EDGEDRAW | ME_EDGERENDER;
med->v1 = getFaceIndex(ss, f, S, x, 0, edgeSize, gridSize);
med->v2 = getFaceIndex(ss, f, S, x + 1, 0, edgeSize, gridSize);
+ med->crease = med->bweight = 0;
+ med->flag = ed_interior_flag;
i++;
}
@@ -1196,21 +1205,21 @@
MEdge *med;
med = &medge[i];
- if (ccgdm->drawInteriorEdges)
- med->flag = ME_EDGEDRAW | ME_EDGERENDER;
med->v1 = getFaceIndex(ss, f, S, x, y,
edgeSize, gridSize);
med->v2 = getFaceIndex(ss, f, S, x, y + 1,
edgeSize, gridSize);
+ med->crease = med->bweight = 0;
+ med->flag = ed_interior_flag;
i++;
med = &medge[i];
- if (ccgdm->drawInteriorEdges)
- med->flag = ME_EDGEDRAW | ME_EDGERENDER;
med->v1 = getFaceIndex(ss, f, S, y, x,
edgeSize, gridSize);
med->v2 = getFaceIndex(ss, f, S, y + 1, x,
edgeSize, gridSize);
+ med->crease = med->bweight = 0;
+ med->flag = ed_interior_flag;
i++;
}
}
@@ -1239,6 +1248,7 @@
MEdge *med = &medge[i];
med->v1 = getEdgeIndex(ss, e, x, edgeSize);
med->v2 = getEdgeIndex(ss, e, x + 1, edgeSize);
+ med->crease = med->bweight = 0;
med->flag = flags;
i++;
}
@@ -1278,6 +1288,7 @@
edgeSize, gridSize);
mf->mat_nr = mat_nr;
mf->flag = flag;
+ mf->edcode = 0;
i++;
}
More information about the Bf-blender-cvs
mailing list