[Bf-blender-cvs] [4dc91ebf814] blender2.8: Merge branch 'master' into blender2.8
Campbell Barton
noreply at git.blender.org
Sat May 12 08:23:25 CEST 2018
Commit: 4dc91ebf81438c473bbd8f9a1655179335c6d42f
Author: Campbell Barton
Date: Sat May 12 08:21:07 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB4dc91ebf81438c473bbd8f9a1655179335c6d42f
Merge branch 'master' into blender2.8
===================================================================
===================================================================
diff --cc source/blender/modifiers/intern/MOD_armature.c
index 26fe2ff2e4c,0075e87e63b..8f99bc2bf39
--- a/source/blender/modifiers/intern/MOD_armature.c
+++ b/source/blender/modifiers/intern/MOD_armature.c
@@@ -111,10 -121,12 +111,11 @@@ static void updateDepsgraph(ModifierDat
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Armature Modifier");
}
- static void deformVerts(ModifierData *md, const ModifierEvalContext *ctx,
- Mesh *mesh,
- float (*vertexCos)[3],
- int numVerts)
+ static void deformVerts(
- ModifierData *md, Object *ob,
- DerivedMesh *derivedData,
++ ModifierData *md, const ModifierEvalContext *ctx,
++ Mesh *mesh,
+ float (*vertexCos)[3],
- int numVerts,
- ModifierApplyFlag UNUSED(flag))
++ int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData *) md;
@@@ -159,28 -171,29 +160,29 @@@ static void deformMatricesEM
float (*defMats)[3][3], int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData *) md;
- DerivedMesh *dm = derivedData;
+ Mesh *mesh_src = get_mesh(ctx->object, em, mesh, NULL, false, false);
- if (!derivedData) dm = CDDM_from_editbmesh(em, false, false);
-
- armature_deform_verts(amd->object, ob, dm, vertexCos, defMats, numVerts,
+ armature_deform_verts(amd->object, ctx->object, mesh_src, vertexCos, defMats, numVerts,
amd->deformflag, NULL, amd->defgrp_name);
- if (!derivedData) dm->release(dm);
+ if (mesh_src != mesh) {
+ BKE_id_free(NULL, mesh_src);
+ }
}
- static void deformMatrices(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh,
- float (*vertexCos)[3], float (*defMats)[3][3], int numVerts)
+ static void deformMatrices(
- ModifierData *md, Object *ob, DerivedMesh *derivedData,
++ ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh,
+ float (*vertexCos)[3], float (*defMats)[3][3], int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData *) md;
- DerivedMesh *dm = derivedData;
+ Mesh *mesh_src = get_mesh(ctx->object, NULL, mesh, NULL, false, false);
- if (!derivedData) dm = CDDM_from_mesh((Mesh *)ob->data);
-
- armature_deform_verts(amd->object, ob, dm, vertexCos, defMats, numVerts,
+ armature_deform_verts(amd->object, ctx->object, mesh_src, vertexCos, defMats, numVerts,
amd->deformflag, NULL, amd->defgrp_name);
- if (!derivedData) dm->release(dm);
+ if (mesh_src != mesh) {
+ BKE_id_free(NULL, mesh_src);
+ }
}
ModifierTypeInfo modifierType_Armature = {
diff --cc source/blender/modifiers/intern/MOD_array.c
index 532c6675d11,a69af265a17..4a67b8318bb
--- a/source/blender/modifiers/intern/MOD_array.c
+++ b/source/blender/modifiers/intern/MOD_array.c
@@@ -742,11 -791,13 +742,12 @@@ static Mesh *arrayModifier_doArray
}
- static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx,
- Mesh *mesh)
-static DerivedMesh *applyModifier(
- ModifierData *md, Object *ob,
- DerivedMesh *dm,
- ModifierApplyFlag flag)
++static Mesh *applyModifier(
++ ModifierData *md, const ModifierEvalContext *ctx,
++ Mesh *mesh)
{
ArrayModifierData *amd = (ArrayModifierData *) md;
- return arrayModifier_doArray(amd, md->scene, ob, dm, flag);
+ return arrayModifier_doArray(amd, ctx, mesh);
}
diff --cc source/blender/modifiers/intern/MOD_build.c
index 8e7e2e65169,c3fea60fe88..eb32c77ca1e
--- a/source/blender/modifiers/intern/MOD_build.c
+++ b/source/blender/modifiers/intern/MOD_build.c
@@@ -65,10 -66,13 +65,11 @@@ static bool dependsOnTime(ModifierData
return true;
}
- static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx,
- struct Mesh *mesh)
-static DerivedMesh *applyModifier(
- ModifierData *md, Object *UNUSED(ob),
- DerivedMesh *derivedData,
- ModifierApplyFlag UNUSED(flag))
++static Mesh *applyModifier(
++ ModifierData *md, const ModifierEvalContext *ctx,
++ struct Mesh *mesh)
{
- DerivedMesh *dm = derivedData;
- DerivedMesh *result;
+ Mesh *result;
BuildModifierData *bmd = (BuildModifierData *) md;
int i, j, k;
int numFaces_dst, numEdges_dst, numLoops_dst = 0;
diff --cc source/blender/modifiers/intern/MOD_cast.c
index 2eee77c4dd7,3416190b7b0..5b6ad9b8f29
--- a/source/blender/modifiers/intern/MOD_cast.c
+++ b/source/blender/modifiers/intern/MOD_cast.c
@@@ -422,26 -434,27 +422,27 @@@ static void cuboid_do
}
}
- static void deformVerts(ModifierData *md, const ModifierEvalContext *ctx,
- Mesh *mesh,
- float (*vertexCos)[3],
- int numVerts)
+ static void deformVerts(
- ModifierData *md, Object *ob,
- DerivedMesh *derivedData,
++ ModifierData *md, const ModifierEvalContext *ctx,
++ Mesh *mesh,
+ float (*vertexCos)[3],
- int numVerts,
- ModifierApplyFlag UNUSED(flag))
++ int numVerts)
{
- DerivedMesh *dm = NULL;
CastModifierData *cmd = (CastModifierData *)md;
+ Mesh *mesh_src = get_mesh(ctx->object, NULL, mesh, NULL, false, false);
- dm = get_dm(ob, NULL, derivedData, NULL, false, false);
+ BLI_assert(mesh_src->totvert == numVerts);
if (cmd->type == MOD_CAST_TYPE_CUBOID) {
- cuboid_do(cmd, ob, dm, vertexCos, numVerts);
+ cuboid_do(cmd, ctx->object, mesh_src, vertexCos, numVerts);
}
else { /* MOD_CAST_TYPE_SPHERE or MOD_CAST_TYPE_CYLINDER */
- sphere_do(cmd, ob, dm, vertexCos, numVerts);
+ sphere_do(cmd, ctx->object, mesh_src, vertexCos, numVerts);
}
- if (dm != derivedData)
- dm->release(dm);
+ if (mesh_src != mesh) {
+ BKE_id_free(NULL, mesh_src);
+ }
}
static void deformVertsEM(
diff --cc source/blender/modifiers/intern/MOD_cloth.c
index cadb9e5dc96,5b7ebe94c32..268b0b22050
--- a/source/blender/modifiers/intern/MOD_cloth.c
+++ b/source/blender/modifiers/intern/MOD_cloth.c
@@@ -69,9 -72,9 +69,10 @@@ static void initData(ModifierData *md
cloth_init(clmd);
}
- static void deformVerts(ModifierData *md, const ModifierEvalContext *ctx,
- DerivedMesh *derivedData, float (*vertexCos)[3],
- int numVerts)
+ static void deformVerts(
- ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3],
- int numVerts, ModifierApplyFlag UNUSED(flag))
++ ModifierData *md, const ModifierEvalContext *ctx,
++ DerivedMesh *derivedData, float (*vertexCos)[3],
++ int numVerts)
{
DerivedMesh *dm;
ClothModifierData *clmd = (ClothModifierData *) md;
diff --cc source/blender/modifiers/intern/MOD_collision.c
index 6ec1f4d8e5c,067f6ddf3ef..83fbf676beb
--- a/source/blender/modifiers/intern/MOD_collision.c
+++ b/source/blender/modifiers/intern/MOD_collision.c
@@@ -95,10 -95,12 +95,11 @@@ static bool dependsOnTime(ModifierData
return true;
}
- static void deformVerts(ModifierData *md, const ModifierEvalContext *ctx,
- DerivedMesh *derivedData,
- float (*vertexCos)[3],
- int UNUSED(numVerts))
+ static void deformVerts(
- ModifierData *md, Object *ob,
++ ModifierData *md, const ModifierEvalContext *ctx,
+ DerivedMesh *derivedData,
+ float (*vertexCos)[3],
- int UNUSED(numVerts),
- ModifierApplyFlag UNUSED(flag))
++ int UNUSED(numVerts))
{
CollisionModifierData *collmd = (CollisionModifierData *) md;
DerivedMesh *dm = NULL;
diff --cc source/blender/modifiers/intern/MOD_decimate.c
index b004da7df6a,3d0102a8fb9..89ed8d627f1
--- a/source/blender/modifiers/intern/MOD_decimate.c
+++ b/source/blender/modifiers/intern/MOD_decimate.c
@@@ -79,11 -77,13 +79,12 @@@ static CustomDataMask requiredDataMask(
return dataMask;
}
- static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx,
- Mesh *meshData)
-static DerivedMesh *applyModifier(
- ModifierData *md, Object *ob,
- DerivedMesh *derivedData,
- ModifierApplyFlag UNUSED(flag))
++static Mesh *applyModifier(
++ ModifierData *md, const ModifierEvalContext *ctx,
++ Mesh *meshData)
{
DecimateModifierData *dmd = (DecimateModifierData *) md;
- DerivedMesh *dm = derivedData, *result = NULL;
+ Mesh *mesh = meshData, *result = NULL;
BMesh *bm;
bool calc_face_normal;
float *vweights = NULL;
diff --cc source/blender/modifiers/intern/MOD_dynamicpaint.c
index a45cb21139c,2c1a1a3a88a..c7386f947ce
--- a/source/blender/modifiers/intern/MOD_dynamicpaint.c
+++ b/source/blender/modifiers/intern/MOD_dynamicpaint.c
@@@ -99,8 -97,16 +99,9 @@@ static CustomDataMask requiredDataMask(
return dataMask;
}
- static DerivedMesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx,
- DerivedMesh *dm)
+ static DerivedMesh *applyModifier(
- ModifierData *md, Object *ob,
- DerivedMesh *dm,
- ModifierApplyFlag flag)
++ ModifierData *md, const ModifierEvalContext *ctx,
++ DerivedMesh *dm)
{
DynamicPaintModifierData *pmd = (DynamicPaintModifierData *) md;
@@@ -153,10 -181,14 +155,11 @@@ static void foreachIDLink
}
}
}
- if (pmd->brush) {
- walk(userData, ob, (ID **)&pmd->brush->mat, IDWALK_CB_USER);
- }
}
- static void foreachTexLink(ModifierData *UNUSED(md), Object *UNUSED(ob),
- TexWalkFunc UNUSED(walk), void *UNUSED(userData))
+ static void foreachTexLink(
+ ModifierData *UNUSED(md), Object *UNUSED(ob),
+ TexWalkFunc UNUSED(walk), void *UNUSED(userData))
{
//walk(userData, ob, md, ""); /* re-enable when possible */
}
diff --cc source/blender/modifiers/intern/MOD_edgesplit.c
index d2e36c39816,a0d717f1c0f..e8ffddbde4e
--- a/source/blender/modifiers/intern/MOD_edgesplit.c
+++ b/source/blender/modifiers/intern/MOD_edgesplit.c
@@@ -124,11 -112,11 +124,12 @@@ static void initDat
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list