Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/effects/billboard.h

Last change on this file was 10698, checked in by snellen, 17 years ago

merged adm, hud, vs-enhancements : beni's responsible for this commit. blame him!

File size: 1.3 KB
RevLine 
[7111]1/*!
[8255]2 * @file billboard.h
[7113]3 */
[7111]4
[8255]5#ifndef _BILLBOARD_H
6#define _BILLBOARD_H
[7111]7
8#include "world_entity.h"
9
10class Material;
[8255]11class TiXmlElement;
[10433]12class Color;
[7111]13
[8255]14class Billboard : public WorldEntity
[7111]15{
[9869]16  ObjectListDeclaration(Billboard);
[7111]17  public:
[8255]18    Billboard(const TiXmlElement* root = NULL);
19    virtual ~Billboard();
[7111]20
[8255]21    void init();
22    void loadParams(const TiXmlElement* root);
[7111]23
[8255]24    void setSize(float sizeX, float sizeY);
25    void setTexture(const std::string& textureFile);
[10433]26    void colorTexture(const Color col);
[8255]27
[10698]28    //!< Pulsing Capability, changes size of the grid
29    inline void togglePluse () {this->bPulse = !bPulse; };
30    inline void setPulse () { this->bPulse = true; };
31    inline void setPulse ( bool state ) {this->bPulse = state; };
32    inline float getPulse () { return this->bPulse; };
33
34    inline void setPulseMagnitude(float mag) {this->pulseMagnitude = mag; };
35
[8255]36    virtual void tick(float dt);
[7111]37    virtual void draw() const;
38
[10698]39    inline void setUpdateFunction(float (*updateFct)(float value)) { if( updateFct)  this->updatePulse = updateFct;};
40
[7111]41  private:
[10698]42
43    float (*updatePulse)(float value);
44
[8255]45    Material*        material;
[10433]46    Color*           texColor;
[8255]47    float sizeX;
48    float sizeY;
[10698]49
50    bool bPulse;
51    float pulseMagnitude;
52    float curMagnitude;
53    float angle;
54    float angularSpeed;
[7111]55};
56
[8255]57#endif /* _BILLBOARD_H */
Note: See TracBrowser for help on using the repository browser.