missioncommand / mil-sym-java

(RETIRED) MIL-STD-2525 B and C rendering library and web service
Apache License 2.0
67 stars 36 forks source link

Using linecolor parameter with antipersonnel mines changes fill color #79

Closed JayCush closed 5 years ago

JayCush commented 7 years ago

I'm performing the following call as a test:

http://myserver:XXXX/mil-sym-service/renderer/image/GNMPOMP-------X?linecolor=0x00FF00

I'm noticing that this is changing the fill color instead of the line color. The line color ends up as always black as a result.

Per the USAS, the line color should always be green:

10.40.2 SIDC: G*MPOMP---****X 10.40.3 Graphic Line Color: Green (regardless of affiliation). 1 0.40.4 Graphic Fill Color: Green (regardless of affiliation)

If it is possible that I'm calling this incorrectly, please let me know.

michael-spinelli commented 7 years ago

image So the black is the outline which changes between black and white depending on the symbol color for the highest contrast possible. This is to increase visibility against the map.

If a color override is not passed, obstacles will be returned from the renderer as green, regardless of affiliation. However, users can override any symbol color except for METOCs.

For C2 tactical symbology, only action points and maybe a few others are considered to have a fill color. All the rest use line color exclusively. https://github.com/missioncommand/mil-sym-java/blob/master/core/JavaRendererUtils/src/main/java/ArmyC2/C2SD/Utilities/SymbolUtilities.java#L2990

JayCush commented 7 years ago

The USAS doesn't show the contrast outline in their example image so this outline deviates from the standard. We will report this difference to our testers, but an override option for this contrast line would be a benefit to those wishing to follow the spec exactly.

michael-spinelli commented 7 years ago

So a way you could do it is pass icon=true&keepunitratio=true as one of the values to the server. or keepunitratio can be false. It's just that when icon=true, keepunitratio default changes from true to false unless specified otherwise. And the icon image will be a sqaure so you may have a little dead space on the sides. If you need this right now, I think this is your best bet. When I have more time see if there are better options or if this would require a code change.

michael-spinelli commented 7 years ago

This is simpler: &OUTLINECOLOR=00000000

make the outline transparent

JayCush commented 7 years ago

Thank you! We will try this...