FlightGear next
CommStation.cxx
Go to the documentation of this file.
1/*
2 * SPDX-FileName: CommStation.cxx
3 * SPDX-FileComment: class describing a single comm station in the Nav DB
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#include "config.h"
8
9#include "CommStation.hxx"
10#include <Airports/airport.hxx>
12
13namespace flightgear {
14
15CommStation::CommStation(PositionedID aGuid, const std::string& name, FGPositioned::Type t, const SGGeod& pos, int range, int freq) :
16 FGPositioned(aGuid, t, name, pos),
17 mRangeNM(range),
18 mFreqKhz(freq),
19 mAirport(0)
20{
21}
22
24{
25 mAirport = apt;
26}
27
32
34{
35 return mFreqKhz / 1000.0;
36}
37
39CommStation::findByFreq(int freqKhz, const SGGeod& pos, FGPositioned::Filter* filt)
40{
41 return (CommStation*) NavDataCache::instance()->findCommByFreq(freqKhz, pos, filt).ptr();
42}
43
44} // of namespace flightgear
SGSharedPtr< FGAirport > FGAirportRef
Predicate class to support custom filtering of FGPositioned queries Default implementation of this pa...
FGPositioned(PositionedID aGuid, Type ty, const std::string &aIdent, const SGGeod &aPos)
virtual const std::string & name() const
Return the name of this positioned.
static SGSharedPtr< T > loadById(PositionedID id)
FGAirportRef airport() const
CommStation(PositionedID aGuid, const std::string &name, FGPositioned::Type t, const SGGeod &pos, int range, int freq)
void setAirport(PositionedID apt)
static CommStationRef findByFreq(int freqKhz, const SGGeod &pos, FGPositioned::Filter *filt=NULL)
FGPositionedRef findCommByFreq(int freqKhz, const SGGeod &pos, FGPositioned::Filter *filt)
Find the closest matching comm-station on a frequency, to a position.
static NavDataCache * instance()
FlightPlan.hxx - defines a full flight-plan object, including departure, cruise, arrival information ...
Definition Addon.cxx:53
SGSharedPtr< CommStation > CommStationRef
int64_t PositionedID