diff options
author | Sybren A. Stüvel <sybren@stuvel.eu> | 2018-07-04 13:46:03 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2018-07-04 15:54:16 +0300 |
commit | 175fe29e58156da93e484c25aa6f5767a46106f8 (patch) | |
tree | ec0429d5c331778e1f19be3830ccc70793deeb28 /source/blender/makesdna | |
parent | 60b9d413dbf1afc24b428dbe3bfea4bc0ec164c5 (diff) |
Cloth simulation: share point cache between CoW copies of objects
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 712958deca1..49d72eddd09 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -119,6 +119,8 @@ typedef struct ModifierData { typedef enum { /* This modifier has been inserted in local override, and hence can be fully edited. */ eModifierFlag_StaticOverride_Local = (1 << 0), + /* This modifier does not own its caches, but instead shares them with another modifier. */ + eModifierFlag_SharedCaches = (1 << 1), } ModifierFlag; typedef enum { @@ -608,8 +610,12 @@ typedef struct ClothModifierData { struct Cloth *clothObject; /* The internal data structure for cloth. */ struct ClothSimSettings *sim_parms; /* definition is in DNA_cloth_types.h */ struct ClothCollSettings *coll_parms; /* definition is in DNA_cloth_types.h */ + + /* PointCache can be shared with other instances of ClothModifierData. + * Inspect (modifier.flag & eModifierFlag_SharedCaches) to find out. */ struct PointCache *point_cache; /* definition is in DNA_object_force_types.h */ struct ListBase ptcaches; + /* XXX nasty hack, remove once hair can be separated from cloth modifier data */ struct ClothHairData *hairdata; /* grid geometry values of hair continuum */ |