Orxonox  0.0.5 Codename: Arcturus
Backlight.h
Go to the documentation of this file.
1 /*
2  * ORXONOX - the hottest 3D action shooter ever to exist
3  * > www.orxonox.net <
4  *
5  *
6  * License notice:
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  *
22  * Author:
23  * Fabian 'x3n' Landau
24  * Co-authors:
25  * ...
26  *
27  */
28 
29 #ifndef _Backlight_H__
30 #define _Backlight_H__
31 
32 #include "OrxonoxPrereqs.h"
33 
34 #include <string>
36 #include "FadingBillboard.h"
37 
38 namespace orxonox
39 {
41  {
42  public:
43  Backlight(Context* context);
44  virtual ~Backlight();
45 
46  virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
47 
48  virtual void tick(float dt) override;
49  virtual void changedVisibility() override;
50 
51  inline void setWidth(float width)
52  { this->width_ = width; this->update_width(); }
53  inline float getWidth() const
54  { return this->width_; }
55 
56  inline void setLifetime(float lifetime)
57  { this->lifetime_ = lifetime; this->update_lifetime(); }
58  inline float getLifetime() const
59  { return this->lifetime_; }
60 
61  inline void setLength(float length)
62  { this->length_ = length; this->update_length(); }
63  inline float getLength() const
64  { return this->length_; }
65 
66  inline void setMaxElements(size_t maxelements)
67  { this->maxelements_ = maxelements; this->update_maxelements(); }
68  inline size_t getMaxElements() const
69  { return this->maxelements_; }
70 
71  inline void setTrailMaterial(const std::string& material)
72  { this->trailmaterial_ = material; this->update_trailmaterial(); }
73  inline const std::string& getTrailMaterial() const
74  { return this->trailmaterial_; }
75 
76  virtual void changedScale() override;
77 
78  protected:
79  virtual void changedTimeFactor(float factor_new, float factor_old) override;
80 
81  private:
82  void registerVariables();
83  virtual void startturnonoff() override;
84  virtual void stopturnonoff() override;
85  virtual void poststopturnonoff() override;
86  virtual void changedColour() override;
87  void update_width();
88  void update_lifetime();
89  void update_length();
90  void update_maxelements();
91  void update_trailmaterial();
92 
93  Ogre::RibbonTrail* ribbonTrail_;
94  Ogre::SceneNode* ribbonTrailNode_;
95  float width_;
96  float length_;
97  float lifetime_;
98  size_t maxelements_;
101  };
102 }
103 
104 #endif /* _Backlight_H__ */
Definition: FadingBillboard.h:41
float getLifetime() const
Definition: Backlight.h:58
Ogre::SceneNode * ribbonTrailNode_
Definition: Backlight.h:94
::std::string string
Definition: gtest-port.h:756
void setMaxElements(size_t maxelements)
Definition: Backlight.h:66
std::string trailmaterial_
Definition: Backlight.h:99
void setLength(float length)
Definition: Backlight.h:61
xmlelement
Definition: Super.h:519
size_t getMaxElements() const
Definition: Backlight.h:68
const std::string & getTrailMaterial() const
Definition: Backlight.h:73
void setTrailMaterial(const std::string &material)
Definition: Backlight.h:71
size_t maxelements_
Definition: Backlight.h:98
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
float getLength() const
Definition: Backlight.h:63
Mode
Definition: CorePrereqs.h:102
Shared library macros, enums, constants and forward declarations for the orxonox library ...
void setWidth(float width)
Definition: Backlight.h:51
float getWidth() const
Definition: Backlight.h:53
Definition: Context.h:45
char tickcount_
Definition: Backlight.h:100
#define _OrxonoxExport
Definition: OrxonoxPrereqs.h:60
Definition: Backlight.h:40
float width_
Definition: Backlight.h:95
Ogre::RibbonTrail * ribbonTrail_
Definition: Backlight.h:93
void setLifetime(float lifetime)
Definition: Backlight.h:56
Definition: TimeFactorListener.h:37
float lifetime_
Definition: Backlight.h:97
float length_
Definition: Backlight.h:96