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:
Diffstat (limited to 'intern/mantaflow/intern/MANTA_main.h')
-rw-r--r--intern/mantaflow/intern/MANTA_main.h133
1 files changed, 55 insertions, 78 deletions
diff --git a/intern/mantaflow/intern/MANTA_main.h b/intern/mantaflow/intern/MANTA_main.h
index 6a8484c75d9..dae2aea4e08 100644
--- a/intern/mantaflow/intern/MANTA_main.h
+++ b/intern/mantaflow/intern/MANTA_main.h
@@ -37,7 +37,7 @@ using std::vector;
struct MANTA {
public:
- MANTA(int *res, struct FluidModifierData *mmd);
+ MANTA(int *res, struct FluidModifierData *fmd);
MANTA(){};
virtual ~MANTA();
@@ -60,82 +60,69 @@ struct MANTA {
int flags;
} Triangle;
- // Cache helper typedefs
- typedef struct GridItem {
- void **pointer; /* Array of pointers for this grid.*/
- int type;
- int *res;
- string name;
- } GridItem;
-
- typedef struct FileItem {
- string filename;
- vector<GridItem> grids;
- } FileItem;
-
// Manta step, handling everything
- void step(struct FluidModifierData *mmd, int startFrame);
+ void step(struct FluidModifierData *fmd, int startFrame);
// Grid initialization functions
- void initHeat(struct FluidModifierData *mmd = NULL);
- void initFire(struct FluidModifierData *mmd = NULL);
- void initColors(struct FluidModifierData *mmd = NULL);
- void initFireHigh(struct FluidModifierData *mmd = NULL);
- void initColorsHigh(struct FluidModifierData *mmd = NULL);
- void initLiquid(FluidModifierData *mmd = NULL);
- void initLiquidMesh(FluidModifierData *mmd = NULL);
- void initObstacle(FluidModifierData *mmd = NULL);
- void initCurvature(FluidModifierData *mmd = NULL);
- void initGuiding(FluidModifierData *mmd = NULL);
- void initFractions(FluidModifierData *mmd = NULL);
- void initInVelocity(FluidModifierData *mmd = NULL);
- void initOutflow(FluidModifierData *mmd = NULL);
- void initSndParts(FluidModifierData *mmd = NULL);
- void initLiquidSndParts(FluidModifierData *mmd = NULL);
+ void initHeat(struct FluidModifierData *fmd = NULL);
+ void initFire(struct FluidModifierData *fmd = NULL);
+ void initColors(struct FluidModifierData *fmd = NULL);
+ void initFireHigh(struct FluidModifierData *fmd = NULL);
+ void initColorsHigh(struct FluidModifierData *fmd = NULL);
+ void initLiquid(FluidModifierData *fmd = NULL);
+ void initLiquidMesh(FluidModifierData *fmd = NULL);
+ void initObstacle(FluidModifierData *fmd = NULL);
+ void initCurvature(FluidModifierData *fmd = NULL);
+ void initGuiding(FluidModifierData *fmd = NULL);
+ void initFractions(FluidModifierData *fmd = NULL);
+ void initInVelocity(FluidModifierData *fmd = NULL);
+ void initOutflow(FluidModifierData *fmd = NULL);
+ void initSndParts(FluidModifierData *fmd = NULL);
+ void initLiquidSndParts(FluidModifierData *fmd = NULL);
// Pointer transfer: Mantaflow -> Blender
void updatePointers();
// Write cache
- bool writeConfiguration(FluidModifierData *mmd, int framenr);
- bool writeData(FluidModifierData *mmd, int framenr);
- bool writeNoise(FluidModifierData *mmd, int framenr);
+ bool writeConfiguration(FluidModifierData *fmd, int framenr);
+ bool writeData(FluidModifierData *fmd, int framenr);
+ bool writeNoise(FluidModifierData *fmd, int framenr);
// write calls for mesh and particles were left in bake calls for now
// Read cache (via Manta save/load)
- bool readConfiguration(FluidModifierData *mmd, int framenr);
- bool readData(FluidModifierData *mmd, int framenr);
- bool readNoise(FluidModifierData *mmd, int framenr);
- bool readMesh(FluidModifierData *mmd, int framenr);
- bool readParticles(FluidModifierData *mmd, int framenr);
- bool readGuiding(FluidModifierData *mmd, int framenr, bool sourceDomain);
+ bool readConfiguration(FluidModifierData *fmd, int framenr);
+ bool readData(FluidModifierData *fmd, int framenr, bool resumable);
+ bool readNoise(FluidModifierData *fmd, int framenr, bool resumable);
+ bool readMesh(FluidModifierData *fmd, int framenr);
+ bool readParticles(FluidModifierData *fmd, int framenr, bool resumable);
+ bool readGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain);
// Read cache (via file read functions in MANTA - e.g. read .bobj.gz meshes, .uni particles)
- bool updateMeshStructures(FluidModifierData *mmd, int framenr);
- bool updateFlipStructures(FluidModifierData *mmd, int framenr);
- bool updateParticleStructures(FluidModifierData *mmd, int framenr);
- bool updateSmokeStructures(FluidModifierData *mmd, int framenr);
- bool updateNoiseStructures(FluidModifierData *mmd, int framenr);
- bool updateVariables(FluidModifierData *mmd);
+ bool updateMeshStructures(FluidModifierData *fmd, int framenr);
+ bool updateFlipStructures(FluidModifierData *fmd, int framenr);
+ bool updateParticleStructures(FluidModifierData *fmd, int framenr);
+ bool updateSmokeStructures(FluidModifierData *fmd, int framenr);
+ bool updateNoiseStructures(FluidModifierData *fmd, int framenr);
+ bool updateVariables(FluidModifierData *fmd);
// Bake cache
- bool bakeData(FluidModifierData *mmd, int framenr);
- bool bakeNoise(FluidModifierData *mmd, int framenr);
- bool bakeMesh(FluidModifierData *mmd, int framenr);
- bool bakeParticles(FluidModifierData *mmd, int framenr);
- bool bakeGuiding(FluidModifierData *mmd, int framenr);
+ bool bakeData(FluidModifierData *fmd, int framenr);
+ bool bakeNoise(FluidModifierData *fmd, int framenr);
+ bool bakeMesh(FluidModifierData *fmd, int framenr);
+ bool bakeParticles(FluidModifierData *fmd, int framenr);
+ bool bakeGuiding(FluidModifierData *fmd, int framenr);
// IO for Mantaflow scene script
- void exportSmokeScript(struct FluidModifierData *mmd);
- void exportLiquidScript(struct FluidModifierData *mmd);
+ void exportSmokeScript(struct FluidModifierData *fmd);
+ void exportLiquidScript(struct FluidModifierData *fmd);
// 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);
+ bool hasConfig(FluidModifierData *fmd, int framenr);
+ bool hasData(FluidModifierData *fmd, int framenr);
+ bool hasNoise(FluidModifierData *fmd, int framenr);
+ bool hasMesh(FluidModifierData *fmd, int framenr);
+ bool hasParticles(FluidModifierData *fmd, int framenr);
+ bool hasGuiding(FluidModifierData *fmd, int framenr, bool sourceDomain);
inline size_t getTotalCells()
{
@@ -752,7 +739,7 @@ struct MANTA {
float getTimestep();
void adaptTimestep();
- bool needsRealloc(FluidModifierData *mmd);
+ bool needsRealloc(FluidModifierData *fmd);
private:
// simulation constants
@@ -887,30 +874,20 @@ struct MANTA {
vector<pVel> *mSndParticleVelocity;
vector<float> *mSndParticleLife;
- void initializeRNAMap(struct FluidModifierData *mmd = NULL);
- void initDomain(struct FluidModifierData *mmd = NULL);
- void initNoise(struct FluidModifierData *mmd = NULL);
- void initMesh(struct FluidModifierData *mmd = NULL);
- void initSmoke(struct FluidModifierData *mmd = NULL);
- void initSmokeNoise(struct FluidModifierData *mmd = NULL);
+ void initializeRNAMap(struct FluidModifierData *fmd = NULL);
+ void initDomain(struct FluidModifierData *fmd = NULL);
+ void initNoise(struct FluidModifierData *fmd = NULL);
+ void initMesh(struct FluidModifierData *fmd = NULL);
+ void initSmoke(struct FluidModifierData *fmd = NULL);
+ void initSmokeNoise(struct FluidModifierData *fmd = NULL);
void initializeMantaflow();
void terminateMantaflow();
bool runPythonString(vector<string> commands);
string getRealValue(const string &varName);
string parseLine(const string &line);
- string parseScript(const string &setup_string, FluidModifierData *mmd = NULL);
- bool updateMeshFromBobj(string filename);
- bool updateMeshFromObj(string filename);
- bool updateMeshFromUni(string filename);
- bool updateParticlesFromUni(string filename, bool isSecondarySys, bool isVelData);
- bool updateGridsFromUni(string filename, vector<GridItem> grids);
- bool updateGridsFromVDB(string filename, vector<GridItem> grids);
- bool updateGridsFromRaw(string filename, vector<GridItem> grids);
- bool updateMeshFromFile(string filename);
- bool updateParticlesFromFile(string filename, bool isSecondarySys, bool isVelData);
- bool updateGridsFromFile(string filename, vector<GridItem> grids);
- string getDirectory(struct FluidModifierData *mmd, string subdirectory);
- string getFile(struct FluidModifierData *mmd,
+ string parseScript(const string &setup_string, FluidModifierData *fmd = NULL);
+ string getDirectory(struct FluidModifierData *fmd, string subdirectory);
+ string getFile(struct FluidModifierData *fmd,
string subdirectory,
string fname,
string extension,