James Turner
6d0c2070fd
Use future-proof SGPath APIs.
...
Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.
2016-06-28 10:08:38 +01:00
James Turner
caead66ba6
Nasal support for VIA / Discontinuity
2015-12-11 13:43:25 -06:00
James Turner
2af076e6cb
Add airport dynamics manager
...
- decouple dynamic airport data from the static (nav-db) data.
2015-12-05 00:25:29 +00:00
James Turner
fc887b106b
Checkpoint - ground-net skips the cache
2015-12-01 14:01:32 +00:00
James Turner
564177933b
FlightPlan activation, delegate hook.
2015-02-23 13:41:50 +00:00
James Turner
e9849ecae9
Remove a warning, let Nasal itself warn if needed.
2015-01-10 19:35:50 +00:00
James Turner
e94371ebfc
Route-path bug fixes.
...
- explicit aircraft performance categories for turn radius
- allow overflight leg course behaviour to be selected
2015-01-08 19:46:04 +00:00
James Turner
a1169e4f75
Expose waypoint heading/course to Nasal.
2014-12-21 09:53:32 +03:00
James Turner
01622dd1f4
Fix flight-plan course and distance computations.
...
Always use the RoutePath system for course and distance computations
in the flight plan, so that dynamic segments are handled correctly.
2014-12-08 17:56:15 +00:00
James Turner
d806b68706
find waypoints in the flight plan.
2014-12-04 15:43:32 +00:00
James Turner
0fbc448af0
Nasal changes for reset
...
- reduce use of global context (will die soon)
- replace static wrappedNode ref which breaks reset
2013-11-22 22:52:33 +00:00
James Turner
881df711ba
Reset: Nasal can be shutdown.
...
Also guard against duplicate init of cppbind wrapped classes.
2013-11-12 22:47:41 +00:00
James Turner
8622661237
Further tuning of arg->num conversion.
2013-11-07 06:29:58 -08:00
James Turner
0d740bcfae
Simpler Nasal for leg constraints.
...
Thanks to Philosopher for the suggestion.
2013-11-06 16:58:09 -08:00
James Turner
f0011bc759
Nasal: accept strings-containing-ints as
...
arguments to leg altitude/speed constraints.
2013-11-06 15:50:13 -08:00
James Turner
1e746500dd
Validate arg to Nasal airport.comms().
...
Thanks to HomerJ for the catch.
2013-10-18 15:54:44 +01:00
Thomas Geymayer
5c42071fbb
Scripting: get rid of gcHash and use new SimGear/Nasal functions.
2013-10-15 00:58:21 +02:00
James Turner
3e46c7998c
Additional checks, for waypoint role setting.
...
Added these while investigating a defect, which unfortunately still
remains elusive. But the checks are wise anyway.
2013-07-24 08:51:35 +01:00
James Turner
7de4cb5965
Kill off some unnecessary log messages.
2013-06-28 10:07:39 +01:00
James Turner
e89df85817
GPSs uses FlightPlans directly.
2013-04-09 10:20:02 +01:00
Thomas Geymayer
3047c316dc
Clean up/simplify NasalPositioned_cppbind
...
Ensure all FGPositioned related functions return SGSharedPtr
instead of raw pointers to allow automatic conversion to
nasal ghosts without custom helper functions.
2013-03-06 23:21:49 +01:00
Thomas Geymayer
22a1c9b2af
Finish porting airportinfo to cppbind
2013-03-04 23:14:26 +01:00
Thomas Geymayer
45e3b7e2d1
Clean up/prepare for porting NasalPositioned to cppbind
2013-03-04 16:31:37 +01:00
Christian Schmitt
ee1c8a8d66
Expose more runway methods to Nasal
2013-03-01 12:53:25 +01:00
Christian Schmitt
8588eb2e4b
Expose heliports to Nasal for future use in maps
2013-02-26 18:20:10 +01:00
James Turner
1eb8ae1fbf
Give the FGAirport class a sane filename.
...
simple.[cxx|hxx] -> airport.[cxx|hxx]
2013-02-21 11:32:02 +00:00
James Turner
6705a2ec6d
Fix compilation on some platforms.
...
No idea why I don't need this on Mac - differing Boost versions?
2012-12-31 20:13:26 +00:00
James Turner
369e6b564f
Flightplan delegate hook for clearing the FP.
...
This allows delegates to take action when the flightlan is cleared, and especially, for the default delegate in the route-manager to deactivate itself, and hence the GPS LEG mode - which fixes bug 940 I hope.
2012-12-31 17:39:52 +00:00
James Turner
6c3853fd0d
Expose an additional flight plan leg data to Nasal.
2012-12-31 11:46:36 +00:00
James Turner
12076bce0e
Expose position along the flight-path to Nasal.
...
Useful to query a point '100nm before wpt X' from Nasal, especially for VNAV calculations (T/C, T/D).
2012-12-26 23:48:19 +00:00
Thomas Geymayer
863cd6a290
Canvas/Nasal and Nasal/C++ binding experiments
2012-11-15 12:43:34 +01:00
James Turner
afcdbd3158
Overhaul the ground-net / parking code.
...
Use the nav-data-cache to cache groundnet information, including
parking positions and the taxi-node graph.
2012-11-08 09:07:05 +00:00
ThorstenB
076bbb8487
Fix some compiler warnings.
...
Unused vars, loss of precision, bool type conversions.
2012-10-13 17:59:47 +02:00
James Turner
b1ff365a8f
Make FGTaxiNode and FGParking inherit FGPositioned.
...
In preparation for caching the groundnet in the NavCache, make taxi-nodes and parkings inherit from FGPositioned. As part of this, make them heap (as opposed to value) classes, disable their copy-constructors, remove many mutating operations, and give them real constructors.
2012-09-25 00:31:17 +01:00
Stuart Buchanan
a3a40af860
Simplify code for taxiways.
2012-09-20 21:53:31 +01:00
Stuart Buchanan
ac1fc699b7
Expose surface types and taxiways via the airportinfo() Nasal call.
2012-09-19 22:33:43 +01:00
James Turner
3cf7715485
Expose the route-path of leg to Nasal.
...
In advance of converting the Map and NavDisplay to use the canvas, expose the full route-path vector for each flight plan leg, as a vector on the leg. Use leg.path() to get this.
E.g.:
var fp = flightplan();
for (var i=0; i<fp.getPlanSize(); i += 1)
{
var leg = fp.getWP(i);
debug.dump(leg.path());
}
2012-09-19 18:40:34 +01:00
James Turner
9b900e9430
Implement a persistent cache for navigation data.
...
Cache the parsed navigation and airport data in a binary file to reduce
startup times and memory consumption (since only referenced FGPositioned
elements are held in memory).
Data will be reimported when the mod-time of any input file is changed.
If a global file is changed (nav.dat, awy.dat, apt.dat, etc), the cache
will be completely rebuilt, which takes approximately 30 seconds on
moderate hardware. (Future work may reduce this).
2012-09-19 11:38:19 +01:00
Mathias Froehlich
26664aaff0
Push SGMaterial use into these classes that need it.
2012-08-29 06:29:29 +02:00
Thomas Geymayer
a876ff93e1
NasalPositioned: Expose actual postion of parkings
2012-07-31 23:19:22 +02:00
James Turner
ffac5ff889
Standard property to ignore unusably short runways in NavDB.
...
Default values should match existing behaviour. Set
/sim/navdb/min-runway-length-ft to skip short runways
in GPS / Map / ND / Nasal queries.
2012-05-16 16:51:39 +01:00
James Turner
1ef77b2bc2
More route-manager functionality moved to Nasal.
...
The routing behaviour now happens entirely in Nasal,
using a delegate, and can be over-ridden or disable
by aircraft authors. Default behaviour should be
unchanged.
2012-05-15 17:53:30 +01:00
James Turner
ce92730ef6
Expose FlightPlan delegates to Nasal, finally.
...
This will permit Nasal (e.g., FMS) to update nicely when the FlightPlan
is modified from anywhere else.
2012-05-12 17:23:17 +01:00
James Turner
0f61108f5b
Break FlightPlan out into its own file.
2012-05-12 10:25:56 +01:00
James Turner
acd8fa25e6
Expose procedure routing and fixes to Nasal.
2012-05-11 17:07:56 +01:00
James Turner
ea2c73e8b5
Expose airways via Nasal, and allow waypoint creation and deletion via Nasal too.
2012-05-08 21:06:28 +01:00
Frederic Bouvier
71622dc3ca
SID is a predefined type under windows
2012-05-07 10:19:55 +02:00
James Turner
1b7b69b498
Create a real FlightPlan (and Leg) class
...
Convert the route-manager to use a flight-plan internally, and expose
flightplan, leg and procedure data to Nasal. Move the Level-D parser
into its own file.
2012-05-07 00:35:48 +01:00
James Turner
f4318044ef
And expose the published navaid range to Nasal, since we can.
2012-04-28 23:35:19 +01:00
James Turner
78afdb3c22
Convert all the Nasal wrappers around FGPositioned to use ghost-member-access
...
Lazy-ness is good. Along the way, expose the course on ILS/LOC navaids to Nasal.
2012-04-28 23:28:12 +01:00