diff options
author | Constantin Riß <constantin.riss@dre.de> | 2010-01-13 21:07:04 +0100 |
---|---|---|
committer | Constantin Riß <constantin.riss@dre.de> | 2010-01-13 21:07:04 +0100 |
commit | d493571a6cd6a3adfce5a572ab451dd7c95197ac (patch) | |
tree | c8440c782dfc4faec99f737c9619336480e756be /Temparray.h | |
parent | 1bcde14162e469919c16042f50b5d48f5fd9896e (diff) | |
download | c3d-d493571a6cd6a3adfce5a572ab451dd7c95197ac.tar c3d-d493571a6cd6a3adfce5a572ab451dd7c95197ac.zip |
Das Programm läuft jetzt und die Cubeholes wurden verbessert.
Diffstat (limited to 'Temparray.h')
-rw-r--r-- | Temparray.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/Temparray.h b/Temparray.h index e15ea22..1274cfb 100644 --- a/Temparray.h +++ b/Temparray.h @@ -10,12 +10,11 @@ class Temparray public: Temparray(float initialtemp, int x0, int y0, int z0); ~Temparray(){ - delete[] temperature; - delete[] cubearray; - } + } void setTemp(float temp, int x, int y, int z, int line, int pos){ - temperature[x*size[1]*size[2]*6*4 + y*size[2]*6*4 + z*6*4 + line*4 + pos] = temp; + temperature(x, y, z, line, pos) = temp; + calcAverage(); } void deactivateCube(int x, int y, int z){ @@ -26,16 +25,23 @@ class Temparray } } std::list<Triangle> getTriangles(); - void calcTemp(); private: - float *temperature; + float *temparray; Cubehole *cubearray; - int size[3]; + int sx, sy, sz; float averagetemp; - void setColor(int x, int y, int z, int line){ + float& temperature(int x, int y, int z, int line, int pos) { + return temparray[x*sy*sz*6*4 + y*sz*6*4 + z*6*4 + line*4 + pos]; } + + Cubehole& cubehole(int x, int y, int z, int line) { + return cubearray[x*sy*sz*6 + y*sz*6 + z*6 + line]; + } + +// void setColor(int x, int y, int z, int line){ +// } void tempInit(float temp0, int x0, int y0, int z0){ for(int i=0; i<x0; i++){ for(int j=0; j<y0; j++){ @@ -52,13 +58,13 @@ class Temparray void calcAverage(){ float tempcache = 0; int times = 0; - for(int i=0; i<size[0]; i++){ - for(int j=0; j<size[1]; j++){ - for(int k=0; k<size[2]; k++){ + for(int i=0; i<sx; i++){ + for(int j=0; j<sy; j++){ + for(int k=0; k<sz; k++){ for(int l=0; l<6; l++){ for(int m=0; m<4; m++){ - if(temperature[i*size[1]*size[2]*6*4 + j*size[2]*6*4 + k*6*4 + l*4 + m] != -100){ - tempcache += temperature[i*size[1]*size[2]*6*4 + j*size[2]*6*4 + k*6*4 + l*4 + m]; + if(temperature(i, j, k, l, m) != -100){ + tempcache += temperature(i, j, k, l, m); ++times; } } |