Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/environments/water.h @ 6726

Last change on this file since 6726 was 6695, checked in by patrick, 19 years ago

merged the network branche to the trunk

File size: 1.5 KB
Line 
1/*!
2 * @file water.h
3 *  Definition of the SkyBox, that handles the Display of an atmosphere for orxonox.
4 *
5 * A SkyBox is always centered at the current working Camera, and will only obey the cameras
6 * movment but not its rotation.
7*/
8
9#ifndef _WATER_H
10#define _WATER_H
11
12/* INCLUDES */
13#include "world_entity.h"
14
15/* FORWARD DECLARATION */
16class Material;
17class Grid;
18class Shader;
19
20//! A Class to handle a WaterEffects
21class Water : public WorldEntity
22{
23 public:
24   Water(const TiXmlElement* root = NULL);
25   ~Water();
26
27   void loadParams(const TiXmlElement* root);
28
29   void setResolution(unsigned int resX, unsigned int resY);
30   void setSize(float sizeX, float sizeY);
31   void setHeight(float height);
32   void rebuildGrid();
33
34   void draw() const;
35   void tick(float dt);
36
37   virtual int writeBytes(const byte* data, int length, int sender);
38   virtual int readBytes(byte* data, int maxLength, int * reciever);
39
40   int writeState( const byte * data, int length, int sender );
41   int readState( byte * data, int maxLength );
42
43
44  private:
45    Grid*           grid;            //!< The water-surface-model to render with
46    float**         velocities;      //!< Velocities.
47    float           viscosity;       //!< Viscosity (bigger more like honey, smaller more like water).
48    float           cohesion;        //!< Cohesion.
49
50    Material*       waterMaterial;
51    Shader*         waterShader;
52    float           height;          //!< The hight of the Water
53
54    unsigned int    resX, resY;
55    float           sizeX, sizeY;
56
57    float phase;
58};
59
60#endif  /* _WATER_H */
61
62
63
Note: See TracBrowser for help on using the repository browser.