diff options
author | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2013-07-26 11:14:54 +0200 |
---|---|---|
committer | Wolfgang Draxinger <Wolfgang.Draxinger@draxit.de> | 2013-07-26 11:14:54 +0200 |
commit | 4842cb28522a89c0a6d800139b934001484fadbe (patch) | |
tree | 62086ddb090bb031e2677f13dfeec1a1a6b0033d /samples/OpenGL/qt_terr/terrain.h | |
parent | 12c48a05b2f5c51c61ff744f419bdd85a552612c (diff) | |
download | codesamples-4842cb28522a89c0a6d800139b934001484fadbe.tar.gz codesamples-4842cb28522a89c0a6d800139b934001484fadbe.tar.bz2 |
...
Diffstat (limited to 'samples/OpenGL/qt_terr/terrain.h')
-rw-r--r-- | samples/OpenGL/qt_terr/terrain.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/samples/OpenGL/qt_terr/terrain.h b/samples/OpenGL/qt_terr/terrain.h index 0197380..3382a4c 100644 --- a/samples/OpenGL/qt_terr/terrain.h +++ b/samples/OpenGL/qt_terr/terrain.h @@ -4,17 +4,24 @@ #include "quad.h"
#include <vector>
+#include <math.h>
class Terrain : public Quad
{
public:
- double * const z_mean() {
-
+ double z_mean_;
+ double z_mean() {
+ if( isnan(z_mean_) ) {
+ return z_mean_ =
+ ( z[0][0] + z[0][1] +
+ z[1][0] + z[1][1] ) / 4.;
+ }
+ return z_mean_;
};
double z[2][2];
public:
- Terrain();
+ Terrain(std::vector<double>* V_) : Quad(V_) { z_mean_ = NAN; }
virtual void split();
virtual void track_down(double x, double y, double nz, int levels);
|