Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/adm/src/world_entities/effects/blink.h @ 10659

Last change on this file since 10659 was 10491, checked in by patrick, 18 years ago

merged blinki branche back to trunk

File size: 1.9 KB
Line 
1/*!
2 * @file blink.h
3 */
4 /*! example input in .oxw file with the standard values
5
6<Blink>
7  <name>Blink1</name>
8  <position>580, 70, -130</position>
9  <color>0, 255, 255</color>
10  <size>8</size>
11  <period>9</period>
12  <sequence>0123456789</sequence><!-- the number describe the strength of the blink light -->
13</Blink>
14
15*/
16
17#ifndef _BLINK_H
18#define _BLINK_H
19
20#include "world_entity.h"
21#include "effects/billboard.h"
22#include "color.h"
23
24class Material;
25class TiXmlElement;
26//class Billboard;
27
28class Blink : public WorldEntity
29{
30  ObjectListDeclaration(Blink);
31  public:
32    Blink(const TiXmlElement* root = NULL);
33    virtual ~Blink();
34
35    void init();
36    void loadParams(const TiXmlElement* root);
37
38    //void setAbsCoor(const Vector& absCoor) { this->bBoard->setAbsCoor(absCoor); }
39    //void setAbsCoor(float x, float y, float z) { this->bBoard->setAbsCoor(x, y, z); }
40    //void setPosition(float x, float y, float z) { this->bBoard->setAbsCoor(x, y, z); }
41    void setSize(float s) { this->size = s; this->bBoard->setSize(this->size, this->size); }
42    void setPeriod(float t) { this->period = t; }
43    void setColor(float r, float g, float b) { this->color = Color(r/255, g/255, b/255); }
44    void loadBlinkSequence(const std::string& seq) { this->blinkSequence = seq; }
45
46    virtual void tick(float dt);
47    virtual void draw() const;
48
49  private:
50    Billboard*        bBoard;
51    Color             color;
52    std::string       blinkSequence;    //! 1 means fully viewable, 0 means fully transparent
53    float             angle;
54    float             period;           //! period in seconds
55    float             blinkStr;
56    float             size;             //! only one float caus' its quadratical
57    int               seqCounter;
58    float             symbolTime;       //! defines how long one symbol of the sequence will be shown in sec
59    float             timer;
60    bool              setCoor;          // this is a really ugly hack
61};
62
63#endif /* _BLINK_H */
Note: See TracBrowser for help on using the repository browser.