[Bf-blender-cvs] [4de0c067087] fluid-mantaflow: updated manta pp files
Sebastián Barschkis
noreply at git.blender.org
Fri Dec 15 16:28:22 CET 2017
Commit: 4de0c067087e399a51443bc3133210e5b68c309c
Author: Sebastián Barschkis
Date: Fri Dec 15 16:23:11 2017 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rB4de0c067087e399a51443bc3133210e5b68c309c
updated manta pp files
===================================================================
M intern/mantaflow/intern/manta_pp/omp/gitinfo.h
M intern/mantaflow/intern/manta_pp/omp/noisefield.h
M intern/mantaflow/intern/manta_pp/tbb/gitinfo.h
M intern/mantaflow/intern/manta_pp/tbb/noisefield.h
===================================================================
diff --git a/intern/mantaflow/intern/manta_pp/omp/gitinfo.h b/intern/mantaflow/intern/manta_pp/omp/gitinfo.h
index 72f41700b8a..b0b5d2f3075 100644
--- a/intern/mantaflow/intern/manta_pp/omp/gitinfo.h
+++ b/intern/mantaflow/intern/manta_pp/omp/gitinfo.h
@@ -1,4 +1,4 @@
-#define MANTA_GIT_VERSION "commit 508317e36888914db7068fd5f9b58920cade9838"
+#define MANTA_GIT_VERSION "commit 5c8540f36e7c3041f74c8d29206337b79ee428de"
diff --git a/intern/mantaflow/intern/manta_pp/omp/noisefield.h b/intern/mantaflow/intern/manta_pp/omp/noisefield.h
index 4939b398e77..de5afb5086f 100644
--- a/intern/mantaflow/intern/manta_pp/omp/noisefield.h
+++ b/intern/mantaflow/intern/manta_pp/omp/noisefield.h
@@ -40,8 +40,7 @@ namespace Manta {
class WaveletNoiseField : public PbClass { public:
WaveletNoiseField( FluidSolver* parent, int fixedSeed=-1 , int loadFromFile=false ); static int _W_0 (PyObject* _self, PyObject* _linargs, PyObject* _kwds) { PbClass* obj = Pb::objFromPy(_self); if (obj) delete obj; try { PbArgs _args(_linargs, _kwds); bool noTiming = _args.getOpt<bool>("notiming", -1, 0); pbPreparePlugin(0, "WaveletNoiseField::WaveletNoiseField" , !noTiming ); { ArgLocker _lock; FluidSolver* parent = _args.getPtr<FluidSolver >("parent",0,&_lock); int fixedSeed = _args [...]
~WaveletNoiseField() {
- mNoiseReferenceCount--;
- if(!mNoiseReferenceCount.load() && mNoiseTile) { debMsg("Deleting noise tile", 1); delete mNoiseTile; mNoiseTile=NULL; }
+ if(mNoiseTile && !mNoiseReferenceCount) { delete mNoiseTile; mNoiseTile=NULL; }
};
//! evaluate noise
@@ -53,13 +52,13 @@ class WaveletNoiseField : public PbClass { public:
//! direct data access
Real* data() { return mNoiseTile; }
-
+
//! compute wavelet decomposition of an input grid (stores residual coefficients)
static void computeCoefficients(Grid<Real>& input, Grid<Real>& tempIn1, Grid<Real>& tempIn2);
// helper
std::string toString();
-
+
// texcoord position and scale
Vec3 mPosOffset;static PyObject* _GET_mPosOffset(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mPosOffset); } static int _SET_mPosOffset(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mPosOffset = fromPy<Vec3 >(val); return 0; }
Vec3 mPosScale;static PyObject* _GET_mPosScale(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mPosScale); } static int _SET_mPosScale(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mPosScale = fromPy<Vec3 >(val); return 0; }
@@ -72,7 +71,7 @@ class WaveletNoiseField : public PbClass { public:
Real mClampPos;static PyObject* _GET_mClampPos(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mClampPos); } static int _SET_mClampPos(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mClampPos = fromPy<Real >(val); return 0; }
// animated over time
Real mTimeAnim;static PyObject* _GET_mTimeAnim(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mTimeAnim); } static int _SET_mTimeAnim(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mTimeAnim = fromPy<Real >(val); return 0; }
-
+
protected:
// noise evaluation functions
static inline Real WNoiseDx (const Vec3& p, Real *data);
@@ -95,7 +94,7 @@ class WaveletNoiseField : public PbClass { public:
// pre-compute tile data for wavelet noise
void generateTile( int loadFromFile );
-
+
// animation over time
// grid size normalization (inverse size)
Real mGsInvX, mGsInvY, mGsInvZ;
@@ -103,9 +102,10 @@ class WaveletNoiseField : public PbClass { public:
Vec3 mSeedOffset;
static Real* mNoiseTile;
- static std::atomic<int> mNoiseReferenceCount;
- // global random seed storage
- static int randomSeed; public: PbArgs _args; }
+ // global random seed storage
+ static int randomSeed;
+ // global reference count for noise tile
+ static std::atomic<int> mNoiseReferenceCount; public: PbArgs _args; }
#define _C_WaveletNoiseField
;
diff --git a/intern/mantaflow/intern/manta_pp/tbb/gitinfo.h b/intern/mantaflow/intern/manta_pp/tbb/gitinfo.h
index 72f41700b8a..b0b5d2f3075 100644
--- a/intern/mantaflow/intern/manta_pp/tbb/gitinfo.h
+++ b/intern/mantaflow/intern/manta_pp/tbb/gitinfo.h
@@ -1,4 +1,4 @@
-#define MANTA_GIT_VERSION "commit 508317e36888914db7068fd5f9b58920cade9838"
+#define MANTA_GIT_VERSION "commit 5c8540f36e7c3041f74c8d29206337b79ee428de"
diff --git a/intern/mantaflow/intern/manta_pp/tbb/noisefield.h b/intern/mantaflow/intern/manta_pp/tbb/noisefield.h
index 4939b398e77..de5afb5086f 100644
--- a/intern/mantaflow/intern/manta_pp/tbb/noisefield.h
+++ b/intern/mantaflow/intern/manta_pp/tbb/noisefield.h
@@ -40,8 +40,7 @@ namespace Manta {
class WaveletNoiseField : public PbClass { public:
WaveletNoiseField( FluidSolver* parent, int fixedSeed=-1 , int loadFromFile=false ); static int _W_0 (PyObject* _self, PyObject* _linargs, PyObject* _kwds) { PbClass* obj = Pb::objFromPy(_self); if (obj) delete obj; try { PbArgs _args(_linargs, _kwds); bool noTiming = _args.getOpt<bool>("notiming", -1, 0); pbPreparePlugin(0, "WaveletNoiseField::WaveletNoiseField" , !noTiming ); { ArgLocker _lock; FluidSolver* parent = _args.getPtr<FluidSolver >("parent",0,&_lock); int fixedSeed = _args [...]
~WaveletNoiseField() {
- mNoiseReferenceCount--;
- if(!mNoiseReferenceCount.load() && mNoiseTile) { debMsg("Deleting noise tile", 1); delete mNoiseTile; mNoiseTile=NULL; }
+ if(mNoiseTile && !mNoiseReferenceCount) { delete mNoiseTile; mNoiseTile=NULL; }
};
//! evaluate noise
@@ -53,13 +52,13 @@ class WaveletNoiseField : public PbClass { public:
//! direct data access
Real* data() { return mNoiseTile; }
-
+
//! compute wavelet decomposition of an input grid (stores residual coefficients)
static void computeCoefficients(Grid<Real>& input, Grid<Real>& tempIn1, Grid<Real>& tempIn2);
// helper
std::string toString();
-
+
// texcoord position and scale
Vec3 mPosOffset;static PyObject* _GET_mPosOffset(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mPosOffset); } static int _SET_mPosOffset(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mPosOffset = fromPy<Vec3 >(val); return 0; }
Vec3 mPosScale;static PyObject* _GET_mPosScale(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mPosScale); } static int _SET_mPosScale(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mPosScale = fromPy<Vec3 >(val); return 0; }
@@ -72,7 +71,7 @@ class WaveletNoiseField : public PbClass { public:
Real mClampPos;static PyObject* _GET_mClampPos(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mClampPos); } static int _SET_mClampPos(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mClampPos = fromPy<Real >(val); return 0; }
// animated over time
Real mTimeAnim;static PyObject* _GET_mTimeAnim(PyObject* self, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); return toPy(pbo->mTimeAnim); } static int _SET_mTimeAnim(PyObject* self, PyObject* val, void* cl) { WaveletNoiseField* pbo = dynamic_cast<WaveletNoiseField*>(Pb::objFromPy(self)); pbo->mTimeAnim = fromPy<Real >(val); return 0; }
-
+
protected:
// noise evaluation functions
static inline Real WNoiseDx (const Vec3& p, Real *data);
@@ -95,7 +94,7 @@ class WaveletNoiseField : public PbClass { public:
// pre-compute tile data for wavelet noise
void generateTile( int loadFromFile );
-
+
// animation over time
// grid size normalization (inverse size)
Real mGsInvX, mGsInvY, mGsInvZ;
@@ -103,9 +102,10 @@ class WaveletNoiseField : public PbClass { public:
Vec3 mSeedOffset;
static Real* mNoiseTile;
- static std::atomic<int> mNoiseReferenceCount;
- // global random seed storage
- static int randomSeed; public: PbArgs _args; }
+ // global random seed storage
+ static int randomSeed;
+ // global reference count for noise tile
+ static std::atomic<int> mNoiseReferenceCount; public: PbArgs _args; }
#define _C_WaveletNoiseField
;
More information about the Bf-blender-cvs
mailing list