From 10bba790b06761112f4e2bb8750296f8110a9fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=8B=D1=87=D0=BA=D0=BE=D0=B2=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Fri, 5 Apr 2019 18:09:39 +0000 Subject: [PATCH] git-svn-id: svn://db.shs.com.ru/libs@518 a8b55f48-bf90-11e4-a774-851b48703e85 --- piqt/CMakeLists.txt | 2 +- piqt/piqt.cpp | 13 +++++++++++++ piqt/piqt.h | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/piqt/CMakeLists.txt b/piqt/CMakeLists.txt index 4ed27c9..8a91724 100644 --- a/piqt/CMakeLists.txt +++ b/piqt/CMakeLists.txt @@ -17,7 +17,7 @@ list(APPEND QT_MULTILIB_LIST ${PROJECT_NAME}) set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE) include_directories(${PIP_INCLUDES} ${QAD_INCLUDES}) file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts") -find_qt(${QtVersions} Core Gui) +find_qt(${QtVersions} Core Gui Positioning) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) qt_add_library(${PROJECT_NAME} SHARED out_CPP) qt_target_link_libraries(${PROJECT_NAME} pip qad_utils qad_widgets) diff --git a/piqt/piqt.cpp b/piqt/piqt.cpp index d0bbdc1..39bf9df 100644 --- a/piqt/piqt.cpp +++ b/piqt/piqt.cpp @@ -121,3 +121,16 @@ const PIVariantTypes::Dir QAD2PIDir(const QAD::Dir & v) { return PIVariantTypes::Dir(Q2PIString(v.dir), v.is_abs); } + +const QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v) { + PIGeoPosition p(v); + p.transformTo(PIGeoPosition::Cartesian); + p.setEllipsoidModel(PIEllipsoidModel::WGS84Ellipsoid()); + p.transformTo(PIGeoPosition::Geodetic); + return QGeoCoordinate(p.latitudeGeodetic(), p.longitude(), p.height()); +} + + +const PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v) { + return PIGeoPosition(createVectorT3d(v.latitude(), v.longitude(), v.altitude()), PIGeoPosition::Geodetic); +} diff --git a/piqt/piqt.h b/piqt/piqt.h index db7bc60..56bafb8 100644 --- a/piqt/piqt.h +++ b/piqt/piqt.h @@ -3,10 +3,12 @@ #include "pimathmatrix.h" #include "pipropertystorage.h" +#include "pigeoposition.h" #include "qad_types.h" #include #include #include +#include const QVariant PI2QVariant(const PIVariant & v); @@ -110,6 +112,8 @@ const PIVariantTypes::IODevice QAD2PIIODevice(const QAD::IODevice & v); //inline const PIVariant QString2PIVariant(const QString & v) {return PIVariant::readFromString(QString2PIString(v));} +const QGeoCoordinate PI2QGeoPosition(const PIGeoPosition & v); +const PIGeoPosition Q2PIGeoPosition(const QGeoCoordinate & v); template class __PIQtConverter {