Modifiers: Make input of modifier stack referencing copied CD layers
The idea is to allow modifier stack to reference custom data layers from copied version of mesh datablock.
This commit is contained in:
@@ -1294,7 +1294,11 @@ static Mesh *create_orco_mesh(Object *ob, Mesh *me, BMEditMesh *em, int layer)
|
||||
else {
|
||||
BKE_id_copy_ex(
|
||||
NULL, &me->id, (ID **)&mesh,
|
||||
LIB_ID_CREATE_NO_MAIN | LIB_ID_CREATE_NO_USER_REFCOUNT | LIB_ID_CREATE_NO_DEG_TAG, false);
|
||||
(LIB_ID_CREATE_NO_MAIN |
|
||||
LIB_ID_CREATE_NO_USER_REFCOUNT |
|
||||
LIB_ID_CREATE_NO_DEG_TAG |
|
||||
LIB_ID_COPY_CD_REFERENCE),
|
||||
false);
|
||||
}
|
||||
|
||||
orco = get_orco_coords_dm(ob, em, layer, &free);
|
||||
@@ -2125,7 +2129,11 @@ static void mesh_calc_modifiers(
|
||||
if (r_deform_mesh) {
|
||||
BKE_id_copy_ex(
|
||||
NULL, &me->id, (ID **)r_deform_mesh,
|
||||
LIB_ID_CREATE_NO_MAIN | LIB_ID_CREATE_NO_USER_REFCOUNT | LIB_ID_CREATE_NO_DEG_TAG, false);
|
||||
(LIB_ID_CREATE_NO_MAIN |
|
||||
LIB_ID_CREATE_NO_USER_REFCOUNT |
|
||||
LIB_ID_CREATE_NO_DEG_TAG |
|
||||
LIB_ID_COPY_CD_REFERENCE),
|
||||
false);
|
||||
|
||||
/* XXX: Is build_shapekey_layers ever even true? This should have crashed long ago... */
|
||||
BLI_assert(!build_shapekey_layers);
|
||||
@@ -2268,7 +2276,11 @@ static void mesh_calc_modifiers(
|
||||
else {
|
||||
BKE_id_copy_ex(
|
||||
NULL, &me->id, (ID **)&mesh,
|
||||
LIB_ID_CREATE_NO_MAIN | LIB_ID_CREATE_NO_USER_REFCOUNT | LIB_ID_CREATE_NO_DEG_TAG, false);
|
||||
(LIB_ID_CREATE_NO_MAIN |
|
||||
LIB_ID_CREATE_NO_USER_REFCOUNT |
|
||||
LIB_ID_CREATE_NO_DEG_TAG |
|
||||
LIB_ID_COPY_CD_REFERENCE),
|
||||
false);
|
||||
ASSERT_IS_VALID_MESH(mesh);
|
||||
|
||||
// XXX: port to Mesh if build_shapekey_layers can ever be true
|
||||
@@ -2439,7 +2451,11 @@ static void mesh_calc_modifiers(
|
||||
else {
|
||||
BKE_id_copy_ex(
|
||||
NULL, &me->id, (ID **)&final_mesh,
|
||||
LIB_ID_CREATE_NO_MAIN | LIB_ID_CREATE_NO_USER_REFCOUNT | LIB_ID_CREATE_NO_DEG_TAG, false);
|
||||
(LIB_ID_CREATE_NO_MAIN |
|
||||
LIB_ID_CREATE_NO_USER_REFCOUNT |
|
||||
LIB_ID_CREATE_NO_DEG_TAG |
|
||||
LIB_ID_COPY_CD_REFERENCE),
|
||||
false);
|
||||
|
||||
//if (build_shapekey_layers) {
|
||||
// add_shapekey_layers(final_mesh, me, ob);
|
||||
|
||||
Reference in New Issue
Block a user