diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_modifier.h')
-rw-r--r-- | source/blender/blenkernel/BKE_modifier.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h index e4cf7d44f05..766ca78dc50 100644 --- a/source/blender/blenkernel/BKE_modifier.h +++ b/source/blender/blenkernel/BKE_modifier.h @@ -41,6 +41,8 @@ struct ModifierData; struct Object; struct Scene; struct bArmature; +struct BlendWriter; +struct BlendDataReader; typedef enum { /* Should not be used, only for None modifier type */ @@ -355,6 +357,21 @@ typedef struct ModifierTypeInfo { /* Register the panel types for the modifier's UI. */ void (*panelRegister)(struct ARegionType *region_type); + + /* Is called when the modifier is written to a file. The modifier data struct itself is written + * already. + * + * This method should write any additional arrays and referenced structs that should be + * stored in the file. + */ + void (*blendWrite)(struct BlendWriter *writer, const struct ModifierData *md); + + /* Is called when the modifier is read from a file. + * + * It can be used to update pointers to arrays and other structs. Furthermore, fields that have + * not been written (e.g. runtime data) can be reset. + */ + void (*blendRead)(struct BlendDataReader *reader, struct ModifierData *md); } ModifierTypeInfo; /* Used to find a modifier's panel type. */ |