diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-05 11:44:40 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-05 11:44:40 +0400 |
commit | d5fcaeb874d8dd7caa0c4d7491cd822dbe910d08 (patch) | |
tree | 7504b6cd1ded3b846f3ff747324c418ac698f8ab /source/blender/blenkernel | |
parent | 1d21e2386e39a34a86772e4b6f19791c1635a601 (diff) |
sync changes from trunk.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/armature.c | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/particle.c | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/pointcache.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/shrinkwrap.c | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/subsurf_ccg.c | 31 |
5 files changed, 10 insertions, 29 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index 9511ce0c428..02b9330d588 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -945,6 +945,7 @@ void armature_deform_verts(Object *armOb, Object *target, DerivedMesh *dm, else dvert = NULL; } else dvert = NULL; + if(armature_def_nr >= 0 && dvert) { armature_weight= defvert_find_weight(dvert, armature_def_nr); diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index ef71e1947e9..98413d79358 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -55,7 +55,6 @@ #include "BLI_threads.h" #include "BLI_linklist.h" #include "BLI_bpath.h" -#include "BLI_math.h" #include "BKE_anim.h" #include "BKE_animsys.h" diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c index c5f948bb27f..6fd89db10e7 100644 --- a/source/blender/blenkernel/intern/pointcache.c +++ b/source/blender/blenkernel/intern/pointcache.c @@ -2302,7 +2302,7 @@ void BKE_ptcache_id_time(PTCacheID *pid, Scene *scene, float cfra, int *startfra if(timescale) { time= BKE_curframe(scene); - nexttime= BKE_frame_to_ctime(scene, CFRA + 1.0f); + nexttime= BKE_frame_to_ctime(scene, CFRA+1); *timescale= MAX2(nexttime - time, 0.0f); } diff --git a/source/blender/blenkernel/intern/shrinkwrap.c b/source/blender/blenkernel/intern/shrinkwrap.c index 820d474253f..53c7656663a 100644 --- a/source/blender/blenkernel/intern/shrinkwrap.c +++ b/source/blender/blenkernel/intern/shrinkwrap.c @@ -588,9 +588,7 @@ void shrinkwrapModifier_deform(ShrinkwrapModifierData *smd, Object *ob, DerivedM } //free memory - if(ss_mesh) { - ss_mesh->needsFree = 1; + if(ss_mesh) ss_mesh->release(ss_mesh); - } } diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 36178481419..9547bbaa213 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -494,7 +494,7 @@ static void free_ss_weights(WeightTable *wtable) MEM_freeN(wtable->weight_table); } -static int ss_sync_from_derivedmesh(CCGSubSurf *ss, DerivedMesh *dm, +static void ss_sync_from_derivedmesh(CCGSubSurf *ss, DerivedMesh *dm, float (*vertexCos)[3], int useFlatSubdiv) { float creaseFactor = (float) ccgSubSurf_getSubdivisionLevels(ss); @@ -567,22 +567,21 @@ static int ss_sync_from_derivedmesh(CCGSubSurf *ss, DerivedMesh *dm, static int hasGivenError = 0; if(!hasGivenError) { - printf("Unrecoverable error in SubSurf calculation," - " mesh is inconsistent.\n"); + //XXX error("Unrecoverable error in SubSurf calculation," + // " mesh is inconsistent."); hasGivenError = 1; } - return 0; + return; } - ((int*)ccgSubSurf_getFaceUserData(ss, f))[1] = index ? *index++: i; + ((int*)ccgSubSurf_getFaceUserData(ss, f))[1] = (index)? *index++: i; } ccgSubSurf_processSync(ss); BLI_array_free(fVerts); - return 1; } /***/ @@ -1103,11 +1102,6 @@ static void ccgDM_copyFinalFaceArray(DerivedMesh *dm, MFace *mface) edgeSize, gridSize); mf->v4 = getFaceIndex(ss, f, S, x + 1, y + 0, edgeSize, gridSize); - if (faceFlags) { - mat_nr = faceFlags[index*2+1]; - mf->flag = faceFlags[index*2]; - } else mf->flag = flag; - mf->mat_nr = mat_nr; mf->flag = flag; @@ -1209,11 +1203,6 @@ static void ccgDM_copyFinalPolyArray(DerivedMesh *dm, MPoly *mface) for(x = 0; x < gridSize - 1; x++) { MPoly *mf = &mface[i]; - if (faceFlags) { - mat_nr = faceFlags[index*2+1]; - mf->flag = faceFlags[index*2]; - } else mf->flag = flag; - mf->mat_nr = mat_nr; mf->flag = flag; mf->loopstart = k; @@ -3304,7 +3293,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived( result->freeSS = 1; } else { - int useIncremental = 1; //(smd->flags & eSubsurfModifierFlag_Incremental); + int useIncremental = (smd->flags & eSubsurfModifierFlag_Incremental); int levels= (smd->modifier.scene)? get_render_subsurf_level(&smd->modifier.scene->r, smd->levels): smd->levels; CCGSubSurf *ss; @@ -3327,13 +3316,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived( if(useIncremental && isFinalCalc) { smd->mCache = ss = _getSubSurf(smd->mCache, levels, useAging|CCG_CALC_NORMALS); - if (!ss_sync_from_derivedmesh(ss, dm, vertCos, useSimple)) { - //ccgSubSurf_free(smd->mCache); - smd->mCache = ss = _getSubSurf(NULL, levels, useAging); - - ss_sync_from_derivedmesh(ss, dm, vertCos, useSimple); - - } + ss_sync_from_derivedmesh(ss, dm, vertCos, useSimple); result = getCCGDerivedMesh(smd->mCache, drawInteriorEdges, |