1
0
Fork 0
Commit graph

63 commits

Author SHA1 Message Date
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