digiKam
Loading...
Searching...
No Matches
track_correlator.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2006-09-19
7 * Description : Correlator for tracks and images
8 *
9 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2010 by Michael G. Hansen <mike at mghansen dot de>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Local includes
19
20#include "trackmanager.h"
21#include "digikam_export.h"
22
23namespace Digikam
24{
25
26class DIGIKAM_EXPORT TrackCorrelator : public QObject
27{
28 Q_OBJECT
29
30public:
31
33 {
34 CorrelationFlagCoordinates = 1,
35 CorrelationFlagInterpolated = 2,
36 CorrelationFlagAltitude = 3
37 };
38
39public:
40
42 {
43 public:
44
45 Correlation() = default;
46
47 public:
48
49 typedef QList<Correlation> List;
50
51 QDateTime dateTime;
52 QVariant userData;
53 int nSatellites = -1;
54 qreal hDop = -1.0;
55 qreal pDop = -1.0;
56 int fixType = -1;
57 qreal speed = -1.0;
58 CorrelationFlags flags = CorrelationFlagCoordinates;
60 };
61
62 // -------------------------------------
63
65 {
66 public:
67
68 CorrelationOptions() = default;
69
70 public:
71
72 bool interpolate = false;
73 int interpolationDstTime = 0;
74 int maxGapTime = 0;
75 int secondsOffset = 0;
76 int timeZoneOffset = 0;
77 };
78
79public:
80
81 explicit TrackCorrelator(TrackManager* const trackManager, QObject* const parent = nullptr);
82 ~TrackCorrelator() override;
83
84 void correlate(const Correlation::List& itemsToCorrelate, const CorrelationOptions& options);
85 void cancelCorrelation();
86
87Q_SIGNALS:
88
92
93private Q_SLOTS:
94
95 void slotThreadItemsCorrelated(const Digikam::TrackCorrelator::Correlation::List& correlatedItems);
96 void slotThreadFinished();
97
98private:
99
100 class Private;
101 const QScopedPointer<Private> d;
102};
103
104} // namespace Digikam
105
Definition geocoordinates.h:44
Definition track_correlator.h:65
Definition track_correlator.h:42
QVariant userData
Definition track_correlator.h:52
QDateTime dateTime
Definition track_correlator.h:51
QList< Correlation > List
Definition track_correlator.h:49
GeoCoordinates coordinates
Definition track_correlator.h:59
Definition track_correlator.h:27
void signalItemsCorrelated(const Digikam::TrackCorrelator::Correlation::List &correlatedItems)
CorrelationFlags
Definition track_correlator.h:33
Definition trackmanager.h:36
Definition datefolderview.cpp:34