diff options
author | Sebastián Barschkis <sebbas@sebbas.org> | 2020-07-26 22:43:18 +0300 |
---|---|---|
committer | Sebastián Barschkis <sebbas@sebbas.org> | 2020-07-26 23:02:10 +0300 |
commit | 2ebf263f5c3d23084e09cff02eac138a1fd8619f (patch) | |
tree | 4c1165052bb9dd02fe8fff0526ac934614d0d0bb | |
parent | 9386dd66ff21c64528eca037b6bfd86ed41eaf72 (diff) |
Fluid: Updated Mantaflow source files
New files contain updated sampling function (support for maximum number of particles cap).
-rw-r--r-- | extern/mantaflow/preprocessed/fileio/ioparticles.cpp | 1 | ||||
-rw-r--r-- | extern/mantaflow/preprocessed/gitinfo.h | 2 | ||||
-rw-r--r-- | extern/mantaflow/preprocessed/particle.cpp | 2 | ||||
-rw-r--r-- | extern/mantaflow/preprocessed/particle.h | 108 | ||||
-rw-r--r-- | extern/mantaflow/preprocessed/particle.h.reg.cpp | 227 |
5 files changed, 205 insertions, 135 deletions
diff --git a/extern/mantaflow/preprocessed/fileio/ioparticles.cpp b/extern/mantaflow/preprocessed/fileio/ioparticles.cpp index 84283a25b07..36e10aa1644 100644 --- a/extern/mantaflow/preprocessed/fileio/ioparticles.cpp +++ b/extern/mantaflow/preprocessed/fileio/ioparticles.cpp @@ -322,6 +322,7 @@ template<class T> int readPdataUni(const std::string &name, ParticleDataImpl<T> UniPartHeader head; assertMsg(gzread(gzf, &head, sizeof(UniPartHeader)) == sizeof(UniPartHeader), "can't read file, no header present"); + pdata->getParticleSys()->resize(head.dim); // ensure that parent particle system has same size pdata->resize(head.dim); assertMsg(head.dim == pdata->size(), "pdata size doesn't match"); diff --git a/extern/mantaflow/preprocessed/gitinfo.h b/extern/mantaflow/preprocessed/gitinfo.h index 3271a858911..ce088d6c400 100644 --- a/extern/mantaflow/preprocessed/gitinfo.h +++ b/extern/mantaflow/preprocessed/gitinfo.h @@ -1,3 +1,3 @@ -#define MANTA_GIT_VERSION "commit 3370c2014ad7192041cb4fbed19ed74ae9725fb5" +#define MANTA_GIT_VERSION "commit 841bfd09c068dfb95637c0ec14fa78305286a433" diff --git a/extern/mantaflow/preprocessed/particle.cpp b/extern/mantaflow/preprocessed/particle.cpp index 6e1ef2fa5d8..9561365af3d 100644 --- a/extern/mantaflow/preprocessed/particle.cpp +++ b/extern/mantaflow/preprocessed/particle.cpp @@ -29,7 +29,7 @@ using namespace std; namespace Manta { ParticleBase::ParticleBase(FluidSolver *parent) - : PbClass(parent), mAllowCompress(true), mFreePdata(false) + : PbClass(parent), mAllowCompress(true), mFreePdata(false), mMaxParticles(0) { } diff --git a/extern/mantaflow/preprocessed/particle.h b/extern/mantaflow/preprocessed/particle.h index 0be141ed26f..da6733b6845 100644 --- a/extern/mantaflow/preprocessed/particle.h +++ b/extern/mantaflow/preprocessed/particle.h @@ -100,6 +100,17 @@ class ParticleBase : public PbClass { //! threads) inline void addBuffered(const Vec3 &pos, int flag = 0); + virtual void resize(IndexInt size) + { + assertMsg(false, "Dont use, override..."); + return; + } + virtual void resizeAll(IndexInt size) + { + assertMsg(false, "Dont use, override..."); + return; + } + //! particle data functions //! create a particle data object @@ -152,6 +163,20 @@ class ParticleBase : public PbClass { return mPartData[i]; } + //! expose maximum number of particles to python + int mMaxParticles; + static PyObject *_GET_mMaxParticles(PyObject *self, void *cl) + { + ParticleBase *pbo = dynamic_cast<ParticleBase *>(Pb::objFromPy(self)); + return toPy(pbo->mMaxParticles); + } + static int _SET_mMaxParticles(PyObject *self, PyObject *val, void *cl) + { + ParticleBase *pbo = dynamic_cast<ParticleBase *>(Pb::objFromPy(self)); + pbo->mMaxParticles = fromPy<int>(val); + return 0; + } + protected: //! new particle candidates std::vector<Vec3> mNewBufferPos; @@ -431,8 +456,14 @@ template<class S> class ParticleSystem : public ParticleBase { } //! insert buffered positions as new particles, update additional particle data void insertBufferedParticles(); + //! resize only the data vector, only use if you know what you're doing, otherwise use + //! resizeAll() + virtual void resize(IndexInt size) + { + mData.resize(size); + } //! resize data vector, and all pdata fields - void resizeAll(IndexInt newsize); + virtual void resizeAll(IndexInt size); //! adding and deleting inline void kill(IndexInt idx); @@ -877,11 +908,6 @@ class ParticleIndexSystem : public ParticleSystem<ParticleIndexData> { return -1; } }; - //! we only need a resize function... - void resize(IndexInt size) - { - mData.resize(size); - } public: PbArgs _args; } @@ -2479,28 +2505,66 @@ template<class S> void ParticleSystem<S>::insertBufferedParticles() for (IndexInt i = 0; i < (IndexInt)mData.size(); ++i) mData[i].flag &= ~PNEW; - if (mNewBufferPos.size() == 0) + if (mNewBufferPos.empty()) return; - IndexInt newCnt = mData.size(); - resizeAll(newCnt + mNewBufferPos.size()); - - for (IndexInt i = 0; i < (IndexInt)mNewBufferPos.size(); ++i) { - int flag = (mNewBufferFlag.size() > 0) ? mNewBufferFlag[i] : 0; - // note, other fields are not initialized here... - mData[newCnt].pos = mNewBufferPos[i]; - mData[newCnt].flag = PNEW | flag; + IndexInt bufferSize = mNewBufferPos.size(); + IndexInt partsSize = mData.size(); + + if (mMaxParticles > 0) + assertMsg(mMaxParticles >= partsSize, + "Particle system cannot contain more particles that the maximum allowed number"); + + // max number of new particles that can be inserted, adjusted buffer size when using maxParticles + // field + IndexInt numNewParts = (mMaxParticles > 0) ? mMaxParticles - mData.size() : bufferSize; + if (numNewParts > bufferSize) + numNewParts = bufferSize; // upper clamp + + assertMsg(numNewParts >= 0, "Must not have negative number of new particles"); + + // new size of particle system + IndexInt newSize = mData.size() + numNewParts; + if (mMaxParticles > 0) + assertMsg(newSize <= mMaxParticles, + "Particle system cannot contain more particles that the maximum allowed number"); + resizeAll(newSize); + + int insertFlag; + Vec3 insertPos; + static RandomStream mRand(9832); + for (IndexInt i = 0; i < numNewParts; ++i) { + + // get random index in newBuffer vector + // we are inserting particles randomly so that they are sampled uniformly in the fluid region + // otherwise, regions of fluid can remain completely empty once mData.size() == maxParticles is + // reached. + int randIndex = floor(mRand.getReal() * mNewBufferPos.size()); + + // get elements from new buffers with random index + std::swap(mNewBufferPos[randIndex], mNewBufferPos.back()); + insertPos = mNewBufferPos.back(); + mNewBufferPos.pop_back(); + + insertFlag = 0; + if (!mNewBufferFlag.empty()) { + std::swap(mNewBufferFlag[randIndex], mNewBufferFlag.back()); + insertFlag = mNewBufferFlag.back(); + mNewBufferFlag.pop_back(); + } + + mData[partsSize].pos = insertPos; + mData[partsSize].flag = PNEW | insertFlag; + // now init pdata fields from associated grids... for (IndexInt pd = 0; pd < (IndexInt)mPdataReal.size(); ++pd) - mPdataReal[pd]->initNewValue(newCnt, mNewBufferPos[i]); + mPdataReal[pd]->initNewValue(partsSize, insertPos); for (IndexInt pd = 0; pd < (IndexInt)mPdataVec3.size(); ++pd) - mPdataVec3[pd]->initNewValue(newCnt, mNewBufferPos[i]); + mPdataVec3[pd]->initNewValue(partsSize, insertPos); for (IndexInt pd = 0; pd < (IndexInt)mPdataInt.size(); ++pd) - mPdataInt[pd]->initNewValue(newCnt, mNewBufferPos[i]); - newCnt++; + mPdataInt[pd]->initNewValue(partsSize, insertPos); + partsSize++; } - if (mNewBufferPos.size() > 0) - debMsg("Added & initialized " << (IndexInt)mNewBufferPos.size() << " particles", - 2); // debug info + debMsg("Added & initialized " << numNewParts << " particles", 2); // debug info mNewBufferPos.clear(); mNewBufferFlag.clear(); } diff --git a/extern/mantaflow/preprocessed/particle.h.reg.cpp b/extern/mantaflow/preprocessed/particle.h.reg.cpp index 6e0466d0203..e9e538ad097 100644 --- a/extern/mantaflow/preprocessed/particle.h.reg.cpp +++ b/extern/mantaflow/preprocessed/particle.h.reg.cpp @@ -29,279 +29,283 @@ static const Pb::Register _R_21("ParticleBase", "ParticleBase", "PbClass"); template<> const char *Namify<ParticleBase>::S = "ParticleBase"; static const Pb::Register _R_22("ParticleBase", "ParticleBase", ParticleBase::_W_0); static const Pb::Register _R_23("ParticleBase", "create", ParticleBase::_W_1); +static const Pb::Register _R_24("ParticleBase", + "maxParticles", + ParticleBase::_GET_mMaxParticles, + ParticleBase::_SET_mMaxParticles); #endif #ifdef _C_ParticleDataBase -static const Pb::Register _R_24("ParticleDataBase", "ParticleDataBase", "PbClass"); +static const Pb::Register _R_25("ParticleDataBase", "ParticleDataBase", "PbClass"); template<> const char *Namify<ParticleDataBase>::S = "ParticleDataBase"; -static const Pb::Register _R_25("ParticleDataBase", "ParticleDataBase", ParticleDataBase::_W_21); +static const Pb::Register _R_26("ParticleDataBase", "ParticleDataBase", ParticleDataBase::_W_21); #endif #ifdef _C_ParticleDataImpl -static const Pb::Register _R_26("ParticleDataImpl<int>", +static const Pb::Register _R_27("ParticleDataImpl<int>", "ParticleDataImpl<int>", "ParticleDataBase"); template<> const char *Namify<ParticleDataImpl<int>>::S = "ParticleDataImpl<int>"; -static const Pb::Register _R_27("ParticleDataImpl<int>", +static const Pb::Register _R_28("ParticleDataImpl<int>", "ParticleDataImpl", ParticleDataImpl<int>::_W_22); -static const Pb::Register _R_28("ParticleDataImpl<int>", "clear", ParticleDataImpl<int>::_W_23); -static const Pb::Register _R_29("ParticleDataImpl<int>", +static const Pb::Register _R_29("ParticleDataImpl<int>", "clear", ParticleDataImpl<int>::_W_23); +static const Pb::Register _R_30("ParticleDataImpl<int>", "setSource", ParticleDataImpl<int>::_W_24); -static const Pb::Register _R_30("ParticleDataImpl<int>", "copyFrom", ParticleDataImpl<int>::_W_25); -static const Pb::Register _R_31("ParticleDataImpl<int>", "setConst", ParticleDataImpl<int>::_W_26); -static const Pb::Register _R_32("ParticleDataImpl<int>", +static const Pb::Register _R_31("ParticleDataImpl<int>", "copyFrom", ParticleDataImpl<int>::_W_25); +static const Pb::Register _R_32("ParticleDataImpl<int>", "setConst", ParticleDataImpl<int>::_W_26); +static const Pb::Register _R_33("ParticleDataImpl<int>", "setConstRange", ParticleDataImpl<int>::_W_27); -static const Pb::Register _R_33("ParticleDataImpl<int>", "add", ParticleDataImpl<int>::_W_28); -static const Pb::Register _R_34("ParticleDataImpl<int>", "sub", ParticleDataImpl<int>::_W_29); -static const Pb::Register _R_35("ParticleDataImpl<int>", "addConst", ParticleDataImpl<int>::_W_30); -static const Pb::Register _R_36("ParticleDataImpl<int>", +static const Pb::Register _R_34("ParticleDataImpl<int>", "add", ParticleDataImpl<int>::_W_28); +static const Pb::Register _R_35("ParticleDataImpl<int>", "sub", ParticleDataImpl<int>::_W_29); +static const Pb::Register _R_36("ParticleDataImpl<int>", "addConst", ParticleDataImpl<int>::_W_30); +static const Pb::Register _R_37("ParticleDataImpl<int>", "addScaled", ParticleDataImpl<int>::_W_31); -static const Pb::Register _R_37("ParticleDataImpl<int>", "mult", ParticleDataImpl<int>::_W_32); -static const Pb::Register _R_38("ParticleDataImpl<int>", +static const Pb::Register _R_38("ParticleDataImpl<int>", "mult", ParticleDataImpl<int>::_W_32); +static const Pb::Register _R_39("ParticleDataImpl<int>", "multConst", ParticleDataImpl<int>::_W_33); -static const Pb::Register _R_39("ParticleDataImpl<int>", "safeDiv", ParticleDataImpl<int>::_W_34); -static const Pb::Register _R_40("ParticleDataImpl<int>", "clamp", ParticleDataImpl<int>::_W_35); -static const Pb::Register _R_41("ParticleDataImpl<int>", "clampMin", ParticleDataImpl<int>::_W_36); -static const Pb::Register _R_42("ParticleDataImpl<int>", "clampMax", ParticleDataImpl<int>::_W_37); -static const Pb::Register _R_43("ParticleDataImpl<int>", +static const Pb::Register _R_40("ParticleDataImpl<int>", "safeDiv", ParticleDataImpl<int>::_W_34); +static const Pb::Register _R_41("ParticleDataImpl<int>", "clamp", ParticleDataImpl<int>::_W_35); +static const Pb::Register _R_42("ParticleDataImpl<int>", "clampMin", ParticleDataImpl<int>::_W_36); +static const Pb::Register _R_43("ParticleDataImpl<int>", "clampMax", ParticleDataImpl<int>::_W_37); +static const Pb::Register _R_44("ParticleDataImpl<int>", "getMaxAbs", ParticleDataImpl<int>::_W_38); -static const Pb::Register _R_44("ParticleDataImpl<int>", "getMax", ParticleDataImpl<int>::_W_39); -static const Pb::Register _R_45("ParticleDataImpl<int>", "getMin", ParticleDataImpl<int>::_W_40); -static const Pb::Register _R_46("ParticleDataImpl<int>", "sum", ParticleDataImpl<int>::_W_41); -static const Pb::Register _R_47("ParticleDataImpl<int>", +static const Pb::Register _R_45("ParticleDataImpl<int>", "getMax", ParticleDataImpl<int>::_W_39); +static const Pb::Register _R_46("ParticleDataImpl<int>", "getMin", ParticleDataImpl<int>::_W_40); +static const Pb::Register _R_47("ParticleDataImpl<int>", "sum", ParticleDataImpl<int>::_W_41); +static const Pb::Register _R_48("ParticleDataImpl<int>", "sumSquare", ParticleDataImpl<int>::_W_42); -static const Pb::Register _R_48("ParticleDataImpl<int>", +static const Pb::Register _R_49("ParticleDataImpl<int>", "sumMagnitude", ParticleDataImpl<int>::_W_43); -static const Pb::Register _R_49("ParticleDataImpl<int>", +static const Pb::Register _R_50("ParticleDataImpl<int>", "setConstIntFlag", ParticleDataImpl<int>::_W_44); -static const Pb::Register _R_50("ParticleDataImpl<int>", +static const Pb::Register _R_51("ParticleDataImpl<int>", "printPdata", ParticleDataImpl<int>::_W_45); -static const Pb::Register _R_51("ParticleDataImpl<int>", "save", ParticleDataImpl<int>::_W_46); -static const Pb::Register _R_52("ParticleDataImpl<int>", "load", ParticleDataImpl<int>::_W_47); -static const Pb::Register _R_53("ParticleDataImpl<int>", +static const Pb::Register _R_52("ParticleDataImpl<int>", "save", ParticleDataImpl<int>::_W_46); +static const Pb::Register _R_53("ParticleDataImpl<int>", "load", ParticleDataImpl<int>::_W_47); +static const Pb::Register _R_54("ParticleDataImpl<int>", "getDataPointer", ParticleDataImpl<int>::_W_48); -static const Pb::Register _R_54("ParticleDataImpl<Real>", +static const Pb::Register _R_55("ParticleDataImpl<Real>", "ParticleDataImpl<Real>", "ParticleDataBase"); template<> const char *Namify<ParticleDataImpl<Real>>::S = "ParticleDataImpl<Real>"; -static const Pb::Register _R_55("ParticleDataImpl<Real>", +static const Pb::Register _R_56("ParticleDataImpl<Real>", "ParticleDataImpl", ParticleDataImpl<Real>::_W_22); -static const Pb::Register _R_56("ParticleDataImpl<Real>", "clear", ParticleDataImpl<Real>::_W_23); -static const Pb::Register _R_57("ParticleDataImpl<Real>", +static const Pb::Register _R_57("ParticleDataImpl<Real>", "clear", ParticleDataImpl<Real>::_W_23); +static const Pb::Register _R_58("ParticleDataImpl<Real>", "setSource", ParticleDataImpl<Real>::_W_24); -static const Pb::Register _R_58("ParticleDataImpl<Real>", +static const Pb::Register _R_59("ParticleDataImpl<Real>", "copyFrom", ParticleDataImpl<Real>::_W_25); -static const Pb::Register _R_59("ParticleDataImpl<Real>", +static const Pb::Register _R_60("ParticleDataImpl<Real>", "setConst", ParticleDataImpl<Real>::_W_26); -static const Pb::Register _R_60("ParticleDataImpl<Real>", +static const Pb::Register _R_61("ParticleDataImpl<Real>", "setConstRange", ParticleDataImpl<Real>::_W_27); -static const Pb::Register _R_61("ParticleDataImpl<Real>", "add", ParticleDataImpl<Real>::_W_28); -static const Pb::Register _R_62("ParticleDataImpl<Real>", "sub", ParticleDataImpl<Real>::_W_29); -static const Pb::Register _R_63("ParticleDataImpl<Real>", +static const Pb::Register _R_62("ParticleDataImpl<Real>", "add", ParticleDataImpl<Real>::_W_28); +static const Pb::Register _R_63("ParticleDataImpl<Real>", "sub", ParticleDataImpl<Real>::_W_29); +static const Pb::Register _R_64("ParticleDataImpl<Real>", "addConst", ParticleDataImpl<Real>::_W_30); -static const Pb::Register _R_64("ParticleDataImpl<Real>", +static const Pb::Register _R_65("ParticleDataImpl<Real>", "addScaled", ParticleDataImpl<Real>::_W_31); -static const Pb::Register _R_65("ParticleDataImpl<Real>", "mult", ParticleDataImpl<Real>::_W_32); -static const Pb::Register _R_66("ParticleDataImpl<Real>", +static const Pb::Register _R_66("ParticleDataImpl<Real>", "mult", ParticleDataImpl<Real>::_W_32); +static const Pb::Register _R_67("ParticleDataImpl<Real>", "multConst", ParticleDataImpl<Real>::_W_33); -static const Pb::Register _R_67("ParticleDataImpl<Real>", +static const Pb::Register _R_68("ParticleDataImpl<Real>", "safeDiv", ParticleDataImpl<Real>::_W_34); -static const Pb::Register _R_68("ParticleDataImpl<Real>", "clamp", ParticleDataImpl<Real>::_W_35); -static const Pb::Register _R_69("ParticleDataImpl<Real>", +static const Pb::Register _R_69("ParticleDataImpl<Real>", "clamp", ParticleDataImpl<Real>::_W_35); +static const Pb::Register _R_70("ParticleDataImpl<Real>", "clampMin", ParticleDataImpl<Real>::_W_36); -static const Pb::Register _R_70("ParticleDataImpl<Real>", +static const Pb::Register _R_71("ParticleDataImpl<Real>", "clampMax", ParticleDataImpl<Real>::_W_37); -static const Pb::Register _R_71("ParticleDataImpl<Real>", +static const Pb::Register _R_72("ParticleDataImpl<Real>", "getMaxAbs", ParticleDataImpl<Real>::_W_38); -static const Pb::Register _R_72("ParticleDataImpl<Real>", "getMax", ParticleDataImpl<Real>::_W_39); -static const Pb::Register _R_73("ParticleDataImpl<Real>", "getMin", ParticleDataImpl<Real>::_W_40); -static const Pb::Register _R_74("ParticleDataImpl<Real>", "sum", ParticleDataImpl<Real>::_W_41); -static const Pb::Register _R_75("ParticleDataImpl<Real>", +static const Pb::Register _R_73("ParticleDataImpl<Real>", "getMax", ParticleDataImpl<Real>::_W_39); +static const Pb::Register _R_74("ParticleDataImpl<Real>", "getMin", ParticleDataImpl<Real>::_W_40); +static const Pb::Register _R_75("ParticleDataImpl<Real>", "sum", ParticleDataImpl<Real>::_W_41); +static const Pb::Register _R_76("ParticleDataImpl<Real>", "sumSquare", ParticleDataImpl<Real>::_W_42); -static const Pb::Register _R_76("ParticleDataImpl<Real>", +static const Pb::Register _R_77("ParticleDataImpl<Real>", "sumMagnitude", ParticleDataImpl<Real>::_W_43); -static const Pb::Register _R_77("ParticleDataImpl<Real>", +static const Pb::Register _R_78("ParticleDataImpl<Real>", "setConstIntFlag", ParticleDataImpl<Real>::_W_44); -static const Pb::Register _R_78("ParticleDataImpl<Real>", +static const Pb::Register _R_79("ParticleDataImpl<Real>", "printPdata", ParticleDataImpl<Real>::_W_45); -static const Pb::Register _R_79("ParticleDataImpl<Real>", "save", ParticleDataImpl<Real>::_W_46); -static const Pb::Register _R_80("ParticleDataImpl<Real>", "load", ParticleDataImpl<Real>::_W_47); -static const Pb::Register _R_81("ParticleDataImpl<Real>", +static const Pb::Register _R_80("ParticleDataImpl<Real>", "save", ParticleDataImpl<Real>::_W_46); +static const Pb::Register _R_81("ParticleDataImpl<Real>", "load", ParticleDataImpl<Real>::_W_47); +static const Pb::Register _R_82("ParticleDataImpl<Real>", "getDataPointer", ParticleDataImpl<Real>::_W_48); -static const Pb::Register _R_82("ParticleDataImpl<Vec3>", +static const Pb::Register _R_83("ParticleDataImpl<Vec3>", "ParticleDataImpl<Vec3>", "ParticleDataBase"); template<> const char *Namify<ParticleDataImpl<Vec3>>::S = "ParticleDataImpl<Vec3>"; -static const Pb::Register _R_83("ParticleDataImpl<Vec3>", +static const Pb::Register _R_84("ParticleDataImpl<Vec3>", "ParticleDataImpl", ParticleDataImpl<Vec3>::_W_22); -static const Pb::Register _R_84("ParticleDataImpl<Vec3>", "clear", ParticleDataImpl<Vec3>::_W_23); -static const Pb::Register _R_85("ParticleDataImpl<Vec3>", +static const Pb::Register _R_85("ParticleDataImpl<Vec3>", "clear", ParticleDataImpl<Vec3>::_W_23); +static const Pb::Register _R_86("ParticleDataImpl<Vec3>", "setSource", ParticleDataImpl<Vec3>::_W_24); -static const Pb::Register _R_86("ParticleDataImpl<Vec3>", +static const Pb::Register _R_87("ParticleDataImpl<Vec3>", "copyFrom", ParticleDataImpl<Vec3>::_W_25); -static const Pb::Register _R_87("ParticleDataImpl<Vec3>", +static const Pb::Register _R_88("ParticleDataImpl<Vec3>", "setConst", ParticleDataImpl<Vec3>::_W_26); -static const Pb::Register _R_88("ParticleDataImpl<Vec3>", +static const Pb::Register _R_89("ParticleDataImpl<Vec3>", "setConstRange", ParticleDataImpl<Vec3>::_W_27); -static const Pb::Register _R_89("ParticleDataImpl<Vec3>", "add", ParticleDataImpl<Vec3>::_W_28); -static const Pb::Register _R_90("ParticleDataImpl<Vec3>", "sub", ParticleDataImpl<Vec3>::_W_29); -static const Pb::Register _R_91("ParticleDataImpl<Vec3>", +static const Pb::Register _R_90("ParticleDataImpl<Vec3>", "add", ParticleDataImpl<Vec3>::_W_28); +static const Pb::Register _R_91("ParticleDataImpl<Vec3>", "sub", ParticleDataImpl<Vec3>::_W_29); +static const Pb::Register _R_92("ParticleDataImpl<Vec3>", "addConst", ParticleDataImpl<Vec3>::_W_30); -static const Pb::Register _R_92("ParticleDataImpl<Vec3>", +static const Pb::Register _R_93("ParticleDataImpl<Vec3>", "addScaled", ParticleDataImpl<Vec3>::_W_31); -static const Pb::Register _R_93("ParticleDataImpl<Vec3>", "mult", ParticleDataImpl<Vec3>::_W_32); -static const Pb::Register _R_94("ParticleDataImpl<Vec3>", +static const Pb::Register _R_94("ParticleDataImpl<Vec3>", "mult", ParticleDataImpl<Vec3>::_W_32); +static const Pb::Register _R_95("ParticleDataImpl<Vec3>", "multConst", ParticleDataImpl<Vec3>::_W_33); -static const Pb::Register _R_95("ParticleDataImpl<Vec3>", +static const Pb::Register _R_96("ParticleDataImpl<Vec3>", "safeDiv", ParticleDataImpl<Vec3>::_W_34); -static const Pb::Register _R_96("ParticleDataImpl<Vec3>", "clamp", ParticleDataImpl<Vec3>::_W_35); -static const Pb::Register _R_97("ParticleDataImpl<Vec3>", +static const Pb::Register _R_97("ParticleDataImpl<Vec3>", "clamp", ParticleDataImpl<Vec3>::_W_35); +static const Pb::Register _R_98("ParticleDataImpl<Vec3>", "clampMin", ParticleDataImpl<Vec3>::_W_36); -static const Pb::Register _R_98("ParticleDataImpl<Vec3>", +static const Pb::Register _R_99("ParticleDataImpl<Vec3>", "clampMax", ParticleDataImpl<Vec3>::_W_37); -static const Pb::Register _R_99("ParticleDataImpl<Vec3>", - "getMaxAbs", - ParticleDataImpl<Vec3>::_W_38); static const Pb::Register _R_100("ParticleDataImpl<Vec3>", + "getMaxAbs", + ParticleDataImpl<Vec3>::_W_38); +static const Pb::Register _R_101("ParticleDataImpl<Vec3>", "getMax", ParticleDataImpl<Vec3>::_W_39); -static const Pb::Register _R_101("ParticleDataImpl<Vec3>", +static const Pb::Register _R_102("ParticleDataImpl<Vec3>", "getMin", ParticleDataImpl<Vec3>::_W_40); -static const Pb::Register _R_102("ParticleDataImpl<Vec3>", "sum", ParticleDataImpl<Vec3>::_W_41); -static const Pb::Register _R_103("ParticleDataImpl<Vec3>", +static const Pb::Register _R_103("ParticleDataImpl<Vec3>", "sum", ParticleDataImpl<Vec3>::_W_41); +static const Pb::Register _R_104("ParticleDataImpl<Vec3>", "sumSquare", ParticleDataImpl<Vec3>::_W_42); -static const Pb::Register _R_104("ParticleDataImpl<Vec3>", +static const Pb::Register _R_105("ParticleDataImpl<Vec3>", "sumMagnitude", ParticleDataImpl<Vec3>::_W_43); -static const Pb::Register _R_105("ParticleDataImpl<Vec3>", +static const Pb::Register _R_106("ParticleDataImpl<Vec3>", "setConstIntFlag", ParticleDataImpl<Vec3>::_W_44); -static const Pb::Register _R_106("ParticleDataImpl<Vec3>", +static const Pb::Register _R_107("ParticleDataImpl<Vec3>", "printPdata", ParticleDataImpl<Vec3>::_W_45); -static const Pb::Register _R_107("ParticleDataImpl<Vec3>", "save", ParticleDataImpl<Vec3>::_W_46); -static const Pb::Register _R_108("ParticleDataImpl<Vec3>", "load", ParticleDataImpl<Vec3>::_W_47); -static const Pb::Register _R_109("ParticleDataImpl<Vec3>", +static const Pb::Register _R_108("ParticleDataImpl<Vec3>", "save", ParticleDataImpl<Vec3>::_W_46); +static const Pb::Register _R_109("ParticleDataImpl<Vec3>", "load", ParticleDataImpl<Vec3>::_W_47); +static const Pb::Register _R_110("ParticleDataImpl<Vec3>", "getDataPointer", ParticleDataImpl<Vec3>::_W_48); #endif #ifdef _C_ParticleIndexSystem -static const Pb::Register _R_110("ParticleIndexSystem", +static const Pb::Register _R_111("ParticleIndexSystem", "ParticleIndexSystem", "ParticleSystem<ParticleIndexData>"); template<> const char *Namify<ParticleIndexSystem>::S = "ParticleIndexSystem"; -static const Pb::Register _R_111("ParticleIndexSystem", +static const Pb::Register _R_112("ParticleIndexSystem", "ParticleIndexSystem", ParticleIndexSystem::_W_19); #endif #ifdef _C_ParticleSystem -static const Pb::Register _R_112("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_113("ParticleSystem<BasicParticleData>", "ParticleSystem<BasicParticleData>", "ParticleBase"); template<> const char *Namify<ParticleSystem<BasicParticleData>>::S = "ParticleSystem<BasicParticleData>"; -static const Pb::Register _R_113("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_114("ParticleSystem<BasicParticleData>", "ParticleSystem", ParticleSystem<BasicParticleData>::_W_2); -static const Pb::Register _R_114("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_115("ParticleSystem<BasicParticleData>", "pySize", ParticleSystem<BasicParticleData>::_W_3); -static const Pb::Register _R_115("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_116("ParticleSystem<BasicParticleData>", "setPos", ParticleSystem<BasicParticleData>::_W_4); -static const Pb::Register _R_116("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_117("ParticleSystem<BasicParticleData>", "getPos", ParticleSystem<BasicParticleData>::_W_5); -static const Pb::Register _R_117("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_118("ParticleSystem<BasicParticleData>", "getPosPdata", ParticleSystem<BasicParticleData>::_W_6); -static const Pb::Register _R_118("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_119("ParticleSystem<BasicParticleData>", "setPosPdata", ParticleSystem<BasicParticleData>::_W_7); -static const Pb::Register _R_119("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_120("ParticleSystem<BasicParticleData>", "clear", ParticleSystem<BasicParticleData>::_W_8); -static const Pb::Register _R_120("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_121("ParticleSystem<BasicParticleData>", "advectInGrid", ParticleSystem<BasicParticleData>::_W_9); -static const Pb::Register _R_121("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_122("ParticleSystem<BasicParticleData>", "projectOutside", ParticleSystem<BasicParticleData>::_W_10); -static const Pb::Register _R_122("ParticleSystem<BasicParticleData>", +static const Pb::Register _R_123("ParticleSystem<BasicParticleData>", "projectOutOfBnd", ParticleSystem<BasicParticleData>::_W_11); -static const Pb::Register _R_123("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_124("ParticleSystem<ParticleIndexData>", "ParticleSystem<ParticleIndexData>", "ParticleBase"); template<> const char *Namify<ParticleSystem<ParticleIndexData>>::S = "ParticleSystem<ParticleIndexData>"; -static const Pb::Register _R_124("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_125("ParticleSystem<ParticleIndexData>", "ParticleSystem", ParticleSystem<ParticleIndexData>::_W_2); -static const Pb::Register _R_125("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_126("ParticleSystem<ParticleIndexData>", "pySize", ParticleSystem<ParticleIndexData>::_W_3); -static const Pb::Register _R_126("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_127("ParticleSystem<ParticleIndexData>", "setPos", ParticleSystem<ParticleIndexData>::_W_4); -static const Pb::Register _R_127("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_128("ParticleSystem<ParticleIndexData>", "getPos", ParticleSystem<ParticleIndexData>::_W_5); -static const Pb::Register _R_128("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_129("ParticleSystem<ParticleIndexData>", "getPosPdata", ParticleSystem<ParticleIndexData>::_W_6); -static const Pb::Register _R_129("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_130("ParticleSystem<ParticleIndexData>", "setPosPdata", ParticleSystem<ParticleIndexData>::_W_7); -static const Pb::Register _R_130("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_131("ParticleSystem<ParticleIndexData>", "clear", ParticleSystem<ParticleIndexData>::_W_8); -static const Pb::Register _R_131("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_132("ParticleSystem<ParticleIndexData>", "advectInGrid", ParticleSystem<ParticleIndexData>::_W_9); -static const Pb::Register _R_132("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_133("ParticleSystem<ParticleIndexData>", "projectOutside", ParticleSystem<ParticleIndexData>::_W_10); -static const Pb::Register _R_133("ParticleSystem<ParticleIndexData>", +static const Pb::Register _R_134("ParticleSystem<ParticleIndexData>", "projectOutOfBnd", ParticleSystem<ParticleIndexData>::_W_11); #endif @@ -432,6 +436,7 @@ void PbRegister_file_10() KEEP_UNUSED(_R_131); KEEP_UNUSED(_R_132); KEEP_UNUSED(_R_133); + KEEP_UNUSED(_R_134); } } } // namespace Manta
\ No newline at end of file |