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 @@ - +