mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-03 15:31:15 -05:00
50035d40c8
Add left double click to add marker to 3D map. Add support for alititudeReference for polygon and polyline. Add support for plugins to set color of polygons.
56 lines
2.2 KiB
C++
56 lines
2.2 KiB
C++
///////////////////////////////////////////////////////////////////////////////////
|
|
// Copyright (C) 2022 Jon Beniston, M7RCE //
|
|
// //
|
|
// This program is free software; you can redistribute it and/or modify //
|
|
// it under the terms of the GNU General Public License as published by //
|
|
// the Free Software Foundation as version 3 of the License, or //
|
|
// (at your option) any later version. //
|
|
// //
|
|
// This program is distributed in the hope that it will be useful, //
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
|
// GNU General Public License V3 for more details. //
|
|
// //
|
|
// You should have received a copy of the GNU General Public License //
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
|
///////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef INCLUDE_FEATURE_CZML_H_
|
|
#define INCLUDE_FEATURE_CZML_H_
|
|
|
|
#include <QHash>
|
|
#include <QJsonArray>
|
|
#include <QJsonObject>
|
|
#include <QGeoCoordinate>
|
|
|
|
struct MapSettings;
|
|
class MapItem;
|
|
class ObjectMapItem;
|
|
class PolygonMapItem;
|
|
class PolylineMapItem;
|
|
|
|
class CZML
|
|
{
|
|
private:
|
|
const MapSettings *m_settings;
|
|
QHash<QString, QString> m_ids;
|
|
QHash<QString, QJsonArray> m_lastPosition;
|
|
QHash<QString, bool> m_hasMoved;
|
|
QGeoCoordinate m_position;
|
|
static const QStringList m_heightReferences;
|
|
|
|
public:
|
|
CZML(const MapSettings *settings);
|
|
QJsonObject init();
|
|
QJsonObject update(ObjectMapItem *mapItem, bool isTarget, bool isSelected);
|
|
QJsonObject update(PolygonMapItem *mapItem);
|
|
QJsonObject update(PolylineMapItem *mapItem);
|
|
bool filter(const MapItem *mapItem) const;
|
|
void setPosition(const QGeoCoordinate& position);
|
|
|
|
signals:
|
|
void connected();
|
|
};
|
|
|
|
#endif // INCLUDE_FEATURE_CZML_H_
|