1
0
Fork 0
Commit graph

58 commits

Author SHA1 Message Date
James Turner
fc887b106b Checkpoint - ground-net skips the cache 2015-12-01 14:01:32 +00:00
Thomas Geymayer
c7c9fd67aa TACAN: fix distance calculations and some other problems.
- Calculate line of sight distance instead of distance over
   ground
 - Do a nav cache update if carrier_nav.dat.gz timestamp has
   changed
 - Allow comments in carrier_nav.dat.gz
 - "Fix" range calculations (still does not take terrain/weather
   and other influences into account)
2014-03-02 16:52:00 +01:00
James Turner
761b4835f9 Make positioned queries more defensive.
Validate the filter type range, to avoid crashing on bad ranges.
Accept arbitrary type lists in the Nasal API for searching by distance
2013-10-02 22:28:19 +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
8d56b4664a Port more airport/navaid methods to cppbind 2013-03-06 01:04:52 +01:00
Christian Schmitt
658bda6e40 MapWidget: Show counties and towns as well, depending on the zoom.
Some colors added.
2013-03-05 18:26:01 +01:00
Thomas Geymayer
45e3b7e2d1 Clean up/prepare for porting NasalPositioned to cppbind 2013-03-04 16:31:37 +01:00
Christian Schmitt
7236541833 Add points of interest (POI) database to FGPositioned. Useful for maps and GPS instruments.
Can display country, city, towns and villages names worldwide.
2013-03-03 14:47:12 +01:00
James Turner
68c71d5787 Positioned/Cache tweaks to support PoIs.
In preparation for adding POI data, extend the FGPositioned type enum, and the cache code to handle arbitrary POI types. (Adding more in the future is straightforward now)

Also support removing user waypoints, which was requested by the Garmin G196 developers.
2013-03-02 13:44:20 +00:00
James Turner
851029143e NavDisplay: time-bound the spatial query.
At large search ranges (320 or 640NM range on the 777), the search time can blow up, especially if distant airports are being loaded. Add a time-bounded spatial query, and use it, so performance stays tolerable.
2012-12-30 17:01:48 +00:00
James Turner
1e8cdd5829 Support partial all-within-range spatial queries.
As an opt-in API, allow clients to request partial results, with a time-bounded cutoff. Use this to keep the MapWidget responsive even when many airports are being added to the cache (e.g., zooming out or panning rapidly when zoomed out)
2012-12-18 10:23:44 +00:00
ThorstenB
458edb9339 Use more specific logging classes for SG_LOG.
The log filters aren't really useful when everything uses SG_GENERAL.
2012-11-23 21:16:08 +01:00
ThorstenB
1d99401c04 Remove osg dependency for isNaN only. 2012-11-11 17:22:42 +01: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
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
James Turner
2d267a5782 Remove PositionedBinding (which no one ever used), Nasal is better for this jobs. 2012-04-26 00:37:47 +01:00
James Turner
fb66aeade1 More search functions exposed to Nasal, also airport parking. 2012-04-24 22:12:56 +01:00
James Turner
5572c53a7e Minor tweaks to positioned find commands. 2011-06-02 00:33:47 +01:00
James Turner
fc7e9740c3 Improvements to exposing FGPositioned via commands - support frequency searches. 2011-06-01 23:55:04 +01:00
Frederic Bouvier
bff1f29fe8 Fix Linux build 2011-06-01 20:28:31 +02:00
James Turner
2b967608a0 Expose FGPositioned data via property tree, and make comm-stations a real FGPositioned subclass. 2011-06-01 17:45:22 +01:00
James Turner
0931fe332e Guard against NaN SGGeods in FGPositioned spatial queries, and in the GPS lat/lon reading code. 2010-12-19 16:18:12 +00:00
James Turner
dd2eec7bd8 Airways/procedures code - add new data structures to store waypoints and
procedures, and routing algorithms, and modify the GPS, route manager and
WaypointList to use the new objects.
2010-10-20 09:02:02 +01:00
James Turner
8d5021f670 Make ident/name searches on FGPositioned case-insensitive (for the GPS, especially) 2010-08-14 20:24:30 +01:00
James Turner
57cb0a809b Fix bug 150 (airports not found in GPS search)
Overhaul and simplify the GPS search logic based
on experience and testing with the API. Also fix
search-by-name, which was broken.
2010-08-14 19:16:28 +01:00
Torsten Dreyer
2e6d7e111a gcc warning fixes 2010-06-26 21:24:46 +02:00
James Turner
45fbd8008d Support ICAO identifiers with more than four characters, in the AirportsList. 2010-05-09 11:11:52 +01:00
frohlich
1797f4cb3e Use methods from SGMath when possible.
Modified Files:
	src/Airports/apt_loader.cxx src/Navaids/positioned.cxx
	src/Navaids/positioned.hxx
