aboutsummaryrefslogtreecommitdiff
path: root/samples/OpenGL/qt_terr/terrain.cpp
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.cpp
parent12c48a05b2f5c51c61ff744f419bdd85a552612c (diff)
downloadcodesamples-4842cb28522a89c0a6d800139b934001484fadbe.tar.gz
codesamples-4842cb28522a89c0a6d800139b934001484fadbe.tar.bz2
...
Diffstat (limited to 'samples/OpenGL/qt_terr/terrain.cpp')
-rw-r--r--samples/OpenGL/qt_terr/terrain.cpp29
1 files changed, 11 insertions, 18 deletions
diff --git a/samples/OpenGL/qt_terr/terrain.cpp b/samples/OpenGL/qt_terr/terrain.cpp
index d08d345..e18efe4 100644
--- a/samples/OpenGL/qt_terr/terrain.cpp
+++ b/samples/OpenGL/qt_terr/terrain.cpp
@@ -1,10 +1,5 @@
#include "terrain.h"
-Terrain::Terrain()
-{
- z_mean=0.0;
-}
-
void Terrain::split()
{
if(is_split())
@@ -15,29 +10,27 @@ void Terrain::split()
quads[1][0] = new Terrain(V);
quads[1][1] = new Terrain(V);
- quads[0][0]->set_range(x1, x_mid, y1, y_mid);
- quads[0][1]->set_range(x_mid, x2, y1, y_mid);
- quads[1][0]->set_range(x1, x_mid, y_mid, y2);
- quads[1][1]->set_range(x_mid, x2, y_mid, y2);
+ quads[0][0]->set_range(*x1(), *x_mid(), *y1(), *y_mid());
+ quads[0][1]->set_range(*x_mid(), *x2(), *y1(), *y_mid());
+ quads[1][0]->set_range(*x1(), *x_mid(), *y_mid(), *y2());
+ quads[1][1]->set_range(*x_mid(), *x2(), *y_mid(), *y2());
}
void Terrain::track_down(double x, double y, double nz, int levels)
{
- if(levels>0)
- {
- int a=(x<x_mid)?0:1;
- int b=(y<y_mid)?0:1;
+ if( levels > 0 ) {
+ int a = ( x < *x_mid() ) ? 0 : 1;
+ int b = ( y < *y_mid() ) ? 0 : 1;
- if(!is_split())
+ if( !is_split() )
split();
- quads[b][a]->track_down(x, y, nz, levels-1);
+ dynamic_cast<Terrain*>(quads[b][a])->track_down(x, y, nz, levels-1);
}
- else
- {
+ else {
z[0][0]=
z[0][1]=
z[1][1]=
- z[1][0]=z_mean=nz;
+ z[1][0] = z_mean_ = nz;
}
}