Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h @ 4001

Last change on this file since 4001 was 3944, checked in by bensch, 19 years ago

orxonox/branches/particleEngine: debug function-headers written

File size: 1.2 KB
RevLine 
[3655]1/*!
[3923]2    \file particle_engine.h
3    \brief Definition of the ParticleEngine
[3655]4*/
5
[3923]6#ifndef _PARTICLE_ENGINE_H
7#define _PARTICLE_ENGINE_H
[3655]8
9#include "base_object.h"
10
[3923]11// FORWARD DEFINITION
[3925]12template<class T> class tList;
13class ParticleSystem;
[3931]14class ParticleEmitter;
[3655]15
[3931]16struct ParticleConnection
17{
18  ParticleEmitter* emitter;    //!< The emitter to emit system from.
19  ParticleSystem* system;      //!< The Particles emitted from emitter.
20};
[3925]21
[3655]22//! A default singleton class.
[3923]23class ParticleEngine : public BaseObject {
[3655]24
25 public:
[3923]26  static ParticleEngine* getInstance(void);
27  virtual ~ParticleEngine(void);
[3655]28
[3925]29  void tick(float dt);
[3932]30  void draw(void);
[3925]31
[3931]32  void addSystem(ParticleSystem* system);
33  void addEmitter(ParticleEmitter* emitter);
[3932]34  void addConnection(ParticleEmitter* emitter, ParticleSystem* system);
[3931]35
36  bool removeSystem(ParticleSystem* system);
37  bool removeEmitter(ParticleEmitter* emitter);
[3943]38  bool breakConnection(ParticleEmitter* emitter, ParticleSystem* system);
39  bool breakConnection(ParticleConnection* connection);
[3931]40
[3944]41  void debug();
42
[3655]43 private:
[3923]44  ParticleEngine(void);
45  static ParticleEngine* singletonRef;
[3925]46
[3931]47  tList<ParticleSystem>* systemList;
48  tList<ParticleEmitter>* emitterList;
49
50  tList<ParticleConnection>* connectionList;
[3655]51};
52
[3923]53#endif /* _PARTICLE_ENGINE_H */
Note: See TracBrowser for help on using the repository browser.