正式使用gitee进行版本管理

master
cbwu 2 years ago
commit 42803d57a0

@ -0,0 +1,217 @@
QT += core gui
#QT += network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++17
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
angle.cpp \
bindroutedialog.cpp \
bindroutetablemodel.cpp \
computeoffsetpositiondialog.cpp \
displayroutedialog.cpp \
geocomputation.cpp \
geofeatureoperator.cpp \
geofileparser.cpp \
icons.cpp \
importscenedatadialog.cpp \
layeroperator.cpp \
loadonlinemapdialog.cpp \
loadscenedatathread.cpp \
log.cpp \
main.cpp \
mainwindow.cpp \
mapdatamaneger.cpp \
maplocationdialog.cpp \
mapthread.cpp \
messagetips.cpp \
multiselectcombobox.cpp \
mycheckbox.cpp \
plane.cpp \
plane3d.cpp \
routeglobalvariant.cpp \
saveroutedialog.cpp \
scenecontrol.cpp \
scenelayersview.cpp \
sceneview.cpp \
settingflightpoint3ddialog.cpp \
showplane.cpp \
showplane3d.cpp \
symbolresources.cpp \
ugstrconvertor.cpp \
workspace.cpp
HEADERS += \
angle.h \
bindroutedialog.h \
bindroutetablemodel.h \
computeoffsetpositiondialog.h \
displayroutedialog.h \
exportsDefine.h \
geocomputation.h \
geofeatureoperator.h \
geofileparser.h \
icons.h \
importscenedatadialog.h \
layeroperator.h \
loadonlinemapdialog.h \
loadscenedatathread.h \
log.h \
mainwindow.h \
mapdatamaneger.h \
maplocationdialog.h \
mapthread.h \
messagetips.h \
multiselectcombobox.h \
mycheckbox.h \
plane.h \
plane3d.h \
routeglobalvariant.h \
saveroutedialog.h \
scenecontrol.h \
scenelayersview.h \
sceneview.h \
settingflightpoint3ddialog.h \
showplane.h \
showplane3d.h \
symbolresources.h \
ugstrconvertor.h \
workspace.h
FORMS += \
bindroutedialog.ui \
computeoffsetpositiondialog.ui \
displayroutedialog.ui \
importscenedatadialog.ui \
loadonlinemapdialog.ui \
mainwindow.ui \
maplocationdialog.ui \
saveroutedialog.ui \
settingflightpoint3ddialog.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
msvc {
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}
#iObjects 组件的预处理
DEFINES += _UGUNICODE
DEFINES += _HAS_STD_BYTE=0
#头文件目
INCLUDEPATH += "../../include"
INCLUDEPATH += "../../include/private"
INCLUDEPATH += "../../sample/extensions4Qt"
#附加库(目录以L标记,附加库名以l标记)
win32{
QMAKE_CXXFLAGS = -Zc:wchar_t /bigobj /FS
QMAKE_CXXFLAGS_RELEASE = -Od -MD -Zi
QMAKE_LFLAGS_RELEASE = -DEBUG
CONFIG(debug, debug|release){
#debug
contains(QMAKE_HOST.arch, x86_64){
DESTDIR = "../../sample/debug/x64"
LIBS += -L"../../sample/debug/x64" -lExtensions4Qt
LIBPATH = "../../lib/libd_x64"
}
LIBS += -lSuToolkitd \
-lSuElementd \
-lSuOGDCd \
-lSuBased \
-lSuSpatialIndexd \
-lSuEngined \
-lSuEngineOGDCd \
-lSuGraphicsd \
-lSuMapd \
-lSuDrawingd \
-lSuChartBased \
-lSuBase3Dd \
-lSuMapEditord \
-lSuGeometryd \
-lSuWorkspaced \
-lSuStreamd \
-lSuFileParserd \
-lSuDataExchanged \
-lSuRasterDatad \
-lSuProjectiond \
-lSuGeometry3Dd \
-lSuGraphics3Dd \
-lSuRenderd \
-lSuScened \
-lSuSceneEditord \
-lSuFMELicensed \
-lSuNetToolkitd \
-lSuLayer3DDatasetModeld\
-lSuLayer3DDatasetd\
-lSuFileParser3dsd\
-lSuFileParser3DModeld\
-lSuGeometryPlotd\
-lSuSymbold\
-lSuSymbolMarker3Dd\
-lSuLayer3DFiled\
-lSuLayer3DTreed\
# -lSuFileParserGLTFd\
}else:CONFIG(release, debug|release){
#release
contains(QMAKE_HOST.arch, x86_64){
DESTDIR = "../../sample/release/x64"
LIBS += -L"../../sample/release/x64" -lExtensions4Qt
LIBPATH = "../../lib/lib_x64"
}else{
DESTDIR = "../release/x86"
LIBS += -L"../release/x86" -lExtensions4Qt
LIBPATH = "../../lib/lib"
}
LIBS += -lSuToolkit \
-lSuElement \
-lSuOGDC \
-lSuBase \
-lSuSpatialIndex \
-lSuEngine \
-lSuGraphics \
-lSuMap \
-lSuDrawing \
-lSuChartBase \
-lSuBase3D \
-lSuMapEditor \
-lSuGeometry \
-lSuWorkspace \
-lSuStream \
-lSuFileParser \
-lSuDataExchange \
-lSuRasterData \
-lSuProjection \
-lSuGeometry3D \
-lSuGraphics3D \
-lSuRender \
-lSuScene \
-lSuSceneEditor \
-lSuFMELicense \
-lSuNetToolkit \
-lSuLayer3DDatasetModel\
-lSuLayer3DDataset\
-lSuFileParser3ds\
-lSuFileParser3DModel\
-lSuGeometryPlot\
-lSuSymbol\
-lSuSymbolMarker3D\
-lSuLayer3DFile\
-lSuLayer3DTree\
# -lSuFileParserGLTF\
}
}
RESOURCES += \
res.qrc

