From be4df85919b42cb2cf8a01c904a8552c5c173944 Mon Sep 17 00:00:00 2001 From: Mai Lavelle Date: Wed, 18 Apr 2018 15:45:54 +0200 Subject: Modifiers: Add wrapper functions with Mesh / DerivedMesh conversion Makes the follow changes: - Add new `deform*` and `apply*` function pointers to `ModifierTypeInfo` that take `Mesh`, and rename the old functions to indicate that they take `DerivedMesh`. These new functions are currently set to `NULL` for all modifiers. - Add wrapper `modifier_deform*` and `modifier_apply*` functions in two variants: one that works with `Mesh` and the other which works with `DerivedMesh` that is named with `*_DM_depercated`. These functions check which type of data the modifier supports and converts if necessary - Update the rest of Blender to be aware and make use of these new functions The goal of these changes is to make it possible to port to using `Mesh` incrementally without ever needing to enter into a state where modifiers don't work. After everything has been ported over the old functions and wrappers could be removed. Reviewers: campbellbarton, sergey, mont29 Subscribers: sybren Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D3155 --- source/blender/modifiers/intern/MOD_laplaciansmooth.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'source/blender/modifiers/intern/MOD_laplaciansmooth.c') diff --git a/source/blender/modifiers/intern/MOD_laplaciansmooth.c b/source/blender/modifiers/intern/MOD_laplaciansmooth.c index 5d3cfd830a0..1017b3ca7d5 100644 --- a/source/blender/modifiers/intern/MOD_laplaciansmooth.c +++ b/source/blender/modifiers/intern/MOD_laplaciansmooth.c @@ -551,12 +551,21 @@ ModifierTypeInfo modifierType_LaplacianSmooth = { eModifierTypeFlag_SupportsEditmode, /* copy_data */ copy_data, - /* deformVerts */ deformVerts, + + /* deformVerts_DM */ deformVerts, + /* deformMatrices_DM */ NULL, + /* deformVertsEM_DM */ deformVertsEM, + /* deformMatricesEM_DM*/NULL, + /* applyModifier_DM */ NULL, + /* applyModifierEM_DM */NULL, + + /* deformVerts */ NULL, /* deformMatrices */ NULL, - /* deformVertsEM */ deformVertsEM, + /* deformVertsEM */ NULL, /* deformMatricesEM */ NULL, /* applyModifier */ NULL, /* applyModifierEM */ NULL, + /* initData */ init_data, /* requiredDataMask */ required_data_mask, /* freeData */ NULL, -- cgit v1.2.3