# ParticleSystemManager¶

class ParticleSystemManager

Manages a set of individual ParticleSystem objects, so that each individual one doesn’t have to be updated and rendered every frame See Also : particleSystemManager.cxx

Inheritance diagram

explicit ParticleSystemManager(int every_nth_frame = 1)
ParticleSystemManager(ParticleSystemManager const&) = default

default constructor

void attach_particlesystem(ParticleSystem *ps)
void clear(void)
void do_particles(PN_stdfloat dt)
void do_particles(PN_stdfloat dt, ParticleSystem *ps, bool do_render = true)

does an update and render for each ps in the list. this is probably the one you want to use. Rendering is the expensive operation, and particles REALLY should at least be updated every frame, so nth_frame stepping applies only to rendering.

does an update and an optional render for a specific ps. Since rendering is the expensive operation, multiple updates could be applied before calling the final render.

int get_frame_stepping(void) const
virtual void output(std::ostream &out) const

Write a string representation of this instance to <out>.

void remove_particlesystem(ParticleSystem *ps)

removes a ps from the maintenance list

void set_frame_stepping(int every_nth_frame)
virtual void write(std::ostream &out, int indent = 0) const

Write a string representation of this instance to <out>.

virtual void write_ps_list(std::ostream &out, int indent = 0) const

Write a string representation of this instance to <out>.