Draw the sun, debug the colour and variable size
[clouds.git] / simulation.h
index c6c9e03b02cae0ae2938124685750bf7e8a793da..ef53425e5a8b99db86def28805b6ce886d9b3a93 100644 (file)
@@ -1,14 +1,21 @@
-#define CLOUD_DIM 16
+#define CLOUD_DIM_X 64
+#define CLOUD_DIM_Y 16
+#define CLOUD_DIM_Z 64
+/* #define CLOUD_DIM_X 16 */
+/* #define CLOUD_DIM_Y 16 */
+/* #define CLOUD_DIM_Z 16 */
 struct Clouds {
   // TODO: make more efficient
-  bool hum[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  bool cld[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  bool act[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  float p_ext[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  float p_hum[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
-  float p_act[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
+  bool hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  bool cld[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  bool act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  float p_ext[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  float p_hum[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  float p_act[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
+  /** Wind velocity */
+  float vz[CLOUD_DIM_Z];
   /** continuous distribution */
-  float q[CLOUD_DIM][CLOUD_DIM][CLOUD_DIM];
+  float q[CLOUD_DIM_X][CLOUD_DIM_Y][CLOUD_DIM_Z];
 };
 
 void initClouds(Clouds *cs);