14 #include <unordered_map>
43 using Ptr = std::shared_ptr<DtAisDataJob>;
44 using WeakPtr = std::weak_ptr<DtAisDataJob>;
53 virtual void tick() = 0;
56 virtual bool success()
const = 0;
59 virtual void cancel() = 0;
70 virtual bool isDataLoaded()
const = 0;
74 virtual DtAisDataJob::Ptr findTracksInArea(
const DtVertexList& areaVertices,
75 bool unownedOnly =
true) = 0;
79 virtual DtAisDataJob::Ptr findTracksInAreaDuringTime(
const DtVertexList & areaVertices,
80 double startSimTime,
double endSimTime,
bool unownedOnly) = 0;
84 virtual const DtAisTrack* trackInfo(DtMmsi trackId)
const = 0;
87 virtual DtAisDataJob::Ptr requestOwnershipOfTracks(
const DtMmsiSet& trackIds) = 0;
90 virtual DtAisDataJob::Ptr releaseOwnershipOfTracks(
const DtMmsiSet& trackIds) = 0;
94 virtual double aisTimeFromSimTime(
double simTime)
const = 0;
98 virtual double simTimeFromAisTime(
double aisTime)
const = 0;
101 virtual double finalDataSimTime()
const = 0;
107 virtual bool getFirstPointAfterTime(
const DtAisTrack& track,
double simTime,
114 virtual bool getLastPointBeforeTime(
const DtAisTrack& track,
double simTime,
122 virtual void resetData() = 0;
125 virtual void clearData() = 0;
Abstract interface class to the AIS data service. This service provides access to Automatic Identific...
Definition: aisDataServiceInterface.h:28
virtual ~DtAisDataJob()
Definition: aisDataServiceInterface.h:47
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
std::map< double, DtAdsb::DtPathPoint >::const_iterator DtPathPointIter
Definition: adsbDataManager.h:35
This class hold ship data that is obtained from AIS messages. It is generated initially by the proces...
Definition: aisTrack.h:24
DtAisDataJob()
Definition: aisDataServiceInterface.h:46
std::set< DtMmsi > DtMmsiSet
Definition: aisDataServiceInterface.h:34
Definition: asyncJobServer.h:37
std::shared_ptr< DtAisDataJob > Ptr
Definition: aisDataServiceInterface.h:43
class DtVertexList:
Definition: vertexList.h:22
Class definition for one track created from AIS messages, i.e. the identifying information and time-s...
Definition: aisTrack.h:60
Base class for all AIS data jobs. Provides an interface for getting the status of an ongoing job...
Definition: aisDataServiceInterface.h:40
std::map< double, DtPathPoint > DtPathPoints
Definition: aisDataServiceInterface.h:35
std::weak_ptr< DtAisDataJob > WeakPtr
Definition: aisDataServiceInterface.h:44
std::map< double, DtPathPoint >::const_iterator DtPathPointIter
Definition: aisDataServiceInterface.h:36
DtAisDataServiceInterface()
Definition: aisDataServiceInterface.h:65
virtual ~DtAisDataServiceInterface()
Definition: aisDataServiceInterface.h:67
#define DT_DLL_vrfcore
This file is used to determine how to build.
Definition: vrfcoreDefines.h:25