From 30310a4fc84cd6b971f58ced42b6eed1343b22e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastia=CC=81n=20Barschkis?= Date: Sun, 10 Jan 2021 19:09:37 +0100 Subject: Fix T83777: Crash when enabling guides Also adjusted adjusted guiding UI parameters so that guiding will not get invalidated when changing domain values. --- intern/mantaflow/intern/MANTA_main.cpp | 5 ++--- intern/mantaflow/intern/strings/fluid_script.h | 8 ++++++-- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'intern/mantaflow') 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 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\ -- cgit v1.2.3