continue;
}
- /* Convert data value to index */
- gint idx = value * colormap->scale + colormap->shift;
- idx = CLAMP(idx, 0, colormap->len);
-
/* Copy color to buffer */
- buf[buf_i+0] = colormap->data[idx][0];
- buf[buf_i+1] = colormap->data[idx][1];
- buf[buf_i+2] = colormap->data[idx][2];
- buf[buf_i+3] = colormap->data[idx][3]*0.75; // TESTING
+ guint8 *data = colormap_get(colormap, value);
+ buf[buf_i+0] = data[0];
+ buf[buf_i+1] = data[1];
+ buf[buf_i+2] = data[2];
+ buf[buf_i+3] = data[3]*0.75; // TESTING
}
}
gint nsweeps = vol->h.nsweeps;
gint nrays = sweep->h.nrays/(1/sweep->h.beam_width)+1;
gint nbins = ray->h.nbins /(1000/ray->h.gate_size);
- nbins = MIN(nbins, 100);
+ nbins = MIN(nbins, 150);
VolGrid *grid = vol_grid_new(nrays, nbins, nsweeps);
//glEnd();
}
+void aweather_level2_hide(GritsObject *_self, gboolean hidden)
+{
+ AWeatherLevel2 *self = AWEATHER_LEVEL2(_self);
+ if (self->volume)
+ grits_object_hide(GRITS_OBJECT(self->volume), hidden);
+}
+
/***********
* Methods *
level2->volume = vol;
}
if (ISO_MIN < level && level < ISO_MAX) {
- AWeatherColormap *cm = &level2->colormap[0];
- level2->volume->color[0] = cm->data[(gint)level][0];
- level2->volume->color[1] = cm->data[(gint)level][1];
- level2->volume->color[2] = cm->data[(gint)level][2];
- level2->volume->color[3] = cm->data[(gint)level][3];
+ guint8 *data = colormap_get(&level2->colormap[0], level);
+ level2->volume->color[0] = data[0];
+ level2->volume->color[1] = data[1];
+ level2->volume->color[2] = data[2];
+ level2->volume->color[3] = data[3];
grits_volume_set_level(level2->volume, level);
- GRITS_OBJECT(level2->volume)->hidden = FALSE;
+ grits_object_hide(GRITS_OBJECT(level2->volume), FALSE);
} else {
- GRITS_OBJECT(level2->volume)->hidden = TRUE;
+ grits_object_hide(GRITS_OBJECT(level2->volume), TRUE);
}
}
static void aweather_level2_init(AWeatherLevel2 *self)
{
}
+static void aweather_level2_dispose(GObject *_self)
+{
+ AWeatherLevel2 *self = AWEATHER_LEVEL2(_self);
+ g_debug("AWeatherLevel2: dispose - %p", _self);
+ if (self->volume) {
+ grits_viewer_remove(GRITS_OBJECT(self)->viewer, self->volume);
+ self->volume = NULL;
+ }
+ G_OBJECT_CLASS(aweather_level2_parent_class)->dispose(_self);
+}
static void aweather_level2_finalize(GObject *_self)
{
AWeatherLevel2 *self = AWEATHER_LEVEL2(_self);
}
static void aweather_level2_class_init(AWeatherLevel2Class *klass)
{
+ G_OBJECT_CLASS(klass)->dispose = aweather_level2_dispose;
G_OBJECT_CLASS(klass)->finalize = aweather_level2_finalize;
- GRITS_OBJECT_CLASS(klass)->draw = aweather_level2_draw;
+ GRITS_OBJECT_CLASS(klass)->draw = aweather_level2_draw;
+ GRITS_OBJECT_CLASS(klass)->hide = aweather_level2_hide;
}