diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-12-28 14:27:25 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-12-28 14:27:25 +0400 |
commit | ff2eb8d72f5cad83e16edcc22c6d4340e3ad72c9 (patch) | |
tree | 7731c6131c654dbc422b5ff701f12c0d1a1a6d74 /source/blender/modifiers/intern/MOD_explode.c | |
parent | 2da527b0179b70d9831fd76adc74c7df0f229c8f (diff) | |
parent | 2e92b14bc6c9280b488061b9f4a4326d4ae69c10 (diff) |
svn merge ^/trunk/blender -r42914:42918
Diffstat (limited to 'source/blender/modifiers/intern/MOD_explode.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_explode.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index e317c97c4d3..d5260802c7b 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -556,10 +556,11 @@ static DerivedMesh * cutEdges(ExplodeModifierData *emd, DerivedMesh *dm) int *vertpa = MEM_callocN(sizeof(int)*totvert,"explode_vertpa2"); int *facepa = emd->facepa; int *fs, totesplit=0,totfsplit=0,curdupface=0; - int i,j,v1,v2,v3,v4,esplit, + int i, v1, v2, v3, v4, esplit, v[4] = {0, 0, 0, 0}, /* To quite gcc barking... */ uv[4] = {0, 0, 0, 0}; /* To quite gcc barking... */ int numlayer; + unsigned int ed_v1, ed_v2; edgehash= BLI_edgehash_new(); @@ -655,16 +656,16 @@ static DerivedMesh * cutEdges(ExplodeModifierData *emd, DerivedMesh *dm) /* create new verts */ ehi= BLI_edgehashIterator_new(edgehash); for(; !BLI_edgehashIterator_isDone(ehi); BLI_edgehashIterator_step(ehi)) { - BLI_edgehashIterator_getKey(ehi, &i, &j); + BLI_edgehashIterator_getKey(ehi, &ed_v1, &ed_v2); esplit= GET_INT_FROM_POINTER(BLI_edgehashIterator_getValue(ehi)); - mv=CDDM_get_vert(splitdm,j); + mv=CDDM_get_vert(splitdm, ed_v2); dupve=CDDM_get_vert(splitdm,esplit); - DM_copy_vert_data(splitdm,splitdm,j,esplit,1); + DM_copy_vert_data(splitdm,splitdm, ed_v2, esplit,1); *dupve=*mv; - mv=CDDM_get_vert(splitdm,i); + mv=CDDM_get_vert(splitdm, ed_v1); add_v3_v3(dupve->co, mv->co); mul_v3_fl(dupve->co, 0.5f); @@ -797,7 +798,8 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, /* float timestep; */ int *facepa=emd->facepa; int totdup=0,totvert=0,totface=0,totpart=0; - int i, j, v, mindex=0; + int i, v, mindex=0; + unsigned int ed_v1, ed_v2; MTFace *mtface = NULL, *mtf; totface= dm->getNumTessFaces(dm); @@ -860,24 +862,24 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd, MVert *dest; /* get particle + vertex from hash */ - BLI_edgehashIterator_getKey(ehi, &j, &i); - i -= totvert; + BLI_edgehashIterator_getKey(ehi, &ed_v1, &ed_v2); + ed_v2 -= totvert; v= GET_INT_FROM_POINTER(BLI_edgehashIterator_getValue(ehi)); - dm->getVert(dm, j, &source); + dm->getVert(dm, ed_v1, &source); dest = CDDM_get_vert(explode,v); - DM_copy_vert_data(dm,explode,j,v,1); + DM_copy_vert_data(dm, explode, ed_v1, v, 1); *dest = source; - if(i!=totpart) { + if(ed_v2 != totpart) { /* get particle */ - pa= pars+i; + pa= pars + ed_v2; psys_get_birth_coordinates(&sim, pa, &birth, 0, 0); state.time=cfra; - psys_get_particle_state(&sim, i, &state, 1); + psys_get_particle_state(&sim, ed_v2, &state, 1); vertco=CDDM_get_vert(explode,v)->co; mul_m4_v3(ob->obmat,vertco); |