1#ifndef IVS3D_GEODISTANCEPLUGIN_H
2#define IVS3D_GEODISTANCEPLUGIN_H
16#include <QGeoCoordinate>
17#include <QCoreApplication>
20#include "../iVS3D-core/model/progressable.h"
21#include "../iVS3D-core/model/reader/reader.h"
22#include "../iVS3D-core/plugin/signalobject.h"
25#include "../iVS3D-pluginInterface/ialgorithm.h"
28#define DESCRIPTION_STYLE "color: rgb(58, 58, 58); border-left: 6px solid rgb(58, 58, 58); " \
29 "border-top-right-radius: 5px; border-bottom-right-radius: 5px; " \
30 "background-color: lightblue;"
32#define NAME_Distance "Distance"
33#define NAME_Altitude "Altitude"
50 Q_PLUGIN_METADATA(IID
"iVS3D.IAlgorithm")
84 QString
getName()
const override;
99 std::vector<uint>
sampleImages(
const std::vector<uint>& imageList,
116 void setSettings(QMap<QString, QVariant> settings)
override;
133 volatile bool* stopped)
override;
161 void createSettingsWidget(QWidget* parent);
165 std::vector<unsigned int> getKeyframesFromGps();
167 QPointF gpsHashToLatLong(QVariant hash);
168 QGeoCoordinate gpsHashtoGeoCo(QVariant hash);
170 double distanceBetweenPoints(
int first,
int second);
171 double greatCircleDistance(QPointF first, QPointF second);
...
Definition geodistance.h:46
QMap< QString, QVariant > getSettings() override
getter for plugin's settings
Definition geodistance.cpp:147
QMap< QString, QVariant > mBuffer
Buffered data form last call to sampleImages.
Definition geodistance.h:185
QList< QVariant > mMetaData
List of available meta data.
Definition geodistance.h:188
QMap< QString, QVariant > generateSettings(Progressable *receiver, bool useCuda, volatile bool *stopped) override
generateSettings tries to generate the best settings for the current input
Definition geodistance.cpp:158
GeoDistance()
Construct and initialize plugin with default parameterization.
Definition geodistance.cpp:12
void onKeyframesChanged(std::vector< uint > keyframes)
onKeyframesChanged Slot is triggerd if the core emtis new keyframes
Definition geodistance.cpp:173
double mDistance
distance for sampling set by the user
Definition geodistance.h:209
void initialize(Reader *reader, QMap< QString, QVariant > buffer, signalObject *sigObj) override
initialize the the IAlgorithm and the settings widget with plausible values from the Reader.
Definition geodistance.cpp:100
bool mIsGpsAvailable
Flag indicating if GPS data is available.
Definition geodistance.h:197
QCheckBox * mpAltitudeCheckBox
Pointer to altitude check box.
Definition geodistance.h:203
Reader * mpReader
Pointer to reader object of iVS3D-core.
Definition geodistance.h:179
virtual ~GeoDistance()
Destroy object of GeoMapPlugin.
Definition geodistance.cpp:29
QDoubleSpinBox * mpSpinBoxDist
Pointer to distance spin box.
Definition geodistance.h:200
bool mAltitudeExisting
Flag indicating if altitude data is available.
Definition geodistance.h:191
QString getName() const override
getName returns the display name for the plugin. This name is presented to the user.
Definition geodistance.cpp:45
QWidget * getSettingsWidget(QWidget *parent) override
getSettingsWidget is provides an QWidget to display plugin specific settings to the user....
Definition geodistance.cpp:35
void slot_altitudeCheckChanged(bool check)
slot_altitudeCheckChanged triggered with check box mpAltitudeCheck
Definition geodistance.cpp:251
QList< QPair< QPointF, bool > > mGpsData
List of GPS data associated with the images.
Definition geodistance.h:194
std::vector< uint > sampleImages(const std::vector< uint > &imageList, Progressable *receiver, volatile bool *stopped, bool useCuda, LogFileParent *logFile) override
sampleImages selects the keyframes from the given images. The computation is based on the images prov...
Definition geodistance.cpp:51
void onNewMetaData()
onNewMetaData Slot is triggerd if the core loads new meta data
Definition geodistance.cpp:165
QWidget * mpSamplingWidget
Pointer to the sampling widget.
Definition geodistance.h:182
void slot_distChanged(double n)
slot_devChanged Slot is triggerd when the value of mpSpinBoxDist is changed
Definition geodistance.cpp:246
void setSettings(QMap< QString, QVariant > settings) override
setter for plugin's settings
Definition geodistance.cpp:130
signalObject * mpSigObj
Pointer to signal object of iVS3D-core.
Definition geodistance.h:176
bool mUseAltitude
sampling flag indicating if altitude data should be used for distance calculation
Definition geodistance.h:206
The IAlgorithm interface is used to include plugin implementations for different sampling algorithms....
Definition ialgorithm.h:35
The LogFileParent class logs progress as well as information about a process (e.g....
Definition LogFileParent.h:30
The Progressable interface is used to by multithreaded actions such as sampling or exporting to repor...
Definition progressable.h:18
The Reader interface defines functions which are used for reading and parsing the import.
Definition reader.h:23
Definition signalobject.h:10