Home
Categories
Dictionary
Download
Project Details
Changes Log
Who We Are
FAQ
License

MapItems



A MapItem is a dynamic element that can be presented in a vertical or horizontal Map Widget. A MapItem contains:
  • A header which defines the ID and the type of the MapItem
  • A content defining the characteristics of the MapItem, including its coordinates (assumed to be defined according to the MapSource parent projection system)

MapItem types

The standard defines several types of MapItems:
  • MapItems defined in the coordinate system of the MapSource which is parent of the MapItemList:
    • Lines (A661_LINE_START, A661_LINE_SEGMENT, and A661_LINE_ARC)
    • Legends position (A661_LEGEND_ANCHOR)
    • Geometric figures (A661_SYMBOL_CIRCLE, A661_SYMBOL_OVAL, and A661_FILLED_POLY_START)
    • Symbols (A661_SYMBOL_GENERIC, A661_SYMBOL_ROTATED, A661_SYMBOL_RUNWAY, and A661_SYMBOL_TARGET)
  • MapItems which are not defined in a coordinate system:
    • ItemStyle assignment: A661_ITEM_STYLE. It allows to define a style for all subsequent MapItems (similar to StyleSet for widgets)
    • Legends text (A661_LEGEND and A661_LEGEND_POP_UP)
    • The specific synchronization MapItem (A661_ITEM_SYNCHRONIZATION)
Of these definitions, only the A661_ITEM_SYNCHRONIZATION and A661_ITEM_STYLE MapItems do not correspond to "real-world" objects. All the other MapItems have to be positioned in the Map. A661_NOT_USED is a MapItem sent at runtime, but this special MapItem is sent to signify that the MapItem with its number has been deleted. As such, it will never correspond to a symbol in the map.
Beware that all elements, including lines and geometric figure, are not defined in 1/100 of millimeter, like all other widgets, but in real world coordinates according to the MapSource parent projection system.

Interactive MapItems


Most of MapItems come with two types with the same properties:
  • The first one does not allow to select the MapItem
  • The second one, having the "INTERACTIVE" pattern at the end of its name, does allow to select the MapItem
For example the A661_SYMBOL_GENERIC MapItems has the associated A661_SYMBOL_GENERIC_INTERACTIVE MapItem for selection.

The selection of a MapItem will send a A661_EVT_SELECTION event associated with the MapItem index in the A661_MAPHORZ_ITEMLIST widget.
Note that what the selection of a MapItem means is implementation dependant. The standard does not specify if simply hovering over the mapItem will trigger the selection, or if a click is necessary.

Runtime protocol

Each MapItem definition is aligned to a 32 bits size. MapItems whose definition could be smaller are padded to have this size. Legend MapItems also have a maximum of 32 bits, meaning that the definition for a legend can span on more than one MapItem.

EndFlag Parameter

The EndFlag parameter is a way to define coherent groups of MapItems related to each other. See for example the definition for the 661_SYMBOL_GENERIC MapItem:
   <mapItem arincID="A661_SYMBOL_GENERIC" mapType="mapHorz" hexID="0x28" >
     <mapItemAttr name="EndFlag" arincID="_ENDFLAG" />
     <mapItemAttr name="SymbolType" arincID="_SYMBOLTYPE" />
     <mapItemAttr name="RelativePosition" arincID="_TRUEFALSE" relative="true" />
     <pad size="uchar" />
     <mapItemAttr name="X/Lat/Range" coord="X" arincID="_XLATRANGE" />
     <mapItemAttr name="Y/Lng/Bearing" coord="Y" arincID="_YLNGBEARING" />
   </mapItem>
If we have the following content in the runtime protocol:
  • A A661_SYMBOL_GENERIC with EndFlag to false,
  • Followed by one A661_LEGEND with EndFlag to false,
  • Followed by one A661_LEGEND with EndFlag to true
It will be interpreted by the CDS as one symbol having two legends.

Types of MapItems

Symbols

Several MapItems represent symbols:
  • A661_SYMBOL_GENERIC represent a symbol, not rotated and without any movable part,
  • A661_SYMBOL_ROTATED represent a symbol, rotated and without any movable part,
  • A661_SYMBOL_TARGET represent a symbol, not rotated and with a movable part of a variable length alongside the orientation of the symbol
All these symbols have a SymbolType, which define how the symbol will be drawn (for example, certain SymbolTypes will denote an aircraft symbol, others a waypoint symbol, etc...). Example:
   <mapItem arincID="A661_SYMBOL_GENERIC" mapType="mapVert" hexID="0x28" >
      <mapItemAttr name="EndFlag" arincID="_ENDFLAG" />
      <mapItemAttr name="SymbolType" arincID="_SYMBOLTYPE" />
      <mapItemAttr name="RelativePosition" arincID="_TRUEFALSE" relative="true" />
      <pad size="uchar" />
      <mapItemAttr name="X" coord="X" arincID="_X" />
      <mapItemAttr name="Y" coord="Y" arincID="_Y" />
   </mapItem>

NotUsed

The A661_NOT_USED MapItem allows to remove a MapItem from its MapItemList.

ItemStyle

The ItemStyle MapItem is a MapItem which does not correspond to any real-world object. It is used to define a Style with which the MapItems which will follow will be drawn. This style is a kind of Look definition for the MapItems.

Legend MapItems

The case of A661_LEGEND and A661_LEGEND_POP_UP is specific in that the Legends are positioned in the coordinate system of the MapSource, but their position is defined in the previous A661_LEGEND_ANCHOR. A661_LEGEND and A661_LEGEND_ANCHOR only define the text of the current legend (positioned by the last A661_LEGEND_ANCHOR).
   <mapItem arincID="A661_LEGEND" hexID="0x21" >
      <mapItemAttr name="EndFlag" arincID="_ENDFLAG" />
      <mapItemAttr name="LegendString" arincID="_STRING" />
   </mapItem>
Note that a MapItem size in the protocol can not span more than 32 bits, meaning that a text containing more than 16 characters will have to span on more than one A661_LEGEND MapItem. In all cases, the end of the actual text will contain one NULL (0) characters, possibly padded to reach the 32 bits limit.

See also


Categories: arinc661 | maps | user

Copyright 2016-2017 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v2 licence