Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-06-15 19:37:30 +0300
committerJacques Lucke <jacques@blender.org>2020-06-15 19:37:30 +0300
commit6a0ebb80885be1b86588af57f989cafd9e64305d (patch)
treeb043d814f8a77d327ec4e0edeee85208b1c74431 /source
parentd97cb98b1192a71d940981997044653634a253de (diff)
Refactor: use new blenloader api for laplacian deform modifier
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenloader/intern/readfile.c6
-rw-r--r--source/blender/blenloader/intern/writefile.c5
-rw-r--r--source/blender/modifiers/CMakeLists.txt4
-rw-r--r--source/blender/modifiers/intern/MOD_laplaciandeform.c21
4 files changed, 23 insertions, 13 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index fcbbccedcda..f3b92b1f6a4 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5831,12 +5831,6 @@ static void direct_link_modifiers(BlendDataReader *reader, ListBase *lb, Object
direct_link_curvemapping(reader, wmd->cmap_curve);
}
}
- else if (md->type == eModifierType_LaplacianDeform) {
- LaplacianDeformModifierData *lmd = (LaplacianDeformModifierData *)md;
-
- BLO_read_float3_array(reader, lmd->total_verts, &lmd->vertexco);
- lmd->cache_system = NULL;
- }
else if (md->type == eModifierType_CorrectiveSmooth) {
CorrectiveSmoothModifierData *csmd = (CorrectiveSmoothModifierData *)md;
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index b6f8849b46d..2cc6cecd815 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1794,11 +1794,6 @@ static void write_modifiers(BlendWriter *writer, ListBase *modbase)
write_curvemapping(writer, wmd->cmap_curve);
}
}
- else if (md->type == eModifierType_LaplacianDeform) {
- LaplacianDeformModifierData *lmd = (LaplacianDeformModifierData *)md;
-
- BLO_write_float3_array(writer, lmd->total_verts, lmd->vertexco);
- }
else if (md->type == eModifierType_CorrectiveSmooth) {
CorrectiveSmoothModifierData *csmd = (CorrectiveSmoothModifierData *)md;
diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt
index 78db7de2ac2..460f697a0a9 100644
--- a/source/blender/modifiers/CMakeLists.txt
+++ b/source/blender/modifiers/CMakeLists.txt
@@ -25,6 +25,7 @@ set(INC
../blenkernel
../blentranslation
../blenlib
+ ../blenloader
../bmesh
../depsgraph
../editors/include
@@ -34,6 +35,9 @@ set(INC
../windowmanager
../../../intern/eigen
../../../intern/guardedalloc
+
+ # dna_type_offsets.h in BLO_read_write.h
+ ${CMAKE_BINARY_DIR}/source/blender/makesdna/intern
)
set(INC_SYS
diff --git a/source/blender/modifiers/intern/MOD_laplaciandeform.c b/source/blender/modifiers/intern/MOD_laplaciandeform.c
index d0088fd2657..e2646e77af9 100644
--- a/source/blender/modifiers/intern/MOD_laplaciandeform.c
+++ b/source/blender/modifiers/intern/MOD_laplaciandeform.c
@@ -49,6 +49,8 @@
#include "UI_interface.h"
#include "UI_resources.h"
+#include "BLO_read_write.h"
+
#include "RNA_access.h"
#include "MOD_ui_common.h"
@@ -855,6 +857,21 @@ static void panelRegister(ARegionType *region_type)
modifier_panel_register(region_type, eModifierType_LaplacianDeform, panel_draw);
}
+static void blendWrite(BlendWriter *writer, const ModifierData *md)
+{
+ LaplacianDeformModifierData *lmd = (LaplacianDeformModifierData *)md;
+
+ BLO_write_float3_array(writer, lmd->total_verts, lmd->vertexco);
+}
+
+static void blendRead(BlendDataReader *reader, ModifierData *md)
+{
+ LaplacianDeformModifierData *lmd = (LaplacianDeformModifierData *)md;
+
+ BLO_read_float3_array(reader, lmd->total_verts, &lmd->vertexco);
+ lmd->cache_system = NULL;
+}
+
ModifierTypeInfo modifierType_LaplacianDeform = {
/* name */ "LaplacianDeform",
/* structName */ "LaplacianDeformModifierData",
@@ -884,6 +901,6 @@ ModifierTypeInfo modifierType_LaplacianDeform = {
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,
- /* blendWrite */ NULL,
- /* blendRead */ NULL,
+ /* blendWrite */ blendWrite,
+ /* blendRead */ blendRead,
};