First set of updates to get CAVE working on macOS
Implement jogl changes, changes to the developer.product and feature.xml Change the rendering method of E/W GOES combos so they render on macOS com.raytheon.uf.viz.gl.image.stipple/META-INF/MANIFEST.MF - add com.jogamp.jogl as a required bundle ""/src/com/raytheon/uf/viz/gl/image/stipple/GLStippledColormappedImageExtension.java - import jogamp and remove opengl import - use GL2 objects and constants instead of GL com.ratheon.uf.viz.gl.triangulated/META-INF/MANIFEST.MF - add com.jogamp.jogl as required bundled ""/src/com/raytheon/uf/viz/gl/triangulated/GLTriangulatedImage.java - use jogamp import instead of opengl - use GL2 objects and constants instead of GL com.raytheon.uf.viz.radar.gl/META-INF/MANIFEST.MF - add com.jogamp.jogl as required bundle ""/src/com/raytheon/uf/viz/radar/gl/RadarRadialMesh.java - use GL2 import, variables, and constants instead of GL com.raytheon.uf.viz.truecolor.gl/META-INF/MANIFEST.MF - remove javax.media.opengl as required bundle - add com.jogamp.jogl as required bundle ""/src/com/raytheon/uf/viz/truecolor/gl/extension/GLTrueColorImagingExtension.java - use GL2 import, variables and constants instead of GL com.raytheon.viz.feature.awips.developer/feature.xml - replaced with existing v18 feature.xml for macOS com.raytheon.viz.product.awips/META-INF/MANIFEST.MF - changed the java execution environment form 1.7 to 1.8 (which is what we have in v18, it should at least be 1.8, possibly 1.11) ""/developer.product - modified the program arguments with the proper locationfor caveData (in ~/Library/) and remove the -alertviz flag - add a flag for start on first thread (this is how our current v18-osx one is) - changed the logback to alertview - removed the python jep library path - renamed the DvizVersion to DcaveVersion - added an argument for build system - removed windows image argument - add a line defining the JRE for macos - added a preferencesInfo and ccs lines to be the same as our v18-osx version ""/plugin.xml - remove windows image property com.raytheon.viz.satellite/src/com/raytheon/viz/satellite/rsc/SatBlendedResource.java - change the way we draw E/W GOES combos so they can render on macOS
This commit is contained in:
parent
845c878de6
commit
b45838f0e6
13 changed files with 113 additions and 197 deletions
|
@ -9,4 +9,5 @@ Require-Bundle: com.raytheon.uf.viz.core,
|
|||
com.raytheon.uf.viz.drawables.image.stipple,
|
||||
com.raytheon.uf.common.colormap,
|
||||
com.raytheon.viz.core.gl,
|
||||
javax.measure
|
||||
javax.measure,
|
||||
com.jogamp.jogl;bundle-version="2.3.2"
|
||||
|
|
|
@ -22,7 +22,7 @@ package com.raytheon.uf.viz.gl.image.stipple;
|
|||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.media.opengl.GL;
|
||||
import com.jogamp.opengl.GL2;
|
||||
|
||||
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
|
||||
import com.raytheon.uf.viz.core.DrawableImage;
|
||||
|
@ -51,6 +51,7 @@ import com.raytheon.viz.core.gl.IGLTarget;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- --------- -----------------
|
||||
* Nov 01, 2016 5957 bsteffen Initial creation
|
||||
* Jan 19, 2023 srcarter@ucar Add MJ changes for GL2
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -75,7 +76,7 @@ public class GLStippledColormappedImageExtension
|
|||
IColormappedImageExtension cmapExt = target
|
||||
.getExtension(IColormappedImageExtension.class);
|
||||
boolean result = true;
|
||||
GL gl = target.getGl();
|
||||
GL2 gl = target.getGl().getGL2();
|
||||
for (DrawableImage image : images) {
|
||||
GLStippledColormappedImage stippled = (GLStippledColormappedImage) image
|
||||
.getImage();
|
||||
|
@ -148,14 +149,14 @@ public class GLStippledColormappedImageExtension
|
|||
}
|
||||
byte[] pattern = patterns.get(i);
|
||||
if (pattern != null) {
|
||||
gl.glEnable(GL.GL_POLYGON_STIPPLE);
|
||||
gl.glEnable(GL2.GL_POLYGON_STIPPLE);
|
||||
gl.glPolygonStipple(pattern, 0);
|
||||
}
|
||||
params.setAlphaMask(alphaMask);
|
||||
params.setUseMask(true);
|
||||
result &= cmapExt.drawRasters(paintProps, images);
|
||||
if (pattern != null) {
|
||||
gl.glDisable(GL.GL_POLYGON_STIPPLE);
|
||||
gl.glDisable(GL2.GL_POLYGON_STIPPLE);
|
||||
}
|
||||
/* Reset the alpha for the next loop. */
|
||||
for (int a = alphaStart; a < alphaEnd; a += 1) {
|
||||
|
|
|
@ -9,6 +9,7 @@ Require-Bundle: com.raytheon.uf.viz.drawables.triangulated,
|
|||
com.raytheon.uf.viz.core,
|
||||
com.raytheon.uf.common.colormap,
|
||||
com.raytheon.viz.core.gl,
|
||||
javax.measure
|
||||
javax.measure,
|
||||
com.jogamp.jogl;bundle-version="2.3.2"
|
||||
Import-Package: org.locationtech.jts.algorithm,
|
||||
org.locationtech.jts.geom
|
||||
|
|
|
@ -26,7 +26,7 @@ import java.nio.FloatBuffer;
|
|||
import java.nio.IntBuffer;
|
||||
|
||||
import javax.measure.Unit;
|
||||
import javax.media.opengl.GL;
|
||||
import com.jogamp.opengl.GL2;
|
||||
|
||||
import com.raytheon.uf.common.colormap.image.ColorMapData;
|
||||
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
|
||||
|
@ -85,6 +85,7 @@ import org.locationtech.jts.geom.Triangle;
|
|||
* Aug 24, 2015 4709 bsteffen Initial creation
|
||||
* Dec 04, 2015 5146 bsteffen Rewind attrib buffer before use.
|
||||
* May 19, 2016 5146 bsteffen Add debug code for drawing triangles.
|
||||
* Jan 19, 2023 srcarter@ucar Add MJs changes for GL2
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -200,35 +201,35 @@ public class GLTriangulatedImage implements ITriangulatedImage {
|
|||
if (this.indexBuffer == null) {
|
||||
stage();
|
||||
}
|
||||
GL gl = target.getGl();
|
||||
GL2 gl = target.getGl().getGL2();
|
||||
|
||||
target.pushGLState();
|
||||
try {
|
||||
gl.glPolygonMode(GL.GL_BACK, GL.GL_FILL);
|
||||
gl.glPolygonMode(GL.GL_FRONT, GL.GL_FILL);
|
||||
gl.glPolygonMode(GL2.GL_BACK, GL2.GL_FILL);
|
||||
gl.glPolygonMode(GL2.GL_FRONT, GL2.GL_FILL);
|
||||
|
||||
gl.glEnable(GL.GL_BLEND);
|
||||
gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
|
||||
gl.glEnable(GL2.GL_BLEND);
|
||||
gl.glBlendFunc(GL2.GL_SRC_ALPHA, GL2.GL_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
GLTextureObject cmapTexture = target
|
||||
.getColorMapTexture(colorMapParameters);
|
||||
|
||||
gl.glActiveTexture(GL.GL_TEXTURE1);
|
||||
cmapTexture.bind(gl, GL.GL_TEXTURE_1D);
|
||||
gl.glActiveTexture(GL2.GL_TEXTURE1);
|
||||
cmapTexture.bind(gl, GL2.GL_TEXTURE_1D);
|
||||
|
||||
if (colorMapParameters.isInterpolate()) {
|
||||
gl.glTexParameteri(GL.GL_TEXTURE_1D, GL.GL_TEXTURE_MIN_FILTER,
|
||||
GL.GL_LINEAR);
|
||||
gl.glTexParameteri(GL.GL_TEXTURE_1D, GL.GL_TEXTURE_MAG_FILTER,
|
||||
GL.GL_LINEAR);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_1D, GL2.GL_TEXTURE_MIN_FILTER,
|
||||
GL2.GL_LINEAR);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_1D, GL2.GL_TEXTURE_MAG_FILTER,
|
||||
GL2.GL_LINEAR);
|
||||
} else {
|
||||
gl.glTexParameteri(GL.GL_TEXTURE_1D, GL.GL_TEXTURE_MIN_FILTER,
|
||||
GL.GL_NEAREST);
|
||||
gl.glTexParameteri(GL.GL_TEXTURE_1D, GL.GL_TEXTURE_MAG_FILTER,
|
||||
GL.GL_NEAREST);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_1D, GL2.GL_TEXTURE_MIN_FILTER,
|
||||
GL2.GL_NEAREST);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_1D, GL2.GL_TEXTURE_MAG_FILTER,
|
||||
GL2.GL_NEAREST);
|
||||
}
|
||||
|
||||
setupDataMapping(gl, GL.GL_TEXTURE3, GL.GL_TEXTURE4);
|
||||
setupDataMapping(gl, GL2.GL_TEXTURE3, GL2.GL_TEXTURE4);
|
||||
|
||||
GLShaderProgram program = GLSLFactory.getInstance()
|
||||
.getShaderProgram(gl, "copyValueVertexShader",
|
||||
|
@ -248,9 +249,9 @@ public class GLTriangulatedImage implements ITriangulatedImage {
|
|||
GLSLStructFactory.createColorModifiers(program, "modifiers",
|
||||
paintProps.getAlpha(), brightness, contrast);
|
||||
|
||||
gl.glEnableClientState(GL.GL_VERTEX_ARRAY);
|
||||
gl.glEnableClientState(GL2.GL_VERTEX_ARRAY);
|
||||
vertexBuffer.rewind();
|
||||
gl.glVertexPointer(2, GL.GL_FLOAT, 0, vertexBuffer);
|
||||
gl.glVertexPointer(2, GL2.GL_FLOAT, 0, vertexBuffer);
|
||||
|
||||
Buffer attribBufferData = attribBuffer.getData();
|
||||
attribBufferData.rewind();
|
||||
|
@ -258,8 +259,8 @@ public class GLTriangulatedImage implements ITriangulatedImage {
|
|||
attribBuffer.getTextureType(), attribBufferData);
|
||||
|
||||
indexBuffer.rewind();
|
||||
gl.glDrawElements(GL.GL_TRIANGLES, indexBuffer.capacity(),
|
||||
GL.GL_UNSIGNED_INT, indexBuffer);
|
||||
gl.glDrawElements(GL2.GL_TRIANGLES, indexBuffer.capacity(),
|
||||
GL2.GL_UNSIGNED_INT, indexBuffer);
|
||||
|
||||
program.endShader();
|
||||
if (SHOW_MESH_LINES) {
|
||||
|
@ -268,27 +269,27 @@ public class GLTriangulatedImage implements ITriangulatedImage {
|
|||
* lines on top of the image for debugging.
|
||||
*/
|
||||
indexBuffer.rewind();
|
||||
gl.glDisable(GL.GL_BLEND);
|
||||
gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_LINE);
|
||||
gl.glDrawElements(GL.GL_TRIANGLES, indexBuffer.capacity(),
|
||||
GL.GL_UNSIGNED_INT, indexBuffer);
|
||||
gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL.GL_FILL);
|
||||
gl.glEnable(GL.GL_BLEND);
|
||||
gl.glDisable(GL2.GL_BLEND);
|
||||
gl.glPolygonMode(GL2.GL_FRONT_AND_BACK, GL2.GL_LINE);
|
||||
gl.glDrawElements(GL2.GL_TRIANGLES, indexBuffer.capacity(),
|
||||
GL2.GL_UNSIGNED_INT, indexBuffer);
|
||||
gl.glPolygonMode(GL2.GL_FRONT_AND_BACK, GL2.GL_FILL);
|
||||
gl.glEnable(GL2.GL_BLEND);
|
||||
}
|
||||
|
||||
gl.glDisableClientState(GL.GL_VERTEX_ARRAY);
|
||||
gl.glDisableClientState(GL2.GL_VERTEX_ARRAY);
|
||||
|
||||
gl.glActiveTexture(GL.GL_TEXTURE1);
|
||||
gl.glBindTexture(GL.GL_TEXTURE_1D, 0);
|
||||
gl.glActiveTexture(GL2.GL_TEXTURE1);
|
||||
gl.glBindTexture(GL2.GL_TEXTURE_1D, 0);
|
||||
|
||||
gl.glDisable(GL.GL_BLEND);
|
||||
gl.glDisable(GL2.GL_BLEND);
|
||||
} finally {
|
||||
target.popGLState();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void setupDataMapping(GL gl,
|
||||
protected void setupDataMapping(GL2 gl,
|
||||
int dataMappedTexBinding, int colorMappedTexBinding)
|
||||
throws VizException {
|
||||
if (dataMapping == null && colorMapParameters.getColorMap() != null) {
|
||||
|
|
|
@ -7,6 +7,7 @@ Bundle-Vendor: RAYTHEON
|
|||
Require-Bundle: com.raytheon.viz.radar,
|
||||
com.raytheon.viz.core.gl,
|
||||
com.raytheon.uf.viz.core,
|
||||
com.raytheon.uf.common.geospatial
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.jogamp.jogl;bundle-version="2.3.2"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Bundle-ActivationPolicy: lazy
|
||||
|
|
|
@ -22,7 +22,7 @@ package com.raytheon.uf.viz.radar.gl;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.media.opengl.GL;
|
||||
import com.jogamp.opengl.GL2;
|
||||
|
||||
import org.geotools.coverage.grid.GeneralGridGeometry;
|
||||
import org.geotools.coverage.grid.GridGeometry2D;
|
||||
|
@ -53,6 +53,7 @@ import com.raytheon.viz.radar.rsc.image.IRadialMeshExtension.RadialMeshData;
|
|||
* Oct 09, 2012 15018 kshresth
|
||||
* Jun 24, 2014 3072 bsteffen Remove RadarRecord dependency for Radial
|
||||
* Mesh
|
||||
* Jan 19, 2023 srcarter@ucar Add MJ's change to GL2
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
|
@ -117,7 +118,7 @@ public class RadarRadialMesh extends AbstractGLMesh {
|
|||
public RadarRadialMesh(RadialMeshData data,
|
||||
GeneralGridGeometry targetGeometry, CacheKey cacheKey)
|
||||
throws VizException {
|
||||
super(GL.GL_TRIANGLE_STRIP);
|
||||
super(GL2.GL_TRIANGLE_STRIP);
|
||||
this.data = data;
|
||||
this.cacheKey = cacheKey;
|
||||
ProjectedCRS crs = CRSCache.getInstance().constructStereographic(
|
||||
|
|
|
@ -8,9 +8,9 @@ Require-Bundle: org.eclipse.core.runtime,
|
|||
com.raytheon.uf.viz.core,
|
||||
com.raytheon.uf.viz.truecolor,
|
||||
com.raytheon.viz.core.gl,
|
||||
javax.media.opengl,
|
||||
com.raytheon.uf.common.util,
|
||||
com.raytheon.uf.common.colormap
|
||||
com.raytheon.uf.common.colormap,
|
||||
com.jogamp.jogl;bundle-version="2.3.2"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: com.raytheon.uf.viz.truecolor.gl.jar
|
||||
|
|
|
@ -22,7 +22,7 @@ package com.raytheon.uf.viz.truecolor.gl.extension;
|
|||
import java.util.IdentityHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.media.opengl.GL;
|
||||
import com.jogamp.opengl.GL2;
|
||||
|
||||
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
|
||||
import com.raytheon.uf.viz.core.DrawableImage;
|
||||
|
@ -55,6 +55,7 @@ import com.raytheon.viz.core.gl.images.AbstractGLImage;
|
|||
* Aug 6, 2012 mschenke Initial creation
|
||||
* Nov 4, 2013 2492 mschenke Reworked to use GLSL Data mapping
|
||||
* Jan 27, 2016 DR 17997 jgerth Support for gamma control
|
||||
* Jan 19, 2023 srcarter@ucar Add in MJs changes for GL2
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -154,7 +155,7 @@ public class GLTrueColorImagingExtension extends AbstractGLSLImagingExtension
|
|||
renderingGamma = 1.0;
|
||||
writeToImage = null;
|
||||
trueColorImage.setImageParameters(parameters.keySet());
|
||||
trueColorImage.bind(target.getGl());
|
||||
trueColorImage.bind(target.getGl().getGL2());
|
||||
return imageCoverage;
|
||||
} else {
|
||||
target.drawRasters(paintProps,
|
||||
|
@ -163,13 +164,13 @@ public class GLTrueColorImagingExtension extends AbstractGLSLImagingExtension
|
|||
return null;
|
||||
}
|
||||
} else if (image instanceof AbstractGLColormappedImage) {
|
||||
GL gl = target.getGl();
|
||||
GL2 gl = target.getGl().getGL2();
|
||||
|
||||
GLColormappedImageExtension.setupDataMapping(gl,
|
||||
(AbstractGLColormappedImage) image, GL.GL_TEXTURE2,
|
||||
GL.GL_TEXTURE3);
|
||||
(AbstractGLColormappedImage) image, GL2.GL_TEXTURE2,
|
||||
GL2.GL_TEXTURE3);
|
||||
// bind on GL_TEXTURE1 as 0 is channel image
|
||||
writeToImage.bind(gl, GL.GL_TEXTURE1);
|
||||
writeToImage.bind(gl, GL2.GL_TEXTURE1);
|
||||
return image;
|
||||
}
|
||||
return null;
|
||||
|
@ -193,17 +194,17 @@ public class GLTrueColorImagingExtension extends AbstractGLSLImagingExtension
|
|||
((GLTrueColorImage) image).getWrappedImage(),
|
||||
(PixelCoverage) data));
|
||||
} else if (writeToImage != null) {
|
||||
GL gl = target.getGl();
|
||||
GL2 gl = target.getGl().getGL2();
|
||||
// Unbind the writeToImage from GL_TEXTURE1
|
||||
gl.glActiveTexture(GL.GL_TEXTURE1);
|
||||
gl.glActiveTexture(GL2.GL_TEXTURE1);
|
||||
gl.glBindTexture(writeToImage.getTextureStorageType(), 0);
|
||||
|
||||
// Unbind the data mapped textures
|
||||
gl.glActiveTexture(GL.GL_TEXTURE2);
|
||||
gl.glBindTexture(GL.GL_TEXTURE_1D, 0);
|
||||
gl.glActiveTexture(GL2.GL_TEXTURE2);
|
||||
gl.glBindTexture(GL2.GL_TEXTURE_1D, 0);
|
||||
|
||||
gl.glActiveTexture(GL.GL_TEXTURE3);
|
||||
gl.glBindTexture(GL.GL_TEXTURE_1D, 0);
|
||||
gl.glActiveTexture(GL2.GL_TEXTURE3);
|
||||
gl.glBindTexture(GL2.GL_TEXTURE_1D, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -270,7 +271,7 @@ public class GLTrueColorImagingExtension extends AbstractGLSLImagingExtension
|
|||
* (javax.media.opengl.GL)
|
||||
*/
|
||||
@Override
|
||||
protected void enableBlending(GL gl) {
|
||||
protected void enableBlending(GL2 gl) {
|
||||
// Do not enable blending for this extension as it messes with alpha
|
||||
// values between passes
|
||||
}
|
||||
|
|
|
@ -61,10 +61,6 @@
|
|||
id="com.raytheon.viz.radar.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.radarapps.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.viz.text.feature"
|
||||
version="0.0.0"/>
|
||||
|
@ -74,11 +70,15 @@
|
|||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.grid.feature"
|
||||
id="com.raytheon.viz.dataaccess.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.viz.gfe.feature"
|
||||
id="com.raytheon.viz.warnings.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.grid.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
|
@ -101,10 +101,6 @@
|
|||
id="com.raytheon.uf.viz.ncep.dataplugins.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.viz.hydro.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.d2d.xy.feature"
|
||||
version="0.0.0"/>
|
||||
|
@ -121,14 +117,6 @@
|
|||
id="com.raytheon.uf.viz.d2d.nsharp.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.archive.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.ncep.perspective.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.thinclient.feature"
|
||||
version="0.0.0"/>
|
||||
|
@ -157,54 +145,10 @@
|
|||
id="com.raytheon.uf.viz.acarssounding.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.viz.avnfps.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.dat.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.d2d.gfe.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.collaboration.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.gisdatastore.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.d2d.ui.awips.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.registry.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.aviation.advisory.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.datadelivery.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="edu.wisc.ssec.cimss.viz.convectprob.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.d2d.damagepath.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.gsd.viz.hazards.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.ncep.npp.feature"
|
||||
version="0.0.0"/>
|
||||
|
@ -214,23 +158,19 @@
|
|||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.bmh.feature"
|
||||
id="gov.noaa.gsd.viz.ensemble.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.server.edex.feature"
|
||||
id="gov.noaa.nws.mdl.viz.boundaryTool.common.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.nws.ocp.uf.viz.gisdatastore.feature"
|
||||
id="com.raytheon.uf.viz.d2d.gfe.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.nws.ocp.viz.firewx.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.viz.warnings.feature"
|
||||
id="com.raytheon.viz.gfe.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
|
@ -238,39 +178,15 @@
|
|||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.fssobs.feature"
|
||||
id="edu.wisc.ssec.cimss.viz.probsevere.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.scan.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.raytheon.uf.viz.ffmp.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.nws.ocp.viz.psh.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.nws.ocp.viz.climate.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.nws.ocp.viz.firewx.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.nws.sr.oun.viz.mping.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="gov.noaa.nws.ost.viz.stq.feature"
|
||||
id="com.raytheon.uf.viz.gisdatastore.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<requires>
|
||||
<import feature="com.raytheon.uf.viz.application.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
||||
</feature>
|
||||
</feature>
|
|
@ -9,5 +9,5 @@ Export-Package: com.raytheon.viz.product.awips;uses:="org.eclipse.jface.resource
|
|||
Require-Bundle: org.eclipse.core.runtime,
|
||||
org.eclipse.ui
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-Localization: plugin
|
||||
|
|
|
@ -14,21 +14,21 @@
|
|||
</configIni>
|
||||
|
||||
<launcherArgs>
|
||||
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean -consoleLog -alertviz
|
||||
<programArgs>-data @user.home/Library/caveData -user @user.home/Library/caveData -clean -consoleLog
|
||||
</programArgs>
|
||||
<vmArgs>-Xmx6144M
|
||||
-XX:+UseG1GC
|
||||
-XstartOnFirstThread
|
||||
-Dosgi.instance.area.readOnly=true
|
||||
-Dorg.eclipse.update.reconcile=false
|
||||
-Dorg.eclipse.ui/KEY_CONFIGURATION_ID=com.raytheon.viz.ui.cave.scheme
|
||||
-Dlogback.configurationFile=logback-viz-core-developer.xml
|
||||
-Dlogback.configurationFile=logback-viz-alertview.xml
|
||||
-Dlogback.statusListenerClass=com.raytheon.uf.common.logback.UFLogbackInternalStatusListener
|
||||
-Dthrift.stream.maxsize=320
|
||||
-Dviz.memory.warn.threshold=10M
|
||||
-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false
|
||||
-Dorg.eclipse.swt.internal.gtk.useCairo=false
|
||||
-Dhttps.certificate.check=false
|
||||
-Djava.library.path=/awips2/python/lib/python3.6/site-packages/jep
|
||||
-XX:MaxDirectMemorySize=1G
|
||||
-XX:+UnlockExperimentalVMOptions
|
||||
-XX:G1HeapRegionSize=4M
|
||||
|
@ -38,14 +38,14 @@
|
|||
-XX:G1OldCSetRegionThresholdPercent=25
|
||||
-XX:G1HeapWastePercent=5
|
||||
-XX:SoftRefLRUPolicyMSPerMB=1000
|
||||
-DvizVersion=DEVELOPMENT
|
||||
-Djava.io.tmpdir=/awips2/tmp
|
||||
-DcaveVersion=20.3.2
|
||||
-DbuildSystem=macOS
|
||||
</vmArgs>
|
||||
<vmArgsWin>-Dfile.encoding=UTF-8
|
||||
</vmArgsWin>
|
||||
</launcherArgs>
|
||||
|
||||
<windowImages i16="/com.raytheon.viz.product.awips/icons/cave_16x16.png" i32="/com.raytheon.viz.product.awips/icons/cave_32x32.png" i48="/com.raytheon.viz.product.awips/icons/cave_48x48.png" i64="/com.raytheon.viz.product.awips/icons/cave_64x64.png" i128="/com.raytheon.viz.product.awips/icons/cave_128x128.png"/>
|
||||
<windowImages/>
|
||||
|
||||
<splash
|
||||
location="com.raytheon.viz.ui.personalities.awips"
|
||||
|
@ -60,6 +60,7 @@
|
|||
|
||||
<vm>
|
||||
<linux include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</linux>
|
||||
<macos include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</macos>
|
||||
<windows include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</windows>
|
||||
</vm>
|
||||
|
||||
|
@ -78,4 +79,11 @@
|
|||
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
|
||||
</configurations>
|
||||
|
||||
<preferencesInfo>
|
||||
<targetfile overwrite="false"/>
|
||||
</preferencesInfo>
|
||||
|
||||
<cssInfo>
|
||||
</cssInfo>
|
||||
|
||||
</product>
|
||||
|
|
|
@ -53,10 +53,6 @@
|
|||
name="startupForegroundColor"
|
||||
value="000000">
|
||||
</property>
|
||||
<property
|
||||
name="windowImages"
|
||||
value="icons/cave_16x16.png,icons/cave_32x32.png,icons/cave_48x48.png,icons/cave_64x64.png,icons/cave_128x128.png">
|
||||
</property>
|
||||
<property
|
||||
name="rendererFactoryUri"
|
||||
value="bundleclass://com.raytheon.uf.viz.personalities.cave/com.raytheon.uf.viz.personalities.cave.presentation.VizRendererFactory">
|
||||
|
|
|
@ -79,6 +79,7 @@ import com.raytheon.uf.viz.core.rsc.interrogation.Interrogator;
|
|||
* Nov 20, 2013 2492 bsteffen Update inspect to use Measure objects
|
||||
* Oct 27, 2014 3681 bsteffen Implement Interrogatable
|
||||
* Nov 28, 2017 5863 bsteffen Change dataTimes to a NavigableSet
|
||||
* Jan 20, 2023 srcarter@ucar Enable E/W rendering on macOS
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -146,23 +147,19 @@ public class SatBlendedResource extends
|
|||
}
|
||||
}
|
||||
|
||||
private List<DrawableImage> images = new ArrayList<>();
|
||||
@Override
|
||||
/*
|
||||
* For the mac build, skip the use of the mosaicImage completely
|
||||
* and simply draw the individual SatResource images.
|
||||
* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.core.rsc.AbstractVizResource#paintInternal(com.raytheon.uf.viz.core.IGraphicsTarget, com.raytheon.uf.viz.core.drawables.PaintProperties)
|
||||
*/
|
||||
protected void paintInternal(IGraphicsTarget target,
|
||||
PaintProperties paintProps) throws VizException {
|
||||
ColorMapParameters params = getCapability(ColorMapCapability.class)
|
||||
.getColorMapParameters();
|
||||
|
||||
// If first paint, initialize and wait for next paint
|
||||
if (mosaicImage == null) {
|
||||
initImage(target, paintProps, params);
|
||||
} else if (mosaicImage.getWidth() != paintProps.getCanvasBounds().width
|
||||
|| mosaicImage
|
||||
.getHeight() != paintProps.getCanvasBounds().height) {
|
||||
// If Window size changed, recreate the off screen buffer
|
||||
disposeImage();
|
||||
initImage(target, paintProps, params);
|
||||
}
|
||||
|
||||
|
||||
PaintProperties rscProps = new PaintProperties(paintProps);
|
||||
|
||||
List<DataTime> rscTimes = new ArrayList<>();
|
||||
for (ResourcePair rp : getResourceList()) {
|
||||
AbstractVizResource<?, ?> rsc = rp.getResource();
|
||||
|
@ -175,7 +172,7 @@ public class SatBlendedResource extends
|
|||
if (!extent.equals(lastExtent) || !rscTimes.equals(lastTimes)) {
|
||||
lastTimes = rscTimes;
|
||||
lastExtent = extent;
|
||||
List<DrawableImage> images = new ArrayList<>();
|
||||
List<DrawableImage> tempImages = new ArrayList<>();
|
||||
|
||||
for (ResourcePair rp : getResourceList()) {
|
||||
AbstractVizResource<?, ?> rsc = rp.getResource();
|
||||
|
@ -185,40 +182,32 @@ public class SatBlendedResource extends
|
|||
SatResource sr = (SatResource) rsc;
|
||||
DataTime timeForRsc = paintProps.getFramesInfo()
|
||||
.getTimeForResource(rsc);
|
||||
PaintProperties rscProps = new PaintProperties(paintProps);
|
||||
rscProps.setDataTime(timeForRsc);
|
||||
rscProps.setAlpha(1.0f);
|
||||
List<DrawableImage> rscImages = sr.getImages(target,
|
||||
rscProps);
|
||||
|
||||
for (DrawableImage di : rscImages) {
|
||||
if (di != null && di.getImage() != null
|
||||
&& di.getCoverage() != null
|
||||
&& di.getCoverage().getMesh() != null) {
|
||||
|
||||
// If image is ready to go, add
|
||||
images.add(di);
|
||||
tempImages.add(di);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(tempImages.size()>0){
|
||||
images = new ArrayList(tempImages);
|
||||
}
|
||||
|
||||
mosaicImage.setImagesToMosaic(
|
||||
images.toArray(new DrawableImage[images.size()]));
|
||||
mosaicImage.setImageExtent(extent);
|
||||
|
||||
Coordinate ul = new Coordinate(extent.getMinX(), extent.getMaxY());
|
||||
Coordinate ur = new Coordinate(extent.getMaxX(), extent.getMaxY());
|
||||
Coordinate lr = new Coordinate(extent.getMaxX(), extent.getMinY());
|
||||
Coordinate ll = new Coordinate(extent.getMinX(), extent.getMinY());
|
||||
|
||||
imageCoverage = new PixelCoverage(ul, ur, lr, ll);
|
||||
}
|
||||
|
||||
mosaicImage.setContrast(
|
||||
getCapability(ImagingCapability.class).getContrast());
|
||||
mosaicImage.setBrightness(
|
||||
getCapability(ImagingCapability.class).getBrightness());
|
||||
|
||||
target.drawRaster(mosaicImage, imageCoverage, paintProps);
|
||||
if(images.size()>0){
|
||||
target.drawRasters(rscProps, images.toArray(new DrawableImage[0]));
|
||||
}
|
||||
}
|
||||
|
||||
private void initImage(IGraphicsTarget target, PaintProperties paintProps,
|
||||
|
|
Loading…
Add table
Reference in a new issue