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:
authorSebastián Barschkis <sebbas@sebbas.org>2020-04-03 17:38:38 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-04-03 18:37:37 +0300
commit70b061b4fdd487c971b12fd0f772767387ebc8f4 (patch)
tree02d8e3d6e7ed273894e1be0187e30e142804c246 /intern/mantaflow/intern/MANTA_main.h
parentbfdc42d9906a08ecc8033eeb9fe267e0a7e5265b (diff)
Fluid: Refactored caching in main Mantaflow class
This refactor cleans up code for the Manta file IO. It also improves the cache 'Replay' option.
Diffstat (limited to 'intern/mantaflow/intern/MANTA_main.h')
-rw-r--r--intern/mantaflow/intern/MANTA_main.h34
1 files changed, 24 insertions, 10 deletions
diff --git a/intern/mantaflow/intern/MANTA_main.h b/intern/mantaflow/intern/MANTA_main.h
index e24b9dc6b23..f4699e857ff 100644
--- a/intern/mantaflow/intern/MANTA_main.h
+++ b/intern/mantaflow/intern/MANTA_main.h
@@ -108,6 +108,14 @@ struct MANTA {
void exportSmokeScript(struct FluidModifierData *mmd);
void exportLiquidScript(struct FluidModifierData *mmd);
+ // Check cache status by frame
+ bool hasConfig(FluidModifierData *mmd, int framenr);
+ bool hasData(FluidModifierData *mmd, int framenr);
+ bool hasNoise(FluidModifierData *mmd, int framenr);
+ bool hasMesh(FluidModifierData *mmd, int framenr);
+ bool hasParticles(FluidModifierData *mmd, int framenr);
+ bool hasGuiding(FluidModifierData *mmd, int framenr, bool sourceDomain);
+
inline size_t getTotalCells()
{
return mTotalCells;
@@ -861,16 +869,22 @@ struct MANTA {
std::string getRealValue(const std::string &varName, FluidModifierData *mmd);
std::string parseLine(const std::string &line, FluidModifierData *mmd);
std::string parseScript(const std::string &setup_string, FluidModifierData *mmd = NULL);
- bool updateMeshFromBobj(const char *filename);
- bool updateMeshFromObj(const char *filename);
- bool updateMeshFromUni(const char *filename);
- bool updateParticlesFromUni(const char *filename, bool isSecondarySys, bool isVelData);
- bool updateGridFromUni(const char *filename, float *grid, bool isNoise);
- bool updateGridFromVDB(const char *filename, float *grid, bool isNoise);
- bool updateGridFromRaw(const char *filename, float *grid, bool isNoise);
- bool updateMeshFromFile(const char *filename);
- bool updateParticlesFromFile(const char *filename, bool isSecondarySys, bool isVelData);
- bool updateGridFromFile(const char *filename, float *grid, bool isNoise);
+ bool updateMeshFromBobj(std::string filename);
+ bool updateMeshFromObj(std::string filename);
+ bool updateMeshFromUni(std::string filename);
+ bool updateParticlesFromUni(std::string filename, bool isSecondarySys, bool isVelData);
+ bool updateGridFromUni(std::string filename, float *grid, bool isNoise);
+ bool updateGridFromVDB(std::string filename, float *grid, bool isNoise);
+ bool updateGridFromRaw(std::string filename, float *grid, bool isNoise);
+ bool updateMeshFromFile(std::string filename);
+ bool updateParticlesFromFile(std::string filename, bool isSecondarySys, bool isVelData);
+ bool updateGridFromFile(std::string filename, float *grid, bool isNoise);
+ std::string getDirectory(struct FluidModifierData *mmd, std::string subdirectory);
+ std::string getFile(struct FluidModifierData *mmd,
+ std::string subdirectory,
+ std::string fname,
+ std::string extension,
+ int framenr);
};
#endif