#pragma once #include "ros_bridge/include/JsonMethodes.h" #include "ros_bridge/include/MessageBaseClass.h" #include "ros_bridge/include/MessageGroups.h" #include typedef ROSBridge::MessageBaseClass ROSMsg; typedef ROSBridge::JsonMethodes::GeoPoint::GeoPoint ROSGeoPoint; namespace MsgGroups = ROSBridge::MessageGroups; class GeoPoint3D : public QObject, public ROSMsg, public ROSGeoPoint { Q_OBJECT public: typedef MsgGroups::GeoPointGroup Group; explicit GeoPoint3D(QObject *parent = nullptr) : QObject(parent), ROSMsg(), ROSGeoPoint() {} explicit GeoPoint3D(double latitude, double longitude, double altitude, QObject *parent = nullptr) : QObject(parent), ROSMsg(), ROSGeoPoint(latitude, longitude, altitude) {} explicit GeoPoint3D(const GeoPoint3D& p, QObject *parent = nullptr) : QObject(parent), ROSMsg(), ROSGeoPoint(p.latitude(), p.longitude(), p.altitude()) {} explicit GeoPoint3D(const ROSGeoPoint& p, QObject *parent = nullptr) : QObject(parent), ROSMsg(), ROSGeoPoint(p.latitude(), p.longitude(), p.altitude()) {} virtual GeoPoint3D *Clone() const override; GeoPoint3D &operator=(const GeoPoint3D&p); };