summaryrefslogtreecommitdiffstats
path: root/Temparray.h
diff options
context:
space:
mode:
authorConstantin Riß <constantin.riss@dre.de>2010-01-13 21:07:04 +0100
committerConstantin Riß <constantin.riss@dre.de>2010-01-13 21:07:04 +0100
commitd493571a6cd6a3adfce5a572ab451dd7c95197ac (patch)
treec8440c782dfc4faec99f737c9619336480e756be /Temparray.h
parent1bcde14162e469919c16042f50b5d48f5fd9896e (diff)
downloadc3d-d493571a6cd6a3adfce5a572ab451dd7c95197ac.tar
c3d-d493571a6cd6a3adfce5a572ab451dd7c95197ac.zip
Das Programm läuft jetzt und die Cubeholes wurden verbessert.
Diffstat (limited to 'Temparray.h')
-rw-r--r--Temparray.h32
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;
}
}