2010-05-05 17:02:27 +02:00
James Turner
0637cba24a Fix findNearest termination - ensure we expand all octree nodes that might contain closer results than the current list. 2009-12-19 23:13:17 +01:00
James Turner
34bbc6d974 Rewrite the spatial index to use a sparse octree on the cartesian coordinates of items.
* Fixes errors selecting 'nearest' items, including duplicates
* Stable behaviour around the poles and dateline
* Decently efficient, even for 'everything within 500nm' queries
2009-12-19 23:13:17 +01:00
jmt
c453d1a0cc Fix reset crash, thanks to Joe: make findNextWithPartial, and the route-manager, robust about people setting NULL / empty airport idents. 2009-12-12 00:11:34 +01:00
jmt
f11572cd64 Case insensitivity for findNextByPartialId. 2009-11-07 09:00:51 +01:00
jmt
ecfe4eb21b Check one potential source of the prime-meridian crash. 2009-11-04 23:12:59 +01:00
jmt
4b5518808b Use boost string algorithms to avoid dependence on C-library extensions missing in MSVC. Also they're just nicer. 2009-10-07 08:26:10 +02:00
jmt
2d5924939e Extend FGPositioned API to support queries by name as well as ident. 2009-10-06 07:29:03 +02:00
jmt
5c2dbb4239 Extender iterative search APIs with a 'has-next' return arg, to enable better iteration UI. 2009-10-06 07:28:38 +02:00
jmt
c08cc9693e Bugfix use of type checks in FGPositioned::findAllWithIdentSortedByRange 2009-10-04 02:04:18 +02:00
Tim Moore
9ebd19babf Use boost::to_lower_copy instead of function from simgear
The simgear function is about to get removed.
2009-10-01 00:15:37 +02:00
jmt
e1555ba9a5 Positioned support for adding user waypoints. 2009-09-30 08:13:09 +02:00
jmt
5755b7ae0e Further extensions to FGPositioned to support ongoing GPS work. 2009-09-29 00:01:56 +02:00
jmt
04b30f322d Extend FGPositioned to allow mapping from a string to a type. 2009-09-29 00:01:47 +02:00
fredb
862f59aded Reserve a special FGPositionned type for pavements 2009-06-15 10:29:45 +02:00
jmt
83c29b4f43 Fix a bad copy-and-paste bug in namedFindClosest, which broke things in the
multiple-matches case.
2009-06-11 16:05:21 +02:00
jmt
031f9bb33b Dave Luff's patch to fix findNextWithPartialId 2009-06-11 16:05:19 +02:00
fredb
1d4aaa2f0d Compile with VS2005 in debug mode 2009-02-22 23:52:17 +01:00
jmt
9e945e3408 Fix Torsten's crash. A completely cross-platform issue, no idea why it didn't show up in local testing. 2009-01-10 00:07:44 +01:00
jmt
2d852024c6 Basic infrastructure to expose type ranges from filters, and hence reduce
how many candidates need to be submitted to the pass() hook.
2009-01-10 00:06:47 +01:00
jmt
f1b10eddfa FGAirportList is gone. Everything should work as before, especially the
AirportList dialog. (It would now be possible to trivially implement a
VOR or NDB named search, if anyone wants such a thing).
2008-12-27 13:20:08 +00:00
jmt
b58c8b6f19 Further work (still not enabled) on a fast + correct implementation of the
airportList search function. At least for me (with a mutex-based SGAtomic),
large vectors of referenced-pointers is a Bad Thing - copying on vector
resize is thrashing the locks.
2008-12-27 10:08:12 +00:00