Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/avi_play/src/world_entities/terrain.h @ 6653

Last change on this file since 6653 was 6512, checked in by bensch, 19 years ago

orxonox/trunk: loadParams is now virtual.
ALL THE CLASSES HAVE TO CALL

SuperClass::loadParams(root);

isntead of:
static_cast<SuperClass*>(this)→loadParams(root);

which was quite stupid anyways

File size: 1.2 KB
Line 
1/*!
2 * @file terrain.h
3  *  Defines and handles the terrain of the World
4
5    @todo implement it
6
7    The terrain should either be build from a Model a OBJModel or from a HeightMap.
8*/
9
10#ifndef _TERRAIN_H
11#define _TERRAIN_H
12
13#include "world_entity.h"
14
15// FORWARD DECLARATION
16class SpatialSeparation;
17
18//! A simple method to call a desired debug world.
19enum DebugTerrain {TERRAIN_DAVE, TERRAIN_BENSCH};
20
21
22//! A Class to handle Terrain of orxonox
23class Terrain : public WorldEntity
24{
25
26 public:
27  Terrain(const TiXmlElement* root = NULL);
28  Terrain(const char* fileName);
29  Terrain(DebugTerrain debugTerrain);
30  virtual ~Terrain();
31
32  virtual int       writeBytes(const byte* data, int length, int sender);
33  virtual int       readBytes(byte* data, int maxLength, int * reciever);
34  virtual void      writeDebug() const;
35  virtual void      readDebug() const;
36
37  void init();
38  virtual void loadParams(const TiXmlElement* root);
39
40  void loadVegetation(const char* vegetationFile);
41
42  void buildDebugTerrain(DebugTerrain debugTerrain);
43  virtual void draw() const;
44
45  public:
46    SpatialSeparation* ssp;
47
48 private:
49   Model*              vegetation;
50   int                 objectList;
51
52};
53
54#endif /* _TERRAIN_H */
Note: See TracBrowser for help on using the repository browser.