Implement Nearest Intersections page.
This commit is contained in:
parent
655c8719dc
commit
4c3c5cde63
6 changed files with 1040 additions and 28 deletions
790
Aircraft/Instruments-3d/FG1000/Models/NearestIntersections.svg
Normal file
790
Aircraft/Instruments-3d/FG1000/Models/NearestIntersections.svg
Normal file
|
@ -0,0 +1,790 @@
|
||||||
|
<?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="NearestIntersections.svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="2.5726105"
|
||||||
|
inkscape:cx="935.29615"
|
||||||
|
inkscape:cy="433.27197"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="NearestIntersectionsGroup"
|
||||||
|
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="NearestIntersectionsLayer">
|
||||||
|
<g
|
||||||
|
inkscape:label="#g4237"
|
||||||
|
id="NearestIntersectionsGroup">
|
||||||
|
<rect
|
||||||
|
inkscape:label="#rect8921"
|
||||||
|
y="53.505371"
|
||||||
|
x="724.50537"
|
||||||
|
height="688.98926"
|
||||||
|
width="309.98926"
|
||||||
|
id="Background"
|
||||||
|
style="opacity:1;fill:#1a3030;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.01074231;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
y="77.683525"
|
||||||
|
x="730.68347"
|
||||||
|
height="264.61694"
|
||||||
|
width="288.63297"
|
||||||
|
id="rect9743"
|
||||||
|
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.39907384;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<rect
|
||||||
|
y="67.398781"
|
||||||
|
x="745.3988"
|
||||||
|
height="20.202429"
|
||||||
|
width="84.190727"
|
||||||
|
id="rect9753"
|
||||||
|
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="text9749"
|
||||||
|
y="80.307159"
|
||||||
|
x="774.57446"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.51583004px;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:0.967722px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
xml:space="preserve"
|
||||||
|
transform="scale(0.96767669,1.033403)"><tspan
|
||||||
|
y="80.307159"
|
||||||
|
x="774.57446"
|
||||||
|
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';stroke-width:0.967722px">NEAREST INT</tspan><tspan
|
||||||
|
y="98.45195"
|
||||||
|
x="774.57446"
|
||||||
|
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';stroke-width:0.967722px"
|
||||||
|
id="tspan4878" /></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsID0"
|
||||||
|
y="103.49844"
|
||||||
|
x="794.41644"
|
||||||
|
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.96767632,1.0334034)"><tspan
|
||||||
|
y="103.49844"
|
||||||
|
x="794.41644"
|
||||||
|
id="tspan4242"
|
||||||
|
sodipodi:role="line">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
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="908.79016"
|
||||||
|
y="103.49844"
|
||||||
|
id="NearestIntersectionsCRS0"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(0.96767632,1.0334034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4253"
|
||||||
|
x="908.79016"
|
||||||
|
y="103.49844">359</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsDST0"
|
||||||
|
y="104.30227"
|
||||||
|
x="1031.7998"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;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.96767632,1.0334034)"><tspan
|
||||||
|
y="104.30227"
|
||||||
|
x="1031.7998"
|
||||||
|
id="tspan4257"
|
||||||
|
sodipodi:role="line">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 740.43792,98.041859 0,4.062081 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.124308 0,4.062057 z"
|
||||||
|
id="NearestIntersectionsArrow0"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:label="#path4259" />
|
||||||
|
<rect
|
||||||
|
y="365.05319"
|
||||||
|
x="730.44775"
|
||||||
|
height="67.499069"
|
||||||
|
width="289.10455"
|
||||||
|
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="353.10547"
|
||||||
|
x="745.5"
|
||||||
|
height="20.02869"
|
||||||
|
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="357.03204"
|
||||||
|
x="775.05835"
|
||||||
|
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="357.03204"
|
||||||
|
x="775.05835"
|
||||||
|
id="tspan4337"
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="stroke-width:0.967722px">INFORMATION</tspan></text>
|
||||||
|
<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="753.573"
|
||||||
|
y="249.65851"
|
||||||
|
id="text4355"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(0.96767669,1.033403)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4357"
|
||||||
|
x="753.573"
|
||||||
|
y="249.65851" /></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsLat"
|
||||||
|
y="381.66174"
|
||||||
|
x="760.81995"
|
||||||
|
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="381.66174"
|
||||||
|
x="760.81995"
|
||||||
|
id="tspan4361"
|
||||||
|
sodipodi:role="line">N 56 45.29</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="opacity:1;fill:#c0c0c0;fill-opacity:1;fill-rule:nonzero;stroke:#c0c0c0;stroke-width:1.35785162;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="NearestIntersectionsScrollTrough"
|
||||||
|
width="4.6345778"
|
||||||
|
height="248.64197"
|
||||||
|
x="1010.6788"
|
||||||
|
y="83.679108"
|
||||||
|
inkscape:label="#rect4231" />
|
||||||
|
<rect
|
||||||
|
inkscape:label="#rect4231"
|
||||||
|
y="83.481094"
|
||||||
|
x="1010.4811"
|
||||||
|
height="115.03781"
|
||||||
|
width="5.0298772"
|
||||||
|
id="NearestIntersectionsScrollThumb"
|
||||||
|
style="opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:#808080;stroke-width:0.96218586;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot5077"
|
||||||
|
style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Sans;font-style:normal;font-weight:normal;font-size:20px;line-height:125%;letter-spacing:0px;word-spacing:0px;-inkscape-font-specification:Sans;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr"><flowRegion
|
||||||
|
id="flowRegion5079"><rect
|
||||||
|
id="rect5081"
|
||||||
|
width="365"
|
||||||
|
height="275"
|
||||||
|
x="695"
|
||||||
|
y="93" /></flowRegion><flowPara
|
||||||
|
id="flowPara5083"></flowPara></flowRoot> <text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
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="794.41644"
|
||||||
|
y="124.86945"
|
||||||
|
id="NearestIntersectionsID1"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5087"
|
||||||
|
x="794.41644"
|
||||||
|
y="124.86945">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsCRS1"
|
||||||
|
y="124.86945"
|
||||||
|
x="908.79016"
|
||||||
|
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"><tspan
|
||||||
|
y="124.86945"
|
||||||
|
x="908.79016"
|
||||||
|
id="tspan5091"
|
||||||
|
sodipodi:role="line">359</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
inkscape:label="#text4232"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="1031.7998"
|
||||||
|
y="125.67334"
|
||||||
|
id="NearestIntersectionsDST1"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5095"
|
||||||
|
x="1031.7998"
|
||||||
|
y="125.67334">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
inkscape:label="#path4259"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="NearestIntersectionsArrow1"
|
||||||
|
d="m 740.43792,120.12679 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsID2"
|
||||||
|
y="146.24054"
|
||||||
|
x="794.41644"
|
||||||
|
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.96767632,1.0334034)"><tspan
|
||||||
|
y="146.24054"
|
||||||
|
x="794.41644"
|
||||||
|
id="tspan5101"
|
||||||
|
sodipodi:role="line">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
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="908.79016"
|
||||||
|
y="146.24054"
|
||||||
|
id="NearestIntersectionsCRS2"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(0.96767632,1.0334034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5105"
|
||||||
|
x="908.79016"
|
||||||
|
y="146.24054">359</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsDST2"
|
||||||
|
y="147.04431"
|
||||||
|
x="1031.7998"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;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.96767632,1.0334034)"><tspan
|
||||||
|
y="147.04431"
|
||||||
|
x="1031.7998"
|
||||||
|
id="tspan5109"
|
||||||
|
sodipodi:role="line">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 740.43792,142.21169 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
id="NearestIntersectionsArrow2"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:label="#path4259" />
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
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="794.41644"
|
||||||
|
y="167.61153"
|
||||||
|
id="NearestIntersectionsID3"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5115"
|
||||||
|
x="794.41644"
|
||||||
|
y="167.61153">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsCRS3"
|
||||||
|
y="167.61153"
|
||||||
|
x="908.79016"
|
||||||
|
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"><tspan
|
||||||
|
y="167.61153"
|
||||||
|
x="908.79016"
|
||||||
|
id="tspan5119"
|
||||||
|
sodipodi:role="line">359</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
inkscape:label="#text4232"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="1031.7998"
|
||||||
|
y="168.41536"
|
||||||
|
id="NearestIntersectionsDST3"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5123"
|
||||||
|
x="1031.7998"
|
||||||
|
y="168.41536">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
inkscape:label="#path4259"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="NearestIntersectionsArrow3"
|
||||||
|
d="m 740.43792,164.29659 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsID4"
|
||||||
|
y="188.9826"
|
||||||
|
x="795.09454"
|
||||||
|
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.96767632,1.0334034)"><tspan
|
||||||
|
y="188.9826"
|
||||||
|
x="795.09454"
|
||||||
|
id="tspan5129"
|
||||||
|
sodipodi:role="line">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
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="909.46826"
|
||||||
|
y="188.9826"
|
||||||
|
id="NearestIntersectionsCRS4"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(0.96767632,1.0334034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5133"
|
||||||
|
x="909.46826"
|
||||||
|
y="188.9826">359</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsDST4"
|
||||||
|
y="189.78644"
|
||||||
|
x="1032.4779"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;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.96767632,1.0334034)"><tspan
|
||||||
|
y="189.78644"
|
||||||
|
x="1032.4779"
|
||||||
|
id="tspan5137"
|
||||||
|
sodipodi:role="line">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 741.0941,186.38149 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
id="NearestIntersectionsArrow4"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:label="#path4259" />
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
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="795.09454"
|
||||||
|
y="210.35364"
|
||||||
|
id="NearestIntersectionsID5"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5143"
|
||||||
|
x="795.09454"
|
||||||
|
y="210.35364">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsCRS5"
|
||||||
|
y="210.35364"
|
||||||
|
x="909.46826"
|
||||||
|
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"><tspan
|
||||||
|
y="210.35364"
|
||||||
|
x="909.46826"
|
||||||
|
id="tspan5147"
|
||||||
|
sodipodi:role="line">359</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
inkscape:label="#text4232"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="1032.4779"
|
||||||
|
y="211.15747"
|
||||||
|
id="NearestIntersectionsDST5"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5151"
|
||||||
|
x="1032.4779"
|
||||||
|
y="211.15747">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
inkscape:label="#path4259"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="NearestIntersectionsArrow5"
|
||||||
|
d="m 741.0941,208.4664 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsID6"
|
||||||
|
y="231.72469"
|
||||||
|
x="795.09454"
|
||||||
|
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.96767632,1.0334034)"><tspan
|
||||||
|
y="231.72469"
|
||||||
|
x="795.09454"
|
||||||
|
id="tspan5157"
|
||||||
|
sodipodi:role="line">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
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="909.46826"
|
||||||
|
y="231.72469"
|
||||||
|
id="NearestIntersectionsCRS6"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(0.96767632,1.0334034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5161"
|
||||||
|
x="909.46826"
|
||||||
|
y="231.72469">359</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsDST6"
|
||||||
|
y="232.52846"
|
||||||
|
x="1032.4779"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;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.96767632,1.0334034)"><tspan
|
||||||
|
y="232.52846"
|
||||||
|
x="1032.4779"
|
||||||
|
id="tspan5165"
|
||||||
|
sodipodi:role="line">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 741.0941,230.55131 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
id="NearestIntersectionsArrow6"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:label="#path4259" />
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
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="795.09454"
|
||||||
|
y="253.09572"
|
||||||
|
id="NearestIntersectionsID7"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5171"
|
||||||
|
x="795.09454"
|
||||||
|
y="253.09572">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsCRS7"
|
||||||
|
y="253.09572"
|
||||||
|
x="909.46826"
|
||||||
|
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"><tspan
|
||||||
|
y="253.09572"
|
||||||
|
x="909.46826"
|
||||||
|
id="tspan5175"
|
||||||
|
sodipodi:role="line">359</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
inkscape:label="#text4232"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="1032.4779"
|
||||||
|
y="253.89952"
|
||||||
|
id="NearestIntersectionsDST7"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5179"
|
||||||
|
x="1032.4779"
|
||||||
|
y="253.89952">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
inkscape:label="#path4259"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="NearestIntersectionsArrow7"
|
||||||
|
d="m 741.0941,252.63622 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsID8"
|
||||||
|
y="274.46677"
|
||||||
|
x="795.09454"
|
||||||
|
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.96767632,1.0334034)"><tspan
|
||||||
|
y="274.46677"
|
||||||
|
x="795.09454"
|
||||||
|
id="tspan5227"
|
||||||
|
sodipodi:role="line">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
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="909.46826"
|
||||||
|
y="274.46677"
|
||||||
|
id="NearestIntersectionsCRS8"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(0.96767632,1.0334034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5231"
|
||||||
|
x="909.46826"
|
||||||
|
y="274.46677">359</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsDST8"
|
||||||
|
y="275.2706"
|
||||||
|
x="1032.4779"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;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.96767632,1.0334034)"><tspan
|
||||||
|
y="275.2706"
|
||||||
|
x="1032.4779"
|
||||||
|
id="tspan5235"
|
||||||
|
sodipodi:role="line">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 741.0941,274.72112 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
id="NearestIntersectionsArrow8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:label="#path4259" />
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
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="795.09454"
|
||||||
|
y="295.83777"
|
||||||
|
id="NearestIntersectionsID9"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5241"
|
||||||
|
x="795.09454"
|
||||||
|
y="295.83777">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsCRS9"
|
||||||
|
y="295.83777"
|
||||||
|
x="909.46826"
|
||||||
|
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"><tspan
|
||||||
|
y="295.83777"
|
||||||
|
x="909.46826"
|
||||||
|
id="tspan5245"
|
||||||
|
sodipodi:role="line">359</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(0.96767632,1.0334034)"
|
||||||
|
inkscape:label="#text4232"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#80ffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
x="1032.4779"
|
||||||
|
y="296.6416"
|
||||||
|
id="NearestIntersectionsDST9"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5249"
|
||||||
|
x="1032.4779"
|
||||||
|
y="296.6416">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
inkscape:label="#path4259"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="NearestIntersectionsArrow9"
|
||||||
|
d="m 741.0941,296.80602 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsID10"
|
||||||
|
y="317.20883"
|
||||||
|
x="795.09454"
|
||||||
|
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.96767632,1.0334034)"><tspan
|
||||||
|
y="317.20883"
|
||||||
|
x="795.09454"
|
||||||
|
id="tspan5255"
|
||||||
|
sodipodi:role="line">KSFO</tspan></text>
|
||||||
|
<text
|
||||||
|
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="909.46826"
|
||||||
|
y="317.20883"
|
||||||
|
id="NearestIntersectionsCRS10"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(0.96767632,1.0334034)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5259"
|
||||||
|
x="909.46826"
|
||||||
|
y="317.20883">359</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsDST10"
|
||||||
|
y="318.01266"
|
||||||
|
x="1032.4779"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:20.26409912px;line-height:125%;font-family:'Liberation Sans Narrow';-inkscape-font-specification:'Liberation Sans Narrow, Condensed';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;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.96767632,1.0334034)"><tspan
|
||||||
|
y="318.01266"
|
||||||
|
x="1032.4779"
|
||||||
|
id="tspan5263"
|
||||||
|
sodipodi:role="line">200nm</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.87584442px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 741.0941,318.89093 0,4.06208 9.44228,0 0,4.06207 8.67785,-6.0619 -8.67785,-6.1243 0,4.06205 z"
|
||||||
|
id="NearestIntersectionsArrow10"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccc"
|
||||||
|
inkscape:label="#path4259" />
|
||||||
|
<rect
|
||||||
|
style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99875104;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||||
|
id="rect5267"
|
||||||
|
width="289.00125"
|
||||||
|
height="84.001251"
|
||||||
|
x="730.4707"
|
||||||
|
y="465.49939" />
|
||||||
|
<rect
|
||||||
|
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"
|
||||||
|
id="rect5269"
|
||||||
|
width="108.92543"
|
||||||
|
height="19.925432"
|
||||||
|
x="745.52295"
|
||||||
|
y="453.55164" />
|
||||||
|
<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="775.02869"
|
||||||
|
y="454.18149"
|
||||||
|
id="text5271"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
style="stroke-width:0.967722px"
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5273"
|
||||||
|
x="775.02869"
|
||||||
|
y="454.18149">REFERENCE 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="762.05792"
|
||||||
|
y="476.87561"
|
||||||
|
id="NearestIntersectionsVORID"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
x="762.05792"
|
||||||
|
y="476.87561"
|
||||||
|
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="760.81995"
|
||||||
|
y="404.29984"
|
||||||
|
id="NearestIntersectionsLon"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan5285"
|
||||||
|
x="760.81995"
|
||||||
|
y="404.29984">E 56 45.78</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsVORFreq"
|
||||||
|
y="478.81119"
|
||||||
|
x="937.73645"
|
||||||
|
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="tspan5293"
|
||||||
|
y="478.81119"
|
||||||
|
x="937.73645"
|
||||||
|
sodipodi:role="line">116.650</tspan></text>
|
||||||
|
<text
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="NearestIntersectionsVORCRS"
|
||||||
|
y="515.58264"
|
||||||
|
x="781.37463"
|
||||||
|
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="515.58264"
|
||||||
|
x="781.37463"
|
||||||
|
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="889.88196"
|
||||||
|
y="515.58264"
|
||||||
|
id="NearestIntersectionsVORDST"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
x="889.88196"
|
||||||
|
y="515.58264"
|
||||||
|
id="tspan5305">23nm</tspan></text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 46 KiB |
|
@ -41,6 +41,26 @@ getNearestAirports : func()
|
||||||
return apts;
|
return apts;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
# Find the nearest nav aids of a given type within 200nm, to a maximum of 25.
|
||||||
|
getNavDataWithinRange: func(type)
|
||||||
|
{
|
||||||
|
# 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.
|
||||||
|
var radius = 0;
|
||||||
|
var navdata = [];
|
||||||
|
|
||||||
|
while ((radius <= 200) and (size(navdata) < 25)) {
|
||||||
|
radius = radius + 50;
|
||||||
|
navdata = findNavaidsWithinRange(radius, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (size(navdata) > 25) {
|
||||||
|
navdata = subvec(navdata, 0, 25);
|
||||||
|
}
|
||||||
|
|
||||||
|
return navdata;
|
||||||
|
},
|
||||||
|
|
||||||
# Find a specific airport by ID. Return an array of airport objects
|
# Find a specific airport by ID. Return an array of airport objects
|
||||||
getAirportById : func(id)
|
getAirportById : func(id)
|
||||||
{
|
{
|
||||||
|
@ -209,6 +229,10 @@ RegisterWithEmesary : func()
|
||||||
notification.EventParameter.Value = controller.getNavDataById(notification.EventParameter.Value);
|
notification.EventParameter.Value = controller.getNavDataById(notification.EventParameter.Value);
|
||||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||||
}
|
}
|
||||||
|
if (id == "NavDataWithinRange") {
|
||||||
|
notification.EventParameter.Value = controller.getNavDataWithinRange(notification.EventParameter.Value);
|
||||||
|
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||||
|
}
|
||||||
if (id == "Flightplan") {
|
if (id == "Flightplan") {
|
||||||
notification.EventParameter.Value = controller.getFlightplan();
|
notification.EventParameter.Value = controller.getFlightplan();
|
||||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||||
|
|
|
@ -47,9 +47,17 @@ var NavigationMapStyles =
|
||||||
me.Styles.FLT.line_width = 3;
|
me.Styles.FLT.line_width = 3;
|
||||||
|
|
||||||
me.Styles.FIX = {};
|
me.Styles.FIX = {};
|
||||||
me.Styles.FIX.color = [1,0,0];
|
me.Styles.FIX.color = [0,0,0]; # White outline
|
||||||
|
me.Styles.FIX.fill_color = [1,1,1,1]; # Black fill
|
||||||
me.Styles.FIX.scale_factor = 0.4; # 40%
|
me.Styles.FIX.scale_factor = 0.4; # 40%
|
||||||
|
|
||||||
|
me.Styles.FIX.text_offset = [0, -12];
|
||||||
|
me.Styles.FIX.text_color = [0,0,0,1]; # Black text ...
|
||||||
|
me.Styles.FIX.text_bgcolor = [1,1,1,1]; # ... on a white background
|
||||||
|
me.Styles.FIX.text_mode = canvas.Text.TEXT + canvas.Text.FILLEDBOUNDINGBOX;
|
||||||
|
me.Styles.FIX.text_padding = 2;
|
||||||
|
me.Styles.FIX.text_alignment = 'center-bottom';
|
||||||
|
|
||||||
me.Styles.VOR = {};
|
me.Styles.VOR = {};
|
||||||
me.Styles.VOR.range_line_width = 2;
|
me.Styles.VOR.range_line_width = 2;
|
||||||
me.Styles.VOR.radial_line_width = 1;
|
me.Styles.VOR.radial_line_width = 1;
|
||||||
|
|
|
@ -126,7 +126,7 @@ var NearestAirports =
|
||||||
var apt = apts[i];
|
var apt = apts[i];
|
||||||
var crsAndDst = courseAndDistance(apt);
|
var crsAndDst = courseAndDistance(apt);
|
||||||
|
|
||||||
# Display the cours and distance in NM .
|
# Display the course and distance in NM .
|
||||||
# 248 is the extended ASCII code for the degree symbol
|
# 248 is the extended ASCII code for the degree symbol
|
||||||
var crs = sprintf("%i%c", crsAndDst[0], 248);
|
var crs = sprintf("%i%c", crsAndDst[0], 248);
|
||||||
var dst = sprintf("%.1fnm", crsAndDst[1]);
|
var dst = sprintf("%.1fnm", crsAndDst[1]);
|
||||||
|
|
|
@ -10,34 +10,143 @@ var NearestIntersections =
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
obj.topMenu(device, obj, nil);
|
|
||||||
|
|
||||||
obj.setController(fg1000.NearestIntersectionsController.new(obj, svg));
|
obj.setController(fg1000.NearestIntersectionsController.new(obj, svg));
|
||||||
|
|
||||||
|
# Dynamic elements. There is a single dynamic element containing the list of
|
||||||
|
# the 25 nearest intersections.
|
||||||
|
obj.select = PFD.GroupElement.new(
|
||||||
|
obj.pageName,
|
||||||
|
svg,
|
||||||
|
[ "Arrow", "ID", "CRS", "DST"],
|
||||||
|
11,
|
||||||
|
"Arrow",
|
||||||
|
1,
|
||||||
|
"ScrollTrough",
|
||||||
|
"ScrollThumb",
|
||||||
|
250 - 116
|
||||||
|
);
|
||||||
|
|
||||||
|
# Other dynamic text elements
|
||||||
|
obj.addTextElements(["Lat", "Lon", "VORID", "VORFreq", "VORCRS", "VORDST"]);
|
||||||
|
|
||||||
|
obj.topMenu(device, obj, nil);
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
# Indicate which group is selected by colour of the softkeys
|
||||||
|
display_toggle : func(device, svg, mi, group) {
|
||||||
|
var bg_name = sprintf("SoftKey%d-bg",mi.menu_id);
|
||||||
|
if (me.getController().getSelectedGroup() == group) {
|
||||||
|
device.svg.getElementById(bg_name).setColorFill(0.5,0.5,0.5);
|
||||||
|
svg.setColor(0.0,0.0,0.0);
|
||||||
|
} else {
|
||||||
|
device.svg.getElementById(bg_name).setColorFill(0.0,0.0,0.0);
|
||||||
|
svg.setColor(1.0,1.0,1.0);
|
||||||
|
}
|
||||||
|
svg.setText(mi.title);
|
||||||
|
svg.setVisible(1); # display function
|
||||||
|
},
|
||||||
|
|
||||||
offdisplay : func() {
|
offdisplay : func() {
|
||||||
me._group.setVisible(0);
|
# The Nearest... pages use the underlying navigation map.
|
||||||
|
me.mfd.NavigationMap.offdisplayPartial();
|
||||||
|
|
||||||
# Reset the menu colours. Shouldn't have to do this here, but
|
# Reset the menu colours. Shouldn't have to do this here, but
|
||||||
# there's not currently an obvious other location to do so.
|
# there's not currently an obvious other location to do so.
|
||||||
for(var i = 0; i < 12; i +=1) {
|
me.resetMenuColors();
|
||||||
var name = sprintf("SoftKey%d",i);
|
|
||||||
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.getController().offdisplay();
|
me.getController().offdisplay();
|
||||||
},
|
},
|
||||||
ondisplay : func() {
|
ondisplay : func() {
|
||||||
me._group.setVisible(1);
|
|
||||||
me.mfd.setPageTitle(me.title);
|
|
||||||
me.getController().ondisplay();
|
me.getController().ondisplay();
|
||||||
|
|
||||||
|
# The Nearest... pages use the underlying navigation map.
|
||||||
|
me.mfd.NavigationMap.ondisplayPartial();
|
||||||
|
|
||||||
|
me.mfd.setPageTitle(me.title);
|
||||||
},
|
},
|
||||||
|
updateNavData : func(navdata) {
|
||||||
|
|
||||||
|
if ((navdata == nil) or (size(navdata) == 0)) return;
|
||||||
|
|
||||||
|
var navDataList = [];
|
||||||
|
for (var i = 0; i < size(navdata); i = i + 1) {
|
||||||
|
var nav = navdata[i];
|
||||||
|
var crsAndDst = courseAndDistance(nav);
|
||||||
|
|
||||||
|
# Display the course and distance in NM .
|
||||||
|
# 248 is the extended ASCII code for the degree symbol
|
||||||
|
var crs = sprintf("%i%c", crsAndDst[0], 248);
|
||||||
|
var dst = sprintf("%.1fnm", crsAndDst[1]);
|
||||||
|
|
||||||
|
# Convert into something we can pass straight to the UIGroup.
|
||||||
|
append(navDataList, {
|
||||||
|
Arrow : nav.id,
|
||||||
|
ID: nav.id,
|
||||||
|
CRS: crs,
|
||||||
|
DST: dst,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
me.select.setValues(navDataList);
|
||||||
|
|
||||||
|
if (size(navDataList) > 0) {
|
||||||
|
me.updateNavDataItem(navdata[0]);
|
||||||
|
me.select.showCRSR();
|
||||||
|
} else {
|
||||||
|
me.select.hideCRSR();
|
||||||
|
me.setTextElement("Lat", "NONE WITHIN 200NM");
|
||||||
|
me.setTextElement("VORID", "");
|
||||||
|
me.setTextElement("VORFreq", "");
|
||||||
|
me.setTextElement("VORCRS", "");
|
||||||
|
me.setTextElement("VORDST", "");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
updateNavDataItem : func(nav) {
|
||||||
|
|
||||||
|
if (nav == nil) return;
|
||||||
|
|
||||||
|
if (nav.lat < 0.0) {
|
||||||
|
me.setTextElement("Lat", sprintf("S %.4f", -nav.lat));
|
||||||
|
} else {
|
||||||
|
me.setTextElement("Lat", sprintf("N %.4f", nav.lat));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nav.lon < 0.0) {
|
||||||
|
me.setTextElement("Lon", sprintf("W%3.4f", -nav.lon));
|
||||||
|
} else {
|
||||||
|
me.setTextElement("Lon", sprintf("E%3.4f", nav.lon));
|
||||||
|
}
|
||||||
|
|
||||||
|
# Determine the nearest VOR, and the bearing and distance TO the VOR,
|
||||||
|
var vordata = me.getController().getNearestNavData("vor");
|
||||||
|
|
||||||
|
if ((vordata != nil ) and (size(vordata) > 0)) {
|
||||||
|
var crsAndDst = courseAndDistance(nav, vordata[0]);
|
||||||
|
var crs = sprintf("%i%c", crsAndDst[0], 248);
|
||||||
|
var dst = sprintf("%.1fnm", crsAndDst[1]);
|
||||||
|
me.setTextElement("VORID", vordata[0].id);
|
||||||
|
me.setTextElement("VORFreq", sprintf("%.2f", vordata[0].frequency / 100.0));
|
||||||
|
me.setTextElement("VORCRS", crs);
|
||||||
|
me.setTextElement("VORDST", dst);
|
||||||
|
} else {
|
||||||
|
me.setTextElement("VORID", "");
|
||||||
|
me.setTextElement("VORFreq", "");
|
||||||
|
me.setTextElement("VORCRS", "");
|
||||||
|
me.setTextElement("VORDST", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
# Display the DTO line to the airport
|
||||||
|
me.mfd.NavigationMap.getController().setDTOLineTarget(nav.lat, nav.lon);
|
||||||
|
},
|
||||||
|
|
||||||
topMenu : func(device, pg, menuitem) {
|
topMenu : func(device, pg, menuitem) {
|
||||||
pg.clearMenu();
|
pg.clearMenu();
|
||||||
pg.resetMenuColors();
|
pg.resetMenuColors();
|
||||||
|
pg.addMenuItem(0, "ENGINE", pg, pg.mfd.EIS.engineMenu);
|
||||||
|
pg.addMenuItem(2, "MAP", pg, pg.mfd.NavigationMap.mapMenu);
|
||||||
|
|
||||||
device.updateMenus();
|
device.updateMenus();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,59 +1,140 @@
|
||||||
# NearestIntersections Controller
|
# NearestIntersections Controller
|
||||||
var NearestIntersectionsController =
|
var NearestIntersectionsController =
|
||||||
{
|
{
|
||||||
|
UIGROUP : {
|
||||||
|
NONE : 0, # No group currently selected,
|
||||||
|
APT : 1,
|
||||||
|
RNWY : 2,
|
||||||
|
FREQ : 3,
|
||||||
|
APR : 4,
|
||||||
|
},
|
||||||
|
|
||||||
new : func (page, svg)
|
new : func (page, svg)
|
||||||
{
|
{
|
||||||
var obj = {
|
var obj = { parents : [ NearestIntersectionsController, MFDPageController.new(page) ] };
|
||||||
parents : [ NearestIntersectionsController, MFDPageController.new(page) ],
|
|
||||||
_crsrToggle : 0,
|
# Current active UI group.
|
||||||
_recipient : nil,
|
obj.page = page;
|
||||||
_page : page,
|
obj._crsrToggle = 0;
|
||||||
};
|
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
selectAirports : func() {
|
||||||
|
me.selectGroup(NearestAirportsController.UIGROUP.APT)
|
||||||
|
},
|
||||||
|
selectRunways : func() {
|
||||||
|
me.selectGroup(NearestAirportsController.UIGROUP.RNWY);
|
||||||
|
},
|
||||||
|
selectFrequencies : func() {
|
||||||
|
me.selectGroup(NearestAirportsController.UIGROUP.FREQ);
|
||||||
|
},
|
||||||
|
selectApproaches : func() {
|
||||||
|
me.selectGroup(NearestAirportsController.UIGROUP.APR);
|
||||||
|
},
|
||||||
|
getSelectedGroup : func() {
|
||||||
|
return me._currentGroup;
|
||||||
|
},
|
||||||
|
selectGroup : func(grp) {
|
||||||
|
me._currentGroup = grp;
|
||||||
|
# The current Airport is always highlighted - we're either changing it directly,
|
||||||
|
# or viewing the selected airport.
|
||||||
|
if (grp == NearestAirportsController.UIGROUP.RNWY) me.page.runwaySelect.highlightElement() else me.page.runwaySelect.unhighlightElement();
|
||||||
|
if (grp == NearestAirportsController.UIGROUP.FREQ) me.page.freqSelect.showCRSR() else me.page.freqSelect.hideCRSR();
|
||||||
|
if (grp == NearestAirportsController.UIGROUP.APR) me.page.approachSelect.showCRSR() else me.page.approachSelect.hideCRSR();
|
||||||
|
me._crsrToggle = 1;
|
||||||
|
},
|
||||||
|
|
||||||
# Input Handling
|
# Input Handling
|
||||||
handleCRSR : func() {
|
handleCRSR : func() {
|
||||||
me._crsrToggle = (! me._crsrToggle);
|
me._crsrToggle = (! me._crsrToggle);
|
||||||
if (me._crsrToggle) {
|
|
||||||
} else {
|
|
||||||
me._page.hideCRSR();
|
|
||||||
}
|
|
||||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||||
},
|
},
|
||||||
handleFMSInner : func(value) {
|
handleFMSInner : func(value) {
|
||||||
if (me._crsrToggle == 1) {
|
if (me._crsrToggle == 1) {
|
||||||
# Scroll through whatever is the current list
|
# Scroll through whatever is the current list
|
||||||
|
me.page.select.incrSmall(value);
|
||||||
|
var id = me.page.select.getValue();
|
||||||
|
var data = me.getNavDataItem(id);
|
||||||
|
if ((data != nil) and (size(data) >0)) me.page.updateNavDataItem(data[0]);
|
||||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||||
} else {
|
} else {
|
||||||
# Pass to the page group controller to display and scroll through the page group menu
|
return me.page.mfd.SurroundController.handleFMSInner(value);
|
||||||
return me._page.mfd.SurroundController.handleFMSInner(value);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleFMSOuter : func(value) {
|
handleFMSOuter : func(value) {
|
||||||
if (me._crsrToggle == 1) {
|
if (me._crsrToggle == 1) {
|
||||||
|
# Scroll through whatever is the current list
|
||||||
|
me.page.select.incrSmall(value);
|
||||||
|
var id = me.page.select.getValue();
|
||||||
|
var data = me.getNavDataItem(id);
|
||||||
|
if ((data != nil) and (size(data) >0)) me.page.updateNavDataItem(data[0]);
|
||||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||||
} else {
|
} else {
|
||||||
# Pass to the page group controller to display and scroll through the page group menu
|
return me.page.mfd.SurroundController.handleFMSOuter(value);
|
||||||
return me._page.mfd.SurroundController.handleFMSOuter(value);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleEnter : func(value) {
|
handleEnter : func(value) {
|
||||||
if (me._crsrToggle == 1) {
|
if (me._crsrToggle == 1) {
|
||||||
|
me.page.select.incrSmall(value);
|
||||||
|
var id = me.page.select.getValue();
|
||||||
|
var data = me.getNavDataItem(id);
|
||||||
|
if ((data != nil) and (size(data) >0)) me.page.updateNavDataItem(data[0]);
|
||||||
return emesary.Transmitter.ReceiptStatus_Finished;
|
return emesary.Transmitter.ReceiptStatus_Finished;
|
||||||
} else {
|
} else {
|
||||||
return emesary.Transmitter.ReceiptStatus_NotProcessed;
|
return emesary.Transmitter.ReceiptStatus_NotProcessed;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handleRange : func(val)
|
||||||
|
{
|
||||||
|
# Pass any range entries to the NavMapController
|
||||||
|
me.page.mfd.NavigationMap.getController().handleRange(val);
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
# Reset controller if required when the page is displayed or hidden
|
# Reset controller if required when the page is displayed or hidden
|
||||||
ondisplay : func() {
|
ondisplay : func() {
|
||||||
me.RegisterWithEmesary();
|
me.RegisterWithEmesary();
|
||||||
|
var fixes = me.getNearestNavData("fix");
|
||||||
|
me.page.updateNavData(fixes);
|
||||||
|
me.page.mfd.NavigationMap.getController().enableDTO(1);
|
||||||
},
|
},
|
||||||
offdisplay : func() {
|
offdisplay : func() {
|
||||||
|
me.page.mfd.NavigationMap.getController().enableDTO(0);
|
||||||
me.DeRegisterWithEmesary();
|
me.DeRegisterWithEmesary();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getNearestNavData : func(type) {
|
||||||
|
var notification = notifications.PFDEventNotification.new(
|
||||||
|
"MFD",
|
||||||
|
1,
|
||||||
|
notifications.PFDEventNotification.NavData,
|
||||||
|
{Id: "NavDataWithinRange", Value: type});
|
||||||
|
|
||||||
|
var response = me._transmitter.NotifyAll(notification);
|
||||||
|
|
||||||
|
if (! me._transmitter.IsFailed(response)) {
|
||||||
|
return notification.EventParameter.Value;
|
||||||
|
} else {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getNavDataItem : func(id) {
|
||||||
|
# Use Emesary to get the airport
|
||||||
|
var notification = notifications.PFDEventNotification.new(
|
||||||
|
"MFD",
|
||||||
|
1,
|
||||||
|
notifications.PFDEventNotification.NavData,
|
||||||
|
{Id: "NavDataByID", Value: id});
|
||||||
|
|
||||||
|
var response = me._transmitter.NotifyAll(notification);
|
||||||
|
|
||||||
|
if (! me._transmitter.IsFailed(response)) {
|
||||||
|
return notification.EventParameter.Value;
|
||||||
|
} else {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue