]> Pileus Git - aweather/blobdiff - src/plugins/level2.c
Misc Grits/formatting updates
[aweather] / src / plugins / level2.c
index 4771e992bc7b29df15a47aeece9b31c4d942014e..0dcd3081996ecc5b9e16a3aa1f85e46143bdee8f 100644 (file)
@@ -138,12 +138,6 @@ void aweather_level2_draw(GritsObject *_self, GritsOpenGL *opengl)
 
        /* Draw wsr88d */
        Sweep *sweep = self->sweep;
-       Radar_header *h = &self->radar->h;
-       gdouble lat  = (double)h->latd + (double)h->latm/60 + (double)h->lats/(60*60);
-       gdouble lon  = (double)h->lond + (double)h->lonm/60 + (double)h->lons/(60*60);
-       gdouble elev = h->height;
-       grits_viewer_center_position(GRITS_VIEWER(opengl), lat, lon, elev);
-
        glDisable(GL_ALPHA_TEST);
        glDisable(GL_CULL_FACE);
        glDisable(GL_LIGHTING);
@@ -172,8 +166,8 @@ void aweather_level2_draw(GritsObject *_self, GritsOpenGL *opengl)
                double lx = sin(angle);
                double ly = cos(angle);
 
-               double near_dist = ray->h.range_bin1;
-               double far_dist  = ray->h.nbins*ray->h.gate_size + ray->h.range_bin1;
+               double near_dist = ray->h.range_bin1 - ((double)ray->h.gate_size/2.);
+               double far_dist  = near_dist + (double)ray->h.nbins*ray->h.gate_size;
 
                /* (find middle of bin) / scale for opengl */
                // near left
@@ -207,7 +201,7 @@ static gboolean _set_sweep_cb(gpointer _self)
        g_debug("AWeatherLevel2: _set_sweep_cb");
        AWeatherLevel2 *self = _self;
        _load_sweep_gl(self);
-       gtk_widget_queue_draw(GTK_WIDGET(self->viewer));
+       grits_object_queue_draw(_self);
        g_object_unref(self);
        return FALSE;
 }
@@ -234,21 +228,25 @@ void aweather_level2_set_sweep(AWeatherLevel2 *self,
        g_idle_add(_set_sweep_cb, self);
 }
 
-AWeatherLevel2 *aweather_level2_new(GritsViewer *viewer,
-               AWeatherColormap *colormap, Radar *radar)
+AWeatherLevel2 *aweather_level2_new(Radar *radar, AWeatherColormap *colormap)
 {
        g_debug("AWeatherLevel2: new - %s", radar->h.radar_name);
        AWeatherLevel2 *self = g_object_new(AWEATHER_TYPE_LEVEL2, NULL);
-       self->viewer   = viewer;
        self->radar    = radar;
        self->colormap = colormap;
        aweather_level2_set_sweep(self, DZ_INDEX, 0);
+
+       GritsPoint center;
+       Radar_header *h = &radar->h;
+       center.lat  = (double)h->latd + (double)h->latm/60 + (double)h->lats/(60*60);
+       center.lon  = (double)h->lond + (double)h->lonm/60 + (double)h->lons/(60*60);
+       center.elev = h->height;
+       GRITS_OBJECT(self)->center = center;
        return self;
 }
 
-AWeatherLevel2 *aweather_level2_new_from_file(GritsViewer *viewer,
-               AWeatherColormap *colormap,
-               const gchar *file, const gchar *site)
+AWeatherLevel2 *aweather_level2_new_from_file(const gchar *file, const gchar *site,
+               AWeatherColormap *colormap)
 {
        g_debug("AWeatherLevel2: new_from_file %s %s", site, file);
 
@@ -275,7 +273,7 @@ AWeatherLevel2 *aweather_level2_new_from_file(GritsViewer *viewer,
        if (!radar)
                return NULL;
 
-       return aweather_level2_new(viewer, colormaps, radar);
+       return aweather_level2_new(radar, colormaps);
 }
 
 static void _on_sweep_clicked(GtkRadioButton *button, gpointer _level2)
@@ -292,7 +290,7 @@ GtkWidget *aweather_level2_get_config(AWeatherLevel2 *level2)
        Radar *radar = level2->radar;
        g_debug("AWeatherLevel2: get_config - %p, %p", level2, radar);
        /* Clear existing items */
-       gdouble elev;
+       gfloat elev;
        guint rows = 1, cols = 1, cur_cols;
        gchar row_label_str[64], col_label_str[64], button_str[64];
        GtkWidget *row_label, *col_label, *button = NULL, *elev_box = NULL;