[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42907] branches/bmesh/blender/source/ blender: set mloop edge and vertex as unsigned ints since face/ edge reference verts as unsigned ints too
Campbell Barton
ideasman42 at gmail.com
Wed Dec 28 05:43:37 CET 2011
Revision: 42907
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42907
Author: campbellbarton
Date: 2011-12-28 04:43:29 +0000 (Wed, 28 Dec 2011)
Log Message:
-----------
set mloop edge and vertex as unsigned ints since face/edge reference verts as unsigned ints too
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c
branches/bmesh/blender/source/blender/makesdna/DNA_meshdata_types.h
branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2011-12-28 04:25:46 UTC (rev 42906)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2011-12-28 04:43:29 UTC (rev 42907)
@@ -1980,9 +1980,10 @@
MPoly *mpoly = cddm->mpoly;
int numCol = CustomData_number_of_layers(&em->bm->ldata, CD_MLOOPCOL);
int numTex = CustomData_number_of_layers(&em->bm->pdata, CD_MTEXPOLY);
- int i, j, *index, *polyindex, add_orig;
+ int *index, *polyindex, add_orig;
int has_crease, has_edge_bweight, has_vert_bweight;
int flag;
+ unsigned int i, j;
has_edge_bweight = CustomData_has_layer(&em->bm->edata, CD_BWEIGHT);
has_vert_bweight = CustomData_has_layer(&em->bm->vdata, CD_BWEIGHT);
@@ -2324,7 +2325,7 @@
ml = cddm->mloop;
c = 0;
for (i=0; i<totloop; i++, ml++) {
- if (ml->v == -1)
+ if (ml->v == ME_LOOP_INVALID_INDEX)
continue;
if (vtargetmap[ml->v] != -1)
@@ -2371,7 +2372,7 @@
c = 0;
for (j=0; j<mp->totloop; j++, ml++) {
- if (ml->v == -1)
+ if (ml->v == ME_LOOP_INVALID_INDEX)
continue;
me = cddm->medge + ml->e;
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2011-12-28 04:25:46 UTC (rev 42906)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c 2011-12-28 04:43:29 UTC (rev 42907)
@@ -304,8 +304,8 @@
/* create faces */
for (i=0; i<totface; i++) {
- MPoly *mp = &((MPoly*) mpoly)[i];
- MLoop *ml= mloop + mp->loopstart;
+ MPoly *mp = &mpoly[i];
+ MLoop *ml= &mloop[mp->loopstart];
int nverts= mp->totloop;
CCGFace *f;
Modified: branches/bmesh/blender/source/blender/makesdna/DNA_meshdata_types.h
===================================================================
--- branches/bmesh/blender/source/blender/makesdna/DNA_meshdata_types.h 2011-12-28 04:25:46 UTC (rev 42906)
+++ branches/bmesh/blender/source/blender/makesdna/DNA_meshdata_types.h 2011-12-28 04:43:29 UTC (rev 42907)
@@ -77,8 +77,9 @@
/*new face structure, replaces MFace, which is now
only used for storing tesselations.*/
typedef struct MPoly {
- /*offset into loop array and number of loops in the face*/
- int loopstart, totloop;
+ /* offset into loop array and number of loops in the face */
+ int loopstart;
+ int totloop; /* keep signed since we need to subtract when getting the previous loop */
short mat_nr;
char flag, pad;
} MPoly;
@@ -86,8 +87,8 @@
/*the e here is because we want to move away from
relying on edge hashes.*/
typedef struct MLoop {
- int v; /*vertex index*/
- int e; /*edge index*/
+ unsigned int v; /*vertex index*/
+ unsigned int e; /*edge index*/
} MLoop;
typedef struct MTexPoly{
@@ -243,6 +244,9 @@
#define ME_ESEL 1
#define ME_FSEL 2
+/* mloop->v */
+#define ME_LOOP_INVALID_INDEX ((unsigned int) -1)
+
/* mtface->flag */
#define TF_SELECT 1 /* use MFace hide flag (after 2.43), should be able to reuse after 2.44 */
#define TF_ACTIVE 2 /* deprecated! */
Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c 2011-12-28 04:25:46 UTC (rev 42906)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c 2011-12-28 04:43:29 UTC (rev 42907)
@@ -451,13 +451,13 @@
}
for (i=0, mp=mpoly; i<numFaces; i++, mp++) {
- mesh_calc_poly_normal(mp, mloop+mp->loopstart, mvert, face_nors[i]);
+ mesh_calc_poly_normal(mp, &mloop[mp->loopstart], mvert, face_nors[i]);
/* just added, calc the normal */
BLI_array_empty(face_angles);
for (j=0, ml=mloop+mp->loopstart; j<mp->totloop; j++, ml++) {
- MLoop *ml2 = mloop + mp->loopstart + (j+1)%mp->totloop; //next
- MLoop *ml3 = mloop + mp->loopstart + (j+mp->totloop-1)%mp->totloop; //previous
+ MLoop *ml2 = &mloop[mp->loopstart + (j + 1) % mp->totloop]; //next
+ MLoop *ml3 = &mloop[mp->loopstart + (j + mp->totloop - 1) % mp->totloop]; //previous
float e1[3], e2[3], angle;
sub_v3_v3v3(e1, mvert[ml2->v].co, mvert[ml->v].co);
More information about the Bf-blender-cvs
mailing list