FlightGear next
navdb.hxx
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: Copyright (C) 2004 Curtis L. Olson - http://www.flightgear.org/~curt
3 * SPDX_FileComment: top level navaids management routines
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#pragma once
8
9#include <simgear/compiler.h>
10#include <simgear/math/SGGeod.hxx>
13
14#include <map>
15#include <string>
16#include <tuple>
17
18// forward decls
19class FGTACANList;
20class SGPath;
21
22namespace flightgear
23{
24
25class NavLoader {
26 public:
27 // load and initialize the navigational databases
28 void loadNav(const NavDataCache::SceneryLocation& sceneryLocation,
29 std::size_t bytesReadSoFar,
30 std::size_t totalSizeOfAllDatFiles);
31
32 void loadCarrierNav(const SGPath& path);
33
34 bool loadTacan(const SGPath& path, FGTACANList *channellist);
35
36 private:
37 // Maps (type, ident, name) tuples already loaded to their locations.
38 std::multimap<std::tuple<FGPositioned::Type, std::string, std::string>,
39 SGGeod> _loadedNavs;
40
41 PositionedID processNavLine(const std::string& line,
42 const std::string& utf8Path,
43 unsigned int lineNum,
45 unsigned int version = 810);
46};
47
48} // of namespace flightgear
49
bool loadTacan(const SGPath &path, FGTACANList *channellist)
Definition navdb.cxx:500
void loadNav(const NavDataCache::SceneryLocation &sceneryLocation, std::size_t bytesReadSoFar, std::size_t totalSizeOfAllDatFiles)
Definition navdb.cxx:411
void loadCarrierNav(const SGPath &path)
Definition navdb.cxx:477
FlightPlan.hxx - defines a full flight-plan object, including departure, cruise, arrival information ...
Definition Addon.cxx:53
int64_t PositionedID