Fluid: Fixed file formats for script exporter

File formats in the exported scripts were using hardcoded file extensions and not the ones specified in the UI.
This commit is contained in:
Sebastián Barschkis 2020-02-09 17:17:24 +01:00
parent 86e24ea10c
commit a048354e9f
2 changed files with 37 additions and 29 deletions

View File

@ -572,6 +572,29 @@ void MANTA::terminateMantaflow()
mantaInitialized = false;
}
static std::string getCacheFileEnding(char cache_format)
{
if (MANTA::with_debug)
std::cout << "MANTA::getCacheFileEnding()" << std::endl;
switch (cache_format) {
case FLUID_DOMAIN_FILE_UNI:
return ".uni";
case FLUID_DOMAIN_FILE_OPENVDB:
return ".vdb";
case FLUID_DOMAIN_FILE_RAW:
return ".raw";
case FLUID_DOMAIN_FILE_BIN_OBJECT:
return ".bobj.gz";
case FLUID_DOMAIN_FILE_OBJECT:
return ".obj";
default:
if (MANTA::with_debug)
std::cout << "Error: Could not find file extension" << std::endl;
return ".uni";
}
}
std::string MANTA::getRealValue(const std::string &varName, FluidModifierData *mmd)
{
std::ostringstream ss;
@ -815,6 +838,14 @@ std::string MANTA::getRealValue(const std::string &varName, FluidModifierData *m
ss << mmd->time;
else if (varName == "END_FRAME")
ss << mmd->domain->cache_frame_end;
else if (varName == "CACHE_DATA_FORMAT")
ss << getCacheFileEnding(mmd->domain->cache_data_format);
else if (varName == "CACHE_MESH_FORMAT")
ss << getCacheFileEnding(mmd->domain->cache_mesh_format);
else if (varName == "CACHE_NOISE_FORMAT")
ss << getCacheFileEnding(mmd->domain->cache_noise_format);
else if (varName == "CACHE_PARTICLE_FORMAT")
ss << getCacheFileEnding(mmd->domain->cache_particle_format);
else if (varName == "SIMULATION_METHOD") {
if (mmd->domain->simulation_method & FLUID_DOMAIN_METHOD_FLIP) {
ss << "'FLIP'";
@ -987,29 +1018,6 @@ std::string MANTA::parseScript(const std::string &setup_string, FluidModifierDat
return res.str();
}
static std::string getCacheFileEnding(char cache_format)
{
if (MANTA::with_debug)
std::cout << "MANTA::getCacheFileEnding()" << std::endl;
switch (cache_format) {
case FLUID_DOMAIN_FILE_UNI:
return ".uni";
case FLUID_DOMAIN_FILE_OPENVDB:
return ".vdb";
case FLUID_DOMAIN_FILE_RAW:
return ".raw";
case FLUID_DOMAIN_FILE_BIN_OBJECT:
return ".bobj.gz";
case FLUID_DOMAIN_FILE_OBJECT:
return ".obj";
default:
if (MANTA::with_debug)
std::cout << "Error: Could not find file extension" << std::endl;
return ".uni";
}
}
int MANTA::updateFlipStructures(FluidModifierData *mmd, int framenr)
{
if (MANTA::with_debug)

View File

@ -689,12 +689,12 @@ if (GUI):\n\
gui.show()\n\
gui.pause()\n\
\n\
cache_dir = '$CACHE_DIR$'\n\
cache_resumable = $CACHE_RESUMABLE$\n\
file_format_data = '.uni'\n\
file_format_noise = '.uni'\n\
file_format_particles = '.uni'\n\
file_format_mesh = '.bobj.gz'\n\
cache_resumable = $CACHE_RESUMABLE$\n\
cache_dir = '$CACHE_DIR$'\n\
file_format_data = '$CACHE_DATA_FORMAT$'\n\
file_format_noise = '$CACHE_NOISE_FORMAT$'\n\
file_format_particles = '$CACHE_PARTICLE_FORMAT$'\n\
file_format_mesh = '$CACHE_MESH_FORMAT$'\n\
\n\
# Start and stop for simulation\n\
current_frame = $CURRENT_FRAME$\n\