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
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-07-22 18:04:18 +0300
committerJacques Lucke <jacques@blender.org>2020-07-22 20:16:33 +0300
commite0400d0a1c76d019dc52efe96e869948464aff61 (patch)
treea5e8feeb50c5d7c13ea189c5470bff5b0804c73c /source/blender/simulation/intern/simulation_collect_influences.hh
parent0a5ef40c2cd77a5c8dfdbcc888759fb0dab9e184 (diff)
Simulation: move responsibility of updating persistent data handles
This solver should not be responsible for updating the handles.
Diffstat (limited to 'source/blender/simulation/intern/simulation_collect_influences.hh')
-rw-r--r--source/blender/simulation/intern/simulation_collect_influences.hh21
1 files changed, 20 insertions, 1 deletions
diff --git a/source/blender/simulation/intern/simulation_collect_influences.hh b/source/blender/simulation/intern/simulation_collect_influences.hh
index 42cbea6977e..13744c3bc1a 100644
--- a/source/blender/simulation/intern/simulation_collect_influences.hh
+++ b/source/blender/simulation/intern/simulation_collect_influences.hh
@@ -58,10 +58,29 @@ class RequiredStates {
}
};
+class UsedPersistentData {
+ private:
+ VectorSet<ID *> used_ids_;
+
+ public:
+ void add(ID *id)
+ {
+ BLI_assert(id != nullptr);
+ BLI_assert((id->tag & LIB_TAG_NO_MAIN) == 0);
+ used_ids_.add(id);
+ }
+
+ const VectorSet<ID *> &used_ids() const
+ {
+ return used_ids_;
+ }
+};
+
void collect_simulation_influences(Simulation &simulation,
ResourceCollector &resources,
SimulationInfluences &r_influences,
- RequiredStates &r_required_states);
+ RequiredStates &r_required_states,
+ UsedPersistentData &r_used_persistent_data);
} // namespace blender::sim