Home
Categories
Dictionary
Glossary
Download
Project Details
Changes Log
What Links Here
FAQ
License

ARINC661 symbol definition library



The Symbol Definition Library (or SDL) is a library of commands which can be used to create reusable symbols in a Definition File. These reusable symbols can be used by referencing them in two specific widgets: A661_SYMBOL and A661_SYMBOL_ANIMATED.

Symbol Table

Each Definition File can contain one Symbol Table, which will contain Symbols. The Symbol Table (if present) will be found before the Layers definitions.

Global Symbol Table

It is possible to define a Global symbol Table file which will be used by all Definition Files. Which means that to retrieve a Symbol, the Server algorithm will be:
  • If there is a Symbol with the specified reference define in the Definition File Symbol Table, use this Symbol
  • Else if there is a Global Symbol with this specified reference, use this Symbol
Example: Suppose that we have a Global symbol Table with the definition of 2 Symbols:
  • Ref 1: Global Symbol 1
  • Ref 4: Global Symbol 4
And a Definition File with the definition of 2 Symbols:
  • Ref 1: DF Symbol 1
  • Ref 2: DF Symbol 2


The following references will point to the specified associated Symbols:
  • Ref 1 will point to the DF Symbol 1
  • Ref 2 will point to the DF Symbol 2
  • Ref 4 will point to the Global Symbol 4

Definition of a symbol

Each symbol is defined by using a set of the SDL Symbol Commands.

Symbol Commands

Symbol Commands are the building blocks for Symbols.

Example

Example of one reusable symbol called Symbol1, used once in the unique layer of the Definition File.

      <a661_df name="MultiLayers" library_version="0" supp_version="2">
         <model>
            <prop name="ApplicationId" value="1"/>
         </model>
         <symboltable>
            <symboldefn name="Symbol1">
               <model>
                  <prop name="Id" value="1"/>
               </model>
               <stdrepr>
                  <symboldefncmd name="A661SymPolyline_1" type="A661_SYMBOL_DEFN_POLYLINE">
                     <model>
                        <prop name="NumVertices" value="4"/>
                        <prop name="Closed" value="A661_FALSE"/>
                        <prop name="UnusedPad" value="0"/>
                        <prop name="UnusedPad2" value="0"/>
                        <arrayprop name="Vertices">
                           <xyentry x="-355" y="-720"/>
                           <xyentry x="-355" y="-1076"/>
                           <xyentry x="355" y="-1076"/>
                           <xyentry x="355" y="-720"/>
                        </arrayprop>
                     </model>
                  </symboldefncmd>
                  <symboldefncmd name="A661SymArcCircle_5" type="A661_SYMBOL_DEFN_ARC_CIRCLE">
                     <model>
                        <prop name="Filled" value="A661_FALSE"/>
                        <prop name="UnusedPad" value="0"/>
                        <prop name="PosX" value="0"/>
                        <prop name="PosY" value="0"/>
                        <prop name="Radius" value="800"/>
                        <prop name="StartAngle" value="-180"/>
                        <prop name="EndAngle" value="180"/>
                     </model>
                  </symboldefncmd>
               </stdrepr>
            </symboldefn>
         </symboltable>
         <a661_layer name="layer">
            <model>
               <prop name="LayerId" value="71"/>
               <prop name="ContextNumber" value="0"/>
               <prop name="Height" value="10000"/>
               <prop name="Width" value="10000"/>
            </model>
            <a661_widget name="Panel2" type="A661_PANEL">
               <model>
                  <prop name="WidgetIdent" value="1"/>
                  <prop name="Enable" value="A661_TRUE"/>
                  <prop name="Visible" value="A661_TRUE"/>
                  <prop name="PosX" value="0"/>
                  <prop name="PosY" value="0"/>
                  <prop name="SizeX" value="10000"/>
                  <prop name="SizeY" value="10000"/>
                  <prop name="StyleSet" value="0"/>
               </model>
               <a661_widget name="Symbol_1" type="A661_SYMBOL">
                  <model>
                     <prop name="WidgetIdent" value="51"/>
                     <prop name="Visible" value="A661_TRUE"/>
                     <prop name="PosX" value="1000"/>
                     <prop name="PosY" value="1000"/>
                     <prop name="RotationAngle" value="0"/>
                     <prop name="StyleSet" value="0"/>
                     <prop name="SymbolReference" value="Symbol1"/>
                     <prop name="ColorIndex" value="green"/>
                  </model>
               </a661_widget>
            </a661_widget>
         </a661_layer>
      </a661_df>

See also


Categories: builtin-applis | uaappli

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