aboutsummaryrefslogtreecommitdiff
path: root/samples/OpenGL/qt_terr/terrain.h
diff options
context:
space:
mode:
authorWolfgang Draxinger <Wolfgang.Draxinger@draxit.de>2013-07-26 11:14:54 +0200
committerWolfgang Draxinger <Wolfgang.Draxinger@draxit.de>2013-07-26 11:14:54 +0200
commit4842cb28522a89c0a6d800139b934001484fadbe (patch)
tree62086ddb090bb031e2677f13dfeec1a1a6b0033d /samples/OpenGL/qt_terr/terrain.h
parent12c48a05b2f5c51c61ff744f419bdd85a552612c (diff)
downloadcodesamples-4842cb28522a89c0a6d800139b934001484fadbe.tar.gz
codesamples-4842cb28522a89c0a6d800139b934001484fadbe.tar.bz2
...
Diffstat (limited to 'samples/OpenGL/qt_terr/terrain.h')
-rw-r--r--samples/OpenGL/qt_terr/terrain.h13
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);