FG1000 - Intersection Information page
This commit is contained in:
parent
63ee35becd
commit
4bf3487bd4
9 changed files with 596 additions and 20 deletions
426
Aircraft/Instruments-3d/FG1000/MFDPages/IntersectionInfo.svg
Normal file
426
Aircraft/Instruments-3d/FG1000/MFDPages/IntersectionInfo.svg
Normal file
|
@ -0,0 +1,426 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="1024px"
|
||||
height="768px"
|
||||
viewBox="0 0 1024 768"
|
||||
version="1.1"
|
||||
id="SVGRoot"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="IntersectionInfo.svg">
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#ffffff"
|
||||
borderopacity="0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="10.485676"
|
||||
inkscape:cx="777.01311"
|
||||
inkscape:cy="627.08307"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="IntersectionInfoGroup"
|
||||
showgrid="true"
|
||||
inkscape:window-width="2495"
|
||||
inkscape:window-height="1416"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-others="true"
|
||||
inkscape:snap-to-guides="true"
|
||||
inkscape:bbox-paths="false"
|
||||
inkscape:snap-nodes="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
showguides="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid4269" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs7962" />
|
||||
<metadata
|
||||
id="metadata7965">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer3"
|
||||
inkscape:label="IntersectionInfoLayer">
|
||||
<g
|
||||
inkscape:label="#g4237"
|
||||
id="IntersectionInfoGroup">
|
||||
<rect
|
||||
inkscape:label="#rect8921"
|
||||
y="53"
|
||||
x="700"
|
||||
height="690.00201"
|
||||
width="325.50195"
|
||||
id="Background"
|
||||
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99601555;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<g
|
||||
style="display:inline"
|
||||
id="IntersectionInfoNavMap"
|
||||
inkscape:label="#g4298"
|
||||
transform="matrix(1.0107527,0,0,0.99855072,-451.07514,-2.915942)">
|
||||
<rect
|
||||
inkscape:label="#rect4293"
|
||||
y="55.997097"
|
||||
x="564.99988"
|
||||
height="691.00146"
|
||||
width="573.82977"
|
||||
id="IntersectionInfoNavMap-bg"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
ry="0" />
|
||||
</g>
|
||||
<rect
|
||||
y="78.177788"
|
||||
x="705.6778"
|
||||
height="49.822212"
|
||||
width="313.64447"
|
||||
id="rect9743"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.3555429;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<g
|
||||
transform="translate(-326.99999,0.3999505)"
|
||||
style="display:inline"
|
||||
id="IntersectionInfoLegend"
|
||||
inkscape:label="#g4959">
|
||||
<rect
|
||||
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00795722;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect8420"
|
||||
width="66.992043"
|
||||
height="24.992043"
|
||||
x="959.50397"
|
||||
y="718.104" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:12.03934765px;line-height:0%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;display:inline;fill:#31ffff;fill-opacity:1;stroke:none"
|
||||
x="1059.5933"
|
||||
y="689.10815"
|
||||
id="IntersectionInfoRangeDisplay"
|
||||
transform="scale(0.93580798,1.0685953)"
|
||||
inkscape:label="RangeDisplay"
|
||||
sodipodi:linespacing="0%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5131-3-5"
|
||||
x="1059.5933"
|
||||
y="689.10815"
|
||||
style="font-size:17.55738258px;line-height:1.25;fill:#31ffff;fill-opacity:1">Zoom nm</tspan></text>
|
||||
<rect
|
||||
y="52.556103"
|
||||
x="952.10205"
|
||||
height="20.035156"
|
||||
width="74.343285"
|
||||
id="rect4216"
|
||||
style="display:inline;opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.96484423;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
ry="0" />
|
||||
<text
|
||||
inkscape:label="#text4218"
|
||||
sodipodi:linespacing="125%"
|
||||
id="IntersectionInfoOrientationDisplay"
|
||||
y="67.573685"
|
||||
x="956.10889"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
y="67.573685"
|
||||
x="956.10889"
|
||||
id="tspan4220"
|
||||
sodipodi:role="line"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed'">NORTH UP</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.35444069px;line-height:125%;font-family:Sans;-inkscape-font-specification:Sans;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="743.23895"
|
||||
y="249.65851"
|
||||
id="text4355"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.96767669,1.033403)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4357"
|
||||
x="743.23895"
|
||||
y="249.65851" /></text>
|
||||
<text
|
||||
transform="scale(0.96688562,1.0342485)"
|
||||
sodipodi:linespacing="125%"
|
||||
id="IntersectionInfoWaypointWeather"
|
||||
y="599.86566"
|
||||
x="619.31"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.36795044px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"
|
||||
inkscape:label="#text4232"><tspan
|
||||
y="599.86566"
|
||||
x="619.31"
|
||||
id="tspan11874"
|
||||
sodipodi:role="line" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="711.60352"
|
||||
y="111.96486"
|
||||
id="IntersectionInfoID"
|
||||
sodipodi:linespacing="125%"
|
||||
inkscape:label="#text4166"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4168"
|
||||
x="711.60352"
|
||||
y="111.96486">KSFOF</tspan></text>
|
||||
<rect
|
||||
y="68.950432"
|
||||
x="720.45044"
|
||||
height="19.099171"
|
||||
width="99.099144"
|
||||
id="rect9753"
|
||||
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.90082932;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text9749"
|
||||
y="83.663589"
|
||||
x="724.12842"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
y="83.663589"
|
||||
x="724.12842"
|
||||
id="tspan9751"
|
||||
sodipodi:role="line"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed'">INTERSECTION</tspan></text>
|
||||
<text
|
||||
inkscape:label="#text4166"
|
||||
sodipodi:linespacing="125%"
|
||||
id="IntersectionInfoID0"
|
||||
y="111.84229"
|
||||
x="711.60352"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
y="111.84229"
|
||||
x="711.60352"
|
||||
id="tspan4227"
|
||||
sodipodi:role="line">K</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="722.61133"
|
||||
y="111.92482"
|
||||
id="IntersectionInfoID1"
|
||||
sodipodi:linespacing="125%"
|
||||
inkscape:label="#text4166"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4232"
|
||||
x="722.61133"
|
||||
y="111.92482">S</tspan></text>
|
||||
<text
|
||||
inkscape:label="#text4166"
|
||||
sodipodi:linespacing="125%"
|
||||
id="IntersectionInfoID2"
|
||||
y="112.08986"
|
||||
x="733.61914"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
y="112.08986"
|
||||
x="733.61914"
|
||||
id="tspan4236"
|
||||
sodipodi:role="line">F</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="744.62695"
|
||||
y="111.75977"
|
||||
id="IntersectionInfoID3"
|
||||
sodipodi:linespacing="125%"
|
||||
inkscape:label="#text4166"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan9313"
|
||||
x="744.62695"
|
||||
y="111.75977">F</tspan></text>
|
||||
<text
|
||||
inkscape:label="#text4166"
|
||||
sodipodi:linespacing="125%"
|
||||
id="IntersectionInfoID4"
|
||||
y="112.00734"
|
||||
x="755.63477"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"><tspan
|
||||
y="112.00734"
|
||||
x="755.63477"
|
||||
id="tspan9317"
|
||||
sodipodi:role="line">F</tspan></text>
|
||||
<rect
|
||||
y="149.41904"
|
||||
x="705.5"
|
||||
height="108.58096"
|
||||
width="314"
|
||||
id="rect4331"
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="138.5"
|
||||
x="720.5"
|
||||
height="19"
|
||||
width="89.028687"
|
||||
id="rect4333"
|
||||
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text4335"
|
||||
y="148.21306"
|
||||
x="749.2533"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.51583004px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"
|
||||
transform="scale(0.96767669,1.033403)"><tspan
|
||||
y="148.21306"
|
||||
x="749.2533"
|
||||
id="tspan4337"
|
||||
sodipodi:role="line"
|
||||
style="stroke-width:0.967722px">INFORMATION</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="IntersectionInfoLat"
|
||||
y="204.73228"
|
||||
x="735.46173"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"
|
||||
inkscape:label="#text4232"
|
||||
transform="scale(0.96767669,1.033403)"><tspan
|
||||
y="204.73228"
|
||||
x="735.46173"
|
||||
id="tspan4361"
|
||||
sodipodi:role="line">N 56 45.29</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.9987511;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect5267"
|
||||
width="314.00122"
|
||||
height="115"
|
||||
x="705.49939"
|
||||
y="283" />
|
||||
<rect
|
||||
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#fffcfa;stroke-width:0.99999994;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect5269"
|
||||
width="93.073303"
|
||||
height="19"
|
||||
x="720.5"
|
||||
y="273.5" />
|
||||
<text
|
||||
transform="scale(0.96767669,1.033403)"
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:14.51583004px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#fffcfa;stroke-width:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="749.87598"
|
||||
y="278.8494"
|
||||
id="text5271"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
style="stroke-width:0.967722px"
|
||||
sodipodi:role="line"
|
||||
id="tspan5273"
|
||||
x="749.87598"
|
||||
y="278.8494">NEAREST VOR</tspan></text>
|
||||
<text
|
||||
transform="scale(0.96767669,1.033403)"
|
||||
inkscape:label="#text4232"
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="741.38989"
|
||||
y="306.72012"
|
||||
id="IntersectionInfoVORID"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="741.38989"
|
||||
y="306.72012"
|
||||
id="tspan5287">VOR</tspan></text>
|
||||
<text
|
||||
transform="scale(0.96767669,1.033403)"
|
||||
inkscape:label="#text4232"
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="735.46173"
|
||||
y="227.37038"
|
||||
id="IntersectionInfoLon"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5285"
|
||||
x="735.46173"
|
||||
y="227.37038">E 56 45.78</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="IntersectionInfoVORCRS"
|
||||
y="337.98062"
|
||||
x="790.56982"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"
|
||||
inkscape:label="#text4232"
|
||||
transform="scale(0.96767669,1.033403)"><tspan
|
||||
id="tspan5301"
|
||||
y="337.98062"
|
||||
x="790.56982"
|
||||
sodipodi:role="line">123</tspan></text>
|
||||
<text
|
||||
transform="scale(0.96767669,1.033403)"
|
||||
inkscape:label="#text4232"
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="790.98566"
|
||||
y="369.61911"
|
||||
id="IntersectionInfoVORDST"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="790.98566"
|
||||
y="369.61911"
|
||||
id="tspan5305">23nm</tspan></text>
|
||||
<text
|
||||
transform="scale(0.96767669,1.033403)"
|
||||
inkscape:label="#text4232"
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="735.46173"
|
||||
y="176.89583"
|
||||
id="IntersectionInfoRegion"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan9110"
|
||||
x="735.46173"
|
||||
y="176.89583">N CEN USA</tspan></text>
|
||||
<text
|
||||
transform="scale(0.96767669,1.033403)"
|
||||
inkscape:label="#text4232"
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="740.15192"
|
||||
y="338.16962"
|
||||
id="text9112"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="740.15192"
|
||||
y="338.16962"
|
||||
id="tspan9114">RAD</tspan></text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
id="text9116"
|
||||
y="369.61911"
|
||||
x="740.15192"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:19.35444069px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow Condensed';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
xml:space="preserve"
|
||||
inkscape:label="#text4232"
|
||||
transform="scale(0.96767669,1.033403)"><tspan
|
||||
id="tspan9118"
|
||||
y="369.61911"
|
||||
x="740.15192"
|
||||
sodipodi:role="line">DIS</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 23 KiB |
|
@ -65,7 +65,7 @@ getNearestAirports : func()
|
|||
},
|
||||
|
||||
# Find the nearest nav aids of a given type within 200nm, to a maximum of 25.
|
||||
getNavDataWithinRange: func(type)
|
||||
getNavDataWithinRange: func(params)
|
||||
{
|
||||
# To make this more efficient for areas with a high density of fixes, we'll try
|
||||
# a small radius first and expand until we have reached 200nm or have 25 nav aids.
|
||||
|
@ -74,7 +74,12 @@ getNavDataWithinRange: func(type)
|
|||
|
||||
while ((radius <= 200) and (size(navdata) < 25)) {
|
||||
radius = radius + 50;
|
||||
navdata = findNavaidsWithinRange(radius, type);
|
||||
if ((params["lat"] == nil) and (params["lon"] == nil)) {
|
||||
navdata = findNavaidsWithinRange(radius, params.type);
|
||||
} else {
|
||||
navdata = findNavaidsWithinRange(params.lat, params.lon, radius, params.type);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (size(navdata) > 25) {
|
||||
|
|
|
@ -130,11 +130,10 @@ setTextElement : func(symbolName, value) {
|
|||
},
|
||||
|
||||
setTextElementLat : func(symbolName, value) {
|
||||
var degrees_part = int(value);
|
||||
|
||||
if (degrees_part == nil) {
|
||||
if ((value == nil) or (int(value) == nil)) {
|
||||
me.setTextElement(symbolName, "_ __°__.__'");
|
||||
} else {
|
||||
var degrees_part = int(value);
|
||||
var minutes_part = 100.0 * (value - degrees_part);
|
||||
if (value < 0.0) {
|
||||
me.setTextElement(symbolName, sprintf("S %2d°%.2f'", -degrees_part, -minutes_part));
|
||||
|
@ -145,11 +144,10 @@ setTextElementLat : func(symbolName, value) {
|
|||
},
|
||||
|
||||
setTextElementLon : func(symbolName, value) {
|
||||
var degrees_part = int(value);
|
||||
|
||||
if (degrees_part == nil) {
|
||||
if ((value == nil) or (int(value) == nil)) {
|
||||
me.setTextElement(symbolName, "____°__.__'");
|
||||
} else {
|
||||
var degrees_part = int(value);
|
||||
var minutes_part = 100.0 * (value - degrees_part);
|
||||
if (value < 0.0) {
|
||||
me.setTextElement(symbolName, sprintf("W%3d°%.2f'", -degrees_part, -minutes_part));
|
||||
|
@ -159,6 +157,21 @@ setTextElementLon : func(symbolName, value) {
|
|||
}
|
||||
},
|
||||
|
||||
setTextElementBearing : func(symbolName, brg) {
|
||||
if ((brg == nil) or (brg == "")) {
|
||||
me.setTextElement(symbolName, "___°");
|
||||
} else {
|
||||
me.setTextElement(symbolName, sprintf("%i°", brg));
|
||||
}
|
||||
},
|
||||
|
||||
setTextElementDistance : func(symbolName, dst) {
|
||||
if ((dst == nil) or (dst == "")) {
|
||||
me.setTextElement(symbolName, "___nm");
|
||||
} else {
|
||||
me.setTextElement(symbolName, sprintf("%.1fnm", dst));
|
||||
}
|
||||
},
|
||||
|
||||
# Function to undo any colors set by display_toggle when loading a new menu
|
||||
resetMenuColors : func() {
|
||||
|
|
|
@ -26,12 +26,78 @@ var IntersectionInfo =
|
|||
],
|
||||
};
|
||||
|
||||
obj.crsrIdx = 0;
|
||||
|
||||
# Dynamic text elements in the SVG file. In the SVG these have an "IntersectionInfo" prefix.
|
||||
textelements = [
|
||||
"ID",
|
||||
"Region",
|
||||
"Lat",
|
||||
"Lon",
|
||||
"VORID",
|
||||
"VORCRS",
|
||||
"VORDST"
|
||||
];
|
||||
|
||||
obj.addTextElements(textelements);
|
||||
|
||||
# Data Entry information. Keyed from the name of the element, which must
|
||||
# be one of the textelements above. Each data element maps to a set of
|
||||
# text elements in the SVG of the form [PageName][TextElement]{0...n}, each
|
||||
# representing a single character for data entry.
|
||||
#
|
||||
# .size is the number of characters of data entry
|
||||
# .chars is the set of characters, used to scroll through using the small
|
||||
# FMS knob.
|
||||
obj.dataEntry = PFD.DataEntryElement.new(obj.pageName, svg, "ID", "", 5, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
|
||||
|
||||
obj.Map = fg1000.NavMap.new(
|
||||
obj,
|
||||
obj.getElement("NavMap"),
|
||||
#[360, 275],
|
||||
#[fg1000.MAP_PARTIAL.CENTER.X, fg1000.MAP_PARTIAL.CENTER.Y],
|
||||
[860,400],
|
||||
#"rect(345, 233, -345, -233)",
|
||||
"",
|
||||
-50,
|
||||
0,
|
||||
1);
|
||||
|
||||
obj.topMenu(device, obj, nil);
|
||||
|
||||
obj.setController(fg1000.IntersectionInfoController.new(obj, svg));
|
||||
obj.update(nil,nil);
|
||||
|
||||
return obj;
|
||||
},
|
||||
|
||||
update : func(navdata, vordata) {
|
||||
if (navdata != nil) {
|
||||
me.setTextElementLat("Lat", navdata.lat);
|
||||
me.setTextElementLon("Lon", navdata.lon);
|
||||
me.setTextElement("ID", navdata.id);
|
||||
|
||||
me.Map.getController().setPosition(navdata.lat, navdata.lon);
|
||||
me.Map.show();
|
||||
} else {
|
||||
me.setTextElementLat("Lat", nil);
|
||||
me.setTextElementLon("Lon", nil);
|
||||
me.setTextElement("ID", "#####");
|
||||
me.Map.hide();
|
||||
}
|
||||
|
||||
if (vordata != nil) {
|
||||
var crsAndDst = courseAndDistance(navdata, vordata);
|
||||
me.setTextElement("VORID", vordata.id);
|
||||
me.setTextElementBearing("VORCRS", vordata.crs);
|
||||
me.setTextElementDistance("VORDST", vordata.dst);
|
||||
} else {
|
||||
me.setTextElement("VORID", "");
|
||||
me.setTextElement("VORCRS", "");
|
||||
me.setTextElement("VORDST", "");
|
||||
}
|
||||
},
|
||||
|
||||
offdisplay : func() {
|
||||
me._group.setVisible(0);
|
||||
|
||||
|
@ -42,11 +108,16 @@ var IntersectionInfo =
|
|||
me.device.svg.getElementById(name ~ "-bg").setColorFill(0.0,0.0,0.0);
|
||||
me.device.svg.getElementById(name).setColor(1.0,1.0,1.0);
|
||||
}
|
||||
me.getElement("NavMap").setVisible(0);
|
||||
me.Map.setVisible(0);
|
||||
me.getController().offdisplay();
|
||||
},
|
||||
ondisplay : func() {
|
||||
me._group.setVisible(1);
|
||||
me.mfd.setPageTitle(me.title);
|
||||
|
||||
me.getElement("NavMap").setVisible(1);
|
||||
me.Map.setVisible(1);
|
||||
me.getController().ondisplay();
|
||||
},
|
||||
topMenu : func(device, pg, menuitem) {
|
||||
|
@ -54,6 +125,4 @@ var IntersectionInfo =
|
|||
pg.resetMenuColors();
|
||||
device.updateMenus();
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
|
|
@ -29,40 +29,101 @@ var IntersectionInfoController =
|
|||
return obj;
|
||||
},
|
||||
|
||||
|
||||
# Input Handling
|
||||
handleCRSR : func() {
|
||||
me._crsrToggle = (! me._crsrToggle);
|
||||
if (me._crsrToggle) {
|
||||
me._page.dataEntry.highlightElement();
|
||||
} else {
|
||||
me._page.hideCRSR();
|
||||
me._page.dataEntry.unhighlightElement();
|
||||
}
|
||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||
},
|
||||
handleFMSInner : func(value) {
|
||||
if (me._crsrToggle == 1) {
|
||||
# Scroll through whatever is the current list
|
||||
me._page.dataEntry.incrSmall(value);
|
||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||
} else {
|
||||
# Pass to the page group controller to display and scroll through the page group menu
|
||||
return me._page.mfd.SurroundController.handleFMSInner(value);
|
||||
}
|
||||
},
|
||||
handleFMSOuter : func(value) {
|
||||
if (me._crsrToggle == 1) {
|
||||
me._page.dataEntry.incrLarge(value);
|
||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||
} else {
|
||||
# Pass to the page group controller to display and scroll through the page group menu
|
||||
return me._page.mfd.SurroundController.handleFMSOuter(value);
|
||||
}
|
||||
},
|
||||
handleEnter : func(value) {
|
||||
if (me._crsrToggle == 1) {
|
||||
var id = me._page.dataEntry.enterElement();
|
||||
me.getIntersection(id);
|
||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||
} else {
|
||||
return emesary.Transmitter.ReceiptStatus_NotProcessed;
|
||||
}
|
||||
},
|
||||
handleClear : func(value) {
|
||||
if (me._crsrToggle == 1) {
|
||||
me._page.dataEntry.clearElement();
|
||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||
} else {
|
||||
return emesary.Transmitter.ReceiptStatus_NotProcessed;
|
||||
}
|
||||
},
|
||||
handleRange : func(val)
|
||||
{
|
||||
# Pass any range entries to the NavMapController
|
||||
me._page.Map.handleRange(val);
|
||||
},
|
||||
|
||||
# Retrieve intersection information for the provided id and display it.
|
||||
getIntersection : func(id) {
|
||||
var navdata = nil;
|
||||
var vordata = nil;
|
||||
|
||||
# Use Emesary to get the intersection
|
||||
var notification = notifications.PFDEventNotification.new(
|
||||
"MFD",
|
||||
me.getDeviceID(),
|
||||
notifications.PFDEventNotification.NavData,
|
||||
{Id: "NavAidByID", Value: { id: id, type : "fix" } } );
|
||||
|
||||
var response = me._transmitter.NotifyAll(notification);
|
||||
var retval = notification.EventParameter.Value;
|
||||
|
||||
if ((!me._transmitter.IsFailed(response)) and (size(retval) > 0)) {
|
||||
|
||||
# Simply take the first value. Should handle duplicates.
|
||||
navdata = retval[0];
|
||||
|
||||
# Get the nearest VOR to the intersection
|
||||
var params = { lat: navdata.lat,
|
||||
lon: navdata.lon,
|
||||
type : "vor" };
|
||||
|
||||
notification = notifications.PFDEventNotification.new(
|
||||
"MFD",
|
||||
me.getDeviceID(),
|
||||
notifications.PFDEventNotification.NavData,
|
||||
{Id: "NavDataWithinRange", Value: params });
|
||||
|
||||
response = me._transmitter.NotifyAll(notification);
|
||||
retval = notification.EventParameter.Value;
|
||||
|
||||
if ((!me._transmitter.IsFailed(response)) and (size(retval) > 0)) {
|
||||
var crsAndDst = courseAndDistance(navdata, retval[0]);
|
||||
vordata = {};
|
||||
vordata.id = retval[0].id;
|
||||
vordata.crs = crsAndDst[0];
|
||||
vordata.dst = crsAndDst[1];
|
||||
}
|
||||
}
|
||||
|
||||
# Display the retrieved data.
|
||||
me._page.update(navdata, vordata);
|
||||
},
|
||||
|
||||
# Reset controller if required when the page is displayed or hidden
|
||||
ondisplay : func() {
|
||||
|
@ -72,4 +133,6 @@ var IntersectionInfoController =
|
|||
me.DeRegisterWithEmesary();
|
||||
},
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
|
|
@ -99,7 +99,7 @@ var NearestIntersectionsController =
|
|||
"MFD",
|
||||
me.getDeviceID(),
|
||||
notifications.PFDEventNotification.NavData,
|
||||
{Id: "NavDataWithinRange", Value: type});
|
||||
{Id: "NavDataWithinRange", Value: { type: type } });
|
||||
|
||||
var response = me._transmitter.NotifyAll(notification);
|
||||
|
||||
|
|
|
@ -99,7 +99,7 @@ var NearestNDBController =
|
|||
"MFD",
|
||||
me.getDeviceID(),
|
||||
notifications.PFDEventNotification.NavData,
|
||||
{Id: "NavDataWithinRange", Value: type});
|
||||
{Id: "NavDataWithinRange", Value: { type : type } });
|
||||
|
||||
var response = me._transmitter.NotifyAll(notification);
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ var NearestVORController =
|
|||
"MFD",
|
||||
me.getDeviceID(),
|
||||
notifications.PFDEventNotification.NavData,
|
||||
{Id: "NavDataWithinRange", Value: type});
|
||||
{Id: "NavDataWithinRange", Value: { type: type } });
|
||||
|
||||
var response = me._transmitter.NotifyAll(notification);
|
||||
|
||||
|
|
|
@ -266,7 +266,7 @@ var NavMap = {
|
|||
me._map.show();
|
||||
},
|
||||
hide : func() {
|
||||
me._map.hide();
|
||||
if (me._map != nil) me._map.hide();
|
||||
if (NavMap.LAZY_LOADING) me._map = nil;
|
||||
},
|
||||
setVisible : func(visible) {
|
||||
|
@ -274,7 +274,7 @@ var NavMap = {
|
|||
if (NavMap.LAZY_LOADING) me.createMapElement();
|
||||
me._map.setVisible(visible);
|
||||
} else {
|
||||
me._map.setVisible(visible);
|
||||
if (me._map != nil) me._map.setVisible(visible);
|
||||
if (NavMap.LAZY_LOADING) me._map = nil;
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue