summaryrefslogtreecommitdiffstats
path: root/Smoke/isolines.c
blob: 42b22b0c1cdce6c584de29e0153be0ea01148978 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#ifdef G_OS_WIN32
#define WIN32_LEAN_AND_MEAN 1
#include <windows.h>
#endif


#include <rfftw.h>

#include "fluids.h"
#include "funcs.h"
#include "palette.h"

#include "isolines.h"


static int isolines_render     = FALSE;
static int isolines_num_colors = PALETTE_MAXCOLORS;
static int isolines_colormap   = PALETTE_RED;
static float isolines_alpha = 1.0f;

static int isolines_dataset = DATASET_RHO;

static fftw_real *isolines_frame;

static float isolines_threshold_min = 0.1f;
static float isolines_threshold_max = 2.0f;
static int   isolines_nr = 1;

void isolines_set_render(int render_isolines)
{
  isolines_render = render_isolines;
}

int isolines_get_render(void)
{
  return isolines_render;
}

void isolines_set_num_colors(int num_colors)
{
  isolines_num_colors = num_colors;
}

int isolines_get_num_colors(void)
{
  return isolines_num_colors;
}

void isolines_set_colormap(int colormap)
{
  isolines_colormap = colormap;
}

int isolines_get_colormap(void)
{
  return isolines_colormap;
}

void isolines_set_alpha(float alpha)
{
  isolines_alpha = alpha;
}

float isolines_get_alpha(void)
{
  return isolines_alpha;
}

void isolines_set_dataset(int dataset)
{
  isolines_dataset = dataset;
}

int isolines_get_dataset(void)
{
  return isolines_dataset;
}

void isolines_set_frame(fftw_real *frame)
{
  isolines_frame = frame;
}

fftw_real *isolines_get_frame(void)
{
  return isolines_frame;
}

struct color4f isolines_get_color(float value)
{
  struct color4f return_value;

  return_value = set_palette(isolines_colormap, value, isolines_num_colors);
  return_value.a = isolines_alpha;

  return return_value;
}



void isolines_set_nr(int nr)
{
  isolines_nr = nr;
}

int isolines_get_nr(void)
{
  return isolines_nr;
}



void isolines_set_threshold_min(float threshold_min)
{
  isolines_threshold_min = threshold_min;
}

float isolines_get_threshold_min(void)
{
  return isolines_threshold_min;
}



void isolines_set_threshold_max(float threshold_max)
{
  isolines_threshold_max = threshold_max;
}

float isolines_get_threshold_max(void)
{
  return isolines_threshold_max;
}