Navigation display:
- remove debug prints - proper ADF/ILS display - add LCD/CRT option - fix ranges
This commit is contained in:
parent
b9f0dd0466
commit
9af485ad93
7 changed files with 765 additions and 2433 deletions
|
@ -2,31 +2,27 @@ var AirportsNDModel = {};
|
|||
AirportsNDModel.new = func make(AirportsNDModel, LayerModel);
|
||||
|
||||
AirportsNDModel.init = func {
|
||||
#print("Updating AirportsNDModel");
|
||||
|
||||
me._view.reset();
|
||||
|
||||
var results = positioned.findWithinRange(me._controller.query_range()*2, "airport");
|
||||
var results = positioned.findWithinRange(me._controller.query_range(), "airport");
|
||||
var numResults = 0;
|
||||
foreach(result; results) {
|
||||
if (numResults < 50) {
|
||||
var apt = airportinfo(result.id);
|
||||
var runways = apt.runways;
|
||||
var runway_keys = sort(keys(runways),string.icmp);
|
||||
var validApt = 0;
|
||||
foreach(var rwy; runway_keys){
|
||||
var r = runways[rwy];
|
||||
if (r.length > 1890) # Only display suitably large airports
|
||||
validApt = 1;
|
||||
if (result.id == getprop("autopilot/route-manager/destination/airport") or result.id == getprop("autopilot/route-manager/departure/airport"))
|
||||
validApt = 1;
|
||||
}
|
||||
var apt = airportinfo(result.id);
|
||||
var runways = apt.runways;
|
||||
var runway_keys = sort(keys(runways),string.icmp);
|
||||
var validApt = 0;
|
||||
foreach(var rwy; runway_keys){
|
||||
var r = runways[rwy];
|
||||
if (r.length > 1890) # Only display suitably large airports
|
||||
validApt = 1;
|
||||
if (result.id == getprop("autopilot/route-manager/destination/airport") or result.id == getprop("autopilot/route-manager/departure/airport"))
|
||||
validApt = 1;
|
||||
}
|
||||
|
||||
if(validApt) {
|
||||
#canvas.draw_apt(me.apt_group, result.lat,result.lon,result.id,i);
|
||||
me.push(result);
|
||||
numResults += 1;
|
||||
}
|
||||
if(validApt) {
|
||||
#canvas.draw_apt(me.apt_group, result.lat,result.lon,result.id,i);
|
||||
me.push(result);
|
||||
numResults += 1;
|
||||
}
|
||||
}
|
||||
# set RefPos and hdg to apt !!
|
||||
|
|
File diff suppressed because it is too large
Load diff
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 82 KiB |
|
@ -11,12 +11,10 @@ DMEModel.init = func {
|
|||
));
|
||||
}
|
||||
|
||||
var results = positioned.findWithinRange(me._controller.query_range()*2 ,"dme");
|
||||
var results = positioned.findWithinRange(me._controller.query_range() ,"dme");
|
||||
foreach(result; results) {
|
||||
me.push(result);
|
||||
}
|
||||
|
||||
me.notifyView();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -4,10 +4,10 @@ FixModel.new = func make( LayerModel, FixModel );
|
|||
FixModel.init = func {
|
||||
me._view.reset(); # wraps removeAllChildren() ATM
|
||||
|
||||
var results = positioned.findWithinRange( me._controller['query_range']()*2 ,"fix");
|
||||
var results = positioned.findWithinRange( me._controller['query_range']() ,"fix");
|
||||
var numNum = 0;
|
||||
foreach(result; results) {
|
||||
# Skip airport navaids (real thing makes distinction between high/low altitude fixes)
|
||||
# Skip airport fixes
|
||||
if(string.match(result.id,"*[^0-9]")) {
|
||||
me.push(result);
|
||||
numNum = numNum + 1;
|
||||
|
|
|
@ -2,7 +2,7 @@ var NavaidModel = {};
|
|||
NavaidModel.new = func make(LayerModel, NavaidModel);
|
||||
NavaidModel.init = func {
|
||||
me._view.reset();
|
||||
var navaids = findNavaidsWithinRange(15);
|
||||
var navaids = findNavaidsWithinRange(me._controller.query_range());
|
||||
foreach(var n; navaids)
|
||||
me.push(n);
|
||||
me.notifyView();
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -5,9 +5,7 @@ RouteModel.new = func make(LayerModel, RouteModel);
|
|||
RouteModel.init = func {
|
||||
me._view.reset();
|
||||
if (!getprop("/autopilot/route-manager/active"))
|
||||
print("Cannot draw route, route manager inactive!") and return;
|
||||
|
||||
print("TODO: route.model is still an empty stub, see route.draw instead");
|
||||
return;
|
||||
|
||||
## TODO: all the model stuff is still inside the draw file for now, this just ensures that it will be called once
|
||||
foreach(var t; [nil] )
|
||||
|
|
Loading…
Add table
Reference in a new issue