diff options
author | Sebastián Barschkis <sebbas@sebbas.org> | 2021-01-10 21:09:37 +0300 |
---|---|---|
committer | Sebastián Barschkis <sebbas@sebbas.org> | 2021-01-10 21:16:44 +0300 |
commit | 30310a4fc84cd6b971f58ced42b6eed1343b22e7 (patch) | |
tree | 2b643cf4f9ed1f0bb94741402582029c00bac729 /intern/mantaflow | |
parent | 5b90ed6c06bf79f41d56666158f660513d8e1f04 (diff) |
Fix T83777: Crash when enabling guides
Also adjusted adjusted guiding UI parameters so that guiding will not get invalidated when changing domain values.
Diffstat (limited to 'intern/mantaflow')
-rw-r--r-- | intern/mantaflow/intern/MANTA_main.cpp | 5 | ||||
-rw-r--r-- | intern/mantaflow/intern/strings/fluid_script.h | 8 |
2 files changed, 8 insertions, 5 deletions
diff --git a/intern/mantaflow/intern/MANTA_main.cpp b/intern/mantaflow/intern/MANTA_main.cpp index d5d41e71f22..1ed2b558938 100644 --- a/intern/mantaflow/intern/MANTA_main.cpp +++ b/intern/mantaflow/intern/MANTA_main.cpp @@ -1394,15 +1394,14 @@ bool MANTA::readGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain) if (with_debug) cout << "MANTA::readGuiding()" << endl; - FluidDomainSettings *fds = fmd->domain; - if (!mUsingGuiding) return false; - if (!fds) + if (!fmd) return false; ostringstream ss; vector<string> pythonCommands; + FluidDomainSettings *fds = fmd->domain; string directory = (sourceDomain) ? getDirectory(fmd, FLUID_DOMAIN_DIR_DATA) : getDirectory(fmd, FLUID_DOMAIN_DIR_GUIDE); diff --git a/intern/mantaflow/intern/strings/fluid_script.h b/intern/mantaflow/intern/strings/fluid_script.h index 73e8552d260..e65310c4bfd 100644 --- a/intern/mantaflow/intern/strings/fluid_script.h +++ b/intern/mantaflow/intern/strings/fluid_script.h @@ -412,7 +412,9 @@ def fluid_post_step_$ID$():\n\ mantaMsg('Fluid post step')\n\ \n\ # Copy vel grid to reals grids (which Blender internal will in turn use for vel access)\n\ - copyVec3ToReal(source=vel_s$ID$, targetX=x_vel_s$ID$, targetY=y_vel_s$ID$, targetZ=z_vel_s$ID$)\n"; + copyVec3ToReal(source=vel_s$ID$, targetX=x_vel_s$ID$, targetY=y_vel_s$ID$, targetZ=z_vel_s$ID$)\n\ + if using_guiding_s$ID$:\n\ + copyVec3ToReal(source=guidevel_sg$ID$, targetX=x_guidevel_s$ID$, targetY=y_guidevel_s$ID$, targetZ=z_guidevel_s$ID$)\n"; ////////////////////////////////////////////////////////////////////// // DESTRUCTION @@ -676,7 +678,9 @@ const std::string fluid_load_guiding = def fluid_load_guiding_$ID$(path, framenr, file_format):\n\ mantaMsg('Fluid load guiding, frame ' + str(framenr))\n\ guidevel_sg$ID$.setName('$NAME_VELOCITY_GUIDE$')\n\ - fluid_file_import_s$ID$(dict=fluid_guiding_dict_s$ID$, path=path, framenr=framenr, file_format=file_format, file_name=file_guiding_s$ID$)\n"; + fluid_file_import_s$ID$(dict=fluid_guiding_dict_s$ID$, path=path, framenr=framenr, file_format=file_format, file_name=file_guiding_s$ID$)\n\ + \n\ + copyVec3ToReal(source=guidevel_sg$ID$, targetX=x_guidevel_s$ID$, targetY=y_guidevel_s$ID$, targetZ=z_guidevel_s$ID$)\n"; const std::string fluid_load_vel = "\n\ |