#ifdef G_OS_WIN32 #define WIN32_LEAN_AND_MEAN 1 #include #endif #include #include "fluids.h" #include "funcs.h" #include "palette.h" #include "heightplots.h" static int heightplots_render = FALSE; static int heightplots_num_colors = PALETTE_MAXCOLORS; static int heightplots_colormap = PALETTE_BLACKWHITE; static float heightplots_alpha = 1.0f; static int heightplots_dataset = DATASET_RHO; static int heightplots_rho = 32; static int heightplots_vel = 2000; static int heightplots_force = 100; static int heightplots_divv = 100; static int heightplots_divf = 100; static fftw_real *heightplots_frame; void heightplots_set_render(int render_heightplots) { heightplots_render = render_heightplots; } int heightplots_get_render(void) { return heightplots_render; } void heightplots_set_num_colors(int num_colors) { heightplots_num_colors = num_colors; } int heightplots_get_num_colors(void) { return heightplots_num_colors; } void heightplots_set_colormap(int colormap) { heightplots_colormap = colormap; } int heightplots_get_colormap(void) { return heightplots_colormap; } void heightplots_set_alpha(float alpha) { heightplots_alpha = alpha; } float heightplots_get_alpha(void) { return heightplots_alpha; } void heightplots_set_dataset(int dataset) { heightplots_dataset = dataset; } int heightplots_get_dataset(void) { return heightplots_dataset; } void heightplots_set_height(int height) { switch(heightplots_dataset) { case DATASET_RHO: heightplots_rho = height; break; case DATASET_VEL: heightplots_vel = height; break; case DATASET_FORCE: heightplots_force = height; break; case DATASET_DIVV: heightplots_divv = height; break; case DATASET_DIVF: heightplots_divf = height; break; default: break; } } int heightplots_get_height(void) { int return_value; return_value = 0; switch(heightplots_dataset) { case DATASET_RHO: return_value = heightplots_rho; break; case DATASET_VEL: return_value = heightplots_vel; break; case DATASET_FORCE: return_value = heightplots_force; break; case DATASET_DIVV: return_value = heightplots_divv; break; case DATASET_DIVF: return_value = heightplots_divf; break; default: break; } return return_value; } void heightplots_set_frame(fftw_real *frame) { heightplots_frame = frame; } fftw_real *heightplots_get_frame(void) { return heightplots_frame; } struct color4f heightplots_get_color(float value) { struct color4f return_value; return_value = set_palette(heightplots_colormap, value, heightplots_num_colors); return_value.a = heightplots_alpha; return return_value; }