|
mantaflow
0.10
A framework for fluid simulation
|
#include <particle.h>
Public Types | |
| enum | SystemType { BASE =0, PARTICLE, VORTEX, FILAMENT, FLIP, TURBULENCE, INDEX } |
| enum | ParticleStatus { PNONE = 0, PNEW = (1<<1), PDELETE = (1<<10), PINVALID = (1<<30) } |
Public Member Functions | |
| PYTHON () ParticleBase(FluidSolver *parent) | |
| virtual void | cloneParticleData (ParticleBase *nm) |
| copy all the particle data thats registered with the other particle system to this one | |
| virtual SystemType | getType () const |
| virtual std::string | infoString () const |
| virtual ParticleBase * | clone () |
| virtual IndexInt | getSizeSlow () const |
| slow virtual function to query size, do not use in kernels! use size() instead | |
| void | addBuffered (const Vec3 &pos) |
| add a position as potential candidate for new particle (todo, make usable from parallel threads) | |
| PYTHON () PbClass *create(PbType type | |
| particle data functions More... | |
| void | registerPdata (ParticleDataBase *pdata) |
| add a particle data field, set its parent particle-system pointer | |
| void | registerPdataReal (ParticleDataImpl< Real > *pdata) |
| void | registerPdataVec3 (ParticleDataImpl< Vec3 > *pdata) |
| void | registerPdataInt (ParticleDataImpl< int > *pdata) |
| void | deregister (ParticleDataBase *pdata) |
| remove a particle data entry | |
| void | addAllPdata () |
| add one zero entry to all data fields | |
| IndexInt | getNumPdata () const |
| how many are there? | |
| ParticleDataBase * | getPdata (int i) |
| access one of the fields | |
Public Attributes | |
| PbTypeVec | T =PbTypeVec() |
| PbTypeVec const std::string & | name = "") |
Protected Attributes | |
| std::vector< Vec3 > | mNewBuffer |
| new particle candidates | |
| bool | mAllowCompress |
| allow automatic compression / resize? disallowed for, eg, flip particle systems | |
| std::vector< ParticleDataBase * > | mPartData |
| store particle data , each pointer has its own storage vector of a certain type (int, real, vec3) | |
| std::vector< ParticleDataImpl< Real > * > | mPdataReal |
| lists of different types, for fast operations w/o virtual function calls (all calls necessary per particle) | |
| std::vector< ParticleDataImpl< Vec3 > * > | mPdataVec3 |
| std::vector< ParticleDataImpl< int > * > | mPdataInt |
| bool | mFreePdata |
| indicate that pdata of this particle system is copied, and needs to be freed | |
Baseclass for particle systems. Does not implement any data
| Manta::ParticleBase::PYTHON | ( | ) |
particle data functions
create a particle data object
1.8.13