Why do it?

Lucy supports several military symbology standards: APP-6A, APP-6B, APP-6C, APP-6D, MIL-STD 2525B, MIL-STD 2525C, and MIL-STD 2525D. Typically, the users of your Lucy-based application are supposed to use just one of those standards, so they don’t need access to the other standards. The Lucy application framework allows you to set up access to one standard only, and to remove the others from view.

How to do it?

While the Lucy application supports all the standards in the list above, it is configured to support only one of the APP-6 and one of the MIL-STD 2525 standards at the same time. By default, Lucy is configured to use APP-6D and MIL-STD 2525D. You can find that configuration in the configuration files of the TLcyAPP6AAddOn and the TLcyMS2525bAddOn: app6aaddon.cfg and ms2525baddon.cfg.

The relevant properties for a symbology switch are very similar for both add-ons:

  • The xxx.symbology property defines which symbology will be used. The comments with that property explain the different values allowed.

  • The xxx.favoritesAction.config property defines which symbols which are displayed in the Favorites tool bar by default. The Favorites tool bar contain the actions to create new symbols on the map. The value of the configuration file property is a list of military symbol codes, and those codes must belong to the symbology selected in the xxx.symbology property.

Switching between versions

To switch symbology set versions, you need to modify the configuration files as follows:

  • Switching from the default APP6D to APP6C:

    Modifications to app6aaddon.cfg
    TLcyAPP6AAddOn.APP6AFormat.symbology = app6c
    # No need to change the favorites because the codes in the configuration file can be used for both APP6D and APP6C
  • Switching from the default APP6D to APP6B:

    Modifications to app6aaddon.cfg
    TLcyAPP6AAddOn.APP6AFormat.symbology = app6b
    # By default, the favorites are configured with APP6D symbol codes, which are not compatible with APP6B
    # Therefore we define new favorites using APP6A/APP6B codes
    TLcyAPP6AAddOn.favoritesAction.config = S*A*--------**X, S*G*--------**X, G*T*GB------***, W*A*TL------***, W*A*WJ------***
  • Switching from the default APP6D to APP6A:

    Modifications to app6aaddon.cfg
    TLcyAPP6AAddOn.APP6AFormat.symbology = app6a
    # By default, the favorites are configured with APP6D symbol codes, which are not compatible with APP6A
    # Therefore we define new favorites using APP6A/APP6B codes
    TLcyAPP6AAddOn.favoritesAction.config = S*A*--------**X, S*G*--------**X, G*T*GB------***, W*A*TL------***, W*A*WJ------***
  • Switching from the default MS2525D to MS2525C:

    Modifications to ms2525baddon.cfg
    TLcyMS2525bAddOn.MS2525bFormat.symbology=ms2525c
    # By default, the favorites are configured with MS2525D symbol codes, which are not compatible with MS2525C
    # Therefore we define new favorites using MS2525C codes
    TLcyMS2525bAddOn.favoritesAction.config = S*A*--------**X, S*G*--------**X, G*T*B-------**X, O*V*A-------**X, WA-DWJ-----L---
  • Switching from the default MS2525D to MS2525B:+

    Modifications to ms2525baddon.cfg
    TLcyMS2525bAddOn.MS2525bFormat.symbology=ms2525b
    # By default, the favorites are configured with MS2525D symbol codes, which are not compatible with MS2525B
    # Therefore we define new favorites using MS2525B codes
    TLcyMS2525bAddOn.favoritesAction.config = S*A*--------**X, S*G*--------**X, G*T*B-------**X, O*V*A-------**X, WA-DWJ-----L---

Swapping symbology sets

In most applications, there is no need to support both the APP6 and MS2525 symbologies. Only one of the two is sufficient. The same applies to the map-centric version of Lucy: in the UI of map-centric Lucy, it makes better sense to make only one symbology available. By including the APP6 add-ons and excluding the MS2525 add-ons, or the other way around, you decide which of the two symbology sets is supported in your application:

  • To support only APP6 in Lucy(GXY), change the addons.xml file as follows:

    <!-- exclude the MS2525 addons -->
    <addon>
      <exclude/>
      <class>com.luciad.lucy.addons.milstd2525b.TLcyMS2525bAddOn</class>
    </addon>
    <addon>
      <exclude/>
      <class>com.luciad.lucy.addons.milstd2525b.lightspeed.TLcyLspMS2525bAddOn</class>
    </addon>
    
    <!-- The addons.xml file already includes the APP6 add-ons, so no extra steps are needed to include those. -->
    <!-- Unless you want to use a custom configuration file. In that case you have to specify that custom configuration file. -->
    <!-- For more information, see the "How to adjust a Lucy configuration file" article linked above. -->
  • To support MS2525 in Lucy(GXY), change the addons.xml file as follows:

    <!-- exclude the APP6 addons -->
    <addon>
      <exclude/>
      <class>com.luciad.lucy.addons.app6a.TLcyAPP6AAddOn</class>
    </addon>
    <addon>
      <exclude/>
      <class>com.luciad.lucy.addons.app6a.lightspeed.TLcyLspAPP6AAddOn</class>
    </addon>
    
    <!-- The addons.xml file already includes the MS2525 add-ons, so no extra steps are needed to include thoses -->
    <!-- Unless you want to use a custom configuration file. In that case, you have to specify that custom configuration file. -->
    <!-- For more information, see the "How to adjust a Lucy configuration file" article linked above. -->
  • LucyMapCentric activates the MS2525 symbology by default. Activating APP6 in LucyMapCentric requires the following change to the map_centric_addons.xml file:

    <!-- Exclude the MS2525 add-ons -->
    <addon>
      <exclude/>
      <class>com.luciad.lucy.addons.milstd2525b.TLcyMS2525bAddOn</class>
    </addon>
    <addon>
      <exclude/>
      <class>com.luciad.lucy.addons.milstd2525b.lightspeed.TLcyLspMS2525bAddOn</class>
    </addon>
    <!-- The APP6 add-ons were excluded in the map_centric_addons.xml file. Re-include them.  -->
    <addon>
      <priority>data_producer</priority>
      <name>APP6A</name>
      <class>com.luciad.lucy.addons.app6a.TLcyAPP6AAddOn</class>
      <configFile>lucy/app6a/app6aaddon.cfg</configFile>
    </addon>
    <!-- Note the map-centric specific configuration file that is used for the Lightspeed APP6 add-on -->
    <addon>
      <priority>data_producer</priority>
      <name>Lightspeed APP6A</name>
      <class>com.luciad.lucy.addons.app6a.lightspeed.TLcyLspAPP6AAddOn</class>
      <configFile>samples/frontend/mapcentric/app6/map_centric_app6addon.cfg</configFile>
    </addon>