#pragma once #include #include typedef ros_bridge::GenericMessages::GeographicMsgs::GeoPoint ROSGeoPoint; namespace MsgGroups = ros_bridge::MessageGroups; class GeoPoint3D : public QObject, public ROSGeoPoint { Q_OBJECT public: typedef MsgGroups::GeoPointGroup Group; GeoPoint3D(QObject *parent = nullptr); GeoPoint3D(double latitude, double longitude, double altitude, QObject *parent = nullptr); GeoPoint3D(const GeoPoint3D& p, QObject *parent = nullptr); GeoPoint3D(const ROSGeoPoint& p, QObject *parent = nullptr); GeoPoint3D(const QGeoCoordinate& p, QObject *parent = nullptr); virtual GeoPoint3D *Clone() const override; GeoPoint3D &operator=(const GeoPoint3D&p); GeoPoint3D &operator=(const QGeoCoordinate&p); };