fix own regression since 2.65 [#34438] Solidify crease bug
This commit is contained in:
@@ -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;
|
||||||
|
@@ -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];
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user