diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-05 13:39:40 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-13 12:34:01 +0300 |
commit | 36faf739a71624b6ca10cec7233779f9eeace0bd (patch) | |
tree | ad57fbc75b6bce4bdc590384a3fdf4eeb5fdbaf0 /source/blender/makesdna/DNA_modifier_types.h | |
parent | 27537daee1b62aab0fb0d01b89b7d2c044e796cd (diff) |
Particle system: Move runtime data to runtime field
Allows it to be preserved during copy-on-write update when on-geometry
related update is needed.
This is a required part for T63537, where we need to preserve the entire
evaluation data when object is tagged for only RECALC_COPY_ON_WRITE.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D5023
Diffstat (limited to 'source/blender/makesdna/DNA_modifier_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 6a524e03b6e..37980fc5728 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -882,17 +882,24 @@ enum { MOD_MDEF_SURFACE = 1, }; -typedef struct ParticleSystemModifierData { - ModifierData modifier; - - struct ParticleSystem *psys; +/* Is stored in ModifierData.runtime. */ +# +# +typedef struct ParticleSystemModifierDataRuntime { /** Final Mesh - its topology may differ from orig mesh. */ struct Mesh *mesh_final; /** Original mesh that particles are attached to. */ struct Mesh *mesh_original; int totdmvert, totdmedge, totdmface; +} ParticleSystemModifierDataRuntime; + +typedef struct ParticleSystemModifierData { + ModifierData modifier; + + struct ParticleSystem *psys; + void *_pad1; short flag; - char _pad[2]; + char _pad[6]; } ParticleSystemModifierData; typedef enum { |