@ -0,0 +1,272 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 9.0.2, 2023-06-14T09:00:44. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{b891b92b-4434-4892-9638-a1f49c4eb9f0}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
<valuemap type="QVariantMap" key="CppEditor.QuickFix">
<value type="bool" key="UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\supermap-iobjectscpp\MyProject\MapDisplay\..\build-MapDisplay-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/supermap-iobjectscpp/MyProject/build-MapDisplay-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">__VSCMD_PREINIT_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\libnvvp;D:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Java\jdk1.8.0_361\bin;D:\Java\jdk1.8.0_361\jre\bin;D:\Program Files\nodejs\node_global;D:\Qt\5.15.2\msvc2019_64\bin;D:\Qt\5.15.2\mingw81_64\bin;D:\Qt\Tools\mingw810_64\bin;D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin;D:\supermap-iobjectscpp\bin\bin_x64;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib;D:\Program Files\CMake\bin;D:\Program Files\nodejs\;D:\Program Files\Git\cmd;C:\Users\wuche\AppData\Local\Microsoft\WindowsApps;D:\Program Files\Microsoft VS Code\bin;C:\Users\wuche\AppData\Roaming\npm</value>
<value type="QString">Path=D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\bin\HostX64\x64;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\VCPackages;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;D:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\bin\Roslyn;D:\Program Files\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools\x64;D:\Program Files\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\\x64;C:\Program Files (x86)\Windows Kits\10\bin\\x64;D:\Program Files\Microsoft Visual Studio\2022\Professional\\MSBuild\Current\Bin\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\libnvvp;D:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Java\jdk1.8.0_361\bin;D:\Java\jdk1.8.0_361\jre\bin;D:\Program Files\nodejs\node_global;D:\Qt\5.15.2\msvc2019_64\bin;D:\Qt\5.15.2\mingw81_64\bin;D:\Qt\Tools\mingw810_64\bin;D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin;D:\supermap-iobjectscpp\bin\bin_x64;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib;D:\Program Files\CMake\bin;D:\Program Files\nodejs\;D:\Program Files\Git\cmd;C:\Users\wuche\AppData\Local\Microsoft\WindowsApps;D:\Program Files\Microsoft VS Code\bin;C:\Users\wuche\AppData\Roaming\npm;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\Linux\bin\ConnectionManagerExe;D:\supermap-iobjectscpp\bin\bind_x64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\supermap-iobjectscpp\MyProject\MapDisplay\..\build-MapDisplay-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/supermap-iobjectscpp/MyProject/build-MapDisplay-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges">
<value type="QString">Path=D:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.36.32532\bin\HostX64\x64;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\VCPackages;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;D:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\bin\Roslyn;D:\Program Files\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools\x64;D:\Program Files\Microsoft Visual Studio\2022\Professional\Team Tools\Performance Tools;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\\x64;C:\Program Files (x86)\Windows Kits\10\bin\\x64;D:\Program Files\Microsoft Visual Studio\2022\Professional\\MSBuild\Current\Bin\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\libnvvp;D:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Java\jdk1.8.0_361\bin;D:\Java\jdk1.8.0_361\jre\bin;D:\Program Files\nodejs\node_global;D:\Qt\5.15.2\msvc2019_64\bin;D:\Qt\5.15.2\mingw81_64\bin;D:\Qt\Tools\mingw810_64\bin;D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib;D:\Program Files\CMake\bin;D:\Program Files\nodejs\;D:\Program Files\Git\cmd;C:\Users\wuche\AppData\Local\Microsoft\WindowsApps;D:\Program Files\Microsoft VS Code\bin;C:\Users\wuche\AppData\Roaming\npm;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;D:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\VC\Linux\bin\ConnectionManagerExe;D:\supermap-iobjectscpp\bin\bin_x64;D:\supermap-iobjectscpp\bin\bind_x64</value>
<value type="QString">__VSCMD_PREINIT_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\libnvvp;D:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\Java\jdk1.8.0_361\bin;D:\Java\jdk1.8.0_361\jre\bin;D:\Program Files\nodejs\node_global;D:\Qt\5.15.2\msvc2019_64\bin;D:\Qt\5.15.2\mingw81_64\bin;D:\Qt\Tools\mingw810_64\bin;D:\Anaconda3;D:\Anaconda3\Scripts;D:\Anaconda3\Library\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib;D:\Program Files\CMake\bin;D:\Program Files\nodejs\;D:\Program Files\Git\cmd;C:\Users\wuche\AppData\Local\Microsoft\WindowsApps;D:\Program Files\Microsoft VS Code\bin;C:\Users\wuche\AppData\Roaming\npm;D:\supermap-iobjectscpp\bin\bin_x64</value>
</valuelist>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\supermap-iobjectscpp\MyProject\MapDisplay\..\build-MapDisplay-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/supermap-iobjectscpp/MyProject/build-MapDisplay-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">true</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/supermap-iobjectscpp/MyProject/MapDisplay/MapDisplay.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/supermap-iobjectscpp/MyProject/MapDisplay/MapDisplay.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/supermap-iobjectscpp/MyProject/build-MapDisplay-Desktop_Qt_5_15_2_MSVC2019_64bit-Release/../../sample/release/x64</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1013 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
<style type="text/css">
.st0{fill:#46EB87;}
</style>
<g>
<path class="st0" d="M32,9.8c0-1-0.6-1.8-1.4-1.8H18.8l-0.2-4.9C18.5,1.4,17.3,0,15.9,0l0,0c-1.4,0-2.6,1.3-2.7,3l-0.4,5H1.4
C0.6,8.1,0,8.8,0,9.8v4c0,1,0.6,1.8,1.4,1.8h11.2l0.9,10.7h4.4l1-10.7h11.7c0.8,0,1.4-0.8,1.4-1.8V9.8L32,9.8z"/>
<path class="st0" d="M10.6,26.2L10.6,26.2C10.6,26.2,10.6,26.2,10.6,26.2z"/>
<path class="st0" d="M21,26.2L21,26.2L21,26.2z"/>
<g>
<path class="st0" d="M16.4,26.2H15l0.4,4.5l-0.1,0.2l0.3,1.1c0,0,0.1,0,0.1,0l0.3-1.1l-0.1-0.2L16.4,26.2L16.4,26.2z"/>
<path class="st0" d="M8.2,26.2L8.2,26.2c0,0-0.4,0.2,0,5.2h6.9l0.2-0.4l0.1-0.1l-0.5-4.7L8.2,26.2L8.2,26.2z"/>
<polygon class="st0" points="15,26.2 14.9,26.2 15.4,30.8 15.5,30.7 "/>
<path class="st0" d="M16.1,30.9l0.2,0.4h6.9c0.4-5,0-5.2,0-5.2h-6.7L16.1,30.9L16.1,30.9L16.1,30.9z"/>
<polygon class="st0" points="15.9,30.7 16,30.9 16.5,26.2 16.4,26.2 "/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 774 B

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
<style type="text/css">
.st0{fill:#46EB87;}
</style>
<path class="st0" d="M31.5,15L31.5,15c0.3-0.4,0.5-1.6-0.3-4.9c-0.1-0.2-0.4-0.2-0.4,0c-0.1,1.4-0.1,3.7,0,4.9H19.7l0-0.3l-0.4-0.9
l0.3-2.2L24,3.7c0.3,0.5,1.4,1.2,4.2,1.9c0.2,0.1,0.3-0.2,0.1-0.4c-1.1-0.7-2.9-1.7-4-2.2l0.1-0.2c0.2-0.3,0.1-0.7-0.2-0.9l0,0
c-0.3-0.2-0.7-0.1-0.9,0.2l-0.1,0.1C23.3,1.8,22.5,1,19.1,0c-0.2-0.1-0.3,0.2-0.1,0.4c1.2,0.7,3.2,1.9,4.2,2.3l-5.3,9.5L17,11.8
h-1.9l-0.8,0.4L9,2.9c0.5,0.1,1.6-0.2,4.1-2.6c0.2-0.2,0-0.4-0.2-0.3c-1.2,0.6-3.2,1.7-4.1,2.4L8.6,2.2C8.5,1.9,8.2,1.8,7.9,2
C7.7,2.1,7.6,2.5,7.7,2.7C7.2,2.6,6.1,2.9,3.6,5.3c-0.2,0.2,0,0.4,0.2,0.3C5.1,5,7,3.9,8,3.2l4.8,8.3v2.3l-0.4,0.8l0,0.4h-11
c0.3-0.4,0.6-1.6-0.3-5c-0.1-0.2-0.4-0.2-0.4,0c0,1.4-0.1,3.7,0.1,4.9H0.5C0.2,15,0,15.2,0,15.5c0,0.3,0.2,0.5,0.5,0.5h0.1
c-0.3,0.4-0.6,1.5,0.3,5c0.1,0.2,0.4,0.2,0.4,0c0-1.4,0.1-3.7-0.1-4.9h11.3l0.1,1.2l0.3,1.4L12.6,21L8,28.4c0-0.5-0.6-1.4-4.2-2.6
c-0.2-0.1-0.3,0.2-0.2,0.4c1.2,0.8,3.1,2.1,4.1,2.6c0,0,0,0,0,0l-0.2,0.3c-0.2,0.3-0.1,0.6,0.2,0.8C8,30,8.3,29.9,8.5,29.7l0,0
c0.2,0.5,1.1,1.3,4.1,2.3c0.2,0.1,0.3-0.2,0.2-0.4c-1.1-0.8-2.9-2-4-2.5l5.1-8.5l1.1,0.7H17l1.2-0.8l5,8.4c-0.5-0.1-1.6,0.3-4,2.7
c-0.2,0.2,0,0.4,0.2,0.3c1.2-0.7,3.1-1.8,4.1-2.5l0.1,0.1c0.2,0.3,0.6,0.4,0.8,0.2l0,0c0.2-0.1,0.3-0.4,0.3-0.6
c0.6,0,1.7-0.4,3.9-2.7c0.2-0.2,0-0.4-0.2-0.3c-1.2,0.7-3,1.7-4,2.4L19.5,21l-0.2-2.4l0,0l0.3-1.4l0.1-1.2h10.9
c-0.4,0.4-0.6,1.5,0.2,5c0.1,0.2,0.4,0.2,0.4,0c0.1-1.4,0.1-3.7,0-4.9h0.4c0.3,0,0.5-0.2,0.5-0.5C32,15.2,31.8,15,31.5,15L31.5,15z"
/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
<style type="text/css">
.st0{fill:#46EB87;}
</style>
<path class="st0" d="M31.8,16.9l0.2-3.1l-6.3-1.3l0-6.8c0.8,1.3,1.5,2.6,1.5,2.7c0,0-0.3-1.6-1.5-3.6l0-0.6c0-0.1-0.1-0.3-0.2-0.3
c-0.1,0-0.2,0.1-0.2,0.3v0.1c-0.5-0.7-1-1.4-1.7-2c0,0,0.9,1.4,1.7,2.9l0,7.2l-4.9-1l0-6.2c0.9-1.5,1.7-2.9,1.7-2.9
c-0.7,0.7-1.3,1.4-1.7,2V4.2c0-0.1-0.1-0.3-0.2-0.3c-0.1,0-0.2,0.1-0.2,0.3l0,0.6c-1.2,2-1.5,3.6-1.5,3.6c0-0.1,0.7-1.3,1.5-2.7
l0,5.6l-2.8-0.6c0-0.1,0-0.2,0-0.3c0-1.5-0.1-2.9-0.2-4.1c-0.3-2.6-0.8-4.3-1.3-4.3c-0.7,0-1.2,2.4-1.4,5.6
c-0.1,0.9-0.1,1.8-0.1,2.8c0,0.1,0,0.2,0,0.3l-2.5,0.5l0-5.6c0.8,1.3,1.5,2.5,1.5,2.6c0,0-0.3-1.6-1.5-3.6l0-0.7
c0-0.1-0.1-0.3-0.2-0.3c-0.1,0-0.2,0.1-0.2,0.3v0.2C11,3.7,10.4,3,9.7,2.3c0,0,0.9,1.5,1.8,3l0,6.2l-5,1l0-7.5c0.9-1.5,1.8-3,1.8-3
C7.6,2.7,7,3.4,6.5,4.1V3.9c0-0.1-0.1-0.3-0.2-0.3c-0.1,0-0.2,0.1-0.2,0.3l0,0.8C5,6.6,4.7,8.2,4.7,8.2c0-0.1,0.7-1.3,1.5-2.6l0,7
L0,13.9L0,17l6.2,0l0,3.9c-1.2,1.9-1.5,3.5-1.5,3.5c0-0.1,0.7-1.3,1.5-2.6l0,0.9c0,0.1,0.1,0.3,0.2,0.3c0.1,0,0.2-0.1,0.2-0.3l0-1.4
c0.9-1.5,1.8-3,1.8-3c-0.7,0.7-1.3,1.4-1.8,2.1l0-3.4l5,0l0,3.3c-0.5-0.7-1-1.4-1.8-2.1c0,0,0.9,1.5,1.8,3l0,8.2
c0,0.1,0.1,0.3,0.2,0.3c0.1,0,0.2-0.1,0.2-0.3v0c0.1,0.4,0.3,0.6,0.5,0.6l7.2,0c0.3,0,0.5-0.3,0.6-0.6v0.1c0,0.1,0.1,0.3,0.2,0.3
c0.1,0,0.2-0.1,0.2-0.3l0-8.3c0.9-1.5,1.7-2.9,1.7-2.9c-0.7,0.7-1.3,1.4-1.7,2l0-3.3l4.9,0l0,3.6c-0.5-0.7-1-1.4-1.7-2
c0,0,0.9,1.4,1.7,2.9l0,1.7c0,0.1,0.1,0.3,0.2,0.3c0.1,0,0.2-0.1,0.2-0.3l0-1.1c0.8,1.3,1.5,2.6,1.5,2.7c0,0-0.3-1.6-1.5-3.6l0-4.1
L31.8,16.9L31.8,16.9z M20.2,20.7c-1.2,2-1.5,3.6-1.5,3.6c0-0.1,0.7-1.3,1.5-2.7l0,5.2c0,0-0.1,0-0.1,0l-8.2,0c0,0-0.1,0-0.1,0.1
l0-5.2c0.8,1.3,1.5,2.5,1.5,2.6c0,0-0.3-1.6-1.5-3.6l0-3.8l3.1,0H15l0.1,0.9l0.2,1.6c0,0.2,0.2,0.4,0.3,0.4l0.6,0
c0.2,0,0.3-0.2,0.3-0.4l0.3-2.2l0-0.2h0l3.3,0L20.2,20.7L20.2,20.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,61 @@
#include "angle.h"
//#include "StdAfx.h"
#include "Stream/ugdefs.h"
#include "math.h"
const double EPSILON=1.0E-12;
//const double PI=4.0*atan(1.0);
//重载构造函数,有缺省值
Angle::Angle()
{
}
Angle::~Angle(void)
{
}
//度 转 度分秒
void Angle::DegtoDms(double deg, int &d, int &m, double &s)
{
d = int(deg + EPSILON);//整数部分度
double dTmp = (deg - d) * 60;//小数部分转换成分
m = int(dTmp+ EPSILON);//取分的整数部分
s = (dTmp - m) * 60;//截取秒
}
//角度 转弧度
void Angle::DegtoRad(double deg, double &rad)
{
rad = deg * PI/180;
}
//角度 转 十进制度
void Angle::DegtodDeg(double deg, int &d, double &m)
{
d = int(deg + EPSILON);//整数部分度
m = (deg - d) * 60;//小数部分转换成分
}
// 度分秒 转 度
void Angle::DmstoDeg(int d, int m, double s, double &deg)
{
deg = d + s / 60 + s / 3600;
}
//度分秒 转 十进制度
void Angle::DmstodDeg(int d, int m, double s, int &dDeg, double &dm)
{
dDeg = d;
dm = m + s/60;
}

@ -0,0 +1,29 @@
#ifndef ANGLE_H
#define ANGLE_H
/* 角度转化类,用于不同角度格式之间的相互转化 */
#pragma once
//enum AngleStyle
//{
// DEG, //角度制
// DMS, //度分秒制
// RAD //弧度制
//};
class Angle
{
public:
Angle();
~Angle(void);
public:
void DegtoDms(double deg,int& d,int& m,double& s);
void DegtoRad(double deg,double& rad);
void DegtodDeg(double deg,int& d,double& m);
void DmstoDeg(int d,int m,double s,double& deg);
void DmstodDeg(int d,int m,double s,int& dDeg,double& dm);
};
#endif // ANGLE_H

@ -0,0 +1,235 @@
#include "bindroutedialog.h"
#include "Geometry/UGGeoLine.h"
#include "qdebug.h"
#include "ui_bindroutedialog.h"
#include "translator.h"
bindRouteDialog::bindRouteDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::bindRouteDialog)
{
ui->setupUi(this);
this->setWindowTitle(u8"航线装订");
this->resize(1100,600);
this->setWindowFlags(Qt::WindowCloseButtonHint); //关闭右上角帮助(?)按钮。
// ui->routeNumberCombox->addItem("1");
// addRouteTypeItem();
bindState = u8"未装订";
RouteType[1] = "飞行航线";
RouteType[2] = "应急航线";
RouteType[3] = "回收航线";
RouteType[4] = "围栏航线";
RouteType[5] = "通场航线";
RouteType[6] = "跑道航线";
model = new BindRouteTableModel();
ui->bindRouteTable->setModel(model);
// ui->bindRouteTable->resizeColumnToContents();
ui->bindRouteTable->verticalHeader()->hide();
ui->bindRouteTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
// ui->bindRouteTable->horizontalHeader()->setSectionResizeMode(2,QHeaderView::ResizeToContents);
// ui->bindRouteTable->horizontalHeader()->setSectionResizeMode(3,QHeaderView::ResizeToContents);
ui->bindRouteTable->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->bindRouteTable->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); // 显示垂直滑动条
}
bindRouteDialog::~bindRouteDialog()
{
delete ui;
}
void bindRouteDialog::setDataset(UGC::UGDatasetVector *dv)
{
this->dv = dv;
}
void bindRouteDialog::addRouteTypeItem()
{
UGRecordsetPtr res = queryFeature(dv);
if(!res) return;
res->MoveFirst();
UGVariant v;
QSet<int> typeset;
while(!res->IsEOF())
{//获取航线类型唯一值
res->GetFieldValue(_U("RouteType"),v);
typeset.insert(v.ToInt());
res->MoveNext();
}
for(auto i = typeset.begin(); i != typeset.end(); i ++)
{
ui->routeTypeCombox->addItem(RouteType[*i]);
}
}
void bindRouteDialog::addRouteNumberItem(UGRecordsetPtr res)
{
ui->routeNumberCombox->clear();
QStringList strl;
UGVariant v;
if(res)
{
while (!res->IsEOF()) { //获取航线编号
res->GetFieldValue(_U("RouteNumber"),v);
strl << Translator::UGStr2QStr(v.ToString());
res->MoveNext();
}
}
ui->routeNumberCombox->addItems(strl);
}
void bindRouteDialog::showTableData(QString routeNumber,QMap<int,QPointF> points,qreal routeHeight,
QString routeFeatures,QString bindState)
{
//与tableView绑定
model->setBeginResetModel();
model->routeData.routeNumber = routeNumber;
model->routeData.points = points;
model->routeData.routeHeight = routeHeight;
model->routeData.routeFeatures = routeFeatures;
model->routeData.bindState = bindState;
model->setEndResetModel();
// qDebug()<<"*************************rowCount:"<<model->getRowCount();
// qDebug()<<"*************************rowCount:"<<model->getRowCount();
// qDebug()<<"*************************rowCount:"<<model->getRowCount();
ui->bindRouteTable->viewport()->update();
ui->bindRouteTable->repaint();
}
UGRecordsetPtr bindRouteDialog::queryFeature(UGDatasetVector *dv, UGString filter)
{
UGQueryDef queryDef;
queryDef.m_nOptions = UGQueryDef::Both; //查询选项:几何对象(Geometry)和属性(Attribute)都查询
queryDef.m_nType = UGQueryDef::General; //查询类型:一般的数下条件查询
queryDef.m_nMode = UGQueryDef::GeneralQuery; //查询模式:一般查询(非模糊查询)
queryDef.m_nCursorType = UGQueryDef::OpenStatic; //OpenStatic,用于读取数据OpenDynamic,用于数据增删改
queryDef.m_strFilter = filter; //查询条件
return dv->Query(queryDef);
}
void bindRouteDialog::getNodePoints(UGRecordsetPtr res, UGint geometryType, QMap<int,QPointF>&points)
{
UGGeometry* pTempGeomtry = NULL;
UGGeoLine line;
UGGeoRegion polygon;
QPointF point;
const UGPoint2D* p = NULL;
switch (geometryType) {
case UGGeometry::GeoLine:
{
UGVariant v;
res->GetFieldValue(_U("IsClosedRoute"),v); //判断是否闭合航线
res->GetGeometry(pTempGeomtry,0);
pTempGeomtry->ConvertToRegion(polygon);
p = polygon.GetPoints(); //节点指针
int nodeNum;
if (v.ToInt())
{//闭合航线,减去末尾重合航点
nodeNum = polygon.GetPointCount() - 1;
}
else
{
nodeNum = polygon.GetPointCount();
}
for(int i = 0;i<nodeNum;i++) //遍历一个要素所有节点
{
point.setX(p->x);
point.setY(p->y);
points[i+1] = point;
p++;
}
break;
}
case UGGeometry::GeoRegion:
{
res->GetGeometry(pTempGeomtry,0);
pTempGeomtry->ConvertToLine(line);
p = line.GetPoints(); //节点指针
for(int i = 0;i<line.GetPointCount();i++)
{
point.setX(p->x);
point.setY(p->y);
points[i] = point;
p++;
}
break;
}
}
}
void bindRouteDialog::on_routeNumberCombox_currentIndexChanged(int index)
{
routeNumber = ui->routeNumberCombox->currentText();
if(routeNumber.isEmpty())
{
return;
}
qDebug()<<"*************************routeNumber:"<<routeNumber;
QString queryFilter = "RouteType=" + routeType + " and " +
("RouteNumber=") + routeNumber;
qDebug()<<"*************************queryFilter_NUM:"<<queryFilter;
UGRecordsetPtr res1 = queryFeature(dv,Translator::QStr2UGStr(queryFilter));
//导航高度
UGVariant v1;
res1->GetFieldValue(_U("RouteHeight"),v1);
routeHeight = v1.ToDouble();
//添加0号起飞点
QPointF point0(0,0); //起飞点
points.clear();
getNodePoints(res1,UGGeometry::GeoLine,points); //航点
points[0] = point0;
QStringList m_headData;
m_headData<<"航线"<<"航点"<<"经度"<<"纬度"<<"导航高度"<<"航路特征"<<"装订状态";
model->m_headData = m_headData;
showTableData(routeNumber,points,routeHeight,"03",bindState);
}
void bindRouteDialog::on_routeTypeCombox_currentIndexChanged(int index)
{
routeType = QString::number(RouteType.key(ui->routeTypeCombox->currentText()));
QString queryFilter = "RouteType=" + routeType;
UGRecordsetPtr res2 = queryFeature(dv,Translator::QStr2UGStr(queryFilter));
//更新航线编号选项
addRouteNumberItem(res2);
routeNumber = ui->routeNumberCombox->currentText();
}
// 当内容改变时自适应列宽
//void bindRouteDialog::resizeContents()
//{
//}
void bindRouteDialog::on_bindRouteCancelBtn_clicked()
{
this->close();
}
void bindRouteDialog::on_bindRouteStartBtn_clicked()
{
this->accept();
}

@ -0,0 +1,66 @@
#ifndef BINDROUTEDIALOG_H
#define BINDROUTEDIALOG_H
#include <QDialog>
#include "Engine/UGDatasetVector.h"
#include "bindroutetablemodel.h"
//MSVC编译器界面显示乱码问题
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
namespace Ui {
class bindRouteDialog;
}
using namespace UGC;
class bindRouteDialog : public QDialog
{
Q_OBJECT
public:
explicit bindRouteDialog(QWidget *parent = nullptr);
~bindRouteDialog();
qint16 getRouteID();;
qint16 getRouteType(); //获取航线类型
QString getRouteText();
void setDataset(UGDatasetVector* dv);
void addRouteTypeItem(); //添加航线类型
private:
Ui::bindRouteDialog *ui;
UGDatasetVector* dv;
BindRouteTableModel* model;
QString bindState;
QString routeFeatures;
QString routeNumber;
QString routeType;
QMap<int,QPointF> points;
qreal routeHeight;
QMap<int,QString> RouteType;
private:
void addRouteNumberItem(UGRecordsetPtr res); //添加航线编号
void showTableData(QString routeNumber,QMap<int,QPointF> points,qreal routeHeight,
QString routeFeatures,QString bindState); //显示表格数据
UGRecordsetPtr queryFeature(UGDatasetVector* dv,UGString filter=_U(""));
void getNodePoints(UGRecordsetPtr res,UGint geometryType,QMap<int,QPointF>&points); //获取节点
private slots:
void on_routeNumberCombox_currentIndexChanged(int index);
void on_routeTypeCombox_currentIndexChanged(int index);
// void resizeContents();
void on_bindRouteCancelBtn_clicked();
void on_bindRouteStartBtn_clicked();
};
#endif // BINDROUTEDIALOG_H

@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>bindRouteDialog</class>
<widget class="QDialog" name="bindRouteDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>531</width>
<height>415</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QWidget" name="widget_3" native="true">
<layout class="QGridLayout" name="gridLayout_2">
<property name="horizontalSpacing">
<number>0</number>
</property>
<item row="0" column="6">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="4">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>航线类型:</string>
</property>
</widget>
</item>
<item row="0" column="5">
<widget class="QComboBox" name="routeTypeCombox"/>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>航线编号:</string>
</property>
</widget>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2">
<widget class="QComboBox" name="routeNumberCombox"/>
</item>
<item row="0" column="0">
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTableView" name="bindRouteTable"/>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="bindRouteStartBtn">
<property name="text">
<string>开始装订</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="bindRouteCancelBtn">
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,172 @@
#include "bindroutetablemodel.h"
#include "qdebug.h"
BindRouteTableModel::BindRouteTableModel(QObject *parent)
: QAbstractTableModel{parent}
{
}
BindRouteTableModel::~BindRouteTableModel()
{
}
int BindRouteTableModel::getRowCount()
{
return rowCount();
}
void BindRouteTableModel::setBeginResetModel()
{
//重置model数据之前调用beginResetModel此时会触发modelAboutToBeReset信号
beginResetModel();
}
void BindRouteTableModel::setEndResetModel()
{
//数据设置结束后调用endResetModel此时会触发modelReset信号
endResetModel();
}
//获取行数
int BindRouteTableModel::rowCount(const QModelIndex &parent) const
{
if(parent.isValid())
{
return 0;
}
else
{
return routeData.points.size();
}
}
//获取列数
int BindRouteTableModel::columnCount(const QModelIndex &parent) const
{
if(parent.isValid())
{
return 0;
}
else
{
return m_headData.size();
}
}
//获取单元格数据
QVariant BindRouteTableModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid() || index.column()>=columnCount() || index.row()>=rowCount())
{
return QVariant();
}
if(role==Qt::DisplayRole)
{
switch (index.column()) {
case 0: //航线编号
return routeData.routeNumber;
break;
case 1://航点
return routeData.points.keys().at(index.row());
break;
case 2://lon
return QString::number(routeData.points[index.row()].x(),'f',6);
break;
case 3://lat
return QString::number(routeData.points[index.row()].y(),'f',6);
break;
case 4: //导航高度
{
if(index.row()==0)
{
return QString::number(0,'f',2);
}
else
{
return QString::number(routeData.routeHeight,'f',2);
}
break;
}
case 5: //航路特征
{
if(index.row()==rowCount()-1)
{
return "01";
}
else
{
return routeData.routeFeatures;
}
break;
}
case 6:
return routeData.bindState;
break;
default:
return QVariant();
break;
}
}
if(role==Qt::TextAlignmentRole) //对其方式
{
return Qt::AlignCenter; //对齐格式为居中
}
return QVariant();
}
//设置单元格数据
bool BindRouteTableModel::setData(const QModelIndex &index, const QVariant &value, int role)
{
if(role != Qt::EditRole || !index.isValid() || index.row() >= rowCount() || index.column() >= columnCount())
{
return false;
}
if (index.isValid() && role == Qt::EditRole)
{
// strList.replace(index.row(), value.toString());
//通知view调用model中的data渲染界面
emit dataChanged(index, index);
return true;
}
return false;
}
//获取表头数据
QVariant BindRouteTableModel::headerData(int section, Qt::Orientation orientation, int role) const
{
//水平表头显示信息
switch (role) {
case Qt::DisplayRole:
if(orientation==Qt::Horizontal && section>=0 && section <= columnCount())
return m_headData.at(section);
break;
default:
break;
}
return QAbstractItemModel::headerData(section,orientation,role);
}
//编辑相关函数
Qt::ItemFlags BindRouteTableModel::flags(const QModelIndex &index) const
{
if (!index.isValid())
{
return Qt::ItemIsEnabled;
}
if(index.column()==4) //设置仅高度列可编辑
{
return QAbstractItemModel::flags(index) | Qt::ItemIsEditable;
}
else
{
return Qt::ItemIsEnabled;
}
}

