Class EmitterSystem

Class Documentation

class EmitterSystem

Public Functions

EmitterSystem(FluidModel *model)
virtual ~EmitterSystem()
void enableReuseParticles(const Vector3r &boxMin = Vector3r(-1, -1, -1), const Vector3r &boxMax = Vector3r(1, 1, 1))
void disableReuseParticles()
void addEmitter(const unsigned int width, const unsigned int height, const Vector3r &pos, const Matrix3r &rotation, const Real velocity, const unsigned int type)
inline unsigned int numEmitters() const
inline std::vector<Emitter*> &getEmitters()
inline unsigned int numReusedParticles() const
inline unsigned int numEmittedParticles() const
void step()
void reset()
void saveState(BinaryFileWriter &binWriter)
void loadState(BinaryFileReader &binReader)

Protected Functions

void reuseParticles()

Protected Attributes

FluidModel *m_model
bool m_reuseParticles
Vector3r m_boxMin
Vector3r m_boxMax
unsigned int m_numberOfEmittedParticles
unsigned int m_numReusedParticles
std::vector<unsigned int> m_reusedParticles
std::vector<Emitter*> m_emitters

Protected Static Attributes

static const unsigned int m_maxParticlesToReusePerStep = 50000