Fix elevation bug for jetways
Thanks to Martin Herweg (d-laser)
This commit is contained in:
parent
db0d8e1622
commit
dd3390b3af
2 changed files with 40 additions and 11 deletions
|
@ -288,7 +288,7 @@ var scenery = [];
|
||||||
var UPDATE_PERIOD = 0;
|
var UPDATE_PERIOD = 0;
|
||||||
var LOAD_PERIOD = 10;
|
var LOAD_PERIOD = 10;
|
||||||
var LOAD_DISTANCE = 50; # in nautical miles
|
var LOAD_DISTANCE = 50; # in nautical miles
|
||||||
var LOAD_JETWAY_PERIOD = 0.05;
|
var LOAD_JETWAY_PERIOD = 0.25;
|
||||||
var NUMBER_OF_JETWAYS = 1000; # approx max number of jetways loadable in FG
|
var NUMBER_OF_JETWAYS = 1000; # approx max number of jetways loadable in FG
|
||||||
var runtime_files = NUMBER_OF_JETWAYS / LOAD_PERIOD * LOAD_JETWAY_PERIOD;
|
var runtime_files = NUMBER_OF_JETWAYS / LOAD_PERIOD * LOAD_JETWAY_PERIOD;
|
||||||
runtime_files = int(runtime_files) == runtime_files ? runtime_files : int(runtime_files) + 1;
|
runtime_files = int(runtime_files) == runtime_files ? runtime_files : int(runtime_files) + 1;
|
||||||
|
@ -735,9 +735,22 @@ var load_airport_jetways = func(airport)
|
||||||
var airline = jetway.getNode("airline", 1).getValue() or "None";
|
var airline = jetway.getNode("airline", 1).getValue() or "None";
|
||||||
var lat = jetway.getNode("latitude-deg", 1).getValue() or return;
|
var lat = jetway.getNode("latitude-deg", 1).getValue() or return;
|
||||||
var lon = jetway.getNode("longitude-deg", 1).getValue() or return;
|
var lon = jetway.getNode("longitude-deg", 1).getValue() or return;
|
||||||
var elev = jetway.getNode("elevation-m", 1).getValue() or 0;
|
|
||||||
var alt = geo.elevation(lat, lon) + elev;
|
# elevation offset from XML will be ignored!
|
||||||
|
#var elev = jetway.getNode("elevation-m", 1).getValue() or 0;
|
||||||
var heading = jetway.getNode("heading-deg", 1).getValue() or 0;
|
var heading = jetway.getNode("heading-deg", 1).getValue() or 0;
|
||||||
|
|
||||||
|
# probe the terrain where the jetway-wheels are
|
||||||
|
var ep = geo.Coord.new();
|
||||||
|
ep.set_latlon(lat, lon);
|
||||||
|
#geo.put_model("Aircraft/ufo/Models/sign.ac", ep);
|
||||||
|
#print_debug ("before lat:" ~ ep.lat() ~ " lon:" ~ ep.lon() );
|
||||||
|
ep.apply_course_distance(360-heading, -12.0);
|
||||||
|
#print_debug ("after lat:" ~ ep.lat() ~ " lon:" ~ ep.lon() );
|
||||||
|
#geo.put_model("Aircraft/ufo/Models/cursor.ac", ep);
|
||||||
|
var alt = geo.elevation(ep.lat(), ep.lon()) ;
|
||||||
|
print_debug ("probed elevation under wheels:" ~ alt);
|
||||||
|
|
||||||
var init_extend = jetway.getNode("initial-position/jetway-extension-m", 1).getValue() or 0;
|
var init_extend = jetway.getNode("initial-position/jetway-extension-m", 1).getValue() or 0;
|
||||||
var init_heading = jetway.getNode("initial-position/jetway-heading-deg", 1).getValue() or 0;
|
var init_heading = jetway.getNode("initial-position/jetway-heading-deg", 1).getValue() or 0;
|
||||||
var init_pitch = jetway.getNode("initial-position/jetway-pitch-deg", 1).getValue() or 0;
|
var init_pitch = jetway.getNode("initial-position/jetway-pitch-deg", 1).getValue() or 0;
|
||||||
|
|
|
@ -403,13 +403,29 @@ var export = func
|
||||||
print("jetway definitions for airport " ~ airport ~ " exported to " ~ file);
|
print("jetway definitions for airport " ~ airport ~ " exported to " ~ file);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var convert_stg = func
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# var report = func(n) { print("file ", n.getValue(), " selected") }
|
||||||
|
|
||||||
|
|
||||||
|
var convert_stg = func()
|
||||||
{
|
{
|
||||||
fgcommand("dialog-show", props.Node.new({ "dialog-name": "file-select" }));
|
var selector = gui.FileSelector.new(
|
||||||
setprop("/sim/gui/dialogs/file-select/path", "");
|
convert_stg2, # callback function
|
||||||
filedialog_listener = setlistener("/sim/gui/dialogs/file-select/path", func(n)
|
"choose stg file", # dialog title
|
||||||
|
"open", # button text
|
||||||
|
["*.stg",], # pattern for displayed files
|
||||||
|
"/", # start dir
|
||||||
|
"input.stg"); # default file name
|
||||||
|
selector.open();
|
||||||
|
|
||||||
|
# selector.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
var convert_stg2 = func(n)
|
||||||
{
|
{
|
||||||
removelistener(filedialog_listener);
|
|
||||||
var path = n.getValue();
|
var path = n.getValue();
|
||||||
if (path == "") return;
|
if (path == "") return;
|
||||||
var stg = io.readfile(path);
|
var stg = io.readfile(path);
|
||||||
|
@ -481,8 +497,8 @@ var convert_stg = func
|
||||||
};
|
};
|
||||||
settimer(loop, 0);
|
settimer(loop, 0);
|
||||||
jetways.alert("Creating " ~ size(jetway_array) ~ " jetways for airport " ~ airport);
|
jetways.alert("Creating " ~ size(jetway_array) ~ " jetways for airport " ~ airport);
|
||||||
}, 0, 1);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var flash = func(jetway)
|
var flash = func(jetway)
|
||||||
{
|
{
|
||||||
if (!contains(jetway, "_flashnum") or jetway._flashnum == -1)
|
if (!contains(jetway, "_flashnum") or jetway._flashnum == -1)
|
||||||
|
|
Loading…
Add table
Reference in a new issue