@ -0,0 +1,52 @@
#ifndef BINDROUTETABLEMODEL_H
#define BINDROUTETABLEMODEL_H
/*
Qt Model/View线
Model
*/
#include <QAbstractTableModel>
#include "Engine/UGDatasetVector.h"
//
struct RouteData
{
QMap<int,QPointF>points;
QString routeNumber;
qreal routeHeight;
QString bindState;
QString routeFeatures;
};
class BindRouteTableModel : public QAbstractTableModel
{
Q_OBJECT
public:
explicit BindRouteTableModel(QObject *parent = nullptr);
~BindRouteTableModel();
void getHeader();
int getRowCount();
void setBeginResetModel();
void setEndResetModel();
protected:
virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override;
virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override;
virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
virtual QVariant headerData(int section, Qt::Orientation orientation,int role = Qt::DisplayRole) const override;
Qt::ItemFlags flags(const QModelIndex& index) const override;
public:
QStringList m_headData; //表头数据
RouteData routeData;
};
#endif // BINDROUTETABLEMODEL_H

@ -0,0 +1,75 @@
#include "computeoffsetpositiondialog.h"
#include "Stream/ugdefs.h"
#include "qdebug.h"
#include "qvalidator.h"
#include <QRegExp>
#include "ui_computeoffsetpositiondialog.h"
#include <cmath>
ComputeOffsetPositionDialog::ComputeOffsetPositionDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::ComputeOffsetPositionDialog)
{
ui->setupUi(this);
this->setWindowTitle("计算下一点");
this->setWindowFlags(Qt::WindowCloseButtonHint); //关闭右上角帮助(?)按钮。
// ui->bearingText->setValidator(new QRegExpValidator(QRegExp("^([0]|-?[1-3][0-6]{0,5})(?:\.\d{1,4})?$|(^\t?$)") ));
// ui->distanceText->setValidator(new QRegExpValidator(QRegExp("^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$") ));
}
ComputeOffsetPositionDialog::~ComputeOffsetPositionDialog()
{
delete ui;
}
QString ComputeOffsetPositionDialog::getBearing()
{
return ui->bearingText->text();
}
QString ComputeOffsetPositionDialog::getDistance()
{
return ui->distanceText->text();
}
QPointF ComputeOffsetPositionDialog::getOffsetPosition()
{
return offsetPoint;
}
void ComputeOffsetPositionDialog::on_cancelBtn_clicked()
{
this->close();
}
void ComputeOffsetPositionDialog::on_acceptBtn_clicked()
{
// this->accept();
qDebug()<<"*********************lon1:"<<preLon1;
qDebug()<<"*********************lon1:"<<preLon1;
qDebug()<<"*********************lon1:"<<preLat1;
qDebug()<<"*********************lon1:"<<preLat1;
double bearing = ui->bearingText->text().toDouble();
double dist = ui->distanceText->text().toDouble();
GeoComputation geoCPT;
QPointF nextPoint = geoCPT.computeOffsetGeoPosition(preLon1,preLat1,bearing,dist);
emit sendComputedPoint(nextPoint);
}
void ComputeOffsetPositionDialog::on_bearingText_editingFinished()
{
// qDebug()<<"***************************************:";
}
void ComputeOffsetPositionDialog::acceptPresiousPoint(double lon1, double lat1)
{
preLon1 = lon1;
preLat1 = lat1;
}

@ -0,0 +1,56 @@
#ifndef COMPUTEOFFSETPOSITIONDIALOG_H
#define COMPUTEOFFSETPOSITIONDIALOG_H
#include <QDialog>
#include "geocomputation.h"
//MSVC编译器界面显示乱码问题
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
namespace Ui {
class ComputeOffsetPositionDialog;
}
class ComputeOffsetPositionDialog : public QDialog
{
Q_OBJECT
public:
explicit ComputeOffsetPositionDialog(QWidget *parent = nullptr);
~ComputeOffsetPositionDialog();
QString getBearing();
QString getDistance();
QPointF getOffsetPosition();
signals:
void computePoint(bool ifCompute);
void sendComputedPoint(QPointF);
public slots:
void acceptPresiousPoint(double lon1, double lat1);
private slots:
void on_cancelBtn_clicked();
void on_acceptBtn_clicked();
void on_bearingText_editingFinished();
private:
Ui::ComputeOffsetPositionDialog *ui;
QPointF offsetPoint;
double preLon1;
double preLat1;
private:
};
#endif // COMPUTEOFFSETPOSITIONDIALOG_H

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save