In contrast to for example SHP data or GeoJSON data, the supported military symbology standards do not define a data format for storing military symbologies.
As such, when working with military symbology data we create the ILcdModel
through code and not by using an ILcdModelDecoder
:
You can use the NVG (Nato Vector Graphics) data format if you want to (re)store military symbols from/to persistent storage. |
In the following example, we create an APP6A model containing a single element:
// Create a model with a model reference and model descriptor.
// To indicate that a model contains APP-6A objects, the class
// TLcdAPP6AModelDescriptor can be used as model descriptor.
TLcdVectorModel app6AModel = new TLcdVectorModel(new TLcdGeodeticReference());
app6AModel.setModelDescriptor(new TLcdAPP6AModelDescriptor(null, "APP-6A", "APP-6A", null));
// Create an APP-6A symbol: an unmanned aerial vehicle unit. This symbol has one point
// that indicates its position. When a symbol is created, the minimum number of points
// needed to draw the symbol is created.
// A value for the text modifier "Unique Designation" is also set.
TLcdEditableAPP6AObject object =
new TLcdEditableAPP6AObject("STGAUCVU----USG", ELcdAPP6Standard.APP_6A);
object.move2DPoint(0, 27, 46); // Move the object
object.putTextModifier(ILcdAPP6ACoded.sUniqueDesignation, "Regular");
app6AModel.addElement(object, ILcdFireEventMode.NO_EVENT);
This guide uses the APP-6A symbology to describe the military symbology functionality. The functionality available for MIL-STD 2525b is exactly the same. You just need to substitute In addition, the LuciadLightspeed support for APP-6B, APP-6C, APP-6D, MIL-STD 2525c and MIL-STD 2525d standards relies on the same APIs as its support for the APP-6A and MIL-STD 2525b standards. This means that you can use the APP-6A API in the same way for APP-6B, APP-6C and APP-6D symbology, and that you can use the MIL-STD 2525b API for MIL-STD 2525c and MIL-STD 2525d symbology. |