Commit f4eb1bde authored by Valentin Platzgummer's avatar Valentin Platzgummer

temp

parent dd135422
...@@ -421,8 +421,8 @@ INCLUDEPATH += \ ...@@ -421,8 +421,8 @@ INCLUDEPATH += \
src/Vehicle \ src/Vehicle \
src/Audio \ src/Audio \
src/comm \ src/comm \
src/RouteMissionItem \ src/MeasurementComplexItem \
src/RouteMissionItem/geometry \ src/MeasurementComplexItem/geometry \
src/comm/ros_bridge \ src/comm/ros_bridge \
src/input \ src/input \
src/lib/qmapcontrol \ src/lib/qmapcontrol \
...@@ -447,52 +447,52 @@ contains (DEFINES, QGC_ENABLE_PAIRING) { ...@@ -447,52 +447,52 @@ contains (DEFINES, QGC_ENABLE_PAIRING) {
HEADERS += \ HEADERS += \
src/QmlControls/QmlUnitsConversion.h \ src/QmlControls/QmlUnitsConversion.h \
src/RouteMissionItem/geometry/GeoArea.h \ src/MeasurementComplexItem/geometry/GeoArea.h \
src/RouteMissionItem/geometry/MeasurementArea.h \ src/MeasurementComplexItem/geometry/MeasurementArea.h \
src/RouteMissionItem/geometry/SafeArea.h \ src/MeasurementComplexItem/geometry/SafeArea.h \
src/Vehicle/VehicleEscStatusFactGroup.h \ src/Vehicle/VehicleEscStatusFactGroup.h \
src/RouteMissionItem/AreaData.h \ src/MeasurementComplexItem/AreaData.h \
src/RouteMissionItem/RouteComplexItem.h \ src/MeasurementComplexItem/MeasurementComplexItem.h \
src/RouteMissionItem/GenericSingelton.h \ src/MeasurementComplexItem/GenericSingelton.h \
src/RouteMissionItem/geometry/GenericCircle.h \ src/MeasurementComplexItem/geometry/GenericCircle.h \
src/RouteMissionItem/RoutingThread.h \ src/MeasurementComplexItem/RoutingThread.h \
src/RouteMissionItem/CircularGenerator.h \ src/MeasurementComplexItem/CircularGenerator.h \
src/RouteMissionItem/GeneratorBase.h \ src/MeasurementComplexItem/GeneratorBase.h \
src/RouteMissionItem/LinearGenerator.h \ src/MeasurementComplexItem/LinearGenerator.h \
src/RouteMissionItem/geometry/clipper/clipper.hpp \ src/MeasurementComplexItem/geometry/clipper/clipper.hpp \
src/RouteMissionItem/geometry/mapbox/feature.hpp \ src/MeasurementComplexItem/geometry/mapbox/feature.hpp \
src/RouteMissionItem/geometry/mapbox/geometry.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/box.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/box.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/empty.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/empty.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/envelope.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/envelope.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/for_each_point.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/for_each_point.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/geometry.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/geometry.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/line_string.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/line_string.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/multi_line_string.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/multi_line_string.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/multi_point.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/multi_point.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/multi_polygon.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/multi_polygon.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/point.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/point.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/point_arithmetic.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/point_arithmetic.hpp \
src/RouteMissionItem/geometry/mapbox/geometry/polygon.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry/polygon.hpp \
src/RouteMissionItem/geometry/mapbox/geometry_io.hpp \ src/MeasurementComplexItem/geometry/mapbox/geometry_io.hpp \
src/RouteMissionItem/geometry/mapbox/optional.hpp \ src/MeasurementComplexItem/geometry/mapbox/optional.hpp \
src/RouteMissionItem/geometry/mapbox/polylabel.hpp \ src/MeasurementComplexItem/geometry/mapbox/polylabel.hpp \
src/RouteMissionItem/geometry/mapbox/recursive_wrapper.hpp \ src/MeasurementComplexItem/geometry/mapbox/recursive_wrapper.hpp \
src/RouteMissionItem/geometry/mapbox/variant.hpp \ src/MeasurementComplexItem/geometry/mapbox/variant.hpp \
src/RouteMissionItem/geometry/mapbox/variant_io.hpp \ src/MeasurementComplexItem/geometry/mapbox/variant_io.hpp \
src/RouteMissionItem/geometry/snake.h \ src/MeasurementComplexItem/geometry/snake.h \
src/RouteMissionItem/geometry/GenericPolygon.h \ src/MeasurementComplexItem/geometry/GenericPolygon.h \
src/RouteMissionItem/geometry/GenericPolygonArray.h \ src/MeasurementComplexItem/geometry/GenericPolygonArray.h \
src/RouteMissionItem/geometry/GeoPoint3D.h \ src/MeasurementComplexItem/geometry/GeoPoint3D.h \
src/RouteMissionItem/NemoInterface.h \ src/MeasurementComplexItem/NemoInterface.h \
src/RouteMissionItem/nemo_interface/QNemoHeartbeat.h \ src/MeasurementComplexItem/nemo_interface/QNemoHeartbeat.h \
src/RouteMissionItem/nemo_interface/QNemoProgress.h \ src/MeasurementComplexItem/nemo_interface/QNemoProgress.h \
src/RouteMissionItem/nemo_interface/QNemoProgress.h \ src/MeasurementComplexItem/nemo_interface/QNemoProgress.h \
src/RouteMissionItem/nemo_interface/SnakeTile.h \ src/MeasurementComplexItem/nemo_interface/SnakeTile.h \
src/RouteMissionItem/nemo_interface/SnakeTileLocal.h \ src/MeasurementComplexItem/nemo_interface/SnakeTileLocal.h \
src/RouteMissionItem/nemo_interface/SnakeTiles.h \ src/MeasurementComplexItem/nemo_interface/SnakeTiles.h \
src/RouteMissionItem/nemo_interface/SnakeTilesLocal.h \ src/MeasurementComplexItem/nemo_interface/SnakeTilesLocal.h \
src/RouteMissionItem/call_once.h \ src/MeasurementComplexItem/call_once.h \
src/api/QGCCorePlugin.h \ src/api/QGCCorePlugin.h \
src/api/QGCOptions.h \ src/api/QGCOptions.h \
src/api/QGCSettings.h \ src/api/QGCSettings.h \
...@@ -522,27 +522,27 @@ contains (DEFINES, QGC_ENABLE_PAIRING) { ...@@ -522,27 +522,27 @@ contains (DEFINES, QGC_ENABLE_PAIRING) {
} }
SOURCES += \ SOURCES += \
src/RouteMissionItem/geometry/GeoArea.cc \ src/MeasurementComplexItem/geometry/GeoArea.cc \
src/RouteMissionItem/geometry/MeasurementArea.cc \ src/MeasurementComplexItem/geometry/MeasurementArea.cc \
src/RouteMissionItem/geometry/SafeArea.cc \ src/MeasurementComplexItem/geometry/SafeArea.cc \
src/Vehicle/VehicleEscStatusFactGroup.cc \ src/Vehicle/VehicleEscStatusFactGroup.cc \
src/RouteMissionItem/AreaData.cc \ src/MeasurementComplexItem/AreaData.cc \
src/api/QGCCorePlugin.cc \ src/api/QGCCorePlugin.cc \
src/api/QGCOptions.cc \ src/api/QGCOptions.cc \
src/api/QGCSettings.cc \ src/api/QGCSettings.cc \
src/api/QmlComponentInfo.cc \ src/api/QmlComponentInfo.cc \
src/RouteMissionItem/RouteComplexItem.cc \ src/MeasurementComplexItem/MeasurementComplexItem.cc \
src/RouteMissionItem/GenericSingelton.cpp \ src/MeasurementComplexItem/GenericSingelton.cpp \
src/RouteMissionItem/RoutingThread.cpp \ src/MeasurementComplexItem/RoutingThread.cpp \
src/RouteMissionItem/CircularGenerator.cpp \ src/MeasurementComplexItem/CircularGenerator.cpp \
src/RouteMissionItem/GeneratorBase.cc \ src/MeasurementComplexItem/GeneratorBase.cc \
src/RouteMissionItem/LinearGenerator.cpp \ src/MeasurementComplexItem/LinearGenerator.cpp \
src/RouteMissionItem/geometry/clipper/clipper.cpp \ src/MeasurementComplexItem/geometry/clipper/clipper.cpp \
src/RouteMissionItem/geometry/snake.cpp \ src/MeasurementComplexItem/geometry/snake.cpp \
src/RouteMissionItem/geometry/GeoPoint3D.cpp \ src/MeasurementComplexItem/geometry/GeoPoint3D.cpp \
src/RouteMissionItem/NemoInterface.cpp \ src/MeasurementComplexItem/NemoInterface.cpp \
src/RouteMissionItem/nemo_interface/QNemoProgress.cc \ src/MeasurementComplexItem/nemo_interface/QNemoProgress.cc \
src/RouteMissionItem/nemo_interface/SnakeTile.cpp \ src/MeasurementComplexItem/nemo_interface/SnakeTile.cpp \
src/comm/ros_bridge/include/RosBridgeClient.cpp \ src/comm/ros_bridge/include/RosBridgeClient.cpp \
src/comm/ros_bridge/include/com_private.cpp \ src/comm/ros_bridge/include/com_private.cpp \
src/comm/ros_bridge/include/messages/geographic_msgs/geopoint.cpp \ src/comm/ros_bridge/include/messages/geographic_msgs/geopoint.cpp \
......
...@@ -263,8 +263,8 @@ ...@@ -263,8 +263,8 @@
<file alias="SerialSettings.qml">src/ui/preferences/SerialSettings.qml</file> <file alias="SerialSettings.qml">src/ui/preferences/SerialSettings.qml</file>
<file alias="CircularGeneratorEditor.qml">src/WimaView/CircularGeneratorEditor.qml</file> <file alias="CircularGeneratorEditor.qml">src/WimaView/CircularGeneratorEditor.qml</file>
<file alias="QGroundControl/Controls/CircularGeneratorMapVisual.qml">src/WimaView/CircularGeneratorMapVisual.qml</file> <file alias="QGroundControl/Controls/CircularGeneratorMapVisual.qml">src/WimaView/CircularGeneratorMapVisual.qml</file>
<file alias="CircularSurveyItemEditor.qml">src/WimaView/CircularSurveyItemEditor.qml</file> <file alias="CircularSurveyItemEditor.qml">src/WimaView/MeasurementItemEditor.qml</file>
<file alias="QGroundControl/Controls/CircularSurveyMapVisual.qml">src/WimaView/CircularSurveyMapVisual.qml</file> <file alias="QGroundControl/Controls/CircularSurveyMapVisual.qml">src/WimaView/MeasurementItemMapVisual.qml</file>
<file alias="Wima/CoordinateIndicator.qml">src/WimaView/CoordinateIndicator.qml</file> <file alias="Wima/CoordinateIndicator.qml">src/WimaView/CoordinateIndicator.qml</file>
<file alias="Wima/CoordinateIndicatorDrag.qml">src/WimaView/CoordinateIndicatorDrag.qml</file> <file alias="Wima/CoordinateIndicatorDrag.qml">src/WimaView/CoordinateIndicatorDrag.qml</file>
<file alias="Wima/DragCoordinate.qml">src/WimaView/DragCoordinate.qml</file> <file alias="Wima/DragCoordinate.qml">src/WimaView/DragCoordinate.qml</file>
...@@ -352,9 +352,9 @@ ...@@ -352,9 +352,9 @@
<file alias="Video.SettingsGroup.json">src/Settings/Video.SettingsGroup.json</file> <file alias="Video.SettingsGroup.json">src/Settings/Video.SettingsGroup.json</file>
<file alias="VTOLLandingPattern.FactMetaData.json">src/MissionManager/VTOLLandingPattern.FactMetaData.json</file> <file alias="VTOLLandingPattern.FactMetaData.json">src/MissionManager/VTOLLandingPattern.FactMetaData.json</file>
<file alias="Wima.SettingsGroup.json">src/Settings/Wima.SettingsGroup.json</file> <file alias="Wima.SettingsGroup.json">src/Settings/Wima.SettingsGroup.json</file>
<file alias="RouteComplexItem.SettingsGroup.json">src/RouteMissionItem/json/RouteComplexItem.SettingsGroup.json</file> <file>src/MeasurementComplexItem/json/CircularGenerator.SettingsGroup.json</file>
<file alias="LinearGenerator.SettingsGroup.json">src/RouteMissionItem/json/LinearGenerator.SettingsGroup.json</file> <file>src/MeasurementComplexItem/json/LinearGenerator.SettingsGroup.json</file>
<file alias="CircularGenerator.SettingsGroup.json">src/RouteMissionItem/json/CircularGenerator.SettingsGroup.json</file> <file>src/MeasurementComplexItem/json/MeasurementComplexItem.SettingsGroup.json</file>
</qresource> </qresource>
<qresource prefix="/MockLink"> <qresource prefix="/MockLink">
<file alias="APMArduSubMockLink.params">src/comm/APMArduSubMockLink.params</file> <file alias="APMArduSubMockLink.params">src/comm/APMArduSubMockLink.params</file>
......
...@@ -4,8 +4,9 @@ ...@@ -4,8 +4,9 @@
#include <QVector> #include <QVector>
#include <memory> #include <memory>
#include "ComplexMissionItem.h"
#include "QGCQGeoCoordinate.h"
#include "SettingsFact.h" #include "SettingsFact.h"
#include "TransectStyleComplexItem.h"
#include "AreaData.h" #include "AreaData.h"
...@@ -16,24 +17,24 @@ namespace routing { ...@@ -16,24 +17,24 @@ namespace routing {
class GeneratorBase; class GeneratorBase;
} }
class RouteComplexItem : public TransectStyleComplexItem { class MeasurementComplexItem : public ComplexMissionItem {
Q_OBJECT Q_OBJECT
using PtrGenerator = routing::GeneratorBase *; using PtrGenerator = routing::GeneratorBase *;
using PtrAreaData = AreaData *; using PtrAreaData = AreaData *;
using PtrRoutingData = std::shared_ptr<RoutingData>; using PtrRoutingData = std::shared_ptr<RoutingData>;
using PtrWorker = RoutingThread *; using PtrWorker = RoutingThread *;
using Transects = QList<QList<CoordInfo_t>>; using Variant = QList<QGeoCoordinate>;
using Variant = Transects;
enum class STATE { IDLE, ROUTING, SKIPP, REVERT_PATH, CHANGE_VARIANT }; enum class STATE { IDLE, ROUTING, REVERT_PATH, CHANGE_VARIANT, EDITING };
public: public:
RouteComplexItem(PlanMasterController *masterController, bool flyView, MeasurementComplexItem(PlanMasterController *masterController, bool flyView,
const QString &kmlOrShpFile, QObject *parent); const QString &kmlOrShpFile, QObject *parent);
~RouteComplexItem(); ~MeasurementComplexItem();
Q_PROPERTY(Fact *variant READ variant CONSTANT) Q_PROPERTY(Fact *variant READ variant CONSTANT)
Q_PROPERTY(Fact *altitude READ variant CONSTANT)
Q_PROPERTY( Q_PROPERTY(
QStringList variantNames READ variantNames NOTIFY variantNamesChanged) QStringList variantNames READ variantNames NOTIFY variantNamesChanged)
Q_PROPERTY(QStringList generatorNameList READ generatorNameList NOTIFY Q_PROPERTY(QStringList generatorNameList READ generatorNameList NOTIFY
...@@ -44,30 +45,50 @@ public: ...@@ -44,30 +45,50 @@ public:
Q_PROPERTY(int generatorIndex READ generatorIndex NOTIFY generatorChanged) Q_PROPERTY(int generatorIndex READ generatorIndex NOTIFY generatorChanged)
Q_PROPERTY(bool editing READ editing NOTIFY editingChanged) Q_PROPERTY(bool editing READ editing NOTIFY editingChanged)
Q_PROPERTY(AreaData *areaData READ areaData NOTIFY areaDataChanged) Q_PROPERTY(AreaData *areaData READ areaData NOTIFY areaDataChanged)
Q_PROPERTY(QVariantList visualTransectPoints READ visualTransectPoints NOTIFY
visualTransectPointsChanged)
Q_INVOKABLE void revertPath(void); Q_INVOKABLE void revertPath(void);
// Property getters // Overrides from ComplexMissionItem
const AreaData *areaData() const; virtual QString patternName(void) const override final;
AreaData *areaData(); virtual double complexDistance(void) const override final;
Fact *variant(); virtual int lastSequenceNumber(void) const final;
QStringList variantNames() const;
bool calculating() const;
bool editing() const;
// Overrides
virtual bool load(const QJsonObject &complexObject, int sequenceNumber, virtual bool load(const QJsonObject &complexObject, int sequenceNumber,
QString &errorString) override final; QString &errorString) override final;
virtual void save(QJsonArray &planItems) override final; virtual double
greatestDistanceTo(const QGeoCoordinate &other) const override final;
virtual QString mapVisualQML(void) const override final; virtual QString mapVisualQML(void) const override final;
// Overrides from VisualMissionItem
virtual bool dirty(void) const override final;
virtual bool isSimpleItem(void) const override final;
virtual bool isStandaloneCoordinate(void) const override final;
virtual bool specifiesCoordinate(void) const override final; virtual bool specifiesCoordinate(void) const override final;
virtual double timeBetweenShots(void) override final; virtual bool specifiesAltitudeOnly(void) const override final;
virtual QString commandDescription(void) const override final; virtual QGeoCoordinate coordinate(void) const override final;
virtual QString commandName(void) const override final; virtual QGeoCoordinate exitCoordinate(void) const override final;
virtual QString abbreviation(void) const override final; virtual int sequenceNumber(void) const override final;
virtual ReadyForSaveState readyForSaveState(void) const override final; virtual double specifiedFlightSpeed(void) final override;
virtual double specifiedGimbalYaw(void) final override;
virtual double specifiedGimbalPitch(void) final override;
virtual void appendMissionItems(QList<MissionItem *> &items,
QObject *missionItemParent) final override;
virtual void setMissionFlightStatus(
const MissionController::MissionFlightStatus_t &missionFlightStatus)
final override;
virtual void applyNewAltitude(double newAltitude) override final;
virtual double additionalTimeDelay(void) const override final; virtual double additionalTimeDelay(void) const override final;
virtual QString patternName(void) const override; virtual ReadyForSaveState readyForSaveState(void) const override final;
virtual bool exitCoordinateSameAsEntry(void) const override final;
virtual void setDirty(bool dirty) override final;
virtual void setCoordinate(const QGeoCoordinate &coordinate) override final;
virtual void setSequenceNumber(int sequenceNumber) override final;
virtual void save(QJsonArray &missionItems) override final;
virtual double amslEntryAlt(void) const override final;
virtual double amslExitAlt(void) const override final;
virtual double minAMSLAltitude(void) const override final;
virtual double maxAMSLAltitude(void) const override final;
// Generator // Generator
bool registerGenerator(const QString &name, routing::GeneratorBase *g); bool registerGenerator(const QString &name, routing::GeneratorBase *g);
...@@ -95,8 +116,19 @@ public: ...@@ -95,8 +116,19 @@ public:
//! //!
void editingStop(); void editingStop();
// Property getters
const AreaData *areaData() const;
AreaData *areaData();
Fact *variant();
Fact *altitude();
QStringList variantNames() const;
bool calculating() const;
bool editing() const;
bool followTerrain() const;
static const char *settingsGroup; static const char *settingsGroup;
static const char *variantName; static const char *variantName;
static const char *altitudeName;
static const char *jsonComplexItemTypeValue; static const char *jsonComplexItemTypeValue;
static const QString name; static const QString name;
...@@ -110,22 +142,27 @@ signals: ...@@ -110,22 +142,27 @@ signals:
private slots: private slots:
// Overrides from TransectStyleComplexItem // Overrides from TransectStyleComplexItem
virtual void _rebuildTransectsPhase1(void) override final; void _update(void);
virtual void _recalcCameraShots(void) override final;
// Worker functions. // Worker functions.
void _setTransects(PtrRoutingData pRoute); void _setTransects(PtrRoutingData pRoute);
void _changeVariant(); void _changeVariant();
bool _updateWorker(); bool _updateRouteWorker();
void _changeVariantWorker(); void _changeVariantWorker();
void _reverseWorker(); void _reverseWorker();
private: private:
bool _setGenerator(PtrGenerator newG); bool _setGenerator(PtrGenerator newG);
void _setState(STATE state); void _setState(STATE state);
bool _calculating(STATE state) const;
void _setEditing(bool editing);
void _setAreaData(PtrAreaData data); void _setAreaData(PtrAreaData data);
static bool _calculating(STATE state);
static bool _editing(STATE state);
// Hirarcical stuff.
PlanMasterController *_masterController;
int _sequenceNumber;
bool _followTerrain;
SettingsFact *_altitude;
// State. // State.
STATE _state; STATE _state;
...@@ -139,7 +176,6 @@ private: ...@@ -139,7 +176,6 @@ private:
PtrAreaData _areaData; PtrAreaData _areaData;
PtrAreaData _editorData; PtrAreaData _editorData;
PtrAreaData _currentData; PtrAreaData _currentData;
bool _editing;
// Generators // Generators
QList<PtrGenerator> _generatorList; QList<PtrGenerator> _generatorList;
...@@ -148,5 +184,6 @@ private: ...@@ -148,5 +184,6 @@ private:
// Routing. // Routing.
QVector<Variant> _variantVector; QVector<Variant> _variantVector;
Variant _route;
PtrWorker _pWorker; PtrWorker _pWorker;
}; };
{
"version": 1,
"fileType": "FactMetaData",
"QGC.MetaData.Facts":
[
{
"name": "Variant",
"shortDescription": "Route variant.",
"type": "uint64",
"defaultValue": 0
},
{
"name": "Altitude",
"shortDescription": "Altitude",
"type": "double",
"units": "m",
"min": 1,
"decimalPlaces": 1,
"defaultValue": 10.0
}
]
}
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include "FlightPathSegment.h" #include "FlightPathSegment.h"
#include "JsonHelper.h" #include "JsonHelper.h"
#include "KMLPlanDomDocument.h" #include "KMLPlanDomDocument.h"
#include "MeasurementComplexItem.h"
#include "MissionCommandUIInfo.h" #include "MissionCommandUIInfo.h"
#include "MissionManager.h" #include "MissionManager.h"
#include "MissionSettingsItem.h" #include "MissionSettingsItem.h"
...@@ -26,7 +27,6 @@ ...@@ -26,7 +27,6 @@
#include "QGCCorePlugin.h" #include "QGCCorePlugin.h"
#include "QGCQGeoCoordinate.h" #include "QGCQGeoCoordinate.h"
#include "QGroundControlQmlGlobal.h" #include "QGroundControlQmlGlobal.h"
#include "RouteComplexItem.h"
#include "SettingsManager.h" #include "SettingsManager.h"
#include "SimpleMissionItem.h" #include "SimpleMissionItem.h"
#include "StructureScanComplexItem.h" #include "StructureScanComplexItem.h"
...@@ -528,10 +528,10 @@ VisualMissionItem *MissionController::insertComplexMissionItem( ...@@ -528,10 +528,10 @@ VisualMissionItem *MissionController::insertComplexMissionItem(
newItem = new CorridorScanComplexItem(_masterController, _flyView, newItem = new CorridorScanComplexItem(_masterController, _flyView,
QString() /* kmlFile */, QString() /* kmlFile */,
_visualItems /* parent */); _visualItems /* parent */);
} else if (itemName == RouteComplexItem::name) { } else if (itemName == MeasurementComplexItem::name) {
newItem = new RouteComplexItem(_masterController, _flyView, newItem = new MeasurementComplexItem(_masterController, _flyView,
QString() /* kmlFile */, QString() /* kmlFile */,
_visualItems /* parent */); _visualItems /* parent */);
} else { } else {
qWarning() << "Internal error: Unknown complex item:" << itemName; qWarning() << "Internal error: Unknown complex item:" << itemName;
return nullptr; return nullptr;
...@@ -575,7 +575,7 @@ void MissionController::_insertComplexMissionItemWorker( ...@@ -575,7 +575,7 @@ void MissionController::_insertComplexMissionItemWorker(
qobject_cast<SurveyComplexItem *>(complexItem) || qobject_cast<SurveyComplexItem *>(complexItem) ||
qobject_cast<CorridorScanComplexItem *>(complexItem) || qobject_cast<CorridorScanComplexItem *>(complexItem) ||
qobject_cast<StructureScanComplexItem *>(complexItem) || qobject_cast<StructureScanComplexItem *>(complexItem) ||
qobject_cast<RouteComplexItem *>(complexItem); qobject_cast<MeasurementComplexItem *>(complexItem);
if (surveyStyleItem) { if (surveyStyleItem) {
bool rollSupported = false; bool rollSupported = false;
...@@ -642,7 +642,7 @@ void MissionController::removeVisualItem(int viIndex) { ...@@ -642,7 +642,7 @@ void MissionController::removeVisualItem(int viIndex) {
bool removeSurveyStyle = bool removeSurveyStyle =
_visualItems->value<SurveyComplexItem *>(viIndex) || _visualItems->value<SurveyComplexItem *>(viIndex) ||
_visualItems->value<CorridorScanComplexItem *>(viIndex) || _visualItems->value<CorridorScanComplexItem *>(viIndex) ||
_visualItems->value<RouteComplexItem *>(viIndex); _visualItems->value<MeasurementComplexItem *>(viIndex);
VisualMissionItem *item = VisualMissionItem *item =
qobject_cast<VisualMissionItem *>(_visualItems->removeAt(viIndex)); qobject_cast<VisualMissionItem *>(_visualItems->removeAt(viIndex));
...@@ -659,7 +659,7 @@ void MissionController::removeVisualItem(int viIndex) { ...@@ -659,7 +659,7 @@ void MissionController::removeVisualItem(int viIndex) {
for (int i = 1; i < _visualItems->count(); i++) { for (int i = 1; i < _visualItems->count(); i++) {
if (_visualItems->value<SurveyComplexItem *>(i) || if (_visualItems->value<SurveyComplexItem *>(i) ||
_visualItems->value<CorridorScanComplexItem *>(i) || _visualItems->value<CorridorScanComplexItem *>(i) ||
_visualItems->value<RouteComplexItem *>(i)) { _visualItems->value<MeasurementComplexItem *>(i)) {
foundSurvey = true; foundSurvey = true;
break; break;
} }
...@@ -1062,11 +1062,11 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject &json, ...@@ -1062,11 +1062,11 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject &json,
<< nextSequenceNumber; << nextSequenceNumber;
visualItems->append(corridorItem); visualItems->append(corridorItem);
} else if (complexItemType == } else if (complexItemType ==
RouteComplexItem::jsonComplexItemTypeValue) { MeasurementComplexItem::jsonComplexItemTypeValue) {
qCDebug(MissionControllerLog) qCDebug(MissionControllerLog)
<< "Loading Circular Survey: nextSequenceNumber" << "Loading Measurement Complex Item: nextSequenceNumber"
<< nextSequenceNumber; << nextSequenceNumber;
RouteComplexItem *survey = new RouteComplexItem( MeasurementComplexItem *survey = new MeasurementComplexItem(
_masterController, _flyView, QString() /* kmlFile */, visualItems); _masterController, _flyView, QString() /* kmlFile */, visualItems);
if (!survey->load(itemObject, nextSequenceNumber++, errorString)) { if (!survey->load(itemObject, nextSequenceNumber++, errorString)) {
return false; return false;
...@@ -2611,7 +2611,7 @@ QStringList MissionController::complexMissionItemNames(void) const { ...@@ -2611,7 +2611,7 @@ QStringList MissionController::complexMissionItemNames(void) const {
complexItems.append(SurveyComplexItem::name); complexItems.append(SurveyComplexItem::name);
complexItems.append(CorridorScanComplexItem::name); complexItems.append(CorridorScanComplexItem::name);
complexItems.append(RouteComplexItem::name); complexItems.append(MeasurementComplexItem::name);
if (_controllerVehicle->multiRotor() || _controllerVehicle->vtol()) { if (_controllerVehicle->multiRotor() || _controllerVehicle->vtol()) {
complexItems.append(StructureScanComplexItem::name); complexItems.append(StructureScanComplexItem::name);
} }
......
{
"version": 1,
"fileType": "FactMetaData",
"QGC.MetaData.Facts":
[
{
"name": "TransectDistance",
"shortDescription": "The distance between transects.",
"type": "double",
"units": "m",
"min": 0.3,
"decimalPlaces": 1,
"defaultValue": 20.0
},
{
"name": "Alpha",
"shortDescription": "Angle discretisation or transect angle (depending on type).",
"type": "double",
"units": "Deg",
"min": 0,
"max": 180,
"decimalPlaces": 1,
"defaultValue": 5.0
},
{
"name": "MinLength",
"shortDescription": "The minimal transect length.",
"type": "double",
"units": "m",
"min": 0.3,
"decimalPlaces": 1,
"defaultValue": 5.0
},
{
"name": "Type",
"shortDescription": "Survey Type.",
"type": "uint64",
"defaultValue": 0
},
{
"name": "Variant",
"shortDescription": "Route variant.",
"type": "uint64",
"defaultValue": 0
},
{
"name": "NumRuns",
"shortDescription": "The number of runs.",
"type": "uint64",
"min": 1,
"defaultValue": 1
},
{
"name": "Run",
"shortDescription": "The current run.",
"type": "uint64",
"defaultValue": 0
}
]
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment