Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/planet.h @ 10393

Last change on this file since 10393 was 10392, checked in by patrick, 17 years ago

better cloud options, clouds are optional now

File size: 1.5 KB
Line 
1/*!
2 * @file planet.h
3 *  Definition of the Planet, that handles the Display of an atmosphere for orxonox.
4 */
5
6#ifndef _PLANET_H
7#define _PLANET_H
8
9/* INCLUDES */
10#include "world_entity.h"
11#include "material.h"
12/* FORWARD DECLARATION */
13class Texture;
14
15//! A Class to handle a Planet
16class Planet : public WorldEntity
17{
18  ObjectListDeclaration(Planet);
19
20 public:
21  Planet(const TiXmlElement* root);
22
23  virtual ~Planet();
24
25  virtual void loadParams(const TiXmlElement* root);
26
27  void setSize(float size);
28  /** assumes jpg as input-format */
29  void setTexture(const std::string& textureName);
30  void setCloudTexture(const std::string& textureName);
31  void setCloudRotation(float rotationSpeed);
32
33
34
35  virtual void tick( float dt);
36  virtual void draw() const;
37
38
39
40 private:
41  Material        materialPlanet;  //!< Materials for the Planet. sorted by number (0-5) top, bottom, left, right, front, back
42  Material        materialCloud;   //!< the material for the cloud surrounding the planet
43
44  Model*          cloudModel;      //!< the model for the cloud
45
46  bool            bClouds;         //!< true if there are clouds defined
47  float           rotSpeedCloud;   //! cloud rotation speed
48  float           rotSpeedPlanet;  //! planet rotation speed
49  float           size;            //!< Size of the Planet. This should match the frustum maximum range.
50  float           textureSize;     //!< this is the length of a texture (assumes a square texture)
51  char*           textureName;     //!< Name of the Texture
52
53};
54
55#endif  /* _PLANET_H */
56
57
58
Note: See TracBrowser for help on using the repository browser.