prototype for terrain on ND
This commit is contained in:
parent
573dbac463
commit
27b9f47373
8 changed files with 621 additions and 0 deletions
|
@ -64,6 +64,7 @@ var myCockpit_switches = {
|
|||
"toggle_xtrk_error": {path: "/nd/xtrk-error", value: 0, type: "BOOL"},
|
||||
"toggle_trk_line": {path: "/nd/trk-line", value: 0, type: "BOOL"},
|
||||
"ADIRS3": {path: "/nd/ir-3", value: 0, type: "BOOL"},
|
||||
"toggle_terrain": {path: "/controls/switches/terr_on_nd_l", value: 0, type: "BOOL"},
|
||||
};
|
||||
|
||||
var canvas_nd_base = {
|
||||
|
|
57
Models/Instruments/ND/canvas/map/TERRAIN.lcontroller
Normal file
57
Models/Instruments/ND/canvas/map/TERRAIN.lcontroller
Normal file
|
@ -0,0 +1,57 @@
|
|||
# See: http://wiki.flightgear.org/MapStructure
|
||||
# Class things:
|
||||
var name = 'TERRAIN';
|
||||
var parents = [canvas.SymbolLayer.Controller];
|
||||
var __self__ = caller(0)[0];
|
||||
|
||||
canvas.SymbolLayer.Controller.add(name, __self__);
|
||||
canvas.SymbolLayer.add(name, {
|
||||
parents: [MultiSymbolLayer],
|
||||
type: name, # Symbol type
|
||||
df_controller: __self__, # controller to use by default -- this one
|
||||
df_options: { # default configuration options
|
||||
viewport_radius: 670
|
||||
}
|
||||
});
|
||||
|
||||
var terrain_tree = "/instrumentation/efis[0]/nd/terrain-on-nd";
|
||||
|
||||
var new = func(layer) {
|
||||
var m = {
|
||||
parents: [__self__],
|
||||
layer: layer,
|
||||
map: layer.map,
|
||||
listeners: [],
|
||||
};
|
||||
layer.searcher._equals = func(l,r) l.equals(r);
|
||||
m.addVisibilityListener();
|
||||
return m;
|
||||
};
|
||||
|
||||
var del = func() {
|
||||
#print(name~".lcontroller.del()");
|
||||
foreach (var l; me.listeners)
|
||||
removelistener(l);
|
||||
};
|
||||
|
||||
var searchCmd = func {
|
||||
if(me.map.getRange() == nil) return [];
|
||||
#var lat = getprop(terrain_tree~"/center/latitude-deg");
|
||||
#var lon = getprop(terrain_tree~"/center/longitude-deg");
|
||||
|
||||
#if(lat == nil or lon == nil) {
|
||||
var pos = geo.aircraft_position();
|
||||
lat = pos.lat();
|
||||
lon = pos.lon();
|
||||
#}
|
||||
|
||||
var result = geo.Coord.new();
|
||||
result.set_latlon(lat, lon);
|
||||
result.rangeNm = me.map.getRange();
|
||||
result.fetchRad = 184; # is this number accurate?
|
||||
result.equals = func(r){
|
||||
me.fetchRad == r.fetchRad and me.lat == r.lat and me.lon == r.lon
|
||||
};
|
||||
|
||||
return [result];
|
||||
};
|
106
Models/Instruments/ND/canvas/map/TERRAIN.symbol
Normal file
106
Models/Instruments/ND/canvas/map/TERRAIN.symbol
Normal file
|
@ -0,0 +1,106 @@
|
|||
# See: http://wiki.flightgear.org/MapStructure
|
||||
# Class things:
|
||||
var name = 'TERRAIN';
|
||||
var parents = [DotSym];
|
||||
var __self__ = caller(0)[0];
|
||||
DotSym.makeinstance( name, __self__ );
|
||||
|
||||
var element_type = "group";
|
||||
|
||||
var tile_list = ["tile_00.png","tile_04.png","tile_06.png"];
|
||||
|
||||
var updateTerrain = func(size){
|
||||
if(me.fetching) return;
|
||||
var pos = geo.aircraft_position();
|
||||
var lat = pos.lat();
|
||||
var lon = pos.lon();
|
||||
me.fetching = 1;
|
||||
|
||||
for (var a=0; a < me.tileradius; a+=1) {
|
||||
|
||||
var len = size(me.terrlayer["L" ~ a]);
|
||||
|
||||
for (var r=0; r < len; r+=1) {
|
||||
|
||||
var imgx = math.mod(r*a,3);
|
||||
|
||||
me.terrlayer["L" ~ a].setFile(me.imgpath ~ me.tile_list[imgx]).show();
|
||||
me.terrlayer["R" ~ a].setFile(me.imgpath ~ me.tile_list[2-imgx]).show();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
me.last_request = getprop("sim/time/elapsed-sec");
|
||||
me.fetching = 0;
|
||||
};
|
||||
|
||||
var init = func {
|
||||
print('TERRAIN init');
|
||||
me.tile = 20;
|
||||
me.fetching = 0;
|
||||
me.timeStamp = nil;
|
||||
me.fetchRad = me.model.fetchRad; # Radius of radar layer to fetch
|
||||
me.range = me.model.rangeNm; # Range of Navigation Display
|
||||
me.viewport_radius = me.getOption('viewport_radius', 670);
|
||||
me.imgpath = get_local_path('res/');
|
||||
|
||||
var tile = me.tile;
|
||||
|
||||
var gx = int(me.viewport_radius / tile);
|
||||
|
||||
me.tileradius = gx;
|
||||
|
||||
me.terrlayer = {}; #me.element.createChild("image").set("z-index", -100).hide();
|
||||
|
||||
var centx = me.viewport_radius;
|
||||
|
||||
for (var c=0; c<gx; c+=1) {
|
||||
var hh = c * tile;
|
||||
var mx = (c == 0) ? gx : int(math.sqrt(gx*gx-c*c));
|
||||
var py = (gx-1) * tile;
|
||||
var pxr = centx+(c*tile);
|
||||
var pxl = centx-(c*tile)-tile;
|
||||
var grplx = [];
|
||||
var grprx = [];
|
||||
for (var r=0; r<mx; r+=1) {
|
||||
append(grplx , me.element.createChild("image").set("z-index", -100).setSize(tile,tile).setTranslation(pxl,py));
|
||||
append(grprx , me.element.createChild("image").set("z-index", -100).setSize(tile,tile).setTranslation(pxr,py));
|
||||
py-=tile;
|
||||
}
|
||||
me.terrlayer["L" ~ c] = grplx;
|
||||
me.terrlayer["R" ~ c] = grprx;
|
||||
}
|
||||
|
||||
me.last_request = -600;
|
||||
me.update_interval = 600;
|
||||
|
||||
#var r_scaled = (me.fetchRad*me.viewport_radius)/me.range;
|
||||
#me.fetchWXRMap(r_scaled);
|
||||
|
||||
#me.timeStamp = nil;
|
||||
#http.load("https://api.rainviewer.com/public/maps.json").done(func(r) me.timeStamp = processRequest(r));
|
||||
};
|
||||
|
||||
var draw = func {
|
||||
var range = me.layer.map.getRange(); # Range of Navigation Display
|
||||
var update_size = (range != me.range);
|
||||
me.range = range;
|
||||
me.fetchRad = me.model.fetchRad; # Radius of radar layer to fetch
|
||||
var r_scaled = (me.fetchRad*me.viewport_radius)/me.range;
|
||||
var hdg = me.layer.map.getHdg();
|
||||
var rot = 0 - hdg;
|
||||
if(rot < 0) rot = 360 + rot + -getprop("/environment/magnetic-variation-deg");
|
||||
me.element.setRotation(rot*D2R);
|
||||
if(update_size){
|
||||
#me.terrlayer.hide();
|
||||
#me.terrlayer.setSize(2*r_scaled, 2*r_scaled)
|
||||
# .setTranslation(-r_scaled, -r_scaled);
|
||||
#me.terrlayer.show();
|
||||
}
|
||||
|
||||
if(getprop("sim/time/elapsed-sec") - me.last_request > me.update_interval) {
|
||||
me.updateTerrain(r_scaled);
|
||||
}
|
||||
};
|
||||
|
439
Models/Instruments/ND/canvas/res/terrainND.svg
Normal file
439
Models/Instruments/ND/canvas/res/terrainND.svg
Normal file
|
@ -0,0 +1,439 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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"
|
||||
sodipodi:docname="terrainND.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)"
|
||||
xml:space="preserve"
|
||||
id="svg5180"
|
||||
height="1024"
|
||||
width="1024"
|
||||
version="1.1"><sodipodi:namedview
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview102"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.9002897"
|
||||
inkscape:cx="545.90803"
|
||||
inkscape:cy="663.88974"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:object-nodes="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-grids="false"
|
||||
inkscape:snap-to-guides="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:snap-text-baseline="true"><sodipodi:guide
|
||||
id="guide3167"
|
||||
orientation="1,0"
|
||||
position="512,811.5" /><sodipodi:guide
|
||||
id="guide3177"
|
||||
orientation="-0.5,-0.86602541"
|
||||
position="512,200" /><sodipodi:guide
|
||||
id="guide3179"
|
||||
orientation="-0.866025,-0.5"
|
||||
position="512,200" /><sodipodi:guide
|
||||
position="512,465"
|
||||
orientation="0,1"
|
||||
id="guide4003" /><sodipodi:guide
|
||||
orientation="-0.5,0.8660254"
|
||||
position="512,200"
|
||||
id="guide3537" /><sodipodi:guide
|
||||
orientation="-0.8660254,0.5"
|
||||
position="512,200"
|
||||
id="guide3545" /><sodipodi:guide
|
||||
position="-3.9271069,171.8178"
|
||||
orientation="1,0"
|
||||
id="guide742" /><sodipodi:guide
|
||||
position="63.243533,882.27478"
|
||||
orientation="1,0"
|
||||
id="guide3109" /><sodipodi:guide
|
||||
position="59.703006,906.39896"
|
||||
orientation="0,-1"
|
||||
id="guide3111" /><sodipodi:guide
|
||||
position="70.197038,990.32506"
|
||||
orientation="0,-1"
|
||||
id="guide3113" /><sodipodi:guide
|
||||
position="211.67107,1010.2551"
|
||||
orientation="0,-1"
|
||||
id="guide3115" /><sodipodi:guide
|
||||
position="14.137585,913.25558"
|
||||
orientation="1,0"
|
||||
id="guide3498" /><sodipodi:guide
|
||||
position="512.0574,200.9316"
|
||||
orientation="0,-1"
|
||||
id="guide1833" /></sodipodi:namedview><metadata
|
||||
id="metadata5186"><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></dc:title><dc:creator><cc:Agent><dc:title>Gijs de Rooy</dc:title></cc:Agent></dc:creator><cc:license
|
||||
rdf:resource="" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs5184"><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1845" /><rect
|
||||
x="27.768839"
|
||||
y="751.98017"
|
||||
width="468.73801"
|
||||
height="215.48619"
|
||||
id="rect1839" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1853" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1865" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1871" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1877" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1883" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1889" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1895" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1901" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1907" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1913" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1919" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1925" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1931" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1937" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1943" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1949" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1955" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1961" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1967" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1973" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1979" /><rect
|
||||
x="-4.4430143"
|
||||
y="615.35748"
|
||||
width="516.43165"
|
||||
height="208.64161"
|
||||
id="rect1985" /></defs><g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer4"
|
||||
inkscape:label="ARC LAYOUT"
|
||||
style="display:inline"
|
||||
sodipodi:insensitive="true"><text
|
||||
inkscape:label="#text7243"
|
||||
id="text3549-7"
|
||||
y="-258.81296"
|
||||
x="-364.83682"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;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:#ededed;fill-opacity:1;stroke:none"
|
||||
xml:space="preserve"
|
||||
transform="rotate(0.34999975)" /><g
|
||||
id="unavailARC"><g
|
||||
id="rangeArcs-3"
|
||||
inkscape:label="#g3890"
|
||||
style="display:inline;stroke:#ff0000"
|
||||
transform="translate(0.16248,0.757949)"><path
|
||||
sodipodi:nodetypes="cscc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3103-6"
|
||||
d="m 168.665,820.476 c 0,-189.321 153.474,-342.796 342.795,-342.796 189.319,0 342.794,153.473 342.794,342.796 0,0 0,0 0,0"
|
||||
style="fill:none;stroke:#ff0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:32, 16;stroke-dashoffset:0;stroke-opacity:1" /><path
|
||||
style="fill:none;stroke:#ff0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:32, 16;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m -4.01174,820.476 c 0,-284.688 230.78374,-515.473 515.47174,-515.473 284.685,0 515.47,230.782 515.47,515.473 0,0 0,0 0,0"
|
||||
id="path3886-7"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cscc" /><path
|
||||
sodipodi:nodetypes="cscc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3888-5"
|
||||
d="m 340.958,820.476 c 0,-94.166 76.335,-170.502 170.501,-170.502 94.166,0 170.501,76.335 170.501,170.502 0,0 0,0 0,0"
|
||||
style="fill:none;stroke:#ff0000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:32, 16;stroke-dashoffset:0;stroke-opacity:1" /></g><circle
|
||||
style="fill:none;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4079-1"
|
||||
transform="rotate(35.485921)"
|
||||
cx="895.22479"
|
||||
cy="373.73712"
|
||||
r="15" /></g></g><g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"><text
|
||||
xml:space="preserve"
|
||||
id="text1837"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:85.3333px;line-height:1.25;font-family:'Oswald Regular';-inkscape-font-specification:'Oswald Regular, ';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1839);fill:#000000;fill-opacity:1;stroke:none;" /><text
|
||||
xml:space="preserve"
|
||||
id="text1843"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'B612 Mono';-inkscape-font-specification:'B612 Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1845);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="translate(0,180)"><tspan
|
||||
x="-4.4433594"
|
||||
y="644.77306"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'B612 Mono';-inkscape-font-specification:'B612 Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1851"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1853);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(4.5780582,-1727.6127,709.22434)"
|
||||
inkscape:transform-center-x="255.69445"
|
||||
inkscape:transform-center-y="-24.446331"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1869"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1871);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(9.100266,-614.83686,720.0767)"
|
||||
inkscape:transform-center-x="252.97095"
|
||||
inkscape:transform-center-y="-44.53058"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1875"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1877);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(13.593526,-241.69592,723.71576)"
|
||||
inkscape:transform-center-x="248.70485"
|
||||
inkscape:transform-center-y="-64.21193"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1881"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1883);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(18.071597,-53.848319,725.54775)"
|
||||
inkscape:transform-center-x="242.93212"
|
||||
inkscape:transform-center-y="-83.434167"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1887"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1889);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(22.553626,59.938876,726.65746)"
|
||||
inkscape:transform-center-x="235.66913"
|
||||
inkscape:transform-center-y="-102.16329"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1893"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1895);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(26.935245,134.95226,727.38903)"
|
||||
inkscape:transform-center-x="227.17515"
|
||||
inkscape:transform-center-y="-119.86962"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1899"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1901);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(31.359525,189.75704,727.92351)"
|
||||
inkscape:transform-center-x="217.25128"
|
||||
inkscape:transform-center-y="-137.03707"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1905"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1907);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(35.750388,231.02653,728.32599)"
|
||||
inkscape:transform-center-x="206.12208"
|
||||
inkscape:transform-center-y="-153.26763"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1911"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1913);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(40.226281,264.08909,728.64843)"
|
||||
inkscape:transform-center-x="193.53251"
|
||||
inkscape:transform-center-y="-168.8859"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1917"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1919);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(44.545706,289.92899,728.90043)"
|
||||
inkscape:transform-center-x="180.26287"
|
||||
inkscape:transform-center-y="-182.98246"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1923"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1925);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(48.954184,311.81689,729.11389)"
|
||||
inkscape:transform-center-x="165.66431"
|
||||
inkscape:transform-center-y="-196.29727"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1929"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1931);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(53.416115,330.49871,729.29609)"
|
||||
inkscape:transform-center-x="149.89094"
|
||||
inkscape:transform-center-y="-208.59048"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1935"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1937);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(57.808384,346.26305,729.44983)"
|
||||
inkscape:transform-center-x="133.47593"
|
||||
inkscape:transform-center-y="-219.45719"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1941"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1943);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(62.213088,360.01609,729.58396)"
|
||||
inkscape:transform-center-x="116.22719"
|
||||
inkscape:transform-center-y="-229.06008"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1947"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1949);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(66.669261,372.25408,729.70331)"
|
||||
inkscape:transform-center-x="98.078678"
|
||||
inkscape:transform-center-y="-237.39809"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1953"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1955);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(71.031839,382.90908,729.80722)"
|
||||
inkscape:transform-center-x="79.73616"
|
||||
inkscape:transform-center-y="-244.1709"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1959"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1961);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(75.498211,392.70066,729.90271)"
|
||||
inkscape:transform-center-x="60.479465"
|
||||
inkscape:transform-center-y="-249.63878"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1965"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1967);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(80.03533,401.68675,729.99035)"
|
||||
inkscape:transform-center-x="40.54228"
|
||||
inkscape:transform-center-y="-253.64071"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1971"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1973);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(84.654565,410.00445,730.07147)"
|
||||
inkscape:transform-center-x="19.984003"
|
||||
inkscape:transform-center-y="-256.08188"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
id="text1977"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;line-height:1.25;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';letter-spacing:0px;word-spacing:0px;white-space:pre;shape-inside:url(#rect1979);fill:#ffffff;fill-opacity:1;stroke:none;"
|
||||
transform="rotate(89.818036,418.4724,730.15406)"
|
||||
inkscape:transform-center-x="-3.1438634"
|
||||
inkscape:transform-center-y="-256.84121"><tspan
|
||||
x="-4.4433594"
|
||||
y="647.35742"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:32px;font-family:'C64 Pro Mono';-inkscape-font-specification:'C64 Pro Mono';fill:#ffffff">▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓</tspan></tspan></text></g></svg>
|
After Width: | Height: | Size: 27 KiB |
BIN
Models/Instruments/ND/canvas/res/tile_00.png
Normal file
BIN
Models/Instruments/ND/canvas/res/tile_00.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 149 B |
BIN
Models/Instruments/ND/canvas/res/tile_04.png
Normal file
BIN
Models/Instruments/ND/canvas/res/tile_04.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1,011 B |
BIN
Models/Instruments/ND/canvas/res/tile_06.png
Normal file
BIN
Models/Instruments/ND/canvas/res/tile_06.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1,017 B |
|
@ -84,6 +84,24 @@ canvas.NDStyles["Airbus"] = {
|
|||
}
|
||||
},
|
||||
layers: [
|
||||
{
|
||||
name:"TERRAIN",
|
||||
isMapStructure:1,
|
||||
always_update: 1,
|
||||
update_on:[ "toggle_range","toggle_display_mode","toggle_terrain"],
|
||||
predicate: func(nd, layer) {
|
||||
var visible=nd.get_switch("toggle_terrain") and
|
||||
nd.get_switch("toggle_display_mode") != "PLAN" and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting));
|
||||
layer.group.setVisible(visible);
|
||||
if (visible) {
|
||||
layer.update();
|
||||
}
|
||||
}, # end of layer update predicate
|
||||
options: {
|
||||
viewport_radius: 706
|
||||
},
|
||||
"z-index": -100,
|
||||
},
|
||||
{
|
||||
name:"WXR_live",
|
||||
isMapStructure:1,
|
||||
|
|
Loading…
Add table
Reference in a new issue