[Bf-blender-cvs] [b4087ea6392] blender2.8: Modifiers: Refactor `MOD_deform_mesh_eval_get()` helper a bit.
Bastien Montagne
noreply at git.blender.org
Tue Nov 27 21:17:33 CET 2018
Commit: b4087ea6392e051fd9e4f7ee5207d089a044e15e
Author: Bastien Montagne
Date: Tue Nov 27 17:21:16 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBb4087ea6392e051fd9e4f7ee5207d089a044e15e
Modifiers: Refactor `MOD_deform_mesh_eval_get()` helper a bit.
Now that function also takes expected number of vertices, and do the
checks against generated mesh internally.
===================================================================
M source/blender/modifiers/intern/MOD_armature.c
M source/blender/modifiers/intern/MOD_cast.c
M source/blender/modifiers/intern/MOD_cloth.c
M source/blender/modifiers/intern/MOD_collision.c
M source/blender/modifiers/intern/MOD_correctivesmooth.c
M source/blender/modifiers/intern/MOD_curve.c
M source/blender/modifiers/intern/MOD_displace.c
M source/blender/modifiers/intern/MOD_hook.c
M source/blender/modifiers/intern/MOD_laplaciandeform.c
M source/blender/modifiers/intern/MOD_laplaciansmooth.c
M source/blender/modifiers/intern/MOD_lattice.c
M source/blender/modifiers/intern/MOD_meshdeform.c
M source/blender/modifiers/intern/MOD_particlesystem.c
M source/blender/modifiers/intern/MOD_shrinkwrap.c
M source/blender/modifiers/intern/MOD_simpledeform.c
M source/blender/modifiers/intern/MOD_smooth.c
M source/blender/modifiers/intern/MOD_surface.c
M source/blender/modifiers/intern/MOD_util.c
M source/blender/modifiers/intern/MOD_util.h
M source/blender/modifiers/intern/MOD_warp.c
M source/blender/modifiers/intern/MOD_wave.c
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c
index 3209391d4bc..f37b5d4ec4d 100644
--- a/source/blender/modifiers/intern/MOD_armature.c
+++ b/source/blender/modifiers/intern/MOD_armature.c
@@ -136,7 +136,7 @@ static void deformVertsEM(
Mesh *mesh, float (*vertexCos)[3], int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData *) md;
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, em, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, em, mesh, NULL, numVerts, false, false);
MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */
@@ -160,7 +160,7 @@ static void deformMatricesEM(
float (*defMats)[3][3], int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData *) md;
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, em, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, em, mesh, NULL, numVerts, false, false);
armature_deform_verts(amd->object, ctx->object, mesh_src, vertexCos, defMats, numVerts,
amd->deformflag, NULL, amd->defgrp_name, NULL);
@@ -175,7 +175,7 @@ static void deformMatrices(
float (*vertexCos)[3], float (*defMats)[3][3], int numVerts)
{
ArmatureModifierData *amd = (ArmatureModifierData *) md;
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false);
armature_deform_verts(amd->object, ctx->object, mesh_src, vertexCos, defMats, numVerts,
amd->deformflag, NULL, amd->defgrp_name, NULL);
diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c
index 959f77b0718..c80bbe5cc96 100644
--- a/source/blender/modifiers/intern/MOD_cast.c
+++ b/source/blender/modifiers/intern/MOD_cast.c
@@ -433,7 +433,7 @@ static void deformVerts(
if (ctx->object->type == OB_MESH) {
/* mesh_src is only needed for vgroups. */
- mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false);
BLI_assert(mesh_src->totvert == numVerts);
}
@@ -455,7 +455,7 @@ static void deformVertsEM(
Mesh *mesh, float (*vertexCos)[3], int numVerts)
{
CastModifierData *cmd = (CastModifierData *)md;
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, editData, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, numVerts, false, false);
BLI_assert(mesh_src->totvert == numVerts);
diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c
index 55af0f04bac..636c465d304 100644
--- a/source/blender/modifiers/intern/MOD_cloth.c
+++ b/source/blender/modifiers/intern/MOD_cloth.c
@@ -93,7 +93,7 @@ static void deformVerts(
}
if (mesh == NULL) {
- mesh_src = MOD_get_mesh_eval(ctx->object, NULL, NULL, NULL, false, false);
+ mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, NULL, NULL, numVerts, false, false);
}
else {
/* Not possible to use get_mesh() in this case as we'll modify its vertices
diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c
index 2fddef21996..011635e3012 100644
--- a/source/blender/modifiers/intern/MOD_collision.c
+++ b/source/blender/modifiers/intern/MOD_collision.c
@@ -105,7 +105,7 @@ static void deformVerts(
ModifierData *md, const ModifierEvalContext *ctx,
Mesh *mesh,
float (*vertexCos)[3],
- int UNUSED(numVerts))
+ int numVerts)
{
CollisionModifierData *collmd = (CollisionModifierData *) md;
Mesh *mesh_src;
@@ -113,7 +113,7 @@ static void deformVerts(
Object *ob = ctx->object;
if (mesh == NULL) {
- mesh_src = MOD_get_mesh_eval(ob, NULL, NULL, NULL, false, false);
+ mesh_src = MOD_deform_mesh_eval_get(ob, NULL, NULL, NULL, numVerts, false, false);
}
else {
/* Not possible to use get_mesh() in this case as we'll modify its vertices
diff --git a/source/blender/modifiers/intern/MOD_correctivesmooth.c b/source/blender/modifiers/intern/MOD_correctivesmooth.c
index 777e1cbf21b..913ac14f21b 100644
--- a/source/blender/modifiers/intern/MOD_correctivesmooth.c
+++ b/source/blender/modifiers/intern/MOD_correctivesmooth.c
@@ -717,7 +717,7 @@ static void deformVerts(
ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh,
float (*vertexCos)[3], int numVerts)
{
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false);
correctivesmooth_modifier_do(md, ctx->object, mesh_src, vertexCos, (unsigned int)numVerts, NULL);
@@ -731,7 +731,7 @@ static void deformVertsEM(
ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *editData,
Mesh *mesh, float (*vertexCos)[3], int numVerts)
{
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, editData, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, numVerts, false, false);
correctivesmooth_modifier_do(md, ctx->object, mesh_src, vertexCos, (unsigned int)numVerts, editData);
diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c
index 308cb79b74a..6a0b276f0d5 100644
--- a/source/blender/modifiers/intern/MOD_curve.c
+++ b/source/blender/modifiers/intern/MOD_curve.c
@@ -116,7 +116,7 @@ static void deformVerts(
if (ctx->object->type == OB_MESH) {
/* mesh_src is only needed for vgroups. */
- mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false);
BLI_assert(mesh_src->totvert == numVerts);
}
@@ -141,7 +141,7 @@ static void deformVertsEM(
float (*vertexCos)[3],
int numVerts)
{
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, em, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, em, mesh, NULL, numVerts, false, false);
BLI_assert(mesh_src->totvert == numVerts);
diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c
index 8f9ce544330..9345733ea77 100644
--- a/source/blender/modifiers/intern/MOD_displace.c
+++ b/source/blender/modifiers/intern/MOD_displace.c
@@ -376,7 +376,7 @@ static void deformVerts(
float (*vertexCos)[3],
int numVerts)
{
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false);
BLI_assert(mesh_src->totvert == numVerts);
@@ -391,7 +391,7 @@ static void deformVertsEM(
ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *editData,
Mesh *mesh, float (*vertexCos)[3], int numVerts)
{
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, editData, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, numVerts, false, false);
BLI_assert(mesh_src->totvert == numVerts);
diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c
index 0764bba6a14..186ad2dc352 100644
--- a/source/blender/modifiers/intern/MOD_hook.c
+++ b/source/blender/modifiers/intern/MOD_hook.c
@@ -354,7 +354,7 @@ static void deformVerts(
float (*vertexCos)[3], int numVerts)
{
HookModifierData *hmd = (HookModifierData *)md;
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false);
deformVerts_do(hmd, ctx->object, mesh_src, vertexCos, numVerts);
@@ -369,7 +369,7 @@ static void deformVertsEM(
struct Mesh *mesh, float (*vertexCos)[3], int numVerts)
{
HookModifierData *hmd = (HookModifierData *)md;
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, editData, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, numVerts, false, false);
deformVerts_do(hmd, ctx->object, mesh_src, vertexCos, numVerts);
diff --git a/source/blender/modifiers/intern/MOD_laplaciandeform.c b/source/blender/modifiers/intern/MOD_laplaciandeform.c
index ad6c6e0163d..39085cc4588 100644
--- a/source/blender/modifiers/intern/MOD_laplaciandeform.c
+++ b/source/blender/modifiers/intern/MOD_laplaciandeform.c
@@ -734,7 +734,7 @@ static void deformVerts(
ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh,
float (*vertexCos)[3], int numVerts)
{
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, numVerts, false, false);
LaplacianDeformModifier_do((LaplacianDeformModifierData *)md, ctx->object, mesh_src, vertexCos, numVerts);
if (mesh_src != mesh) {
@@ -746,7 +746,7 @@ static void deformVertsEM(
ModifierData *md, const ModifierEvalContext *ctx, struct BMEditMesh *editData,
Mesh *mesh, float (*vertexCos)[3], int numVerts)
{
- Mesh *mesh_src = MOD_get_mesh_eval(ctx->object, editData, mesh, NULL, false, false);
+ Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, numVerts, false, false);
LaplacianDeformModifier_do((LaplacianDeformModifierData *)md, ctx->object, mesh_src,
vertexCos, numVerts);
if (mesh_src != mesh) {
diff --git a/source/blender/modifiers/intern/MOD_laplaciansmooth.c b/source/blender/modifiers/intern/MOD_laplaciansmooth.c
index fba4ac5d9e5..66c31b60bbd 100644
--- a/source/blender/modifiers/intern/MOD_laplaciansmooth.c
+++ b/source/blender/modifiers/intern/MOD_laplaciansmooth.c
@@ -507,7 +507,7 @@ static void deformVerts(
if (numVerts == 0)
return;
- mesh_src = MOD_get_mesh_eval(ctx->object, NULL, mesh, NULL, false, false);
+ mesh_src = MOD_deform_mesh_eval_get(ctx->object, N
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list