Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/effects/blink.h @ 10769

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

merged blinki branche back to trunk

File size: 1.9 KB
RevLine 
[10175]1/*!
2 * @file blink.h
3 */
[10445]4 /*! example input in .oxw file with the standard values
[10175]5
[10445]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
[10175]17#ifndef _BLINK_H
18#define _BLINK_H
19
20#include "world_entity.h"
[10407]21#include "effects/billboard.h"
[10425]22#include "color.h"
[10175]23
24class Material;
25class TiXmlElement;
[10407]26//class Billboard;
[10175]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
[10491]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); }
[10407]41    void setSize(float s) { this->size = s; this->bBoard->setSize(this->size, this->size); }
[10445]42    void setPeriod(float t) { this->period = t; }
[10425]43    void setColor(float r, float g, float b) { this->color = Color(r/255, g/255, b/255); }
[10445]44    void loadBlinkSequence(const std::string& seq) { this->blinkSequence = seq; }
[10175]45
46    virtual void tick(float dt);
47    virtual void draw() const;
48
49  private:
[10407]50    Billboard*        bBoard;
[10425]51    Color             color;
[10445]52    std::string       blinkSequence;    //! 1 means fully viewable, 0 means fully transparent
[10325]53    float             angle;
[10445]54    float             period;           //! period in seconds
[10325]55    float             blinkStr;
[10253]56    float             size;             //! only one float caus' its quadratical
[10445]57    int               seqCounter;
58    float             symbolTime;       //! defines how long one symbol of the sequence will be shown in sec
59    float             timer;
[10491]60    bool              setCoor;          // this is a really ugly hack
[10175]61};
62
63#endif /* _BLINK_H */
Note: See TracBrowser for help on using the repository browser.