diff --git a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/jogl/EarthGLPlot.java b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/jogl/EarthGLPlot.java
index f330136a..a052aaa4 100644
--- a/meteoinfo-chart/src/main/java/org/meteoinfo/chart/jogl/EarthGLPlot.java
+++ b/meteoinfo-chart/src/main/java/org/meteoinfo/chart/jogl/EarthGLPlot.java
@@ -210,6 +210,78 @@ public class EarthGLPlot extends GLPlot {
@Override
public void display(GLAutoDrawable drawable) {
+ final GL2 gl = drawable.getGL().getGL2();
+ gl.glLoadIdentity();
+
+ this.updateTextRender(this.xAxis.getTickLabelFont());
+
+ //Set light position - follow glLoadIdentity
+ this.lighting.setPosition(gl);
+
+ gl.glPushMatrix();
+
+ if (pitchAngle != 0) {
+ float scale = getScale();
+ gl.glTranslatef(0, 0, scale);
+ gl.glRotatef(70.f * (pitchAngle / 90.f), 1.0f, 0.0f, 0.0f);
+ gl.glTranslatef(0, 0, -scale);
+ }
+ gl.glRotatef(angleX, 1.0f, 0.0f, 0.0f);
+ gl.glRotatef(angleY, 0.0f, 0.0f, 1.0f);
+ if (headAngle != 0) {
+ gl.glRotatef(headAngle, 0.0f, 1.0f, 0.0f);
+ }
+
+ this.updateMatrix(gl);
+
+ //Lighting
+ this.setLight(gl);
+
+ for (int m = 0; m < this.graphics.getNumGraphics(); m++) {
+ Graphic graphic = this.graphics.get(m);
+ drawGraphics(gl, graphic);
+ }
+
+ //Stop lighting
+ if (this.lighting.isEnable()) {
+ this.lighting.stop(gl);
+ }
+
+ //Draw axis
+ this.drawAllZAxis(gl);
+
+ //Draw legend
+ gl.glPopMatrix();
+ this.updateMatrix(gl);
+ if (!this.legends.isEmpty()) {
+ ChartColorBar legend = (ChartColorBar) this.legends.get(0);
+ if (legend.getLegendScheme().getColorMap() == null)
+ this.drawLegend(gl, legend);
+ else
+ this.drawColorbar(gl, legend);
+ }
+
+ //Draw title
+ this.drawTitle();
+
+ this.textRenderer.dispose();
+ this.textRenderer = null;
+
+ gl.glFlush();
+
+ /*//Do screenshot
+ if (this.doScreenShot) {
+ AWTGLReadBufferUtil glReadBufferUtil = new AWTGLReadBufferUtil(drawable.getGLProfile(), false);
+ this.screenImage = glReadBufferUtil.readPixelsToBufferedImage(drawable.getGL(), true);
+ this.doScreenShot = false;
+ }*/
+
+ //Disable always update buffers
+ if (this.alwaysUpdateBuffers)
+ this.alwaysUpdateBuffers = false;
+ }
+
+ public void display_bak(GLAutoDrawable drawable) {
final GL2 gl = drawable.getGL().getGL2();
float[] rgba = this.background.getRGBComponents(null);
gl.glClearColor(rgba[0], rgba[1], rgba[2], rgba[3]);
diff --git a/meteoinfo-geo/src/main/java/org/meteoinfo/geo/mapview/MapView.java b/meteoinfo-geo/src/main/java/org/meteoinfo/geo/mapview/MapView.java
index 5d292761..c0d407d1 100644
--- a/meteoinfo-geo/src/main/java/org/meteoinfo/geo/mapview/MapView.java
+++ b/meteoinfo-geo/src/main/java/org/meteoinfo/geo/mapview/MapView.java
@@ -9594,7 +9594,7 @@ public class MapView extends JPanel implements IWebMapPanel {
File lFile = new File(fn);
if (!lFile.isAbsolute()) {
Path path = Paths.get(pPath, fn);
- fn = path.toString();
+ fn = path.normalize().toString();
} else {
fn = lFile.getAbsolutePath();
}
diff --git a/meteoinfo-lab/milconfig.xml b/meteoinfo-lab/milconfig.xml
index a4155e49..f5da922f 100644
--- a/meteoinfo-lab/milconfig.xml
+++ b/meteoinfo-lab/milconfig.xml
@@ -1,34 +1,34 @@
-
-
+
-
-
-
+
+
+
+
-
+
-
+
@@ -36,5 +36,5 @@
-
+
diff --git a/meteoinfo-lab/pylib/mipylib/dataframe/index$py.class b/meteoinfo-lab/pylib/mipylib/dataframe/index$py.class
index a96c1345..1b34c24e 100644
Binary files a/meteoinfo-lab/pylib/mipylib/dataframe/index$py.class and b/meteoinfo-lab/pylib/mipylib/dataframe/index$py.class differ
diff --git a/meteoinfo-lab/pylib/mipylib/plotlib/miplot$py.class b/meteoinfo-lab/pylib/mipylib/plotlib/miplot$py.class
index 0dc4ee32..7bcaa38d 100644
Binary files a/meteoinfo-lab/pylib/mipylib/plotlib/miplot$py.class and b/meteoinfo-lab/pylib/mipylib/plotlib/miplot$py.class differ
diff --git a/meteoinfo-lab/pylib/mipylib/plotlib/miplot.py b/meteoinfo-lab/pylib/mipylib/plotlib/miplot.py
index b7768c87..5828b631 100644
--- a/meteoinfo-lab/pylib/mipylib/plotlib/miplot.py
+++ b/meteoinfo-lab/pylib/mipylib/plotlib/miplot.py
@@ -939,6 +939,8 @@ def axes3d_earth(*args, **kwargs):
if not batchmode:
if g_figure is None:
+ if 'facecolor' not in kwargs.keys():
+ kwargs['facecolor'] = 'k'
figure(**kwargs)
g_figure.add_axes(ax)
diff --git a/meteoinfo-map/default.mip b/meteoinfo-map/default.mip
index af14e48a..078d8986 100644
--- a/meteoinfo-map/default.mip
+++ b/meteoinfo-map/default.mip
@@ -8,7 +8,7 @@
-
+
@@ -24,7 +24,7 @@
-
+