fix own regression since 2.65 [#34438] Solidify crease bug

This commit is contained in:
Campbell Barton
2013-02-26 14:32:53 +00:00
parent 0ec75be1c6
commit 8033834573
3 changed files with 7 additions and 1 deletions

View File

@@ -491,7 +491,7 @@ void DM_to_mesh(DerivedMesh *dm, Mesh *me, Object *ob)
CustomData_copy(&dm->edgeData, &tmp.edata, CD_MASK_MESH, CD_DUPLICATE, totedge); CustomData_copy(&dm->edgeData, &tmp.edata, CD_MASK_MESH, CD_DUPLICATE, totedge);
CustomData_copy(&dm->loopData, &tmp.ldata, CD_MASK_MESH, CD_DUPLICATE, totloop); CustomData_copy(&dm->loopData, &tmp.ldata, CD_MASK_MESH, CD_DUPLICATE, totloop);
CustomData_copy(&dm->polyData, &tmp.pdata, CD_MASK_MESH, CD_DUPLICATE, totpoly); CustomData_copy(&dm->polyData, &tmp.pdata, CD_MASK_MESH, CD_DUPLICATE, totpoly);
me->cd_flag = dm->cd_flag; tmp.cd_flag = dm->cd_flag;
if (CustomData_has_layer(&dm->vertData, CD_SHAPEKEY)) { if (CustomData_has_layer(&dm->vertData, CD_SHAPEKEY)) {
KeyBlock *kb; KeyBlock *kb;

View File

@@ -29,6 +29,7 @@
* \ingroup modifiers * \ingroup modifiers
*/ */
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h" #include "DNA_meshdata_types.h"
#include "MEM_guardedalloc.h" #include "MEM_guardedalloc.h"
@@ -598,6 +599,10 @@ static DerivedMesh *applyModifier(
int *orig_ed; int *orig_ed;
int j; int j;
if (crease_rim || crease_outer || crease_inner) {
result->cd_flag |= ME_CDFLAG_EDGE_CREASE;
}
/* add faces & edges */ /* add faces & edges */
origindex_edge = result->getEdgeDataArray(result, CD_ORIGINDEX); origindex_edge = result->getEdgeDataArray(result, CD_ORIGINDEX);
ed = &medge[numEdges * 2]; ed = &medge[numEdges * 2];

View File

@@ -107,6 +107,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
subsurf_flags |= SUBSURF_IN_EDIT_MODE; subsurf_flags |= SUBSURF_IN_EDIT_MODE;
result = subsurf_make_derived_from_derived(derivedData, smd, NULL, subsurf_flags); result = subsurf_make_derived_from_derived(derivedData, smd, NULL, subsurf_flags);
result->cd_flag = derivedData->cd_flag;
if (useRenderParams || !isFinalCalc) { if (useRenderParams || !isFinalCalc) {
DerivedMesh *cddm = CDDM_copy(result); DerivedMesh *cddm = CDDM_copy(result);