12 #include "matrix/vlVector.h"
16 #include <unordered_map>
39 virtual bool isValid()
const = 0;
70 virtual bool isValid()
const = 0;
79 virtual double speed()
const = 0;
81 virtual double heading()
const = 0;
82 virtual std::string
callSign()
const = 0;
134 using Ptr = std::shared_ptr<DtAdsbDataJob>;
143 virtual void tick() = 0;
146 virtual bool success()
const = 0;
149 virtual void cancel() = 0;
161 virtual bool isDataLoading()
const = 0;
165 virtual bool isFileLoadError()
const = 0;
171 virtual DtAdsbDataJob::Ptr findTracksInArea(
const DtVertexList& areaVertices,
172 bool unownedOnly =
true) = 0;
180 virtual DtAdsbDataJob::Ptr findTracksInAreaDuringTime(
const DtVertexList & areaVertices,
181 double startSimTime,
double endSimTime,
bool unownedOnly) = 0;
188 virtual DtTrackHandlePtr trackHandleForAddress(DtIcaoAddress trackId)
const = 0;
195 virtual DtAdsbDataJob::Ptr requestOwnershipOfTracks(
const DtIcaoAddrSet& trackIds,
196 const double lastSimTime) = 0;
199 virtual DtAdsbDataJob::Ptr releaseOwnershipOfTracks(
const DtIcaoAddrSet& trackIds) = 0;
203 virtual double adsbTimeFromSimTime(
double simTime)
const = 0;
207 virtual std::string stringForEpochTime(
double t)
const = 0;
211 virtual double simTimeFromAdsbTime(
double adsbTime)
const = 0;
214 virtual double finalDataSimTime()
const = 0;
239 virtual void updateSquawkChangedTimestamp(
const int icaoAddress,
const double& simTime) = 0;
246 virtual double barometricAltitudeAdjustment(
const DtVector& localPosition,
const double simTime)
const = 0;
253 virtual void resetData() = 0;
virtual std::string aircraftType() const =0
ICAO type.
virtual double maxAltitudeFlown() const =0
virtual std::string flightNumber() const =0
virtual ~DtAdsbPathPointHandle()
Definition: adsbDataServiceInterface.h:67
virtual double maxSpeedFlown() const =0
DtAdsbDataJob()
Definition: adsbDataServiceInterface.h:136
virtual bool isValid() const =0
virtual std::string callSign() const =0
virtual bool isOnGround() const =0
virtual std::string tailNumber() const =0
virtual double timeStamp() const =0
Time of point in ADSB data (not sim time). Epoch time.
virtual short squawkCode() const =0
String representation of octal number.
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
A handle to a point, for the same reasons as above. Functions return 0 or "" if the point is not vali...
Definition: adsbDataServiceInterface.h:64
This class hold ship data that is obtained from AIS messages. It is generated initially by the proces...
Definition: aisTrack.h:24
virtual double altitude() const =0
Barometric altitude in ADSB data, in meters.
virtual DtAdsbPathPointHandle & operator++()=0
Makes this handle point to the next path point. If it starts at the last point, incrementing it will ...
virtual double latitude() const =0
Radians.
Definition: asyncJobServer.h:37
Abstract interface class to the ADSB data service. This service provides access to Automatic Dependen...
Definition: adsbDataServiceInterface.h:121
virtual bool isSquawkChanged(const double simTime) const =0
std::shared_ptr< DtAdsbTrackHandle > DtTrackHandlePtr
Shared_ptr so that copy constructor will work on the pointer without destroying the rhs...
Definition: adsbDataServiceInterface.h:60
class DtVertexList:
Definition: vertexList.h:22
virtual ~DtAdsbTrackHandle()
Definition: adsbDataServiceInterface.h:37
DtAdsbDataServiceInterface()
Definition: adsbDataServiceInterface.h:155
In order to prevent clients from accessing the underlying data storage, this interface defines handle...
Definition: adsbDataServiceInterface.h:34
virtual bool operator==(const DtAdsbPathPointHandle &other) const =0
Note that when using the defined type DtPointHandlePtr, the typical usage will be (*pHandle1) == (*p...
virtual int icaoAddress() const =0
virtual bool isValid() const =0
Point is valid if track is valid and the point exists in the track's (current) path.
virtual double speed() const =0
Airspeed in ADSB data, in mps.
Base class for all ADSB data jobs. Provides an interface for getting the status of an ongoing job...
Definition: adsbDataServiceInterface.h:131
std::set< DtIcaoAddress > DtIcaoAddrSet
Definition: adsbDataServiceInterface.h:127
virtual ~DtAdsbDataServiceInterface()
Definition: adsbDataServiceInterface.h:157
virtual double maxFlightDistance() const =0
std::shared_ptr< DtAdsbPathPointHandle > DtPointHandlePtr
Shared_ptr so that copy constructor will work on the pointer without destroying the rhs...
Definition: adsbDataServiceInterface.h:113
Class definition for one track created from ADSB messages, i.e. the identifying information and time-...
Definition: adsbTrack.h:97
std::shared_ptr< DtAdsbDataJob > Ptr
Definition: adsbDataServiceInterface.h:134
DtAdsbTrackHandle()
Users of this interface will not need to construct objects. The manager that implements the interface...
Definition: adsbDataServiceInterface.h:55
virtual double longitude() const =0
virtual int icaoAddress() const =0
virtual ~DtAdsbDataJob()
Definition: adsbDataServiceInterface.h:137
virtual double heading() const =0
True heading in ADSB data, in radians.
#define DT_DLL_vrfcore
This file is used to determine how to build.
Definition: vrfcoreDefines.h:25
DtAdsbPathPointHandle()
Users of this interface will not need to construct objects. The manager that implements the interface...
Definition: adsbDataServiceInterface.h:108