explosion.h

Go to the documentation of this file.
00001 
00014 #ifndef _EXPLOSION_H_
00015 #define _EXPLOSION_H_
00016 
00017 #include "bubble.h"
00018 #include "graphical_node.h"
00019 #include "time_updateable.h"
00020 #include "templates/callable_back.h"
00021 
00029 class Explosion: public TimeUpdateable, public GraphicalNode
00030 {
00031         private:
00032 
00034                 SoTranslation *_position;
00035 
00036         private:
00037 
00038                 // Disable copy constructor and assignment operator
00039                 Explosion(const Explosion &);
00040                 Explosion & operator=(const Explosion &);
00041 
00042         protected:
00043 
00046                 Templates::CallableBack<Explosion> *_explodeDone;
00047 
00049                 const SbColor _color;
00050 
00052                 bool _isActive;
00053 
00054         public:
00055 
00061                 Explosion(SbColor color);
00062 
00066                 virtual ~Explosion();
00067 
00073                 virtual Explosion *clone() const =0;
00074 
00083                 void explode(Templates::CallableBack<Explosion> *explodeDone);
00084 
00093                 void setPosition(SbVec3f position)
00094                 {
00095                         _position->translation.setValue(position);
00096                 }
00097 };
00098 
00099 #endif

Generated on Sat Dec 20 19:21:24 2008 for PGR2008 by  doxygen 1.5.6