Fix: simulation nodes baking does not work
This was accidentally broken in 7ec335f995.
There is a difference between resetting the `std::shared_ptr` and resetting
the cache.
This commit is contained in:
@@ -261,7 +261,7 @@ void scene_simulation_states_reset(Scene &scene)
|
||||
continue;
|
||||
}
|
||||
NodesModifierData *nmd = reinterpret_cast<NodesModifierData *>(md);
|
||||
nmd->runtime->simulation_cache.reset();
|
||||
nmd->runtime->simulation_cache->reset();
|
||||
}
|
||||
}
|
||||
FOREACH_SCENE_OBJECT_END;
|
||||
|
||||
@@ -98,7 +98,7 @@ static void calculate_simulation_job_startjob(void *customdata,
|
||||
LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) {
|
||||
if (md->type == eModifierType_Nodes) {
|
||||
NodesModifierData *nmd = reinterpret_cast<NodesModifierData *>(md);
|
||||
nmd->runtime->simulation_cache.reset();
|
||||
nmd->runtime->simulation_cache->reset();
|
||||
}
|
||||
}
|
||||
objects_to_calc.append(object);
|
||||
@@ -258,7 +258,7 @@ static void bake_simulation_job_startjob(void *customdata,
|
||||
LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) {
|
||||
if (md->type == eModifierType_Nodes) {
|
||||
NodesModifierData *nmd = reinterpret_cast<NodesModifierData *>(md);
|
||||
nmd->runtime->simulation_cache.reset();
|
||||
nmd->runtime->simulation_cache->reset();
|
||||
char absolute_bake_dir[FILE_MAX];
|
||||
STRNCPY(absolute_bake_dir, nmd->simulation_bake_directory);
|
||||
BLI_path_abs(absolute_bake_dir, base_path);
|
||||
@@ -596,7 +596,7 @@ static int delete_baked_simulation_exec(bContext *C, wmOperator *op)
|
||||
LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) {
|
||||
if (md->type == eModifierType_Nodes) {
|
||||
NodesModifierData *nmd = reinterpret_cast<NodesModifierData *>(md);
|
||||
nmd->runtime->simulation_cache.reset();
|
||||
nmd->runtime->simulation_cache->reset();
|
||||
if (StringRef(nmd->simulation_bake_directory).is_empty()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user