From f0eb787bd8f7b9f2c18c4688e54afd2ca84bf0c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=89=91=E5=8F=A4=E6=95=9B=E9=94=8B?= <3045316072@qq.com>
Date: Wed, 13 Mar 2024 13:58:12 +0800
Subject: [PATCH] =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=88=9D=E5=A7=8B=E5=8C=96?=
=?UTF-8?q?=EF=BC=8C=E9=9B=86=E6=88=90=E4=BA=86lamptool=E3=80=81wbmoudle?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CMakeLists.txt | 4 +-
CMakeLists.txt.user | 419 +
cmake/FindFFTW.cmake | 70 +
src/CMakeLists.txt | 2 +-
src/FastCAE/CommandLine.cpp | 4 +-
src/FastCAE/main.cpp | 24 +-
src/IO/CMakeLists.txt | 2 +-
src/LAMPTool/BaseToollib/BaseConstVariable.h | 38 +
src/LAMPTool/BaseToollib/BaseTool.cpp | 256 +
src/LAMPTool/BaseToollib/BaseTool.h | 93 +
src/LAMPTool/BaseToollib/FileOperator.cpp | 188 +
src/LAMPTool/BaseToollib/FileOperator.h | 50 +
src/LAMPTool/BaseToollib/GeoOperator.cpp | 271 +
src/LAMPTool/BaseToollib/GeoOperator.h | 111 +
.../BaseToollib/ImageOperatorBase.cpp | 1239 +
src/LAMPTool/BaseToollib/ImageOperatorBase.h | 190 +
src/LAMPTool/BaseToollib/interpolation.cpp | 13 +
src/LAMPTool/BaseToollib/interpolation.h | 69 +
src/LAMPTool/BaseToollib/readme.md | 2 +
src/LAMPTool/CMakeLists.txt | 68 +
src/LAMPTool/FEKOFarFieldFileClass.cpp | 446 +
src/LAMPTool/FEKOFarFieldFileClass.h | 138 +
src/LAMPTool/FEKOSimulationSARClass.cpp | 1125 +
src/LAMPTool/FEKOSimulationSARClass.h | 259 +
src/LAMPTool/LAMPTool.cpp | 27 +
src/LAMPTool/LAMPTool.h | 21 +
src/LAMPTool/LAMPTool.ui | 56 +
src/LAMPTool/LampToolTest.h | 3 +
src/LAMPTool/OCCTBase.cpp | 412 +
src/LAMPTool/OCCTBase.h | 96 +
.../SARBaseToolLib/BackScatterModel.cpp | 14 +
.../SARBaseToolLib/BackScatterModel.h | 12 +
src/LAMPTool/SARBaseToolLib/SARBaseTool.cpp | 283 +
src/LAMPTool/SARBaseToolLib/SARBaseTool.h | 65 +
.../SARBaseToolLib/SARCalibration.cpp | 384 +
src/LAMPTool/SARBaseToolLib/SARCalibration.h | 52 +
.../SARBaseToolLib/SARCalibrationTool.cpp | 86 +
src/LAMPTool/SARBaseToolLib/SARImageBase.cpp | 334 +
src/LAMPTool/SARBaseToolLib/SARImageBase.h | 95 +
src/LAMPTool/SARImage/FEKOBaseToolClass.cpp | 1040 +
src/LAMPTool/SARImage/FEKOBaseToolClass.h | 338 +
src/LAMPTool/SARImage/FEKONearBPBasic.cpp | 1028 +
src/LAMPTool/SARImage/FEKONearBPBasic.h | 157 +
src/LAMPTool/SARImage/FEKONearBpBaseImage.cpp | 100 +
src/LAMPTool/cpp.hint | 4 +
src/LAMPTool/main.cpp | 80 +
src/LAMPTool/readme.md | 8 +
src/LAMPTool/referenceHeader.h | 175 +
src/LAMPTool/test.png | Bin 0 -> 11630 bytes
src/MainWidgets/ControlPanel.cpp | 14 +-
src/MainWidgets/preWindow.cpp | 3 +
src/MainWindow/CustomizerHelper.cpp | 17 +-
src/MainWindow/MainWindow.cpp | 30 +-
src/MainWindow/MainWindow.ui | 114 +-
src/MainWindow/MainWindowPy.cpp | 6 +-
src/MainWindow/SARibbonMWUi.cpp | 1830 +-
src/MainWindow/SARibbonMWUi.h | 8 +
src/MainWindow/SubWindowManager.cpp | 330 +-
src/PythonModule/PyAgent.cpp | 2 +-
src/WBCLFZSystemModule/.command_history.lst | 0
src/WBCLFZSystemModule/AllHead.cpp | 58 +
src/WBCLFZSystemModule/AllHead.h | 210 +
src/WBCLFZSystemModule/CMakeLists.txt | 68 +
src/WBCLFZSystemModule/DialogBatchExport.ui | 195 +
.../EchoShowProcess/CMDExcuteApp.cpp | 82 +
.../EchoShowProcess/CMDExcuteApp.h | 34 +
.../EchoShowProcess/CMDExcuteApp.ui | 26 +
.../EchoShowProcess/EchoTableEditWindow.cpp | 394 +
.../EchoShowProcess/EchoTableEditWindow.h | 96 +
.../EchoShowProcess/EchoTableEditWindow.ui | 285 +
.../EchoShowProcess/FEKOResultImport.cpp | 427 +
.../EchoShowProcess/FEKOResultImport.h | 83 +
.../EchoShowProcess/FEKOResultImport.ui | 425 +
src/WBCLFZSystemModule/HeaderSort.h | 4 +
.../ImageShowDialogClass.cpp | 367 +
src/WBCLFZSystemModule/ImageShowDialogClass.h | 139 +
.../ImageShowDialogClass.ui | 33 +
src/WBCLFZSystemModule/LAMPDataShowClass.cpp | 111 +
src/WBCLFZSystemModule/LAMPDataShowClass.h | 50 +
src/WBCLFZSystemModule/LAMPDataShowClass.ui | 57 +
.../LAMPImageCreateClass.cpp | 196 +
src/WBCLFZSystemModule/LAMPImageCreateClass.h | 48 +
.../LAMPImageCreateClass.ui | 657 +
.../LAMP_ScatterSettingClass.cpp | 2032 ++
.../LAMP_ScatterSettingClass.h | 124 +
.../LAMP_ScatterSettingClass.ui | 585 +
.../OCCTBaseOperaorClass.cpp | 6 +
src/WBCLFZSystemModule/OCCTBaseOperaorClass.h | 19 +
src/WBCLFZSystemModule/OCCTModelOperator.cpp | 465 +
src/WBCLFZSystemModule/OCCTModelOperator.h | 125 +
src/WBCLFZSystemModule/OCCTModelOperator.ui | 868 +
.../OCCTopoShapeTreeViewer.cpp | 43 +
.../OCCTopoShapeTreeViewer.h | 25 +
.../OCCViewer/CommonSample.h | 43 +
.../OCCViewer/DocumentCommon.cpp | 890 +
.../OCCViewer/DocumentCommon.h | 209 +
.../OCCViewer/GeomWidget.cpp | 98 +
src/WBCLFZSystemModule/OCCViewer/GeomWidget.h | 68 +
.../OCCViewer/OCCT_Test/BaseSample.cpp | 185 +
.../OCCViewer/OCCT_Test/BaseSample.h | 87 +
.../OCCViewer/OCCT_Test/MakeBottle.cpp | 218 +
.../OCCViewer/OCCT_Test/MakeBottle.h | 33 +
.../OCCViewer/OCCT_Test/Viewer3d.xml | 31 +
.../OCCViewer/OCCT_Test/Viewer3dSamples.cpp | 346 +
.../OCCViewer/OCCT_Test/Viewer3dSamples.h | 78 +
.../OCCViewer/OcctHighlighter.cpp | 222 +
.../OCCViewer/OcctHighlighter.h | 77 +
.../OCCViewer/TranslateDialog.cpp | 113 +
.../OCCViewer/TranslateDialog.h | 56 +
.../OCCViewer/Transparency.cpp | 46 +
.../OCCViewer/Transparency.h | 60 +
src/WBCLFZSystemModule/OCCViewer/View.cpp | 720 +
src/WBCLFZSystemModule/OCCViewer/View.h | 227 +
.../OCCViewer/res/antialiasing.png | Bin 0 -> 230 bytes
.../OCCViewer/res/cursor_rotate.png | Bin 0 -> 291 bytes
.../OCCViewer/res/cursor_zoom.png | Bin 0 -> 245 bytes
src/WBCLFZSystemModule/OCCViewer/res/help.png | Bin 0 -> 214 bytes
src/WBCLFZSystemModule/OCCViewer/res/lamp.png | Bin 0 -> 1355 bytes
.../OCCViewer/res/raytracing.png | Bin 0 -> 223 bytes
.../OCCViewer/res/reflections.png | Bin 0 -> 217 bytes
.../OCCViewer/res/shadows.png | Bin 0 -> 264 bytes
.../OCCViewer/res/tool_color.png | Bin 0 -> 288 bytes
.../OCCViewer/res/tool_delete.png | Bin 0 -> 203 bytes
.../OCCViewer/res/tool_material.png | Bin 0 -> 293 bytes
.../OCCViewer/res/tool_shading.png | Bin 0 -> 256 bytes
.../OCCViewer/res/tool_transparency.png | Bin 0 -> 318 bytes
.../OCCViewer/res/tool_wireframe.png | Bin 0 -> 259 bytes
.../OCCViewer/res/view_axo.png | Bin 0 -> 392 bytes
.../OCCViewer/res/view_back.png | Bin 0 -> 233 bytes
.../OCCViewer/res/view_bottom.png | Bin 0 -> 233 bytes
.../OCCViewer/res/view_comp_off.png | Bin 0 -> 199 bytes
.../OCCViewer/res/view_comp_on.png | Bin 0 -> 180 bytes
.../OCCViewer/res/view_fitall.png | Bin 0 -> 231 bytes
.../OCCViewer/res/view_front.png | Bin 0 -> 238 bytes
.../OCCViewer/res/view_left.png | Bin 0 -> 231 bytes
.../OCCViewer/res/view_reset.png | Bin 0 -> 204 bytes
.../OCCViewer/res/view_right.png | Bin 0 -> 230 bytes
.../OCCViewer/res/view_top.png | Bin 0 -> 235 bytes
src/WBCLFZSystemModule/OcctExportClass.cpp | 175 +
src/WBCLFZSystemModule/OcctExportClass.h | 55 +
src/WBCLFZSystemModule/OcctExportClass.ui | 161 +
.../PointCloudProcess/BasePCL.cpp | 120 +
.../PointCloudProcess/BasePCL.h | 127 +
.../BilateralFilterWindows.ui | 243 +
.../DialogTriangulationSurfaceMesh.ui | 386 +
.../PointCloudProcess/MedianFilterWindows.ui | 217 +
.../PointCloudProcess/PointCloudAlg.cpp | 486 +
.../PointCloudProcess/PointCloudAlg.h | 268 +
.../PointCloudProcess/PointManagerClass.cpp | 281 +
.../PointCloudProcess/PointManagerClass.h | 197 +
.../PoissonReSurfaceWindows.ui | 333 +
.../RadiusOutlierRemovalWindows.ui | 269 +
...cance_FEKOSourceSettingPlaneWaveWIndows.ui | 60 +
.../Scene_StripQtWidgetsClass.cpp | 10 +
.../Scene_StripQtWidgetsClass.h | 16 +
.../Scene_StripQtWidgetsClass.ui | 238 +
.../StatisticalOutlierRemovalWindows.ui | 246 +
...trips_FEKOSourceSettingPlaneWaveWIndows.ui | 381 +
.../PointCloudProcess/ToolDialog.cpp | 242 +
.../PointCloudProcess/ToolDialog.h | 297 +
.../PointCloudProcess/images/1.gif | Bin 0 -> 276082 bytes
.../PointCloudProcess/images/RGB.png | Bin 0 -> 3331 bytes
.../images/algorithm/DASHBOARD.png | Bin 0 -> 2785 bytes
.../images/algorithm/DBSCAN.png | Bin 0 -> 2041 bytes
.../images/algorithm/Histogram.png | Bin 0 -> 616 bytes
.../images/algorithm/KMeans.png | Bin 0 -> 2555 bytes
.../images/algorithm/binary.png | Bin 0 -> 1544 bytes
.../images/algorithm/chooseMatrix.png | Bin 0 -> 2628 bytes
.../images/algorithm/density.png | Bin 0 -> 1452 bytes
.../images/algorithm/extract.png | Bin 0 -> 2922 bytes
.../images/algorithm/filter.png | Bin 0 -> 1919 bytes
.../images/algorithm/help.png | Bin 0 -> 1998 bytes
.../images/algorithm/matrix.png | Bin 0 -> 1538 bytes
.../images/algorithm/more.png | Bin 0 -> 2259 bytes
.../images/algorithm/nihe.png | Bin 0 -> 2180 bytes
.../images/algorithm/person.png | Bin 0 -> 1575 bytes
.../images/algorithm/pingjie.png | Bin 0 -> 1853 bytes
.../images/algorithm/transform.png | Bin 0 -> 2478 bytes
.../images/algorithm/tree.png | Bin 0 -> 3256 bytes
.../PointCloudProcess/images/back.png | Bin 0 -> 507 bytes
.../PointCloudProcess/images/bottom.png | Bin 0 -> 475 bytes
.../PointCloudProcess/images/camera.png | Bin 0 -> 4517 bytes
.../PointCloudProcess/images/color.png | Bin 0 -> 117 bytes
.../PointCloudProcess/images/coodinate.png | Bin 0 -> 982 bytes
.../PointCloudProcess/images/files/CSV.png | Bin 0 -> 1452 bytes
.../PointCloudProcess/images/files/add.png | Bin 0 -> 1832 bytes
.../images/files/bgColor.png | Bin 0 -> 903 bytes
.../PointCloudProcess/images/files/cloud.png | Bin 0 -> 2357 bytes
.../PointCloudProcess/images/files/cloud2.png | Bin 0 -> 1960 bytes
.../PointCloudProcess/images/files/copy.png | Bin 0 -> 695 bytes
.../PointCloudProcess/images/files/cut.png | Bin 0 -> 2305 bytes
.../PointCloudProcess/images/files/log.png | Bin 0 -> 1734 bytes
.../PointCloudProcess/images/files/new1.png | Bin 0 -> 1438 bytes
.../PointCloudProcess/images/files/new2.png | Bin 0 -> 642 bytes
.../PointCloudProcess/images/files/paste.png | Bin 0 -> 741 bytes
.../images/files/pointCloud.png | Bin 0 -> 2681 bytes
.../PointCloudProcess/images/files/search.png | Bin 0 -> 2148 bytes
.../images/files/snapshot.png | Bin 0 -> 1712 bytes
.../PointCloudProcess/images/files/star.png | Bin 0 -> 2294 bytes
.../PointCloudProcess/images/files/txt.png | Bin 0 -> 1359 bytes
.../PointCloudProcess/images/front.png | Bin 0 -> 507 bytes
.../PointCloudProcess/images/grey.png | Bin 0 -> 2024 bytes
.../PointCloudProcess/images/ic-redo.png | Bin 0 -> 1366 bytes
.../PointCloudProcess/images/ic-undo.png | Bin 0 -> 1355 bytes
.../PointCloudProcess/images/keda.ico | Bin 0 -> 67646 bytes
.../PointCloudProcess/images/left.png | Bin 0 -> 521 bytes
.../PointCloudProcess/images/lock.png | Bin 0 -> 1533 bytes
.../PointCloudProcess/images/open.png | Bin 0 -> 1408 bytes
.../PointCloudProcess/images/redo.png | Bin 0 -> 937 bytes
.../PointCloudProcess/images/reset.png | Bin 0 -> 2013 bytes
.../PointCloudProcess/images/right.png | Bin 0 -> 509 bytes
.../PointCloudProcess/images/rotate0.png | Bin 0 -> 2865 bytes
.../PointCloudProcess/images/rotate180.png | Bin 0 -> 2373 bytes
.../PointCloudProcess/images/rotate270.png | Bin 0 -> 2537 bytes
.../PointCloudProcess/images/rotate90.png | Bin 0 -> 2587 bytes
.../PointCloudProcess/images/seting.png | Bin 0 -> 3092 bytes
.../PointCloudProcess/images/undo.png | Bin 0 -> 990 bytes
.../PointCloudProcess/images/up.png | Bin 0 -> 487 bytes
.../PointCloudProcess/images/zoomin.png | Bin 0 -> 2339 bytes
.../PointCloudProcess/images/zoomout.png | Bin 0 -> 2399 bytes
.../PointCloudProcess/inputdialog.cpp | 14 +
.../PointCloudProcess/inputdialog.h | 23 +
.../PointCloudProcess/inputdialog.ui | 330 +
.../PointCloudProcess/pclvisualizer.cpp | 1263 +
.../PointCloudProcess/pclvisualizer.h | 398 +
.../PointCloudProcess/pclvisualizer.ui | 1963 +
.../ProgramParamLoadingClass.cpp | 1 +
.../ProgramParamLoadingClass.h | 18 +
.../QConsoleCommandAction.cpp | 74 +
.../QConsoleCommandAction.h | 77 +
src/WBCLFZSystemModule/QConsoleIODevice.cpp | 95 +
src/WBCLFZSystemModule/QConsoleIODevice.h | 40 +
src/WBCLFZSystemModule/QConsoleWidget.cpp | 628 +
src/WBCLFZSystemModule/QConsoleWidget.h | 159 +
src/WBCLFZSystemModule/QtEchoExportWindows.ui | 141 +
.../QtFreqParamsSetting.cpp | 177 +
src/WBCLFZSystemModule/QtFreqParamsSetting.h | 49 +
src/WBCLFZSystemModule/QtFreqParamsSetting.ui | 404 +
.../QtSARAntModelSetting.cpp | 543 +
src/WBCLFZSystemModule/QtSARAntModelSetting.h | 121 +
.../QtSARAntModelSetting.ui | 575 +
.../QtStripImageSettingClass.cpp | 10 +
.../QtStripImageSettingClass.h | 19 +
.../QtStripImageSettingClass.ui | 20 +
.../QtWidgetsClass_CircleSAR.cpp | 41 +
.../QtWidgetsClass_CircleSAR.h | 30 +
.../QtWidgetsClass_CircleSAR.ui | 77 +
.../QtWidgetsClass_FarSourceSetting.cpp | 49 +
.../QtWidgetsClass_FarSourceSetting.h | 38 +
.../QtWidgetsClass_FarSourceSetting.ui | 214 +
.../QtWidgetsClass_ISAR.cpp | 50 +
src/WBCLFZSystemModule/QtWidgetsClass_ISAR.h | 32 +
src/WBCLFZSystemModule/QtWidgetsClass_ISAR.ui | 147 +
.../QtWidgetsClass_ImageSetting.cpp | 45 +
.../QtWidgetsClass_ImageSetting.h | 36 +
.../QtWidgetsClass_ImageSetting.ui | 266 +
.../QtWidgetsClass_Scan.cpp | 74 +
src/WBCLFZSystemModule/QtWidgetsClass_Scan.h | 32 +
src/WBCLFZSystemModule/QtWidgetsClass_Scan.ui | 337 +
.../QtWidgetsClass_Strip.cpp | 60 +
src/WBCLFZSystemModule/QtWidgetsClass_Strip.h | 34 +
.../QtWidgetsClass_Strip.ui | 288 +
.../SharedModuleLib/BaseUiTool.cpp | 182 +
.../SharedModuleLib/BaseUiTool.h | 60 +
.../SharedModuleLib/CMDExcuteApp.cpp | 82 +
.../SharedModuleLib/CMDExcuteApp.h | 27 +
.../SharedModuleLib/CMDExcuteApp.ui | 26 +
.../SharedModuleLib/ProcessOn.cpp | 30 +
.../SharedModuleLib/ProcessOn.h | 27 +
.../SharedModuleLib/ProcessOn.ui | 42 +
.../SharedModuleLib/TaskTreeClass.cpp | 154 +
.../SharedModuleLib/TaskTreeClass.h | 88 +
.../SqliteDBProcess/images/logo.png | Bin 0 -> 15047 bytes
.../SqliteDBProcess/images/logo.svg | 391 +
.../SqliteDBProcess/images/sqlitebrowser.png | Bin 0 -> 96368 bytes
.../SqliteDBProcess/src/AboutDialog.cpp | 18 +
.../SqliteDBProcess/src/AboutDialog.h | 22 +
.../SqliteDBProcess/src/AboutDialog.ui | 164 +
.../SqliteDBProcess/src/AddRecordDialog.cpp | 367 +
.../SqliteDBProcess/src/AddRecordDialog.h | 52 +
.../SqliteDBProcess/src/AddRecordDialog.ui | 158 +
.../SqliteDBProcess/src/Application.cpp | 280 +
.../SqliteDBProcess/src/Application.h | 43 +
.../SqliteDBProcess/src/CipherDialog.cpp | 146 +
.../SqliteDBProcess/src/CipherDialog.h | 36 +
.../SqliteDBProcess/src/CipherDialog.ui | 403 +
.../SqliteDBProcess/src/CipherSettings.cpp | 26 +
.../SqliteDBProcess/src/CipherSettings.h | 50 +
.../src/ColumnDisplayFormatDialog.cpp | 139 +
.../src/ColumnDisplayFormatDialog.h | 41 +
.../src/ColumnDisplayFormatDialog.ui | 134 +
.../SqliteDBProcess/src/CondFormat.cpp | 176 +
.../SqliteDBProcess/src/CondFormat.h | 81 +
.../SqliteDBProcess/src/CondFormatManager.cpp | 252 +
.../SqliteDBProcess/src/CondFormatManager.h | 56 +
.../SqliteDBProcess/src/CondFormatManager.ui | 279 +
.../SqliteDBProcess/src/DBsqliconwin.ico | Bin 0 -> 21662 bytes
.../SqliteDBProcess/src/DBsqliconwin.jpg | Bin 0 -> 1662 bytes
.../SqliteDBProcess/src/Data.cpp | 157 +
.../SqliteDBProcess/src/Data.h | 37 +
.../SqliteDBProcess/src/DbStructureModel.cpp | 429 +
.../SqliteDBProcess/src/DbStructureModel.h | 60 +
.../SqliteDBProcess/src/DotenvFormat.cpp | 28 +
.../SqliteDBProcess/src/DotenvFormat.h | 14 +
.../SqliteDBProcess/src/EditDialog.cpp | 1258 +
.../SqliteDBProcess/src/EditDialog.h | 106 +
.../SqliteDBProcess/src/EditDialog.ui | 690 +
.../SqliteDBProcess/src/EditIndexDialog.cpp | 351 +
.../SqliteDBProcess/src/EditIndexDialog.h | 49 +
.../SqliteDBProcess/src/EditIndexDialog.ui | 573 +
.../SqliteDBProcess/src/EditTableDialog.cpp | 1008 +
.../SqliteDBProcess/src/EditTableDialog.h | 101 +
.../SqliteDBProcess/src/EditTableDialog.ui | 782 +
.../SqliteDBProcess/src/ExportDataDialog.cpp | 585 +
.../SqliteDBProcess/src/ExportDataDialog.h | 56 +
.../SqliteDBProcess/src/ExportDataDialog.ui | 408 +
.../SqliteDBProcess/src/ExportSqlDialog.cpp | 133 +
.../SqliteDBProcess/src/ExportSqlDialog.h | 31 +
.../SqliteDBProcess/src/ExportSqlDialog.ui | 242 +
.../SqliteDBProcess/src/ExtendedScintilla.cpp | 325 +
.../SqliteDBProcess/src/ExtendedScintilla.h | 58 +
.../src/ExtendedTableWidget.cpp | 1081 +
.../SqliteDBProcess/src/ExtendedTableWidget.h | 110 +
.../SqliteDBProcess/src/FileDialog.cpp | 83 +
.../SqliteDBProcess/src/FileDialog.h | 104 +
.../src/FileExtensionManager.cpp | 104 +
.../src/FileExtensionManager.h | 30 +
.../src/FileExtensionManager.ui | 153 +
.../SqliteDBProcess/src/FilterLineEdit.cpp | 224 +
.../SqliteDBProcess/src/FilterLineEdit.h | 47 +
.../SqliteDBProcess/src/FilterTableHeader.cpp | 130 +
.../SqliteDBProcess/src/FilterTableHeader.h | 44 +
.../SqliteDBProcess/src/FindReplaceDialog.cpp | 227 +
.../SqliteDBProcess/src/FindReplaceDialog.h | 48 +
.../SqliteDBProcess/src/FindReplaceDialog.ui | 322 +
.../src/ForeignKeyEditorDelegate.cpp | 190 +
.../src/ForeignKeyEditorDelegate.h | 34 +
.../SqliteDBProcess/src/IconCache.cpp | 22 +
.../SqliteDBProcess/src/IconCache.h | 21 +
.../SqliteDBProcess/src/ImportCsvDialog.cpp | 843 +
.../SqliteDBProcess/src/ImportCsvDialog.h | 67 +
.../SqliteDBProcess/src/ImportCsvDialog.ui | 786 +
.../SqliteDBProcess/src/MainWindow.cpp | 3473 ++
.../SqliteDBProcess/src/MainWindow.h | 208 +
.../SqliteDBProcess/src/Palette.cpp | 94 +
.../SqliteDBProcess/src/Palette.h | 21 +
.../SqliteDBProcess/src/PlotDock.cpp | 1003 +
.../SqliteDBProcess/src/PlotDock.h | 126 +
.../SqliteDBProcess/src/PlotDock.ui | 361 +
.../SqliteDBProcess/src/PreferencesDialog.cpp | 686 +
.../SqliteDBProcess/src/PreferencesDialog.h | 71 +
.../SqliteDBProcess/src/PreferencesDialog.ui | 2172 ++
.../SqliteDBProcess/src/ProxyDialog.cpp | 57 +
.../SqliteDBProcess/src/ProxyDialog.h | 28 +
.../SqliteDBProcess/src/ProxyDialog.ui | 201 +
.../src/RemoteCommitsModel.cpp | 171 +
.../SqliteDBProcess/src/RemoteCommitsModel.h | 44 +
.../SqliteDBProcess/src/RemoteDatabase.cpp | 432 +
.../SqliteDBProcess/src/RemoteDatabase.h | 86 +
.../SqliteDBProcess/src/RemoteDock.cpp | 675 +
.../SqliteDBProcess/src/RemoteDock.h | 80 +
.../SqliteDBProcess/src/RemoteDock.ui | 684 +
.../src/RemoteLocalFilesModel.cpp | 191 +
.../src/RemoteLocalFilesModel.h | 56 +
.../SqliteDBProcess/src/RemoteModel.cpp | 344 +
.../SqliteDBProcess/src/RemoteModel.h | 118 +
.../SqliteDBProcess/src/RemoteNetwork.cpp | 571 +
.../SqliteDBProcess/src/RemoteNetwork.h | 97 +
.../SqliteDBProcess/src/RemotePushDialog.cpp | 174 +
.../SqliteDBProcess/src/RemotePushDialog.h | 46 +
.../SqliteDBProcess/src/RemotePushDialog.ui | 333 +
.../SqliteDBProcess/src/RowCache.h | 264 +
.../SqliteDBProcess/src/RowLoader.cpp | 256 +
.../SqliteDBProcess/src/RowLoader.h | 122 +
.../SqliteDBProcess/src/RunSql.cpp | 303 +
.../SqliteDBProcess/src/RunSql.h | 89 +
.../SqliteDBProcess/src/SelectItemsPopup.cpp | 136 +
.../SqliteDBProcess/src/SelectItemsPopup.h | 44 +
.../SqliteDBProcess/src/SelectItemsPopup.ui | 331 +
.../SqliteDBProcess/src/Settings.cpp | 488 +
.../SqliteDBProcess/src/Settings.h | 40 +
.../SqliteDBProcess/src/SqlExecutionArea.cpp | 319 +
.../SqliteDBProcess/src/SqlExecutionArea.h | 76 +
.../SqliteDBProcess/src/SqlExecutionArea.ui | 296 +
.../SqliteDBProcess/src/SqlUiLexer.cpp | 224 +
.../SqliteDBProcess/src/SqlUiLexer.h | 47 +
.../src/SqliteDBMainWindow.cpp | 3473 ++
.../SqliteDBProcess/src/SqliteDBMainWindow.h | 208 +
.../SqliteDBProcess/src/SqliteDBMainWindow.ui | 3601 ++
.../src/SqliteDBProcessmain.cpp | 59 +
.../SqliteDBProcess/src/TableBrowser.cpp | 1603 +
.../SqliteDBProcess/src/TableBrowser.h | 197 +
.../SqliteDBProcess/src/TableBrowser.ui | 1475 +
.../SqliteDBProcess/src/VacuumDialog.cpp | 53 +
.../SqliteDBProcess/src/VacuumDialog.h | 28 +
.../SqliteDBProcess/src/VacuumDialog.ui | 127 +
.../SqliteDBProcess/src/app.plist | 82 +
.../SqliteDBProcess/src/csvparser.cpp | 324 +
.../SqliteDBProcess/src/csvparser.h | 99 +
.../SqliteDBProcess/src/docktextedit.cpp | 115 +
.../SqliteDBProcess/src/docktextedit.h | 48 +
.../src/extensions/extension-formats.c | 971 +
.../src/extensions/extension-formats.def | 5 +
.../src/extensions/extension-functions.c | 1947 +
.../src/extensions/extension-functions.def | 16 +
.../SqliteDBProcess/src/i18n.pri | 48 +
.../src/icons/application_go.png | Bin 0 -> 634 bytes
.../src/icons/application_link.png | Bin 0 -> 701 bytes
.../src/icons/application_side_list.png | Bin 0 -> 510 bytes
.../src/icons/bullet_arrow_bottom.png | Bin 0 -> 229 bytes
.../src/icons/bullet_arrow_down.png | Bin 0 -> 201 bytes
.../src/icons/bullet_arrow_top.png | Bin 0 -> 230 bytes
.../src/icons/bullet_arrow_up.png | Bin 0 -> 201 bytes
.../SqliteDBProcess/src/icons/cancel.png | Bin 0 -> 587 bytes
.../SqliteDBProcess/src/icons/chart_curve.png | Bin 0 -> 710 bytes
.../src/icons/clear_filters.png | Bin 0 -> 791 bytes
.../src/icons/clear_sorting.png | Bin 0 -> 558 bytes
.../SqliteDBProcess/src/icons/cog.png | Bin 0 -> 512 bytes
.../SqliteDBProcess/src/icons/cog_go.png | Bin 0 -> 859 bytes
.../src/icons/color_swatch.png | Bin 0 -> 209 bytes
.../src/icons/comment_block.png | Bin 0 -> 210 bytes
.../SqliteDBProcess/src/icons/cross.png | Bin 0 -> 655 bytes
.../SqliteDBProcess/src/icons/database.png | Bin 0 -> 390 bytes
.../src/icons/database_add.png | Bin 0 -> 658 bytes
.../SqliteDBProcess/src/icons/database_go.png | Bin 0 -> 698 bytes
.../src/icons/database_link.png | Bin 0 -> 679 bytes
.../src/icons/database_refresh.png | Bin 0 -> 770 bytes
.../src/icons/database_save.png | Bin 0 -> 755 bytes
.../src/icons/document-link.png | Bin 0 -> 853 bytes
.../src/icons/document-open.png | Bin 0 -> 672 bytes
.../src/icons/edit_cond_formats.png | Bin 0 -> 573 bytes
.../SqliteDBProcess/src/icons/filter.png | Bin 0 -> 642 bytes
.../SqliteDBProcess/src/icons/folder.png | Bin 0 -> 537 bytes
.../SqliteDBProcess/src/icons/folder_user.png | Bin 0 -> 730 bytes
.../SqliteDBProcess/src/icons/help.png | Bin 0 -> 786 bytes
.../SqliteDBProcess/src/icons/hourglass.png | Bin 0 -> 744 bytes
.../SqliteDBProcess/src/icons/icons.qrc | 106 +
.../src/icons/internet-web-browser.png | Bin 0 -> 928 bytes
.../SqliteDBProcess/src/icons/key.png | Bin 0 -> 612 bytes
.../src/icons/layout_sidebar.png | Bin 0 -> 479 bytes
.../SqliteDBProcess/src/icons/package.png | Bin 0 -> 853 bytes
.../SqliteDBProcess/src/icons/package_go.png | Bin 0 -> 898 bytes
.../src/icons/package_rename.png | Bin 0 -> 637 bytes
.../src/icons/package_save.png | Bin 0 -> 888 bytes
.../SqliteDBProcess/src/icons/page_add.png | Bin 0 -> 739 bytes
.../SqliteDBProcess/src/icons/page_copy.png | Bin 0 -> 663 bytes
.../src/icons/page_copy_sql.png | Bin 0 -> 833 bytes
.../SqliteDBProcess/src/icons/page_delete.png | Bin 0 -> 740 bytes
.../SqliteDBProcess/src/icons/page_edit.png | Bin 0 -> 807 bytes
.../SqliteDBProcess/src/icons/page_find.png | Bin 0 -> 879 bytes
.../src/icons/page_foreign_key.png | Bin 0 -> 841 bytes
.../SqliteDBProcess/src/icons/page_green.png | Bin 0 -> 621 bytes
.../SqliteDBProcess/src/icons/page_key.png | Bin 0 -> 801 bytes
.../src/icons/page_paintbrush.png | Bin 0 -> 813 bytes
.../SqliteDBProcess/src/icons/page_paste.png | Bin 0 -> 703 bytes
.../SqliteDBProcess/src/icons/page_save.png | Bin 0 -> 774 bytes
.../src/icons/page_white_copy.png | Bin 0 -> 309 bytes
.../src/icons/page_white_database.png | Bin 0 -> 579 bytes
.../src/icons/page_white_text.png | Bin 0 -> 342 bytes
.../SqliteDBProcess/src/icons/picture.png | Bin 0 -> 606 bytes
.../SqliteDBProcess/src/icons/picture_add.png | Bin 0 -> 745 bytes
.../src/icons/picture_delete.png | Bin 0 -> 744 bytes
.../src/icons/picture_edit.png | Bin 0 -> 826 bytes
.../src/icons/picture_save.png | Bin 0 -> 755 bytes
.../SqliteDBProcess/src/icons/plugin_add.png | Bin 0 -> 691 bytes
.../src/icons/plugin_delete.png | Bin 0 -> 692 bytes
.../SqliteDBProcess/src/icons/printer.png | Bin 0 -> 731 bytes
.../src/icons/resultset_first.png | Bin 0 -> 522 bytes
.../src/icons/resultset_last.png | Bin 0 -> 524 bytes
.../src/icons/resultset_next.png | Bin 0 -> 395 bytes
.../src/icons/resultset_previous.png | Bin 0 -> 389 bytes
.../SqliteDBProcess/src/icons/save_all.png | Bin 0 -> 841 bytes
.../SqliteDBProcess/src/icons/script.png | Bin 0 -> 748 bytes
.../SqliteDBProcess/src/icons/script_add.png | Bin 0 -> 811 bytes
.../src/icons/script_delete.png | Bin 0 -> 811 bytes
.../SqliteDBProcess/src/icons/script_edit.png | Bin 0 -> 880 bytes
.../SqliteDBProcess/src/icons/server_add.png | Bin 0 -> 676 bytes
.../SqliteDBProcess/src/icons/server_go.png | Bin 0 -> 706 bytes
.../src/icons/sqlitebrowser.png | Bin 0 -> 15047 bytes
.../SqliteDBProcess/src/icons/style.png | Bin 0 -> 813 bytes
.../SqliteDBProcess/src/icons/style_add.png | Bin 0 -> 844 bytes
.../src/icons/style_delete.png | Bin 0 -> 865 bytes
.../SqliteDBProcess/src/icons/style_edit.png | Bin 0 -> 927 bytes
.../SqliteDBProcess/src/icons/tab.png | Bin 0 -> 323 bytes
.../SqliteDBProcess/src/icons/tab_add.png | Bin 0 -> 488 bytes
.../SqliteDBProcess/src/icons/table.png | Bin 0 -> 566 bytes
.../SqliteDBProcess/src/icons/table_add.png | Bin 0 -> 663 bytes
.../src/icons/table_delete.png | Bin 0 -> 660 bytes
.../SqliteDBProcess/src/icons/table_edit.png | Bin 0 -> 744 bytes
.../src/icons/table_row_delete.png | Bin 0 -> 656 bytes
.../src/icons/table_row_insert.png | Bin 0 -> 657 bytes
.../SqliteDBProcess/src/icons/table_save.png | Bin 0 -> 723 bytes
.../SqliteDBProcess/src/icons/tag_blue.png | Bin 0 -> 586 bytes
.../src/icons/tag_blue_add.png | Bin 0 -> 671 bytes
.../src/icons/tag_blue_delete.png | Bin 0 -> 701 bytes
.../src/icons/tag_blue_edit.png | Bin 0 -> 748 bytes
.../src/icons/text_align_center.png | Bin 0 -> 234 bytes
.../src/icons/text_align_justify.png | Bin 0 -> 209 bytes
.../src/icons/text_align_left.png | Bin 0 -> 209 bytes
.../src/icons/text_align_right.png | Bin 0 -> 209 bytes
.../SqliteDBProcess/src/icons/text_bold.png | Bin 0 -> 304 bytes
.../SqliteDBProcess/src/icons/text_indent.png | Bin 0 -> 353 bytes
.../SqliteDBProcess/src/icons/text_italic.png | Bin 0 -> 223 bytes
.../src/icons/text_paintbrush.png | Bin 0 -> 880 bytes
.../src/icons/text_replace.png | Bin 0 -> 691 bytes
.../src/icons/text_underline.png | Bin 0 -> 273 bytes
.../src/icons/textfield_delete.png | Bin 0 -> 335 bytes
.../src/icons/view-refresh.png | Bin 0 -> 912 bytes
.../SqliteDBProcess/src/icons/wrench.png | Bin 0 -> 610 bytes
.../SqliteDBProcess/src/macapp.icns | Bin 0 -> 219768 bytes
.../SqliteDBProcess/src/main.cpp | 59 +
.../SqliteDBProcess/src/os2app.rc | 1 +
.../SqliteDBProcess/src/qdarkstyle/LICENSE.md | 185 +
.../src/qdarkstyle/rc/Hmovetoolbar.png | Bin 0 -> 220 bytes
.../src/qdarkstyle/rc/Hsepartoolbar.png | Bin 0 -> 172 bytes
.../src/qdarkstyle/rc/Vmovetoolbar.png | Bin 0 -> 2847 bytes
.../src/qdarkstyle/rc/Vsepartoolbar.png | Bin 0 -> 2839 bytes
.../src/qdarkstyle/rc/arrow_down.png | Bin 0 -> 525 bytes
.../src/qdarkstyle/rc/arrow_down@2x.png | Bin 0 -> 977 bytes
.../src/qdarkstyle/rc/arrow_down_disabled.png | Bin 0 -> 547 bytes
.../qdarkstyle/rc/arrow_down_disabled@2x.png | Bin 0 -> 1040 bytes
.../src/qdarkstyle/rc/arrow_down_focus.png | Bin 0 -> 530 bytes
.../src/qdarkstyle/rc/arrow_down_focus@2x.png | Bin 0 -> 1025 bytes
.../src/qdarkstyle/rc/arrow_down_pressed.png | Bin 0 -> 518 bytes
.../qdarkstyle/rc/arrow_down_pressed@2x.png | Bin 0 -> 1007 bytes
.../src/qdarkstyle/rc/arrow_left.png | Bin 0 -> 546 bytes
.../src/qdarkstyle/rc/arrow_left@2x.png | Bin 0 -> 1072 bytes
.../src/qdarkstyle/rc/arrow_left_disabled.png | Bin 0 -> 569 bytes
.../qdarkstyle/rc/arrow_left_disabled@2x.png | Bin 0 -> 1126 bytes
.../src/qdarkstyle/rc/arrow_left_focus.png | Bin 0 -> 565 bytes
.../src/qdarkstyle/rc/arrow_left_focus@2x.png | Bin 0 -> 1143 bytes
.../src/qdarkstyle/rc/arrow_left_pressed.png | Bin 0 -> 541 bytes
.../qdarkstyle/rc/arrow_left_pressed@2x.png | Bin 0 -> 1120 bytes
.../src/qdarkstyle/rc/arrow_right.png | Bin 0 -> 518 bytes
.../src/qdarkstyle/rc/arrow_right@2x.png | Bin 0 -> 1062 bytes
.../qdarkstyle/rc/arrow_right_disabled.png | Bin 0 -> 553 bytes
.../qdarkstyle/rc/arrow_right_disabled@2x.png | Bin 0 -> 1143 bytes
.../src/qdarkstyle/rc/arrow_right_focus.png | Bin 0 -> 543 bytes
.../qdarkstyle/rc/arrow_right_focus@2x.png | Bin 0 -> 1139 bytes
.../src/qdarkstyle/rc/arrow_right_pressed.png | Bin 0 -> 544 bytes
.../qdarkstyle/rc/arrow_right_pressed@2x.png | Bin 0 -> 1121 bytes
.../src/qdarkstyle/rc/arrow_up.png | Bin 0 -> 512 bytes
.../src/qdarkstyle/rc/arrow_up@2x.png | Bin 0 -> 969 bytes
.../src/qdarkstyle/rc/arrow_up_disabled.png | Bin 0 -> 538 bytes
.../qdarkstyle/rc/arrow_up_disabled@2x.png | Bin 0 -> 1046 bytes
.../src/qdarkstyle/rc/arrow_up_focus.png | Bin 0 -> 530 bytes
.../src/qdarkstyle/rc/arrow_up_focus@2x.png | Bin 0 -> 1017 bytes
.../src/qdarkstyle/rc/arrow_up_pressed.png | Bin 0 -> 518 bytes
.../src/qdarkstyle/rc/arrow_up_pressed@2x.png | Bin 0 -> 998 bytes
.../src/qdarkstyle/rc/base_icon.png | Bin 0 -> 1256 bytes
.../src/qdarkstyle/rc/base_icon@2x.png | Bin 0 -> 3286 bytes
.../src/qdarkstyle/rc/base_icon_disabled.png | Bin 0 -> 1256 bytes
.../qdarkstyle/rc/base_icon_disabled@2x.png | Bin 0 -> 3286 bytes
.../src/qdarkstyle/rc/base_icon_focus.png | Bin 0 -> 1256 bytes
.../src/qdarkstyle/rc/base_icon_focus@2x.png | Bin 0 -> 3286 bytes
.../src/qdarkstyle/rc/base_icon_pressed.png | Bin 0 -> 1256 bytes
.../qdarkstyle/rc/base_icon_pressed@2x.png | Bin 0 -> 3286 bytes
.../src/qdarkstyle/rc/branch_closed-on.png | Bin 0 -> 147 bytes
.../src/qdarkstyle/rc/branch_closed.png | Bin 0 -> 350 bytes
.../src/qdarkstyle/rc/branch_closed@2x.png | Bin 0 -> 704 bytes
.../qdarkstyle/rc/branch_closed_disabled.png | Bin 0 -> 373 bytes
.../rc/branch_closed_disabled@2x.png | Bin 0 -> 729 bytes
.../src/qdarkstyle/rc/branch_closed_focus.png | Bin 0 -> 380 bytes
.../qdarkstyle/rc/branch_closed_focus@2x.png | Bin 0 -> 717 bytes
.../qdarkstyle/rc/branch_closed_pressed.png | Bin 0 -> 372 bytes
.../rc/branch_closed_pressed@2x.png | Bin 0 -> 725 bytes
.../src/qdarkstyle/rc/branch_end.png | Bin 0 -> 142 bytes
.../src/qdarkstyle/rc/branch_end@2x.png | Bin 0 -> 220 bytes
.../src/qdarkstyle/rc/branch_end_disabled.png | Bin 0 -> 146 bytes
.../qdarkstyle/rc/branch_end_disabled@2x.png | Bin 0 -> 225 bytes
.../src/qdarkstyle/rc/branch_end_focus.png | Bin 0 -> 146 bytes
.../src/qdarkstyle/rc/branch_end_focus@2x.png | Bin 0 -> 226 bytes
.../src/qdarkstyle/rc/branch_end_pressed.png | Bin 0 -> 146 bytes
.../qdarkstyle/rc/branch_end_pressed@2x.png | Bin 0 -> 225 bytes
.../src/qdarkstyle/rc/branch_line.png | Bin 0 -> 130 bytes
.../src/qdarkstyle/rc/branch_line@2x.png | Bin 0 -> 242 bytes
.../qdarkstyle/rc/branch_line_disabled.png | Bin 0 -> 134 bytes
.../qdarkstyle/rc/branch_line_disabled@2x.png | Bin 0 -> 248 bytes
.../src/qdarkstyle/rc/branch_line_focus.png | Bin 0 -> 134 bytes
.../qdarkstyle/rc/branch_line_focus@2x.png | Bin 0 -> 249 bytes
.../src/qdarkstyle/rc/branch_line_pressed.png | Bin 0 -> 134 bytes
.../qdarkstyle/rc/branch_line_pressed@2x.png | Bin 0 -> 248 bytes
.../src/qdarkstyle/rc/branch_more.png | Bin 0 -> 155 bytes
.../src/qdarkstyle/rc/branch_more@2x.png | Bin 0 -> 257 bytes
.../qdarkstyle/rc/branch_more_disabled.png | Bin 0 -> 162 bytes
.../qdarkstyle/rc/branch_more_disabled@2x.png | Bin 0 -> 265 bytes
.../src/qdarkstyle/rc/branch_more_focus.png | Bin 0 -> 162 bytes
.../qdarkstyle/rc/branch_more_focus@2x.png | Bin 0 -> 266 bytes
.../src/qdarkstyle/rc/branch_more_pressed.png | Bin 0 -> 162 bytes
.../qdarkstyle/rc/branch_more_pressed@2x.png | Bin 0 -> 265 bytes
.../src/qdarkstyle/rc/branch_open-on.png | Bin 0 -> 150 bytes
.../src/qdarkstyle/rc/branch_open.png | Bin 0 -> 354 bytes
.../src/qdarkstyle/rc/branch_open@2x.png | Bin 0 -> 657 bytes
.../qdarkstyle/rc/branch_open_disabled.png | Bin 0 -> 375 bytes
.../qdarkstyle/rc/branch_open_disabled@2x.png | Bin 0 -> 682 bytes
.../src/qdarkstyle/rc/branch_open_focus.png | Bin 0 -> 367 bytes
.../qdarkstyle/rc/branch_open_focus@2x.png | Bin 0 -> 665 bytes
.../src/qdarkstyle/rc/branch_open_pressed.png | Bin 0 -> 369 bytes
.../qdarkstyle/rc/branch_open_pressed@2x.png | Bin 0 -> 661 bytes
.../src/qdarkstyle/rc/checkbox_checked.png | Bin 0 -> 452 bytes
.../src/qdarkstyle/rc/checkbox_checked@2x.png | Bin 0 -> 825 bytes
.../rc/checkbox_checked_disabled.png | Bin 0 -> 467 bytes
.../rc/checkbox_checked_disabled@2x.png | Bin 0 -> 845 bytes
.../qdarkstyle/rc/checkbox_checked_focus.png | Bin 0 -> 441 bytes
.../rc/checkbox_checked_focus@2x.png | Bin 0 -> 823 bytes
.../rc/checkbox_checked_pressed.png | Bin 0 -> 418 bytes
.../rc/checkbox_checked_pressed@2x.png | Bin 0 -> 829 bytes
.../qdarkstyle/rc/checkbox_indeterminate.png | Bin 0 -> 581 bytes
.../rc/checkbox_indeterminate@2x.png | Bin 0 -> 1081 bytes
.../rc/checkbox_indeterminate_disabled.png | Bin 0 -> 614 bytes
.../rc/checkbox_indeterminate_disabled@2x.png | Bin 0 -> 1105 bytes
.../rc/checkbox_indeterminate_focus.png | Bin 0 -> 576 bytes
.../rc/checkbox_indeterminate_focus@2x.png | Bin 0 -> 1066 bytes
.../rc/checkbox_indeterminate_pressed.png | Bin 0 -> 563 bytes
.../rc/checkbox_indeterminate_pressed@2x.png | Bin 0 -> 1087 bytes
.../src/qdarkstyle/rc/checkbox_unchecked.png | Bin 0 -> 397 bytes
.../qdarkstyle/rc/checkbox_unchecked@2x.png | Bin 0 -> 828 bytes
.../rc/checkbox_unchecked_disabled.png | Bin 0 -> 386 bytes
.../rc/checkbox_unchecked_disabled@2x.png | Bin 0 -> 875 bytes
.../rc/checkbox_unchecked_focus.png | Bin 0 -> 394 bytes
.../rc/checkbox_unchecked_focus@2x.png | Bin 0 -> 866 bytes
.../rc/checkbox_unchecked_pressed.png | Bin 0 -> 403 bytes
.../rc/checkbox_unchecked_pressed@2x.png | Bin 0 -> 861 bytes
.../src/qdarkstyle/rc/close-hover.png | Bin 0 -> 598 bytes
.../src/qdarkstyle/rc/close-pressed.png | Bin 0 -> 598 bytes
.../src/qdarkstyle/rc/close.png | Bin 0 -> 586 bytes
.../src/qdarkstyle/rc/down_arrow.png | Bin 0 -> 165 bytes
.../src/qdarkstyle/rc/down_arrow_disabled.png | Bin 0 -> 166 bytes
.../src/qdarkstyle/rc/left_arrow.png | Bin 0 -> 166 bytes
.../src/qdarkstyle/rc/left_arrow_disabled.png | Bin 0 -> 166 bytes
.../src/qdarkstyle/rc/line_horizontal.png | Bin 0 -> 117 bytes
.../src/qdarkstyle/rc/line_horizontal@2x.png | Bin 0 -> 135 bytes
.../rc/line_horizontal_disabled.png | Bin 0 -> 121 bytes
.../rc/line_horizontal_disabled@2x.png | Bin 0 -> 139 bytes
.../qdarkstyle/rc/line_horizontal_focus.png | Bin 0 -> 120 bytes
.../rc/line_horizontal_focus@2x.png | Bin 0 -> 138 bytes
.../qdarkstyle/rc/line_horizontal_pressed.png | Bin 0 -> 120 bytes
.../rc/line_horizontal_pressed@2x.png | Bin 0 -> 138 bytes
.../src/qdarkstyle/rc/line_vertical.png | Bin 0 -> 130 bytes
.../src/qdarkstyle/rc/line_vertical@2x.png | Bin 0 -> 242 bytes
.../qdarkstyle/rc/line_vertical_disabled.png | Bin 0 -> 134 bytes
.../rc/line_vertical_disabled@2x.png | Bin 0 -> 248 bytes
.../src/qdarkstyle/rc/line_vertical_focus.png | Bin 0 -> 134 bytes
.../qdarkstyle/rc/line_vertical_focus@2x.png | Bin 0 -> 249 bytes
.../qdarkstyle/rc/line_vertical_pressed.png | Bin 0 -> 134 bytes
.../rc/line_vertical_pressed@2x.png | Bin 0 -> 248 bytes
.../src/qdarkstyle/rc/radio_checked.png | Bin 0 -> 1224 bytes
.../src/qdarkstyle/rc/radio_checked@2x.png | Bin 0 -> 2714 bytes
.../qdarkstyle/rc/radio_checked_disabled.png | Bin 0 -> 1325 bytes
.../rc/radio_checked_disabled@2x.png | Bin 0 -> 2893 bytes
.../src/qdarkstyle/rc/radio_checked_focus.png | Bin 0 -> 1293 bytes
.../qdarkstyle/rc/radio_checked_focus@2x.png | Bin 0 -> 2736 bytes
.../qdarkstyle/rc/radio_checked_pressed.png | Bin 0 -> 1276 bytes
.../rc/radio_checked_pressed@2x.png | Bin 0 -> 2765 bytes
.../src/qdarkstyle/rc/radio_unchecked.png | Bin 0 -> 963 bytes
.../src/qdarkstyle/rc/radio_unchecked@2x.png | Bin 0 -> 2195 bytes
.../rc/radio_unchecked_disabled.png | Bin 0 -> 1040 bytes
.../rc/radio_unchecked_disabled@2x.png | Bin 0 -> 2294 bytes
.../qdarkstyle/rc/radio_unchecked_focus.png | Bin 0 -> 1032 bytes
.../rc/radio_unchecked_focus@2x.png | Bin 0 -> 2186 bytes
.../qdarkstyle/rc/radio_unchecked_pressed.png | Bin 0 -> 1022 bytes
.../rc/radio_unchecked_pressed@2x.png | Bin 0 -> 2197 bytes
.../src/qdarkstyle/rc/right_arrow.png | Bin 0 -> 160 bytes
.../qdarkstyle/rc/right_arrow_disabled.png | Bin 0 -> 160 bytes
.../src/qdarkstyle/rc/sizegrip.png | Bin 0 -> 129 bytes
.../qdarkstyle/rc/stylesheet-branch-end.png | Bin 0 -> 224 bytes
.../qdarkstyle/rc/stylesheet-branch-more.png | Bin 0 -> 182 bytes
.../src/qdarkstyle/rc/stylesheet-vline.png | Bin 0 -> 239 bytes
.../qdarkstyle/rc/toolbar_move_horizontal.png | Bin 0 -> 150 bytes
.../rc/toolbar_move_horizontal@2x.png | Bin 0 -> 304 bytes
.../rc/toolbar_move_horizontal_disabled.png | Bin 0 -> 155 bytes
.../toolbar_move_horizontal_disabled@2x.png | Bin 0 -> 308 bytes
.../rc/toolbar_move_horizontal_focus.png | Bin 0 -> 154 bytes
.../rc/toolbar_move_horizontal_focus@2x.png | Bin 0 -> 311 bytes
.../rc/toolbar_move_horizontal_pressed.png | Bin 0 -> 154 bytes
.../rc/toolbar_move_horizontal_pressed@2x.png | Bin 0 -> 307 bytes
.../qdarkstyle/rc/toolbar_move_vertical.png | Bin 0 -> 137 bytes
.../rc/toolbar_move_vertical@2x.png | Bin 0 -> 201 bytes
.../rc/toolbar_move_vertical_disabled.png | Bin 0 -> 140 bytes
.../rc/toolbar_move_vertical_disabled@2x.png | Bin 0 -> 212 bytes
.../rc/toolbar_move_vertical_focus.png | Bin 0 -> 144 bytes
.../rc/toolbar_move_vertical_focus@2x.png | Bin 0 -> 211 bytes
.../rc/toolbar_move_vertical_pressed.png | Bin 0 -> 143 bytes
.../rc/toolbar_move_vertical_pressed@2x.png | Bin 0 -> 204 bytes
.../rc/toolbar_separator_horizontal.png | Bin 0 -> 145 bytes
.../rc/toolbar_separator_horizontal@2x.png | Bin 0 -> 286 bytes
.../toolbar_separator_horizontal_disabled.png | Bin 0 -> 151 bytes
...olbar_separator_horizontal_disabled@2x.png | Bin 0 -> 292 bytes
.../rc/toolbar_separator_horizontal_focus.png | Bin 0 -> 149 bytes
.../toolbar_separator_horizontal_focus@2x.png | Bin 0 -> 294 bytes
.../toolbar_separator_horizontal_pressed.png | Bin 0 -> 149 bytes
...oolbar_separator_horizontal_pressed@2x.png | Bin 0 -> 289 bytes
.../rc/toolbar_separator_vertical.png | Bin 0 -> 133 bytes
.../rc/toolbar_separator_vertical@2x.png | Bin 0 -> 191 bytes
.../toolbar_separator_vertical_disabled.png | Bin 0 -> 135 bytes
...toolbar_separator_vertical_disabled@2x.png | Bin 0 -> 199 bytes
.../rc/toolbar_separator_vertical_focus.png | Bin 0 -> 139 bytes
.../toolbar_separator_vertical_focus@2x.png | Bin 0 -> 196 bytes
.../rc/toolbar_separator_vertical_pressed.png | Bin 0 -> 138 bytes
.../toolbar_separator_vertical_pressed@2x.png | Bin 0 -> 193 bytes
.../src/qdarkstyle/rc/transparent.png | Bin 0 -> 104 bytes
.../src/qdarkstyle/rc/transparent@2x.png | Bin 0 -> 117 bytes
.../qdarkstyle/rc/transparent_disabled.png | Bin 0 -> 104 bytes
.../qdarkstyle/rc/transparent_disabled@2x.png | Bin 0 -> 117 bytes
.../src/qdarkstyle/rc/transparent_focus.png | Bin 0 -> 104 bytes
.../qdarkstyle/rc/transparent_focus@2x.png | Bin 0 -> 117 bytes
.../src/qdarkstyle/rc/transparent_pressed.png | Bin 0 -> 104 bytes
.../qdarkstyle/rc/transparent_pressed@2x.png | Bin 0 -> 117 bytes
.../src/qdarkstyle/rc/undock.png | Bin 0 -> 578 bytes
.../src/qdarkstyle/rc/up_arrow.png | Bin 0 -> 158 bytes
.../src/qdarkstyle/rc/up_arrow_disabled.png | Bin 0 -> 159 bytes
.../src/qdarkstyle/rc/window_close.png | Bin 0 -> 766 bytes
.../src/qdarkstyle/rc/window_close@2x.png | Bin 0 -> 1690 bytes
.../qdarkstyle/rc/window_close_disabled.png | Bin 0 -> 838 bytes
.../rc/window_close_disabled@2x.png | Bin 0 -> 1724 bytes
.../src/qdarkstyle/rc/window_close_focus.png | Bin 0 -> 756 bytes
.../qdarkstyle/rc/window_close_focus@2x.png | Bin 0 -> 1704 bytes
.../qdarkstyle/rc/window_close_pressed.png | Bin 0 -> 745 bytes
.../qdarkstyle/rc/window_close_pressed@2x.png | Bin 0 -> 1679 bytes
.../src/qdarkstyle/rc/window_grip.png | Bin 0 -> 426 bytes
.../src/qdarkstyle/rc/window_grip@2x.png | Bin 0 -> 735 bytes
.../qdarkstyle/rc/window_grip_disabled.png | Bin 0 -> 447 bytes
.../qdarkstyle/rc/window_grip_disabled@2x.png | Bin 0 -> 768 bytes
.../src/qdarkstyle/rc/window_grip_focus.png | Bin 0 -> 435 bytes
.../qdarkstyle/rc/window_grip_focus@2x.png | Bin 0 -> 738 bytes
.../src/qdarkstyle/rc/window_grip_pressed.png | Bin 0 -> 444 bytes
.../qdarkstyle/rc/window_grip_pressed@2x.png | Bin 0 -> 729 bytes
.../src/qdarkstyle/rc/window_minimize.png | Bin 0 -> 193 bytes
.../src/qdarkstyle/rc/window_minimize@2x.png | Bin 0 -> 316 bytes
.../rc/window_minimize_disabled.png | Bin 0 -> 206 bytes
.../rc/window_minimize_disabled@2x.png | Bin 0 -> 332 bytes
.../qdarkstyle/rc/window_minimize_focus.png | Bin 0 -> 208 bytes
.../rc/window_minimize_focus@2x.png | Bin 0 -> 339 bytes
.../qdarkstyle/rc/window_minimize_pressed.png | Bin 0 -> 202 bytes
.../rc/window_minimize_pressed@2x.png | Bin 0 -> 336 bytes
.../src/qdarkstyle/rc/window_undock.png | Bin 0 -> 510 bytes
.../src/qdarkstyle/rc/window_undock@2x.png | Bin 0 -> 875 bytes
.../qdarkstyle/rc/window_undock_disabled.png | Bin 0 -> 541 bytes
.../rc/window_undock_disabled@2x.png | Bin 0 -> 910 bytes
.../src/qdarkstyle/rc/window_undock_focus.png | Bin 0 -> 519 bytes
.../qdarkstyle/rc/window_undock_focus@2x.png | Bin 0 -> 877 bytes
.../qdarkstyle/rc/window_undock_pressed.png | Bin 0 -> 523 bytes
.../rc/window_undock_pressed@2x.png | Bin 0 -> 880 bytes
.../SqliteDBProcess/src/qdarkstyle/style.qrc | 216 +
.../src/qdarkstyle/style.qrc.depends | 216 +
.../SqliteDBProcess/src/qdarkstyle/style.qss | 2165 ++
.../src/sql/ObjectIdentifier.cpp | 80 +
.../src/sql/ObjectIdentifier.h | 104 +
.../SqliteDBProcess/src/sql/Query.cpp | 148 +
.../SqliteDBProcess/src/sql/Query.h | 99 +
.../src/sql/parser/ParserDriver.cpp | 31 +
.../src/sql/parser/ParserDriver.h | 59 +
.../SqliteDBProcess/src/sql/parser/README | 9 +
.../src/sql/parser/sqlite3_lexer.cpp | 3623 ++
.../src/sql/parser/sqlite3_lexer.h | 610 +
.../src/sql/parser/sqlite3_lexer.ll | 259 +
.../src/sql/parser/sqlite3_location.h | 334 +
.../src/sql/parser/sqlite3_parser.cpp | 4726 +++
.../src/sql/parser/sqlite3_parser.hpp | 4097 +++
.../src/sql/parser/sqlite3_parser.yy | 988 +
.../SqliteDBProcess/src/sql/sqlitetypes.cpp | 712 +
.../SqliteDBProcess/src/sql/sqlitetypes.h | 618 +
.../SqliteDBProcess/src/sqlite.h | 23 +
.../SqliteDBProcess/src/sqlitedb.cpp | 2130 ++
.../SqliteDBProcess/src/sqlitedb.h | 292 +
.../SqliteDBProcess/src/sqlitetablemodel.cpp | 1193 +
.../SqliteDBProcess/src/sqlitetablemodel.h | 254 +
.../SqliteDBProcess/src/sqltextedit.cpp | 135 +
.../SqliteDBProcess/src/sqltextedit.h | 27 +
.../SqliteDBProcess/src/src.pro | 303 +
.../SqliteDBProcess/src/tests/CMakeLists.txt | 162 +
.../SqliteDBProcess/src/tests/TestImport.cpp | 178 +
.../SqliteDBProcess/src/tests/TestImport.h | 19 +
.../SqliteDBProcess/src/tests/TestRegex.cpp | 81 +
.../SqliteDBProcess/src/tests/TestRegex.h | 17 +
.../src/tests/TestRowCache.cpp | 189 +
.../SqliteDBProcess/src/tests/TestRowCache.h | 22 +
.../src/tests/testsqlobjects.cpp | 773 +
.../src/tests/testsqlobjects.h | 47 +
.../src/tools/create_windows_icon.sh | 19 +
.../SqliteDBProcess/src/translations/README | 1 +
.../src/translations/flags/ar.png | Bin 0 -> 592 bytes
.../src/translations/flags/br.png | Bin 0 -> 560 bytes
.../src/translations/flags/cn.png | Bin 0 -> 571 bytes
.../src/translations/flags/cs.png | Bin 0 -> 252 bytes
.../src/translations/flags/de.png | Bin 0 -> 444 bytes
.../src/translations/flags/eg.png | Bin 0 -> 239 bytes
.../src/translations/flags/es.png | Bin 0 -> 258 bytes
.../src/translations/flags/flags.qrc | 23 +
.../src/translations/flags/fr.png | Bin 0 -> 616 bytes
.../src/translations/flags/gb.png | Bin 0 -> 735 bytes
.../src/translations/flags/it.png | Bin 0 -> 658 bytes
.../src/translations/flags/jp.png | Bin 0 -> 420 bytes
.../src/translations/flags/kr.png | Bin 0 -> 893 bytes
.../src/translations/flags/nl.png | Bin 0 -> 119 bytes
.../src/translations/flags/pl.png | Bin 0 -> 139 bytes
.../src/translations/flags/roc.png | Bin 0 -> 329 bytes
.../src/translations/flags/ru.png | Bin 0 -> 503 bytes
.../src/translations/flags/tr.png | Bin 0 -> 792 bytes
.../src/translations/flags/ua.png | Bin 0 -> 121 bytes
.../src/translations/flags/us.png | Bin 0 -> 872 bytes
.../src/translations/place_translations_here | 0
.../src/translations/sqlb_ar_SA.qm | Bin 0 -> 223625 bytes
.../src/translations/sqlb_ar_SA.ts | 7051 ++++
.../src/translations/sqlb_cs.qm | Bin 0 -> 72122 bytes
.../src/translations/sqlb_cs.ts | 6940 ++++
.../src/translations/sqlb_de.qm | Bin 0 -> 242646 bytes
.../src/translations/sqlb_de.ts | 7015 ++++
.../src/translations/sqlb_en_GB.qm | Bin 0 -> 33039 bytes
.../src/translations/sqlb_en_GB.ts | 6927 ++++
.../src/translations/sqlb_es_ES.qm | Bin 0 -> 252959 bytes
.../src/translations/sqlb_es_ES.ts | 7034 ++++
.../src/translations/sqlb_fa.ts | 6922 ++++
.../src/translations/sqlb_fr.qm | Bin 0 -> 264290 bytes
.../src/translations/sqlb_fr.ts | 7039 ++++
.../src/translations/sqlb_it.qm | Bin 0 -> 249391 bytes
.../src/translations/sqlb_it.ts | 7020 ++++
.../src/translations/sqlb_ja.qm | Bin 0 -> 182656 bytes
.../src/translations/sqlb_ja.ts | 7019 ++++
.../src/translations/sqlb_ko_KR.qm | Bin 0 -> 186801 bytes
.../src/translations/sqlb_ko_KR.ts | 7012 ++++
.../src/translations/sqlb_nl.qm | Bin 0 -> 253683 bytes
.../src/translations/sqlb_nl.ts | 7076 ++++
.../src/translations/sqlb_pl.qm | Bin 0 -> 224964 bytes
.../src/translations/sqlb_pl.ts | 7032 ++++
.../src/translations/sqlb_pt_BR.qm | Bin 0 -> 236318 bytes
.../src/translations/sqlb_pt_BR.ts | 7023 ++++
.../src/translations/sqlb_ru.qm | Bin 0 -> 177150 bytes
.../src/translations/sqlb_ru.ts | 6996 ++++
.../src/translations/sqlb_tr.qm | Bin 0 -> 225322 bytes
.../src/translations/sqlb_tr.ts | 7006 ++++
.../src/translations/sqlb_uk_UA.qm | Bin 0 -> 84283 bytes
.../src/translations/sqlb_uk_UA.ts | 6959 ++++
.../src/translations/sqlb_zh.qm | Bin 0 -> 146200 bytes
.../src/translations/sqlb_zh.ts | 7008 ++++
.../src/translations/sqlb_zh_TW.qm | Bin 0 -> 25059 bytes
.../src/translations/sqlb_zh_TW.ts | 6931 ++++
.../src/translations/translations.qrc | 21 +
.../SqliteDBProcess/src/version.h | 16 +
.../SqliteDBProcess/src/winapp.rc | 30 +
.../TableProcess/TableFieldConfigClass.cpp | 10 +
.../TableProcess/TableFieldConfigClass.h | 16 +
.../TableProcess/TableFieldConfigClass.ui | 22 +
.../TableProcess/TableFieldFindTool.cpp | 10 +
.../TableProcess/TableFieldFindTool.h | 16 +
.../TableProcess/TableFieldFindTool.ui | 22 +
.../TableProcess/TableMainWindow.cpp | 359 +
.../TableProcess/TableMainWindow.h | 79 +
.../TableProcess/TableMainWindow.ui | 282 +
.../TableProcess/TableViewModel.cpp | 359 +
.../TableProcess/TableViewModel.h | 84 +
.../TableProcess/sqliteOperator.cpp | 4 +
.../TableProcess/sqliteOperator.h | 10 +
src/WBCLFZSystemModule/TaskNodeList.cpp | 1013 +
src/WBCLFZSystemModule/TaskNodeList.h | 245 +
.../TaskXml/TaskTreeClass.cpp | 226 +
.../TaskXml/TaskTreeClass.h | 112 +
src/WBCLFZSystemModule/WBCLFZSystemModule.aps | Bin 0 -> 1476 bytes
src/WBCLFZSystemModule/WBCLFZSystemModule.cpp | 123 +
src/WBCLFZSystemModule/WBCLFZSystemModule.h | 40 +
src/WBCLFZSystemModule/WBCLFZSystemModule.rc | 60 +
src/WBCLFZSystemModule/WBCLFZSystemModule.ui | 73 +
.../WBCLFZSystemModule.vcxproj | 548 +
.../WBCLFZSystemModule.vcxproj.filters | 1076 +
.../WBCLFZSystemModule.vcxproj.user | 26 +
src/WBCLFZSystemModule/cpp.hint | 4 +
src/WBCLFZSystemModule/main.cpp | 199 +
.../modelProcess/ModelProcess.cpp | 454 +
.../modelProcess/ModelProcess.h | 114 +
.../modelProcess/ModelProcess.ui | 490 +
src/WBCLFZSystemModule/qconsolewidget.pri | 13 +
src/WBCLFZSystemModule/qscriptcompleter.cpp | 193 +
src/WBCLFZSystemModule/qscriptcompleter.h | 26 +
src/WBCLFZSystemModule/readme.md | 64 +
src/WBCLFZSystemModule/resource.h | 14 +
src/WBCLFZSystemModule/scriptsession.cpp | 132 +
src/WBCLFZSystemModule/scriptsession.h | 53 +
src/json/CMakeLists.txt | 30 +
src/json/json.hpp | 22875 ++++++++++++
src/json/json.vcxproj | 199 +
src/json/json.vcxproj.filters | 38 +
src/json/json.vcxproj.user | 16 +
src/json/jsonplugin.json | 1 +
src/qcustomplot/CMakeLists.txt | 20 +
src/qcustomplot/GPL.txt | 674 +
src/qcustomplot/main.cpp | 10 +
src/qcustomplot/qcustomplot.cpp | 30214 ++++++++++++++++
src/qcustomplot/qcustomplot.h | 6673 ++++
src/qcustomplot/qcustomplot.pro | 13 +
src/qcustomplot/qcustomplot.qrc | 4 +
src/qcustomplot/qcustomplot.ui | 28 +
src/qhexedit/CMakeLists.txt | 57 +
src/qhexedit/chunks.cpp | 323 +
src/qhexedit/chunks.h | 77 +
src/qhexedit/commands.cpp | 165 +
src/qhexedit/commands.h | 47 +
src/qhexedit/license.txt | 502 +
src/qhexedit/qhexedit.cpp | 1145 +
src/qhexedit/qhexedit.h | 423 +
src/qhexedit/qhexedit.pro | 21 +
src/qhexedit/qhexedit.vcxproj | 203 +
src/qhexedit/qhexedit.vcxproj.filters | 50 +
src/qhexedit/qhexedit.vcxproj.user | 16 +
src/qhexedit/qhexeditplugin.json | 1 +
src/qrc/LAMPTool.qrc | 4 +
src/qrc/OCCViewer/res/antialiasing.png | Bin 0 -> 230 bytes
src/qrc/OCCViewer/res/cursor_rotate.png | Bin 0 -> 291 bytes
src/qrc/OCCViewer/res/cursor_zoom.png | Bin 0 -> 245 bytes
src/qrc/OCCViewer/res/help.png | Bin 0 -> 214 bytes
src/qrc/OCCViewer/res/lamp.png | Bin 0 -> 1355 bytes
src/qrc/OCCViewer/res/raytracing.png | Bin 0 -> 223 bytes
src/qrc/OCCViewer/res/reflections.png | Bin 0 -> 217 bytes
src/qrc/OCCViewer/res/shadows.png | Bin 0 -> 264 bytes
src/qrc/OCCViewer/res/tool_color.png | Bin 0 -> 288 bytes
src/qrc/OCCViewer/res/tool_delete.png | Bin 0 -> 203 bytes
src/qrc/OCCViewer/res/tool_material.png | Bin 0 -> 293 bytes
src/qrc/OCCViewer/res/tool_shading.png | Bin 0 -> 256 bytes
src/qrc/OCCViewer/res/tool_transparency.png | Bin 0 -> 318 bytes
src/qrc/OCCViewer/res/tool_wireframe.png | Bin 0 -> 259 bytes
src/qrc/OCCViewer/res/view_axo.png | Bin 0 -> 392 bytes
src/qrc/OCCViewer/res/view_back.png | Bin 0 -> 233 bytes
src/qrc/OCCViewer/res/view_bottom.png | Bin 0 -> 233 bytes
src/qrc/OCCViewer/res/view_comp_off.png | Bin 0 -> 199 bytes
src/qrc/OCCViewer/res/view_comp_on.png | Bin 0 -> 180 bytes
src/qrc/OCCViewer/res/view_fitall.png | Bin 0 -> 231 bytes
src/qrc/OCCViewer/res/view_front.png | Bin 0 -> 238 bytes
src/qrc/OCCViewer/res/view_left.png | Bin 0 -> 231 bytes
src/qrc/OCCViewer/res/view_reset.png | Bin 0 -> 204 bytes
src/qrc/OCCViewer/res/view_right.png | Bin 0 -> 230 bytes
src/qrc/OCCViewer/res/view_top.png | Bin 0 -> 235 bytes
src/qrc/PointCloudProcess/images/1.gif | Bin 0 -> 276082 bytes
.../images/QTreeView/branch-closed.png | Bin 0 -> 328 bytes
.../images/QTreeView/branch-end.png | Bin 0 -> 180 bytes
.../images/QTreeView/branch-more.png | Bin 0 -> 109 bytes
.../images/QTreeView/branch-open.png | Bin 0 -> 334 bytes
.../images/QTreeView/vline.png | Bin 0 -> 122 bytes
src/qrc/PointCloudProcess/images/RGB.png | Bin 0 -> 3331 bytes
.../images/algorithm/DASHBOARD.png | Bin 0 -> 2785 bytes
.../images/algorithm/DBSCAN.png | Bin 0 -> 2041 bytes
.../images/algorithm/Histogram.png | Bin 0 -> 616 bytes
.../images/algorithm/KMeans.png | Bin 0 -> 2555 bytes
.../images/algorithm/binary.png | Bin 0 -> 1544 bytes
.../images/algorithm/chooseMatrix.png | Bin 0 -> 2628 bytes
.../images/algorithm/density.png | Bin 0 -> 1452 bytes
.../images/algorithm/extract.png | Bin 0 -> 2922 bytes
.../images/algorithm/filter.png | Bin 0 -> 1919 bytes
.../images/algorithm/help.png | Bin 0 -> 1998 bytes
.../images/algorithm/matrix.png | Bin 0 -> 1538 bytes
.../images/algorithm/more.png | Bin 0 -> 2259 bytes
.../images/algorithm/nihe.png | Bin 0 -> 2180 bytes
.../images/algorithm/person.png | Bin 0 -> 1575 bytes
.../images/algorithm/pingjie.png | Bin 0 -> 1853 bytes
.../images/algorithm/transform.png | Bin 0 -> 2478 bytes
.../images/algorithm/tree.png | Bin 0 -> 3256 bytes
src/qrc/PointCloudProcess/images/back.png | Bin 0 -> 507 bytes
src/qrc/PointCloudProcess/images/bottom.png | Bin 0 -> 475 bytes
src/qrc/PointCloudProcess/images/camera.png | Bin 0 -> 4517 bytes
.../PointCloudProcess/images/ccAddConstSF.png | Bin 0 -> 119 bytes
src/qrc/PointCloudProcess/images/ccAlign.png | Bin 0 -> 185 bytes
.../images/ccBilateralFilter.png | Bin 0 -> 630 bytes
.../PointCloudProcess/images/ccCCExtract.png | Bin 0 -> 335 bytes
.../images/ccCenteredPerspective32.png | Bin 0 -> 866 bytes
.../images/ccClippingBox.png | Bin 0 -> 917 bytes
.../images/ccClippingBoxMultExport.png | Bin 0 -> 1218 bytes
.../images/ccClippingBoxSingleExport.png | Bin 0 -> 1107 bytes
src/qrc/PointCloudProcess/images/ccClone.png | Bin 0 -> 2049 bytes
.../images/ccCloudCloudDistance.png | Bin 0 -> 667 bytes
.../images/ccCloudMeshDistance.png | Bin 0 -> 763 bytes
.../images/ccCloudPrimitiveDistance.png | Bin 0 -> 3896 bytes
.../images/ccComputeStat.png | Bin 0 -> 315 bytes
.../PointCloudProcess/images/ccConsole.png | Bin 0 -> 1413 bytes
src/qrc/PointCloudProcess/images/ccDelete.png | Bin 0 -> 544 bytes
.../PointCloudProcess/images/ccDeleteSF.png | Bin 0 -> 484 bytes
src/qrc/PointCloudProcess/images/ccExit.png | Bin 0 -> 387 bytes
.../images/ccFilterByValue.png | Bin 0 -> 341 bytes
.../PointCloudProcess/images/ccFullScreen.png | Bin 0 -> 198 bytes
.../images/ccGaussianFilter.png | Bin 0 -> 407 bytes
src/qrc/PointCloudProcess/images/ccGear.png | Bin 0 -> 704 bytes
.../PointCloudProcess/images/ccGlobalZoom.png | Bin 0 -> 131 bytes
.../PointCloudProcess/images/ccGradient.png | Bin 0 -> 276 bytes
src/qrc/PointCloudProcess/images/ccGrid.png | Bin 0 -> 253 bytes
.../PointCloudProcess/images/ccHistogram.png | Bin 0 -> 267 bytes
.../images/ccInteractiveTransformation.png | Bin 0 -> 165 bytes
src/qrc/PointCloudProcess/images/ccLevel.png | Bin 0 -> 651 bytes
.../images/ccLightParams.png | Bin 0 -> 331 bytes
src/qrc/PointCloudProcess/images/ccMerge.png | Bin 0 -> 292 bytes
src/qrc/PointCloudProcess/images/ccMinus.png | Bin 0 -> 256 bytes
src/qrc/PointCloudProcess/images/ccOpen.png | Bin 0 -> 1933 bytes
.../images/ccOrthoMode32.png | Bin 0 -> 654 bytes
src/qrc/PointCloudProcess/images/ccPencil.png | Bin 0 -> 623 bytes
.../PointCloudProcess/images/ccPickCenter.png | Bin 0 -> 141 bytes
.../images/ccPickCenterAuto.png | Bin 0 -> 396 bytes
.../PointCloudProcess/images/ccPivotAuto.png | Bin 0 -> 1082 bytes
.../PointCloudProcess/images/ccPivotOff.png | Bin 0 -> 1024 bytes
.../PointCloudProcess/images/ccPivotOn.png | Bin 0 -> 1048 bytes
src/qrc/PointCloudProcess/images/ccPlus.png | Bin 0 -> 687 bytes
.../images/ccPointListPicking.png | Bin 0 -> 497 bytes
.../images/ccPointPicking.png | Bin 0 -> 1167 bytes
.../PointCloudProcess/images/ccPointSize.png | Bin 0 -> 203 bytes
.../PointCloudProcess/images/ccRegister.png | Bin 0 -> 464 bytes
.../PointCloudProcess/images/ccSORFilter.png | Bin 0 -> 877 bytes
.../images/ccSampleCloud.png | Bin 0 -> 151 bytes
.../images/ccSamplePoints.png | Bin 0 -> 988 bytes
src/qrc/PointCloudProcess/images/ccSave.png | Bin 0 -> 1126 bytes
.../images/ccSaveProject.png | Bin 0 -> 1743 bytes
.../PointCloudProcess/images/ccSegment.png | Bin 0 -> 259 bytes
.../images/ccSfArithmetic.png | Bin 0 -> 322 bytes
.../PointCloudProcess/images/ccStatTest.png | Bin 0 -> 660 bytes
src/qrc/PointCloudProcess/images/ccStereo.png | Bin 0 -> 1110 bytes
.../PointCloudProcess/images/ccSunLight.png | Bin 0 -> 1690 bytes
.../PointCloudProcess/images/ccSwapUpDown.png | Bin 0 -> 1440 bytes
.../images/ccTracePolyline.png | Bin 0 -> 2537 bytes
.../images/ccTracePolyline.svg | 79 +
.../PointCloudProcess/images/ccUnstack.png | Bin 0 -> 2785 bytes
.../PointCloudProcess/images/ccViewIso1.png | Bin 0 -> 1363 bytes
.../PointCloudProcess/images/ccViewIso2.png | Bin 0 -> 1391 bytes
.../PointCloudProcess/images/ccViewXneg.png | Bin 0 -> 314 bytes
.../PointCloudProcess/images/ccViewXpos.png | Bin 0 -> 321 bytes
.../PointCloudProcess/images/ccViewYneg.png | Bin 0 -> 305 bytes
.../PointCloudProcess/images/ccViewYpos.png | Bin 0 -> 307 bytes
.../PointCloudProcess/images/ccViewZneg.png | Bin 0 -> 286 bytes
.../PointCloudProcess/images/ccViewZpos.png | Bin 0 -> 291 bytes
.../images/ccViewerBasedPerspective32.png | Bin 0 -> 1143 bytes
src/qrc/PointCloudProcess/images/ccZoomIn.png | Bin 0 -> 1610 bytes
.../PointCloudProcess/images/clipboard.png | Bin 0 -> 360 bytes
src/qrc/PointCloudProcess/images/color.png | Bin 0 -> 117 bytes
.../PointCloudProcess/images/coodinate.png | Bin 0 -> 982 bytes
.../images/dbAreaLabelSymbol.png | Bin 0 -> 294 bytes
.../images/dbCalibratedImageSymbol.png | Bin 0 -> 313 bytes
.../images/dbCamSensorSymbol.png | Bin 0 -> 427 bytes
.../images/dbCloudSymbol.png | Bin 0 -> 302 bytes
.../images/dbCloudSymbolLocked.png | Bin 0 -> 308 bytes
.../images/dbContainerSymbol.png | Bin 0 -> 297 bytes
.../images/dbContainerSymbolLocked.png | Bin 0 -> 362 bytes
.../images/dbGBLSensorSymbol.png | Bin 0 -> 548 bytes
.../images/dbHObjectSymbol.png | Bin 0 -> 1073 bytes
.../images/dbHObjectSymbolLocked.png | Bin 0 -> 1060 bytes
.../images/dbImageSymbol.png | Bin 0 -> 471 bytes
.../images/dbLabelSymbol.png | Bin 0 -> 688 bytes
.../PointCloudProcess/images/dbLockSymbol.png | Bin 0 -> 178 bytes
.../images/dbMaterialSymbol.png | Bin 0 -> 522 bytes
.../PointCloudProcess/images/dbMeshSymbol.png | Bin 0 -> 455 bytes
.../images/dbMeshSymbolLocked.png | Bin 0 -> 409 bytes
.../images/dbMiscGeomSymbol.png | Bin 0 -> 466 bytes
.../images/dbMiscGeomSymbolLocked.png | Bin 0 -> 419 bytes
.../images/dbOctreeSymbol.png | Bin 0 -> 368 bytes
.../images/dbOctreeSymbolLocked.png | Bin 0 -> 364 bytes
.../images/dbPolylineSymbol.png | Bin 0 -> 447 bytes
.../images/dbSubMeshSymbol.png | Bin 0 -> 747 bytes
.../images/dbSubMeshSymbolLocked.png | Bin 0 -> 782 bytes
.../images/dbViewportSymbol.png | Bin 0 -> 1011 bytes
src/qrc/PointCloudProcess/images/donate.png | Bin 0 -> 13517 bytes
.../PointCloudProcess/images/exportIcon.png | Bin 0 -> 2591 bytes
.../PointCloudProcess/images/files/CSV.png | Bin 0 -> 1452 bytes
.../PointCloudProcess/images/files/add.png | Bin 0 -> 1832 bytes
.../images/files/bgColor.png | Bin 0 -> 903 bytes
.../PointCloudProcess/images/files/cloud.png | Bin 0 -> 2357 bytes
.../PointCloudProcess/images/files/cloud2.png | Bin 0 -> 1960 bytes
.../PointCloudProcess/images/files/copy.png | Bin 0 -> 695 bytes
.../PointCloudProcess/images/files/cut.png | Bin 0 -> 2305 bytes
.../PointCloudProcess/images/files/log.png | Bin 0 -> 1734 bytes
.../PointCloudProcess/images/files/new1.png | Bin 0 -> 1438 bytes
.../PointCloudProcess/images/files/new2.png | Bin 0 -> 642 bytes
.../PointCloudProcess/images/files/paste.png | Bin 0 -> 741 bytes
.../images/files/pointCloud.png | Bin 0 -> 2681 bytes
.../PointCloudProcess/images/files/search.png | Bin 0 -> 2148 bytes
.../images/files/snapshot.png | Bin 0 -> 1712 bytes
.../PointCloudProcess/images/files/star.png | Bin 0 -> 2294 bytes
.../PointCloudProcess/images/files/txt.png | Bin 0 -> 1359 bytes
src/qrc/PointCloudProcess/images/front.png | Bin 0 -> 507 bytes
src/qrc/PointCloudProcess/images/gamepad.png | Bin 0 -> 601 bytes
src/qrc/PointCloudProcess/images/gearIcon.png | Bin 0 -> 704 bytes
src/qrc/PointCloudProcess/images/grey.png | Bin 0 -> 2024 bytes
src/qrc/PointCloudProcess/images/hashtag.png | Bin 0 -> 301 bytes
src/qrc/PointCloudProcess/images/ic-redo.png | Bin 0 -> 1366 bytes
src/qrc/PointCloudProcess/images/ic-undo.png | Bin 0 -> 1355 bytes
.../PointCloudProcess/images/icon/cc_icon.ico | Bin 0 -> 39839 bytes
.../PointCloudProcess/images/icon/cc_icon.rc | 1 +
.../PointCloudProcess/images/icon/cc_icon.svg | 9 +
.../images/icon/cc_icon_16.png | Bin 0 -> 590 bytes
.../images/icon/cc_icon_256.png | Bin 0 -> 9089 bytes
.../images/icon/cc_icon_32.png | Bin 0 -> 1046 bytes
.../images/icon/cc_icon_64.png | Bin 0 -> 2041 bytes
.../images/icon/cc_viewer_icon.svg | 12 +
.../images/icon/cc_viewer_icon_16.png | Bin 0 -> 725 bytes
.../images/icon/cc_viewer_icon_256.png | Bin 0 -> 13095 bytes
.../images/icon/cc_viewer_icon_32.png | Bin 0 -> 1572 bytes
.../images/icon/cc_viewer_icon_64.png | Bin 0 -> 3164 bytes
.../PointCloudProcess/images/im3DxLogo.png | Bin 0 -> 2379 bytes
.../PointCloudProcess/images/imLogoV2Qt.png | Bin 0 -> 21785 bytes
.../PointCloudProcess/images/interactors.png | Bin 0 -> 373 bytes
src/qrc/PointCloudProcess/images/keda.ico | Bin 0 -> 67646 bytes
src/qrc/PointCloudProcess/images/left.png | Bin 0 -> 521 bytes
src/qrc/PointCloudProcess/images/lock.png | Bin 0 -> 1533 bytes
src/qrc/PointCloudProcess/images/mapIcon.png | Bin 0 -> 17559 bytes
.../images/material/3DxLogo.png | Bin 0 -> 2379 bytes
.../images/material/Raster_grid.pptx | Bin 0 -> 38704 bytes
.../images/material/ccCenteredPerspective.svg | 199 +
.../images/material/ccClippingBox.svg | 242 +
.../images/material/ccClippingBoxBase.svg | 242 +
.../images/material/ccOrthoMode.svg | 192 +
.../images/material/ccOrthoSections.svg | 97 +
.../images/material/ccPivot.svg | 223 +
.../images/material/ccSectionExtraction.svg | 211 +
.../images/material/ccViewIso1.svg | 186 +
.../images/material/ccViewIso2.svg | 186 +
.../material/ccViewerBasedPerspective.svg | 226 +
src/qrc/PointCloudProcess/images/monitor.svg | 1 +
src/qrc/PointCloudProcess/images/noFilter.png | Bin 0 -> 1481 bytes
src/qrc/PointCloudProcess/images/nvidia.png | Bin 0 -> 1514 bytes
src/qrc/PointCloudProcess/images/oculus.png | Bin 0 -> 321 bytes
src/qrc/PointCloudProcess/images/open.png | Bin 0 -> 1408 bytes
.../images/orthoSections.png | Bin 0 -> 264 bytes
.../PointCloudProcess/images/photo-camera.svg | 1 +
src/qrc/PointCloudProcess/images/primBox.gif | Bin 0 -> 92 bytes
src/qrc/PointCloudProcess/images/primCone.gif | Bin 0 -> 92 bytes
.../PointCloudProcess/images/primCylinder.gif | Bin 0 -> 93 bytes
src/qrc/PointCloudProcess/images/primDish.gif | Bin 0 -> 82 bytes
.../PointCloudProcess/images/primPlane.gif | Bin 0 -> 82 bytes
.../PointCloudProcess/images/primSphere.gif | Bin 0 -> 96 bytes
.../PointCloudProcess/images/primTorus.gif | Bin 0 -> 82 bytes
src/qrc/PointCloudProcess/images/qCompass.png | Bin 0 -> 15651 bytes
.../PointCloudProcess/images/raster_grid.jpg | Bin 0 -> 32534 bytes
src/qrc/PointCloudProcess/images/redo.png | Bin 0 -> 937 bytes
src/qrc/PointCloudProcess/images/reset.png | Bin 0 -> 2013 bytes
src/qrc/PointCloudProcess/images/restore.png | Bin 0 -> 970 bytes
src/qrc/PointCloudProcess/images/right.png | Bin 0 -> 509 bytes
src/qrc/PointCloudProcess/images/rotate0.png | Bin 0 -> 2865 bytes
.../PointCloudProcess/images/rotate180.png | Bin 0 -> 2373 bytes
.../PointCloudProcess/images/rotate270.png | Bin 0 -> 2537 bytes
src/qrc/PointCloudProcess/images/rotate90.png | Bin 0 -> 2587 bytes
src/qrc/PointCloudProcess/images/search.svg | 1 +
.../images/sectionExtraction.png | Bin 0 -> 242 bytes
src/qrc/PointCloudProcess/images/seting.png | Bin 0 -> 3092 bytes
.../PointCloudProcess/images/smallBasket.png | Bin 0 -> 679 bytes
.../PointCloudProcess/images/smallCSVFile.png | Bin 0 -> 421 bytes
.../PointCloudProcess/images/smallCancel.png | Bin 0 -> 192 bytes
.../PointCloudProcess/images/smallPause.png | Bin 0 -> 229 bytes
.../images/smallPointDistance.png | Bin 0 -> 263 bytes
.../images/smallPointProperties.png | Bin 0 -> 587 bytes
.../images/smallPointsAngle.png | Bin 0 -> 333 bytes
.../images/smallPolygonSelect.png | Bin 0 -> 478 bytes
.../images/smallRectangleSelect.png | Bin 0 -> 294 bytes
.../PointCloudProcess/images/smallReset.png | Bin 0 -> 193 bytes
.../PointCloudProcess/images/smallRevert.png | Bin 0 -> 349 bytes
.../images/smallSegmentIn.png | Bin 0 -> 303 bytes
.../images/smallSegmentOut.png | Bin 0 -> 307 bytes
.../PointCloudProcess/images/smallSphere.png | Bin 0 -> 537 bytes
.../PointCloudProcess/images/smallTrash.png | Bin 0 -> 454 bytes
.../images/smallValidate.png | Bin 0 -> 257 bytes
src/qrc/PointCloudProcess/images/square.png | Bin 0 -> 189 bytes
src/qrc/PointCloudProcess/images/store.png | Bin 0 -> 979 bytes
.../images/theme/snowman.png | Bin 0 -> 2836 bytes
.../images/typeGrayColor.png | Bin 0 -> 176 bytes
.../PointCloudProcess/images/typeNormal.png | Bin 0 -> 560 bytes
.../images/typePositiveSF.png | Bin 0 -> 293 bytes
.../images/typeQuaternion.png | Bin 0 -> 484 bytes
.../images/typeRgbCcolor.png | Bin 0 -> 787 bytes
src/qrc/PointCloudProcess/images/typeSF.png | Bin 0 -> 290 bytes
.../images/typeXCoordinate.png | Bin 0 -> 153 bytes
.../images/typeYCoordinate.png | Bin 0 -> 145 bytes
.../images/typeZCoordinate.png | Bin 0 -> 148 bytes
src/qrc/PointCloudProcess/images/undo.png | Bin 0 -> 990 bytes
.../PointCloudProcess/images/unfoldSmall.png | Bin 0 -> 142 bytes
src/qrc/PointCloudProcess/images/up.png | Bin 0 -> 487 bytes
src/qrc/PointCloudProcess/images/zoomin.png | Bin 0 -> 2339 bytes
src/qrc/PointCloudProcess/images/zoomout.png | Bin 0 -> 2399 bytes
src/qrc/WBCLFZSystemModule.qrc | 91 +
src/qrc/qianfan.qrc | 482 +-
src/qrc/translations/MainWindow_zh_CN.qm | Bin 13453 -> 13917 bytes
src/qrc/translations/MainWindow_zh_CN.ts | 566 +-
src/qscintilla2/CMakeLists.txt | 56 +
src/qscintilla2/ChangeLog | 6206 ++++
src/qscintilla2/LICENSE | 674 +
src/qscintilla2/NEWS | 541 +
src/qscintilla2/Qt4Qt5/CMakeLists.txt | 181 +
src/qscintilla2/Qt4Qt5/InputMethod.cpp | 283 +
src/qscintilla2/Qt4Qt5/ListBoxQt.cpp | 357 +
src/qscintilla2/Qt4Qt5/ListBoxQt.h | 76 +
src/qscintilla2/Qt4Qt5/MacPasteboardMime.cpp | 111 +
src/qscintilla2/Qt4Qt5/PlatQt.cpp | 999 +
.../Qt4Qt5/Qsci/qsciabstractapis.h | 90 +
src/qscintilla2/Qt4Qt5/Qsci/qsciapis.h | 213 +
src/qscintilla2/Qt4Qt5/Qsci/qscicommand.h | 408 +
src/qscintilla2/Qt4Qt5/Qsci/qscicommandset.h | 89 +
src/qscintilla2/Qt4Qt5/Qsci/qscidocument.h | 61 +
src/qscintilla2/Qt4Qt5/Qsci/qsciglobal.h | 48 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexer.h | 350 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexercpp.h | 398 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexercustom.h | 100 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexerhtml.h | 532 +
.../Qt4Qt5/Qsci/qscilexerjavascript.h | 81 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexerjson.h | 184 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexerpython.h | 333 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexersql.h | 286 +
src/qscintilla2/Qt4Qt5/Qsci/qscilexerxml.h | 106 +
src/qscintilla2/Qt4Qt5/Qsci/qscimacro.h | 98 +
src/qscintilla2/Qt4Qt5/Qsci/qsciprinter.h | 112 +
src/qscintilla2/Qt4Qt5/Qsci/qsciscintilla.h | 2307 ++
.../Qt4Qt5/Qsci/qsciscintillabase.h | 3892 ++
src/qscintilla2/Qt4Qt5/Qsci/qscistyle.h | 204 +
src/qscintilla2/Qt4Qt5/Qsci/qscistyledtext.h | 61 +
src/qscintilla2/Qt4Qt5/SciAccessibility.cpp | 760 +
src/qscintilla2/Qt4Qt5/SciAccessibility.h | 122 +
src/qscintilla2/Qt4Qt5/SciClasses.cpp | 193 +
src/qscintilla2/Qt4Qt5/SciClasses.h | 103 +
src/qscintilla2/Qt4Qt5/SciNamespace.h | 35 +
src/qscintilla2/Qt4Qt5/ScintillaQt.cpp | 766 +
src/qscintilla2/Qt4Qt5/ScintillaQt.h | 150 +
.../Qt4Qt5/features/qscintilla2.prf | 27 +
src/qscintilla2/Qt4Qt5/qsciabstractapis.cpp | 51 +
src/qscintilla2/Qt4Qt5/qsciapis.cpp | 999 +
src/qscintilla2/Qt4Qt5/qscicommand.cpp | 143 +
src/qscintilla2/Qt4Qt5/qscicommandset.cpp | 991 +
src/qscintilla2/Qt4Qt5/qscidocument.cpp | 151 +
src/qscintilla2/Qt4Qt5/qscilexer.cpp | 731 +
src/qscintilla2/Qt4Qt5/qscilexercpp.cpp | 801 +
src/qscintilla2/Qt4Qt5/qscilexercustom.cpp | 101 +
src/qscintilla2/Qt4Qt5/qscilexerhtml.cpp | 1181 +
.../Qt4Qt5/qscilexerjavascript.cpp | 120 +
src/qscintilla2/Qt4Qt5/qscilexerjson.cpp | 298 +
src/qscintilla2/Qt4Qt5/qscilexerpython.cpp | 507 +
src/qscintilla2/Qt4Qt5/qscilexersql.cpp | 521 +
src/qscintilla2/Qt4Qt5/qscilexerxml.cpp | 252 +
src/qscintilla2/Qt4Qt5/qscimacro.cpp | 317 +
src/qscintilla2/Qt4Qt5/qscintilla.pro | 240 +
src/qscintilla2/Qt4Qt5/qscintilla_cs.qm | Bin 0 -> 44424 bytes
src/qscintilla2/Qt4Qt5/qscintilla_cs.ts | 4051 +++
src/qscintilla2/Qt4Qt5/qscintilla_de.qm | Bin 0 -> 79869 bytes
src/qscintilla2/Qt4Qt5/qscintilla_de.ts | 4051 +++
src/qscintilla2/Qt4Qt5/qscintilla_es.qm | Bin 0 -> 81850 bytes
src/qscintilla2/Qt4Qt5/qscintilla_es.ts | 4051 +++
src/qscintilla2/Qt4Qt5/qscintilla_fr.qm | Bin 0 -> 53842 bytes
src/qscintilla2/Qt4Qt5/qscintilla_fr.ts | 4051 +++
src/qscintilla2/Qt4Qt5/qscintilla_pt_br.qm | Bin 0 -> 49459 bytes
src/qscintilla2/Qt4Qt5/qscintilla_pt_br.ts | 4051 +++
src/qscintilla2/Qt4Qt5/qsciprinter.cpp | 186 +
src/qscintilla2/Qt4Qt5/qsciscintilla.cpp | 4570 +++
src/qscintilla2/Qt4Qt5/qsciscintillabase.cpp | 893 +
src/qscintilla2/Qt4Qt5/qscistyle.cpp | 184 +
src/qscintilla2/Qt4Qt5/qscistyledtext.cpp | 54 +
src/qscintilla2/README | 2 +
src/qscintilla2/include/ILexer.h | 90 +
src/qscintilla2/include/ILoader.h | 21 +
src/qscintilla2/include/License.txt | 20 +
src/qscintilla2/include/Platform.h | 553 +
src/qscintilla2/include/SciLexer.h | 1861 +
src/qscintilla2/include/Sci_Position.h | 29 +
src/qscintilla2/include/Scintilla.h | 1239 +
src/qscintilla2/include/Scintilla.iface | 4990 +++
src/qscintilla2/include/ScintillaWidget.h | 72 +
src/qscintilla2/lexers/LexHTML.cpp | 2469 ++
src/qscintilla2/lexers/LexJSON.cpp | 498 +
src/qscintilla2/lexers/LexSQL.cpp | 967 +
src/qscintilla2/lexers/License.txt | 20 +
src/qscintilla2/lexlib/Accessor.cpp | 73 +
src/qscintilla2/lexlib/Accessor.h | 31 +
src/qscintilla2/lexlib/CharacterCategory.cpp | 3966 ++
src/qscintilla2/lexlib/CharacterCategory.h | 33 +
src/qscintilla2/lexlib/CharacterSet.cpp | 52 +
src/qscintilla2/lexlib/CharacterSet.h | 194 +
src/qscintilla2/lexlib/DefaultLexer.cpp | 125 +
src/qscintilla2/lexlib/DefaultLexer.h | 51 +
src/qscintilla2/lexlib/LexAccessor.h | 208 +
src/qscintilla2/lexlib/LexerBase.cpp | 144 +
src/qscintilla2/lexlib/LexerBase.h | 53 +
src/qscintilla2/lexlib/LexerModule.cpp | 126 +
src/qscintilla2/lexlib/LexerModule.h | 87 +
src/qscintilla2/lexlib/LexerNoExceptions.cpp | 62 +
src/qscintilla2/lexlib/LexerNoExceptions.h | 28 +
src/qscintilla2/lexlib/LexerSimple.cpp | 53 +
src/qscintilla2/lexlib/LexerSimple.h | 26 +
src/qscintilla2/lexlib/License.txt | 20 +
src/qscintilla2/lexlib/OptionSet.h | 138 +
src/qscintilla2/lexlib/PropSetSimple.cpp | 157 +
src/qscintilla2/lexlib/PropSetSimple.h | 28 +
src/qscintilla2/lexlib/SparseState.h | 106 +
src/qscintilla2/lexlib/StringCopy.h | 32 +
src/qscintilla2/lexlib/StyleContext.cpp | 69 +
src/qscintilla2/lexlib/StyleContext.h | 212 +
src/qscintilla2/lexlib/SubStyles.h | 196 +
src/qscintilla2/lexlib/WordList.cpp | 295 +
src/qscintilla2/lexlib/WordList.h | 38 +
src/qscintilla2/qscintilla2.vcxproj | 372 +
src/qscintilla2/qscintilla2.vcxproj.filters | 536 +
src/qscintilla2/qscintilla2.vcxproj.user | 16 +
src/qscintilla2/src/AutoComplete.cpp | 293 +
src/qscintilla2/src/AutoComplete.h | 91 +
src/qscintilla2/src/CallTip.cpp | 332 +
src/qscintilla2/src/CallTip.h | 91 +
src/qscintilla2/src/CaseConvert.cpp | 819 +
src/qscintilla2/src/CaseConvert.h | 46 +
src/qscintilla2/src/CaseFolder.cpp | 66 +
src/qscintilla2/src/CaseFolder.h | 41 +
src/qscintilla2/src/Catalogue.cpp | 83 +
src/qscintilla2/src/Catalogue.h | 24 +
src/qscintilla2/src/CellBuffer.cpp | 1204 +
src/qscintilla2/src/CellBuffer.h | 215 +
src/qscintilla2/src/CharClassify.cpp | 59 +
src/qscintilla2/src/CharClassify.h | 31 +
src/qscintilla2/src/ContractionState.cpp | 418 +
src/qscintilla2/src/ContractionState.h | 52 +
src/qscintilla2/src/DBCS.cpp | 42 +
src/qscintilla2/src/DBCS.h | 17 +
src/qscintilla2/src/Decoration.cpp | 316 +
src/qscintilla2/src/Decoration.h | 59 +
src/qscintilla2/src/Document.cpp | 3250 ++
src/qscintilla2/src/Document.h | 584 +
src/qscintilla2/src/EditModel.cpp | 77 +
src/qscintilla2/src/EditModel.h | 68 +
src/qscintilla2/src/EditView.cpp | 2397 ++
src/qscintilla2/src/EditView.h | 186 +
src/qscintilla2/src/Editor.cpp | 8234 +++++
src/qscintilla2/src/Editor.h | 650 +
src/qscintilla2/src/ElapsedPeriod.h | 35 +
src/qscintilla2/src/ExternalLexer.cpp | 135 +
src/qscintilla2/src/ExternalLexer.h | 80 +
src/qscintilla2/src/FontQuality.h | 27 +
src/qscintilla2/src/Indicator.cpp | 223 +
src/qscintilla2/src/Indicator.h | 56 +
src/qscintilla2/src/IntegerRectangle.h | 29 +
src/qscintilla2/src/KeyMap.cpp | 164 +
src/qscintilla2/src/KeyMap.h | 64 +
src/qscintilla2/src/License.txt | 20 +
src/qscintilla2/src/LineMarker.cpp | 436 +
src/qscintilla2/src/LineMarker.h | 48 +
src/qscintilla2/src/MarginView.cpp | 470 +
src/qscintilla2/src/MarginView.h | 46 +
src/qscintilla2/src/Partitioning.h | 204 +
src/qscintilla2/src/PerLine.cpp | 499 +
src/qscintilla2/src/PerLine.h | 164 +
src/qscintilla2/src/Position.h | 31 +
src/qscintilla2/src/PositionCache.cpp | 719 +
src/qscintilla2/src/PositionCache.h | 247 +
src/qscintilla2/src/RESearch.cpp | 960 +
src/qscintilla2/src/RESearch.h | 70 +
src/qscintilla2/src/RunStyles.cpp | 314 +
src/qscintilla2/src/RunStyles.h | 64 +
src/qscintilla2/src/SciTE.properties | 6 +
src/qscintilla2/src/ScintillaBase.cpp | 1165 +
src/qscintilla2/src/ScintillaBase.h | 103 +
src/qscintilla2/src/Selection.cpp | 436 +
src/qscintilla2/src/Selection.h | 192 +
src/qscintilla2/src/SparseVector.h | 156 +
src/qscintilla2/src/SplitVector.h | 332 +
src/qscintilla2/src/Style.cpp | 168 +
src/qscintilla2/src/Style.h | 92 +
src/qscintilla2/src/UniConversion.cpp | 368 +
src/qscintilla2/src/UniConversion.h | 86 +
src/qscintilla2/src/UnicodeFromUTF8.h | 32 +
src/qscintilla2/src/UniqueString.h | 30 +
src/qscintilla2/src/ViewStyle.cpp | 613 +
src/qscintilla2/src/ViewStyle.h | 224 +
src/qscintilla2/src/XPM.cpp | 448 +
src/qscintilla2/src/XPM.h | 130 +
1355 files changed, 412881 insertions(+), 1653 deletions(-)
create mode 100644 CMakeLists.txt.user
create mode 100644 cmake/FindFFTW.cmake
create mode 100644 src/LAMPTool/BaseToollib/BaseConstVariable.h
create mode 100644 src/LAMPTool/BaseToollib/BaseTool.cpp
create mode 100644 src/LAMPTool/BaseToollib/BaseTool.h
create mode 100644 src/LAMPTool/BaseToollib/FileOperator.cpp
create mode 100644 src/LAMPTool/BaseToollib/FileOperator.h
create mode 100644 src/LAMPTool/BaseToollib/GeoOperator.cpp
create mode 100644 src/LAMPTool/BaseToollib/GeoOperator.h
create mode 100644 src/LAMPTool/BaseToollib/ImageOperatorBase.cpp
create mode 100644 src/LAMPTool/BaseToollib/ImageOperatorBase.h
create mode 100644 src/LAMPTool/BaseToollib/interpolation.cpp
create mode 100644 src/LAMPTool/BaseToollib/interpolation.h
create mode 100644 src/LAMPTool/BaseToollib/readme.md
create mode 100644 src/LAMPTool/CMakeLists.txt
create mode 100644 src/LAMPTool/FEKOFarFieldFileClass.cpp
create mode 100644 src/LAMPTool/FEKOFarFieldFileClass.h
create mode 100644 src/LAMPTool/FEKOSimulationSARClass.cpp
create mode 100644 src/LAMPTool/FEKOSimulationSARClass.h
create mode 100644 src/LAMPTool/LAMPTool.cpp
create mode 100644 src/LAMPTool/LAMPTool.h
create mode 100644 src/LAMPTool/LAMPTool.ui
create mode 100644 src/LAMPTool/LampToolTest.h
create mode 100644 src/LAMPTool/OCCTBase.cpp
create mode 100644 src/LAMPTool/OCCTBase.h
create mode 100644 src/LAMPTool/SARBaseToolLib/BackScatterModel.cpp
create mode 100644 src/LAMPTool/SARBaseToolLib/BackScatterModel.h
create mode 100644 src/LAMPTool/SARBaseToolLib/SARBaseTool.cpp
create mode 100644 src/LAMPTool/SARBaseToolLib/SARBaseTool.h
create mode 100644 src/LAMPTool/SARBaseToolLib/SARCalibration.cpp
create mode 100644 src/LAMPTool/SARBaseToolLib/SARCalibration.h
create mode 100644 src/LAMPTool/SARBaseToolLib/SARCalibrationTool.cpp
create mode 100644 src/LAMPTool/SARBaseToolLib/SARImageBase.cpp
create mode 100644 src/LAMPTool/SARBaseToolLib/SARImageBase.h
create mode 100644 src/LAMPTool/SARImage/FEKOBaseToolClass.cpp
create mode 100644 src/LAMPTool/SARImage/FEKOBaseToolClass.h
create mode 100644 src/LAMPTool/SARImage/FEKONearBPBasic.cpp
create mode 100644 src/LAMPTool/SARImage/FEKONearBPBasic.h
create mode 100644 src/LAMPTool/SARImage/FEKONearBpBaseImage.cpp
create mode 100644 src/LAMPTool/cpp.hint
create mode 100644 src/LAMPTool/main.cpp
create mode 100644 src/LAMPTool/readme.md
create mode 100644 src/LAMPTool/referenceHeader.h
create mode 100644 src/LAMPTool/test.png
create mode 100644 src/WBCLFZSystemModule/.command_history.lst
create mode 100644 src/WBCLFZSystemModule/AllHead.cpp
create mode 100644 src/WBCLFZSystemModule/AllHead.h
create mode 100644 src/WBCLFZSystemModule/CMakeLists.txt
create mode 100644 src/WBCLFZSystemModule/DialogBatchExport.ui
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/CMDExcuteApp.cpp
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/CMDExcuteApp.h
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/CMDExcuteApp.ui
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/EchoTableEditWindow.cpp
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/EchoTableEditWindow.h
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/EchoTableEditWindow.ui
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/FEKOResultImport.cpp
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/FEKOResultImport.h
create mode 100644 src/WBCLFZSystemModule/EchoShowProcess/FEKOResultImport.ui
create mode 100644 src/WBCLFZSystemModule/HeaderSort.h
create mode 100644 src/WBCLFZSystemModule/ImageShowDialogClass.cpp
create mode 100644 src/WBCLFZSystemModule/ImageShowDialogClass.h
create mode 100644 src/WBCLFZSystemModule/ImageShowDialogClass.ui
create mode 100644 src/WBCLFZSystemModule/LAMPDataShowClass.cpp
create mode 100644 src/WBCLFZSystemModule/LAMPDataShowClass.h
create mode 100644 src/WBCLFZSystemModule/LAMPDataShowClass.ui
create mode 100644 src/WBCLFZSystemModule/LAMPImageCreateClass.cpp
create mode 100644 src/WBCLFZSystemModule/LAMPImageCreateClass.h
create mode 100644 src/WBCLFZSystemModule/LAMPImageCreateClass.ui
create mode 100644 src/WBCLFZSystemModule/LAMP_ScatterSettingClass.cpp
create mode 100644 src/WBCLFZSystemModule/LAMP_ScatterSettingClass.h
create mode 100644 src/WBCLFZSystemModule/LAMP_ScatterSettingClass.ui
create mode 100644 src/WBCLFZSystemModule/OCCTBaseOperaorClass.cpp
create mode 100644 src/WBCLFZSystemModule/OCCTBaseOperaorClass.h
create mode 100644 src/WBCLFZSystemModule/OCCTModelOperator.cpp
create mode 100644 src/WBCLFZSystemModule/OCCTModelOperator.h
create mode 100644 src/WBCLFZSystemModule/OCCTModelOperator.ui
create mode 100644 src/WBCLFZSystemModule/OCCTopoShapeTreeViewer.cpp
create mode 100644 src/WBCLFZSystemModule/OCCTopoShapeTreeViewer.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/CommonSample.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/DocumentCommon.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/DocumentCommon.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/GeomWidget.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/GeomWidget.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OCCT_Test/BaseSample.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OCCT_Test/BaseSample.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OCCT_Test/MakeBottle.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OCCT_Test/MakeBottle.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OCCT_Test/Viewer3d.xml
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OCCT_Test/Viewer3dSamples.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OCCT_Test/Viewer3dSamples.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OcctHighlighter.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/OcctHighlighter.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/TranslateDialog.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/TranslateDialog.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/Transparency.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/Transparency.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/View.cpp
create mode 100644 src/WBCLFZSystemModule/OCCViewer/View.h
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/antialiasing.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/cursor_rotate.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/cursor_zoom.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/help.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/lamp.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/raytracing.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/reflections.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/shadows.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/tool_color.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/tool_delete.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/tool_material.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/tool_shading.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/tool_transparency.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/tool_wireframe.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_axo.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_back.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_bottom.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_comp_off.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_comp_on.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_fitall.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_front.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_left.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_reset.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_right.png
create mode 100644 src/WBCLFZSystemModule/OCCViewer/res/view_top.png
create mode 100644 src/WBCLFZSystemModule/OcctExportClass.cpp
create mode 100644 src/WBCLFZSystemModule/OcctExportClass.h
create mode 100644 src/WBCLFZSystemModule/OcctExportClass.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/BasePCL.cpp
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/BasePCL.h
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/BilateralFilterWindows.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/DialogTriangulationSurfaceMesh.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/MedianFilterWindows.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/PointCloudAlg.cpp
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/PointCloudAlg.h
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/PointManagerClass.cpp
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/PointManagerClass.h
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/PoissonReSurfaceWindows.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/RadiusOutlierRemovalWindows.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/Scance_FEKOSourceSettingPlaneWaveWIndows.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/Scene_StripQtWidgetsClass.cpp
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/Scene_StripQtWidgetsClass.h
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/Scene_StripQtWidgetsClass.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/StatisticalOutlierRemovalWindows.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/Strips_FEKOSourceSettingPlaneWaveWIndows.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/ToolDialog.cpp
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/ToolDialog.h
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/1.gif
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/RGB.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/DASHBOARD.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/DBSCAN.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/Histogram.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/KMeans.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/binary.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/chooseMatrix.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/density.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/extract.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/filter.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/help.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/matrix.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/more.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/nihe.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/person.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/pingjie.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/transform.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/algorithm/tree.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/back.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/bottom.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/camera.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/color.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/coodinate.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/CSV.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/add.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/bgColor.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/cloud.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/cloud2.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/copy.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/cut.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/log.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/new1.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/new2.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/paste.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/pointCloud.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/search.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/snapshot.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/star.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/files/txt.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/front.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/grey.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/ic-redo.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/ic-undo.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/keda.ico
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/left.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/lock.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/open.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/redo.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/reset.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/right.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/rotate0.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/rotate180.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/rotate270.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/rotate90.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/seting.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/undo.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/up.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/zoomin.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/images/zoomout.png
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/inputdialog.cpp
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/inputdialog.h
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/inputdialog.ui
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/pclvisualizer.cpp
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/pclvisualizer.h
create mode 100644 src/WBCLFZSystemModule/PointCloudProcess/pclvisualizer.ui
create mode 100644 src/WBCLFZSystemModule/ProgramParamLoadingClass.cpp
create mode 100644 src/WBCLFZSystemModule/ProgramParamLoadingClass.h
create mode 100644 src/WBCLFZSystemModule/QConsoleCommandAction.cpp
create mode 100644 src/WBCLFZSystemModule/QConsoleCommandAction.h
create mode 100644 src/WBCLFZSystemModule/QConsoleIODevice.cpp
create mode 100644 src/WBCLFZSystemModule/QConsoleIODevice.h
create mode 100644 src/WBCLFZSystemModule/QConsoleWidget.cpp
create mode 100644 src/WBCLFZSystemModule/QConsoleWidget.h
create mode 100644 src/WBCLFZSystemModule/QtEchoExportWindows.ui
create mode 100644 src/WBCLFZSystemModule/QtFreqParamsSetting.cpp
create mode 100644 src/WBCLFZSystemModule/QtFreqParamsSetting.h
create mode 100644 src/WBCLFZSystemModule/QtFreqParamsSetting.ui
create mode 100644 src/WBCLFZSystemModule/QtSARAntModelSetting.cpp
create mode 100644 src/WBCLFZSystemModule/QtSARAntModelSetting.h
create mode 100644 src/WBCLFZSystemModule/QtSARAntModelSetting.ui
create mode 100644 src/WBCLFZSystemModule/QtStripImageSettingClass.cpp
create mode 100644 src/WBCLFZSystemModule/QtStripImageSettingClass.h
create mode 100644 src/WBCLFZSystemModule/QtStripImageSettingClass.ui
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_CircleSAR.cpp
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_CircleSAR.h
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_CircleSAR.ui
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_FarSourceSetting.cpp
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_FarSourceSetting.h
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_FarSourceSetting.ui
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_ISAR.cpp
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_ISAR.h
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_ISAR.ui
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_ImageSetting.cpp
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_ImageSetting.h
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_ImageSetting.ui
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_Scan.cpp
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_Scan.h
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_Scan.ui
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_Strip.cpp
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_Strip.h
create mode 100644 src/WBCLFZSystemModule/QtWidgetsClass_Strip.ui
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/BaseUiTool.cpp
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/BaseUiTool.h
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/CMDExcuteApp.cpp
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/CMDExcuteApp.h
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/CMDExcuteApp.ui
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/ProcessOn.cpp
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/ProcessOn.h
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/ProcessOn.ui
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/TaskTreeClass.cpp
create mode 100644 src/WBCLFZSystemModule/SharedModuleLib/TaskTreeClass.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/images/logo.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/images/logo.svg
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/images/sqlitebrowser.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/AboutDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/AboutDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/AboutDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/AddRecordDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/AddRecordDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/AddRecordDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Application.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Application.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CipherDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CipherDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CipherDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CipherSettings.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CipherSettings.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ColumnDisplayFormatDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ColumnDisplayFormatDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ColumnDisplayFormatDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CondFormat.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CondFormat.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CondFormatManager.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CondFormatManager.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/CondFormatManager.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/DBsqliconwin.ico
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/DBsqliconwin.jpg
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Data.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Data.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/DbStructureModel.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/DbStructureModel.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/DotenvFormat.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/DotenvFormat.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditIndexDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditIndexDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditIndexDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditTableDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditTableDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/EditTableDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExportDataDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExportDataDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExportDataDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExportSqlDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExportSqlDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExportSqlDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExtendedScintilla.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExtendedScintilla.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExtendedTableWidget.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ExtendedTableWidget.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FileDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FileDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FileExtensionManager.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FileExtensionManager.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FileExtensionManager.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FilterLineEdit.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FilterLineEdit.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FilterTableHeader.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FilterTableHeader.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FindReplaceDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FindReplaceDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/FindReplaceDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ForeignKeyEditorDelegate.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ForeignKeyEditorDelegate.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/IconCache.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/IconCache.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ImportCsvDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ImportCsvDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ImportCsvDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/MainWindow.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/MainWindow.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Palette.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Palette.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/PlotDock.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/PlotDock.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/PlotDock.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/PreferencesDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/PreferencesDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/PreferencesDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ProxyDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ProxyDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/ProxyDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteCommitsModel.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteCommitsModel.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteDatabase.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteDatabase.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteDock.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteDock.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteDock.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteLocalFilesModel.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteLocalFilesModel.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteModel.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteModel.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteNetwork.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemoteNetwork.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemotePushDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemotePushDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RemotePushDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RowCache.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RowLoader.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RowLoader.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RunSql.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/RunSql.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SelectItemsPopup.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SelectItemsPopup.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SelectItemsPopup.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Settings.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/Settings.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqlExecutionArea.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqlExecutionArea.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqlExecutionArea.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqlUiLexer.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqlUiLexer.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqliteDBMainWindow.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqliteDBMainWindow.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqliteDBMainWindow.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/SqliteDBProcessmain.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/TableBrowser.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/TableBrowser.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/TableBrowser.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/VacuumDialog.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/VacuumDialog.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/VacuumDialog.ui
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/app.plist
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/csvparser.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/csvparser.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/docktextedit.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/docktextedit.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/extensions/extension-formats.c
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/extensions/extension-formats.def
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/extensions/extension-functions.c
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/extensions/extension-functions.def
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/i18n.pri
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/application_go.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/application_link.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/application_side_list.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/bullet_arrow_bottom.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/bullet_arrow_down.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/bullet_arrow_top.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/bullet_arrow_up.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/cancel.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/chart_curve.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/clear_filters.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/clear_sorting.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/cog.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/cog_go.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/color_swatch.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/comment_block.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/cross.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/database.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/database_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/database_go.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/database_link.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/database_refresh.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/database_save.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/document-link.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/document-open.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/edit_cond_formats.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/filter.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/folder.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/folder_user.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/help.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/hourglass.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/icons.qrc
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/internet-web-browser.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/key.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/layout_sidebar.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/package.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/package_go.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/package_rename.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/package_save.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_copy.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_copy_sql.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_edit.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_find.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_foreign_key.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_green.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_key.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_paintbrush.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_paste.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_save.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_white_copy.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_white_database.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/page_white_text.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/picture.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/picture_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/picture_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/picture_edit.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/picture_save.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/plugin_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/plugin_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/printer.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/resultset_first.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/resultset_last.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/resultset_next.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/resultset_previous.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/save_all.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/script.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/script_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/script_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/script_edit.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/server_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/server_go.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/sqlitebrowser.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/style.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/style_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/style_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/style_edit.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/tab.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/tab_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/table.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/table_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/table_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/table_edit.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/table_row_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/table_row_insert.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/table_save.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/tag_blue.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/tag_blue_add.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/tag_blue_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/tag_blue_edit.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_align_center.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_align_justify.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_align_left.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_align_right.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_bold.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_indent.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_italic.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_paintbrush.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_replace.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/text_underline.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/textfield_delete.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/view-refresh.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/icons/wrench.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/macapp.icns
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/main.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/os2app.rc
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/LICENSE.md
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/Hmovetoolbar.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/Hsepartoolbar.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/Vmovetoolbar.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/Vsepartoolbar.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_down_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_left_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_right_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/arrow_up_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/base_icon_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed-on.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_closed_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_end_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_line_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_more_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open-on.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/branch_open_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_checked_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_indeterminate_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/checkbox_unchecked_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/close-hover.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/close-pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/close.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/down_arrow.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/down_arrow_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/left_arrow.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/left_arrow_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_horizontal_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/line_vertical_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_checked_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/radio_unchecked_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/right_arrow.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/right_arrow_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/sizegrip.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/stylesheet-branch-end.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/stylesheet-branch-more.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/stylesheet-vline.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_horizontal_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_move_vertical_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_horizontal_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/toolbar_separator_vertical_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/transparent_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/undock.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/up_arrow.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/up_arrow_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_close_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_grip_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_minimize_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock_disabled.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock_disabled@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock_focus.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock_focus@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock_pressed.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/rc/window_undock_pressed@2x.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/style.qrc
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/style.qrc.depends
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/qdarkstyle/style.qss
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/ObjectIdentifier.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/ObjectIdentifier.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/Query.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/Query.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/ParserDriver.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/ParserDriver.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/README
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/sqlite3_lexer.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/sqlite3_lexer.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/sqlite3_lexer.ll
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/sqlite3_location.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/sqlite3_parser.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/sqlite3_parser.hpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/parser/sqlite3_parser.yy
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/sqlitetypes.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sql/sqlitetypes.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sqlite.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sqlitedb.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sqlitedb.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sqlitetablemodel.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sqlitetablemodel.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sqltextedit.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/sqltextedit.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/src.pro
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/CMakeLists.txt
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/TestImport.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/TestImport.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/TestRegex.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/TestRegex.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/TestRowCache.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/TestRowCache.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/testsqlobjects.cpp
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tests/testsqlobjects.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/tools/create_windows_icon.sh
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/README
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/ar.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/br.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/cn.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/cs.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/de.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/eg.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/es.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/flags.qrc
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/fr.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/gb.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/it.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/jp.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/kr.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/nl.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/pl.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/roc.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/ru.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/tr.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/ua.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/flags/us.png
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/place_translations_here
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ar_SA.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ar_SA.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_cs.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_cs.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_de.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_de.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_en_GB.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_en_GB.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_es_ES.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_es_ES.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_fa.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_fr.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_fr.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_it.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_it.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ja.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ja.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ko_KR.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ko_KR.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_nl.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_nl.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_pl.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_pl.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_pt_BR.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_pt_BR.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ru.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_ru.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_tr.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_tr.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_uk_UA.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_uk_UA.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_zh.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_zh.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_zh_TW.qm
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/sqlb_zh_TW.ts
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/translations/translations.qrc
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/version.h
create mode 100644 src/WBCLFZSystemModule/SqliteDBProcess/src/winapp.rc
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableFieldConfigClass.cpp
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableFieldConfigClass.h
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableFieldConfigClass.ui
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableFieldFindTool.cpp
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableFieldFindTool.h
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableFieldFindTool.ui
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableMainWindow.cpp
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableMainWindow.h
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableMainWindow.ui
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableViewModel.cpp
create mode 100644 src/WBCLFZSystemModule/TableProcess/TableViewModel.h
create mode 100644 src/WBCLFZSystemModule/TableProcess/sqliteOperator.cpp
create mode 100644 src/WBCLFZSystemModule/TableProcess/sqliteOperator.h
create mode 100644 src/WBCLFZSystemModule/TaskNodeList.cpp
create mode 100644 src/WBCLFZSystemModule/TaskNodeList.h
create mode 100644 src/WBCLFZSystemModule/TaskXml/TaskTreeClass.cpp
create mode 100644 src/WBCLFZSystemModule/TaskXml/TaskTreeClass.h
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.aps
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.cpp
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.h
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.rc
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.ui
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.vcxproj
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.vcxproj.filters
create mode 100644 src/WBCLFZSystemModule/WBCLFZSystemModule.vcxproj.user
create mode 100644 src/WBCLFZSystemModule/cpp.hint
create mode 100644 src/WBCLFZSystemModule/main.cpp
create mode 100644 src/WBCLFZSystemModule/modelProcess/ModelProcess.cpp
create mode 100644 src/WBCLFZSystemModule/modelProcess/ModelProcess.h
create mode 100644 src/WBCLFZSystemModule/modelProcess/ModelProcess.ui
create mode 100644 src/WBCLFZSystemModule/qconsolewidget.pri
create mode 100644 src/WBCLFZSystemModule/qscriptcompleter.cpp
create mode 100644 src/WBCLFZSystemModule/qscriptcompleter.h
create mode 100644 src/WBCLFZSystemModule/readme.md
create mode 100644 src/WBCLFZSystemModule/resource.h
create mode 100644 src/WBCLFZSystemModule/scriptsession.cpp
create mode 100644 src/WBCLFZSystemModule/scriptsession.h
create mode 100644 src/json/CMakeLists.txt
create mode 100644 src/json/json.hpp
create mode 100644 src/json/json.vcxproj
create mode 100644 src/json/json.vcxproj.filters
create mode 100644 src/json/json.vcxproj.user
create mode 100644 src/json/jsonplugin.json
create mode 100644 src/qcustomplot/CMakeLists.txt
create mode 100644 src/qcustomplot/GPL.txt
create mode 100644 src/qcustomplot/main.cpp
create mode 100644 src/qcustomplot/qcustomplot.cpp
create mode 100644 src/qcustomplot/qcustomplot.h
create mode 100644 src/qcustomplot/qcustomplot.pro
create mode 100644 src/qcustomplot/qcustomplot.qrc
create mode 100644 src/qcustomplot/qcustomplot.ui
create mode 100644 src/qhexedit/CMakeLists.txt
create mode 100644 src/qhexedit/chunks.cpp
create mode 100644 src/qhexedit/chunks.h
create mode 100644 src/qhexedit/commands.cpp
create mode 100644 src/qhexedit/commands.h
create mode 100644 src/qhexedit/license.txt
create mode 100644 src/qhexedit/qhexedit.cpp
create mode 100644 src/qhexedit/qhexedit.h
create mode 100644 src/qhexedit/qhexedit.pro
create mode 100644 src/qhexedit/qhexedit.vcxproj
create mode 100644 src/qhexedit/qhexedit.vcxproj.filters
create mode 100644 src/qhexedit/qhexedit.vcxproj.user
create mode 100644 src/qhexedit/qhexeditplugin.json
create mode 100644 src/qrc/LAMPTool.qrc
create mode 100644 src/qrc/OCCViewer/res/antialiasing.png
create mode 100644 src/qrc/OCCViewer/res/cursor_rotate.png
create mode 100644 src/qrc/OCCViewer/res/cursor_zoom.png
create mode 100644 src/qrc/OCCViewer/res/help.png
create mode 100644 src/qrc/OCCViewer/res/lamp.png
create mode 100644 src/qrc/OCCViewer/res/raytracing.png
create mode 100644 src/qrc/OCCViewer/res/reflections.png
create mode 100644 src/qrc/OCCViewer/res/shadows.png
create mode 100644 src/qrc/OCCViewer/res/tool_color.png
create mode 100644 src/qrc/OCCViewer/res/tool_delete.png
create mode 100644 src/qrc/OCCViewer/res/tool_material.png
create mode 100644 src/qrc/OCCViewer/res/tool_shading.png
create mode 100644 src/qrc/OCCViewer/res/tool_transparency.png
create mode 100644 src/qrc/OCCViewer/res/tool_wireframe.png
create mode 100644 src/qrc/OCCViewer/res/view_axo.png
create mode 100644 src/qrc/OCCViewer/res/view_back.png
create mode 100644 src/qrc/OCCViewer/res/view_bottom.png
create mode 100644 src/qrc/OCCViewer/res/view_comp_off.png
create mode 100644 src/qrc/OCCViewer/res/view_comp_on.png
create mode 100644 src/qrc/OCCViewer/res/view_fitall.png
create mode 100644 src/qrc/OCCViewer/res/view_front.png
create mode 100644 src/qrc/OCCViewer/res/view_left.png
create mode 100644 src/qrc/OCCViewer/res/view_reset.png
create mode 100644 src/qrc/OCCViewer/res/view_right.png
create mode 100644 src/qrc/OCCViewer/res/view_top.png
create mode 100644 src/qrc/PointCloudProcess/images/1.gif
create mode 100644 src/qrc/PointCloudProcess/images/QTreeView/branch-closed.png
create mode 100644 src/qrc/PointCloudProcess/images/QTreeView/branch-end.png
create mode 100644 src/qrc/PointCloudProcess/images/QTreeView/branch-more.png
create mode 100644 src/qrc/PointCloudProcess/images/QTreeView/branch-open.png
create mode 100644 src/qrc/PointCloudProcess/images/QTreeView/vline.png
create mode 100644 src/qrc/PointCloudProcess/images/RGB.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/DASHBOARD.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/DBSCAN.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/Histogram.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/KMeans.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/binary.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/chooseMatrix.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/density.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/extract.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/filter.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/help.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/matrix.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/more.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/nihe.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/person.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/pingjie.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/transform.png
create mode 100644 src/qrc/PointCloudProcess/images/algorithm/tree.png
create mode 100644 src/qrc/PointCloudProcess/images/back.png
create mode 100644 src/qrc/PointCloudProcess/images/bottom.png
create mode 100644 src/qrc/PointCloudProcess/images/camera.png
create mode 100644 src/qrc/PointCloudProcess/images/ccAddConstSF.png
create mode 100644 src/qrc/PointCloudProcess/images/ccAlign.png
create mode 100644 src/qrc/PointCloudProcess/images/ccBilateralFilter.png
create mode 100644 src/qrc/PointCloudProcess/images/ccCCExtract.png
create mode 100644 src/qrc/PointCloudProcess/images/ccCenteredPerspective32.png
create mode 100644 src/qrc/PointCloudProcess/images/ccClippingBox.png
create mode 100644 src/qrc/PointCloudProcess/images/ccClippingBoxMultExport.png
create mode 100644 src/qrc/PointCloudProcess/images/ccClippingBoxSingleExport.png
create mode 100644 src/qrc/PointCloudProcess/images/ccClone.png
create mode 100644 src/qrc/PointCloudProcess/images/ccCloudCloudDistance.png
create mode 100644 src/qrc/PointCloudProcess/images/ccCloudMeshDistance.png
create mode 100644 src/qrc/PointCloudProcess/images/ccCloudPrimitiveDistance.png
create mode 100644 src/qrc/PointCloudProcess/images/ccComputeStat.png
create mode 100644 src/qrc/PointCloudProcess/images/ccConsole.png
create mode 100644 src/qrc/PointCloudProcess/images/ccDelete.png
create mode 100644 src/qrc/PointCloudProcess/images/ccDeleteSF.png
create mode 100644 src/qrc/PointCloudProcess/images/ccExit.png
create mode 100644 src/qrc/PointCloudProcess/images/ccFilterByValue.png
create mode 100644 src/qrc/PointCloudProcess/images/ccFullScreen.png
create mode 100644 src/qrc/PointCloudProcess/images/ccGaussianFilter.png
create mode 100644 src/qrc/PointCloudProcess/images/ccGear.png
create mode 100644 src/qrc/PointCloudProcess/images/ccGlobalZoom.png
create mode 100644 src/qrc/PointCloudProcess/images/ccGradient.png
create mode 100644 src/qrc/PointCloudProcess/images/ccGrid.png
create mode 100644 src/qrc/PointCloudProcess/images/ccHistogram.png
create mode 100644 src/qrc/PointCloudProcess/images/ccInteractiveTransformation.png
create mode 100644 src/qrc/PointCloudProcess/images/ccLevel.png
create mode 100644 src/qrc/PointCloudProcess/images/ccLightParams.png
create mode 100644 src/qrc/PointCloudProcess/images/ccMerge.png
create mode 100644 src/qrc/PointCloudProcess/images/ccMinus.png
create mode 100644 src/qrc/PointCloudProcess/images/ccOpen.png
create mode 100644 src/qrc/PointCloudProcess/images/ccOrthoMode32.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPencil.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPickCenter.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPickCenterAuto.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPivotAuto.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPivotOff.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPivotOn.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPlus.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPointListPicking.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPointPicking.png
create mode 100644 src/qrc/PointCloudProcess/images/ccPointSize.png
create mode 100644 src/qrc/PointCloudProcess/images/ccRegister.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSORFilter.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSampleCloud.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSamplePoints.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSave.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSaveProject.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSegment.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSfArithmetic.png
create mode 100644 src/qrc/PointCloudProcess/images/ccStatTest.png
create mode 100644 src/qrc/PointCloudProcess/images/ccStereo.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSunLight.png
create mode 100644 src/qrc/PointCloudProcess/images/ccSwapUpDown.png
create mode 100644 src/qrc/PointCloudProcess/images/ccTracePolyline.png
create mode 100644 src/qrc/PointCloudProcess/images/ccTracePolyline.svg
create mode 100644 src/qrc/PointCloudProcess/images/ccUnstack.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewIso1.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewIso2.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewXneg.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewXpos.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewYneg.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewYpos.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewZneg.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewZpos.png
create mode 100644 src/qrc/PointCloudProcess/images/ccViewerBasedPerspective32.png
create mode 100644 src/qrc/PointCloudProcess/images/ccZoomIn.png
create mode 100644 src/qrc/PointCloudProcess/images/clipboard.png
create mode 100644 src/qrc/PointCloudProcess/images/color.png
create mode 100644 src/qrc/PointCloudProcess/images/coodinate.png
create mode 100644 src/qrc/PointCloudProcess/images/dbAreaLabelSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbCalibratedImageSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbCamSensorSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbCloudSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbCloudSymbolLocked.png
create mode 100644 src/qrc/PointCloudProcess/images/dbContainerSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbContainerSymbolLocked.png
create mode 100644 src/qrc/PointCloudProcess/images/dbGBLSensorSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbHObjectSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbHObjectSymbolLocked.png
create mode 100644 src/qrc/PointCloudProcess/images/dbImageSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbLabelSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbLockSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbMaterialSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbMeshSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbMeshSymbolLocked.png
create mode 100644 src/qrc/PointCloudProcess/images/dbMiscGeomSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbMiscGeomSymbolLocked.png
create mode 100644 src/qrc/PointCloudProcess/images/dbOctreeSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbOctreeSymbolLocked.png
create mode 100644 src/qrc/PointCloudProcess/images/dbPolylineSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbSubMeshSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/dbSubMeshSymbolLocked.png
create mode 100644 src/qrc/PointCloudProcess/images/dbViewportSymbol.png
create mode 100644 src/qrc/PointCloudProcess/images/donate.png
create mode 100644 src/qrc/PointCloudProcess/images/exportIcon.png
create mode 100644 src/qrc/PointCloudProcess/images/files/CSV.png
create mode 100644 src/qrc/PointCloudProcess/images/files/add.png
create mode 100644 src/qrc/PointCloudProcess/images/files/bgColor.png
create mode 100644 src/qrc/PointCloudProcess/images/files/cloud.png
create mode 100644 src/qrc/PointCloudProcess/images/files/cloud2.png
create mode 100644 src/qrc/PointCloudProcess/images/files/copy.png
create mode 100644 src/qrc/PointCloudProcess/images/files/cut.png
create mode 100644 src/qrc/PointCloudProcess/images/files/log.png
create mode 100644 src/qrc/PointCloudProcess/images/files/new1.png
create mode 100644 src/qrc/PointCloudProcess/images/files/new2.png
create mode 100644 src/qrc/PointCloudProcess/images/files/paste.png
create mode 100644 src/qrc/PointCloudProcess/images/files/pointCloud.png
create mode 100644 src/qrc/PointCloudProcess/images/files/search.png
create mode 100644 src/qrc/PointCloudProcess/images/files/snapshot.png
create mode 100644 src/qrc/PointCloudProcess/images/files/star.png
create mode 100644 src/qrc/PointCloudProcess/images/files/txt.png
create mode 100644 src/qrc/PointCloudProcess/images/front.png
create mode 100644 src/qrc/PointCloudProcess/images/gamepad.png
create mode 100644 src/qrc/PointCloudProcess/images/gearIcon.png
create mode 100644 src/qrc/PointCloudProcess/images/grey.png
create mode 100644 src/qrc/PointCloudProcess/images/hashtag.png
create mode 100644 src/qrc/PointCloudProcess/images/ic-redo.png
create mode 100644 src/qrc/PointCloudProcess/images/ic-undo.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_icon.ico
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_icon.rc
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_icon.svg
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_icon_16.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_icon_256.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_icon_32.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_icon_64.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_viewer_icon.svg
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_viewer_icon_16.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_viewer_icon_256.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_viewer_icon_32.png
create mode 100644 src/qrc/PointCloudProcess/images/icon/cc_viewer_icon_64.png
create mode 100644 src/qrc/PointCloudProcess/images/im3DxLogo.png
create mode 100644 src/qrc/PointCloudProcess/images/imLogoV2Qt.png
create mode 100644 src/qrc/PointCloudProcess/images/interactors.png
create mode 100644 src/qrc/PointCloudProcess/images/keda.ico
create mode 100644 src/qrc/PointCloudProcess/images/left.png
create mode 100644 src/qrc/PointCloudProcess/images/lock.png
create mode 100644 src/qrc/PointCloudProcess/images/mapIcon.png
create mode 100644 src/qrc/PointCloudProcess/images/material/3DxLogo.png
create mode 100644 src/qrc/PointCloudProcess/images/material/Raster_grid.pptx
create mode 100644 src/qrc/PointCloudProcess/images/material/ccCenteredPerspective.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccClippingBox.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccClippingBoxBase.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccOrthoMode.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccOrthoSections.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccPivot.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccSectionExtraction.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccViewIso1.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccViewIso2.svg
create mode 100644 src/qrc/PointCloudProcess/images/material/ccViewerBasedPerspective.svg
create mode 100644 src/qrc/PointCloudProcess/images/monitor.svg
create mode 100644 src/qrc/PointCloudProcess/images/noFilter.png
create mode 100644 src/qrc/PointCloudProcess/images/nvidia.png
create mode 100644 src/qrc/PointCloudProcess/images/oculus.png
create mode 100644 src/qrc/PointCloudProcess/images/open.png
create mode 100644 src/qrc/PointCloudProcess/images/orthoSections.png
create mode 100644 src/qrc/PointCloudProcess/images/photo-camera.svg
create mode 100644 src/qrc/PointCloudProcess/images/primBox.gif
create mode 100644 src/qrc/PointCloudProcess/images/primCone.gif
create mode 100644 src/qrc/PointCloudProcess/images/primCylinder.gif
create mode 100644 src/qrc/PointCloudProcess/images/primDish.gif
create mode 100644 src/qrc/PointCloudProcess/images/primPlane.gif
create mode 100644 src/qrc/PointCloudProcess/images/primSphere.gif
create mode 100644 src/qrc/PointCloudProcess/images/primTorus.gif
create mode 100644 src/qrc/PointCloudProcess/images/qCompass.png
create mode 100644 src/qrc/PointCloudProcess/images/raster_grid.jpg
create mode 100644 src/qrc/PointCloudProcess/images/redo.png
create mode 100644 src/qrc/PointCloudProcess/images/reset.png
create mode 100644 src/qrc/PointCloudProcess/images/restore.png
create mode 100644 src/qrc/PointCloudProcess/images/right.png
create mode 100644 src/qrc/PointCloudProcess/images/rotate0.png
create mode 100644 src/qrc/PointCloudProcess/images/rotate180.png
create mode 100644 src/qrc/PointCloudProcess/images/rotate270.png
create mode 100644 src/qrc/PointCloudProcess/images/rotate90.png
create mode 100644 src/qrc/PointCloudProcess/images/search.svg
create mode 100644 src/qrc/PointCloudProcess/images/sectionExtraction.png
create mode 100644 src/qrc/PointCloudProcess/images/seting.png
create mode 100644 src/qrc/PointCloudProcess/images/smallBasket.png
create mode 100644 src/qrc/PointCloudProcess/images/smallCSVFile.png
create mode 100644 src/qrc/PointCloudProcess/images/smallCancel.png
create mode 100644 src/qrc/PointCloudProcess/images/smallPause.png
create mode 100644 src/qrc/PointCloudProcess/images/smallPointDistance.png
create mode 100644 src/qrc/PointCloudProcess/images/smallPointProperties.png
create mode 100644 src/qrc/PointCloudProcess/images/smallPointsAngle.png
create mode 100644 src/qrc/PointCloudProcess/images/smallPolygonSelect.png
create mode 100644 src/qrc/PointCloudProcess/images/smallRectangleSelect.png
create mode 100644 src/qrc/PointCloudProcess/images/smallReset.png
create mode 100644 src/qrc/PointCloudProcess/images/smallRevert.png
create mode 100644 src/qrc/PointCloudProcess/images/smallSegmentIn.png
create mode 100644 src/qrc/PointCloudProcess/images/smallSegmentOut.png
create mode 100644 src/qrc/PointCloudProcess/images/smallSphere.png
create mode 100644 src/qrc/PointCloudProcess/images/smallTrash.png
create mode 100644 src/qrc/PointCloudProcess/images/smallValidate.png
create mode 100644 src/qrc/PointCloudProcess/images/square.png
create mode 100644 src/qrc/PointCloudProcess/images/store.png
create mode 100644 src/qrc/PointCloudProcess/images/theme/snowman.png
create mode 100644 src/qrc/PointCloudProcess/images/typeGrayColor.png
create mode 100644 src/qrc/PointCloudProcess/images/typeNormal.png
create mode 100644 src/qrc/PointCloudProcess/images/typePositiveSF.png
create mode 100644 src/qrc/PointCloudProcess/images/typeQuaternion.png
create mode 100644 src/qrc/PointCloudProcess/images/typeRgbCcolor.png
create mode 100644 src/qrc/PointCloudProcess/images/typeSF.png
create mode 100644 src/qrc/PointCloudProcess/images/typeXCoordinate.png
create mode 100644 src/qrc/PointCloudProcess/images/typeYCoordinate.png
create mode 100644 src/qrc/PointCloudProcess/images/typeZCoordinate.png
create mode 100644 src/qrc/PointCloudProcess/images/undo.png
create mode 100644 src/qrc/PointCloudProcess/images/unfoldSmall.png
create mode 100644 src/qrc/PointCloudProcess/images/up.png
create mode 100644 src/qrc/PointCloudProcess/images/zoomin.png
create mode 100644 src/qrc/PointCloudProcess/images/zoomout.png
create mode 100644 src/qrc/WBCLFZSystemModule.qrc
create mode 100644 src/qscintilla2/CMakeLists.txt
create mode 100644 src/qscintilla2/ChangeLog
create mode 100644 src/qscintilla2/LICENSE
create mode 100644 src/qscintilla2/NEWS
create mode 100644 src/qscintilla2/Qt4Qt5/CMakeLists.txt
create mode 100644 src/qscintilla2/Qt4Qt5/InputMethod.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/ListBoxQt.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/ListBoxQt.h
create mode 100644 src/qscintilla2/Qt4Qt5/MacPasteboardMime.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/PlatQt.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qsciabstractapis.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qsciapis.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscicommand.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscicommandset.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscidocument.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qsciglobal.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexer.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexercpp.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexercustom.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexerhtml.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexerjavascript.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexerjson.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexerpython.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexersql.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscilexerxml.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscimacro.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qsciprinter.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qsciscintilla.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qsciscintillabase.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscistyle.h
create mode 100644 src/qscintilla2/Qt4Qt5/Qsci/qscistyledtext.h
create mode 100644 src/qscintilla2/Qt4Qt5/SciAccessibility.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/SciAccessibility.h
create mode 100644 src/qscintilla2/Qt4Qt5/SciClasses.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/SciClasses.h
create mode 100644 src/qscintilla2/Qt4Qt5/SciNamespace.h
create mode 100644 src/qscintilla2/Qt4Qt5/ScintillaQt.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/ScintillaQt.h
create mode 100644 src/qscintilla2/Qt4Qt5/features/qscintilla2.prf
create mode 100644 src/qscintilla2/Qt4Qt5/qsciabstractapis.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qsciapis.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscicommand.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscicommandset.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscidocument.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexer.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexercpp.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexercustom.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexerhtml.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexerjavascript.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexerjson.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexerpython.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexersql.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscilexerxml.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscimacro.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla.pro
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_cs.qm
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_cs.ts
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_de.qm
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_de.ts
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_es.qm
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_es.ts
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_fr.qm
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_fr.ts
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_pt_br.qm
create mode 100644 src/qscintilla2/Qt4Qt5/qscintilla_pt_br.ts
create mode 100644 src/qscintilla2/Qt4Qt5/qsciprinter.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qsciscintilla.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qsciscintillabase.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscistyle.cpp
create mode 100644 src/qscintilla2/Qt4Qt5/qscistyledtext.cpp
create mode 100644 src/qscintilla2/README
create mode 100644 src/qscintilla2/include/ILexer.h
create mode 100644 src/qscintilla2/include/ILoader.h
create mode 100644 src/qscintilla2/include/License.txt
create mode 100644 src/qscintilla2/include/Platform.h
create mode 100644 src/qscintilla2/include/SciLexer.h
create mode 100644 src/qscintilla2/include/Sci_Position.h
create mode 100644 src/qscintilla2/include/Scintilla.h
create mode 100644 src/qscintilla2/include/Scintilla.iface
create mode 100644 src/qscintilla2/include/ScintillaWidget.h
create mode 100644 src/qscintilla2/lexers/LexHTML.cpp
create mode 100644 src/qscintilla2/lexers/LexJSON.cpp
create mode 100644 src/qscintilla2/lexers/LexSQL.cpp
create mode 100644 src/qscintilla2/lexers/License.txt
create mode 100644 src/qscintilla2/lexlib/Accessor.cpp
create mode 100644 src/qscintilla2/lexlib/Accessor.h
create mode 100644 src/qscintilla2/lexlib/CharacterCategory.cpp
create mode 100644 src/qscintilla2/lexlib/CharacterCategory.h
create mode 100644 src/qscintilla2/lexlib/CharacterSet.cpp
create mode 100644 src/qscintilla2/lexlib/CharacterSet.h
create mode 100644 src/qscintilla2/lexlib/DefaultLexer.cpp
create mode 100644 src/qscintilla2/lexlib/DefaultLexer.h
create mode 100644 src/qscintilla2/lexlib/LexAccessor.h
create mode 100644 src/qscintilla2/lexlib/LexerBase.cpp
create mode 100644 src/qscintilla2/lexlib/LexerBase.h
create mode 100644 src/qscintilla2/lexlib/LexerModule.cpp
create mode 100644 src/qscintilla2/lexlib/LexerModule.h
create mode 100644 src/qscintilla2/lexlib/LexerNoExceptions.cpp
create mode 100644 src/qscintilla2/lexlib/LexerNoExceptions.h
create mode 100644 src/qscintilla2/lexlib/LexerSimple.cpp
create mode 100644 src/qscintilla2/lexlib/LexerSimple.h
create mode 100644 src/qscintilla2/lexlib/License.txt
create mode 100644 src/qscintilla2/lexlib/OptionSet.h
create mode 100644 src/qscintilla2/lexlib/PropSetSimple.cpp
create mode 100644 src/qscintilla2/lexlib/PropSetSimple.h
create mode 100644 src/qscintilla2/lexlib/SparseState.h
create mode 100644 src/qscintilla2/lexlib/StringCopy.h
create mode 100644 src/qscintilla2/lexlib/StyleContext.cpp
create mode 100644 src/qscintilla2/lexlib/StyleContext.h
create mode 100644 src/qscintilla2/lexlib/SubStyles.h
create mode 100644 src/qscintilla2/lexlib/WordList.cpp
create mode 100644 src/qscintilla2/lexlib/WordList.h
create mode 100644 src/qscintilla2/qscintilla2.vcxproj
create mode 100644 src/qscintilla2/qscintilla2.vcxproj.filters
create mode 100644 src/qscintilla2/qscintilla2.vcxproj.user
create mode 100644 src/qscintilla2/src/AutoComplete.cpp
create mode 100644 src/qscintilla2/src/AutoComplete.h
create mode 100644 src/qscintilla2/src/CallTip.cpp
create mode 100644 src/qscintilla2/src/CallTip.h
create mode 100644 src/qscintilla2/src/CaseConvert.cpp
create mode 100644 src/qscintilla2/src/CaseConvert.h
create mode 100644 src/qscintilla2/src/CaseFolder.cpp
create mode 100644 src/qscintilla2/src/CaseFolder.h
create mode 100644 src/qscintilla2/src/Catalogue.cpp
create mode 100644 src/qscintilla2/src/Catalogue.h
create mode 100644 src/qscintilla2/src/CellBuffer.cpp
create mode 100644 src/qscintilla2/src/CellBuffer.h
create mode 100644 src/qscintilla2/src/CharClassify.cpp
create mode 100644 src/qscintilla2/src/CharClassify.h
create mode 100644 src/qscintilla2/src/ContractionState.cpp
create mode 100644 src/qscintilla2/src/ContractionState.h
create mode 100644 src/qscintilla2/src/DBCS.cpp
create mode 100644 src/qscintilla2/src/DBCS.h
create mode 100644 src/qscintilla2/src/Decoration.cpp
create mode 100644 src/qscintilla2/src/Decoration.h
create mode 100644 src/qscintilla2/src/Document.cpp
create mode 100644 src/qscintilla2/src/Document.h
create mode 100644 src/qscintilla2/src/EditModel.cpp
create mode 100644 src/qscintilla2/src/EditModel.h
create mode 100644 src/qscintilla2/src/EditView.cpp
create mode 100644 src/qscintilla2/src/EditView.h
create mode 100644 src/qscintilla2/src/Editor.cpp
create mode 100644 src/qscintilla2/src/Editor.h
create mode 100644 src/qscintilla2/src/ElapsedPeriod.h
create mode 100644 src/qscintilla2/src/ExternalLexer.cpp
create mode 100644 src/qscintilla2/src/ExternalLexer.h
create mode 100644 src/qscintilla2/src/FontQuality.h
create mode 100644 src/qscintilla2/src/Indicator.cpp
create mode 100644 src/qscintilla2/src/Indicator.h
create mode 100644 src/qscintilla2/src/IntegerRectangle.h
create mode 100644 src/qscintilla2/src/KeyMap.cpp
create mode 100644 src/qscintilla2/src/KeyMap.h
create mode 100644 src/qscintilla2/src/License.txt
create mode 100644 src/qscintilla2/src/LineMarker.cpp
create mode 100644 src/qscintilla2/src/LineMarker.h
create mode 100644 src/qscintilla2/src/MarginView.cpp
create mode 100644 src/qscintilla2/src/MarginView.h
create mode 100644 src/qscintilla2/src/Partitioning.h
create mode 100644 src/qscintilla2/src/PerLine.cpp
create mode 100644 src/qscintilla2/src/PerLine.h
create mode 100644 src/qscintilla2/src/Position.h
create mode 100644 src/qscintilla2/src/PositionCache.cpp
create mode 100644 src/qscintilla2/src/PositionCache.h
create mode 100644 src/qscintilla2/src/RESearch.cpp
create mode 100644 src/qscintilla2/src/RESearch.h
create mode 100644 src/qscintilla2/src/RunStyles.cpp
create mode 100644 src/qscintilla2/src/RunStyles.h
create mode 100644 src/qscintilla2/src/SciTE.properties
create mode 100644 src/qscintilla2/src/ScintillaBase.cpp
create mode 100644 src/qscintilla2/src/ScintillaBase.h
create mode 100644 src/qscintilla2/src/Selection.cpp
create mode 100644 src/qscintilla2/src/Selection.h
create mode 100644 src/qscintilla2/src/SparseVector.h
create mode 100644 src/qscintilla2/src/SplitVector.h
create mode 100644 src/qscintilla2/src/Style.cpp
create mode 100644 src/qscintilla2/src/Style.h
create mode 100644 src/qscintilla2/src/UniConversion.cpp
create mode 100644 src/qscintilla2/src/UniConversion.h
create mode 100644 src/qscintilla2/src/UnicodeFromUTF8.h
create mode 100644 src/qscintilla2/src/UniqueString.h
create mode 100644 src/qscintilla2/src/ViewStyle.cpp
create mode 100644 src/qscintilla2/src/ViewStyle.h
create mode 100644 src/qscintilla2/src/XPM.cpp
create mode 100644 src/qscintilla2/src/XPM.h
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 12e8d06..4c11220 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,8 +7,8 @@ cmake_minimum_required(VERSION 3.21 FATAL_ERROR)
project(FastCAE
VERSION 2.5.0
LANGUAGES CXX
- DESCRIPTION "FastCAE,一款å…费的CAEä»¿çœŸè½¯ä»¶ç ”å‘æ”¯æ’‘å¹³å°ã€‚"
- HOMEPAGE_URL "http://www.fastcae.com/"
+ DESCRIPTION "LAMPCAE,基于FastCAE的测é‡ä»¿çœŸåˆ†æžè½¯ä»¶ã€‚"
+ HOMEPAGE_URL "http://124.16.188.131:9699/web/server3/build/#/Guide/"
)
#-----------------------------------------------------------------------------
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
new file mode 100644
index 0000000..5de0095
--- /dev/null
+++ b/CMakeLists.txt.user
@@ -0,0 +1,419 @@
+
+
+
+
+
+ EnvironmentId
+ {d034e98c-d1df-4d65-be6b-a0d9f31abe3b}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ 0
+ false
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ false
+ 1
+ true
+ true
+ true
+ *.md, *.MD, Makefile
+ false
+ true
+ true
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+ true
+ false
+ true
+ true
+ true
+ true
+
+
+ 0
+ true
+
+ true
+ true
+ Builtin.DefaultTidyAndClazy
+ 8
+ true
+
+
+
+ true
+
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop
+ Desktop Qt 5.15.2 MSVC2019 64bit
+ Desktop Qt 5.15.2 MSVC2019 64bit
+ qt.qt5.5152.win64_msvc2019_64_kit
+ 0
+ 0
+ 0
+
+ Debug
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=Debug
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ 0
+ D:\WBFZCPP\source\build-FastCAE-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug
+
+
+
+
+ all
+
+ false
+
+ true
+ 构建
+ CMakeProjectManager.MakeStep
+
+ 1
+ 构建
+ 构建
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ 构建
+ CMakeProjectManager.MakeStep
+
+ 1
+ 清除
+ 清除
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Debug
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ Release
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=Release
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ D:\WBFZCPP\source\build-FastCAE-Desktop_Qt_5_15_2_MSVC2019_64bit-Release
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 构建
+ 构建
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 清除
+ 清除
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ RelWithDebInfo
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ D:\WBFZCPP\source\build-FastCAE-Desktop_Qt_5_15_2_MSVC2019_64bit-RelWithDebInfo
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 构建
+ 构建
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 清除
+ 清除
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Release with Debug Information
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ RelWithDebInfo
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ 0
+ D:\WBFZCPP\source\build-FastCAE-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 构建
+ 构建
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 清除
+ 清除
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Profile
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+ MinSizeRel
+ 2
+ false
+
+ -DCMAKE_GENERATOR:STRING=Ninja
+-DCMAKE_BUILD_TYPE:STRING=MinSizeRel
+-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake
+-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx}
+-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG}
+ D:\WBFZCPP\source\build-FastCAE-Desktop_Qt_5_15_2_MSVC2019_64bit-MinSizeRel
+
+
+
+
+ all
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 构建
+ 构建
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+ false
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ 清除
+ 清除
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ false
+
+ Minimum Size Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+ 5
+
+
+ 0
+ 部署
+ 部署
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+
+ false
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+ true
+ true
+ 0
+ true
+
+ 2
+
+ false
+ FastCAE
+ CMakeProjectManager.CMakeRunConfiguration.FastCAE
+ FastCAE
+ false
+ true
+ true
+ true
+ D:/WBFZCPP/source/build-FastCAE-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug/Debug
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 1
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 22
+
+
+ Version
+ 22
+
+
diff --git a/cmake/FindFFTW.cmake b/cmake/FindFFTW.cmake
new file mode 100644
index 0000000..9cc94d6
--- /dev/null
+++ b/cmake/FindFFTW.cmake
@@ -0,0 +1,70 @@
+## FFTW can be compiled and subsequently linked against
+## various data types.
+## There is a single set of include files, and then muttiple libraries,
+## One for each type. I.e. libfftw.a-->double, libfftwf.a-->float
+
+## The following logic belongs in the individual package
+## mark_as_advanced(ITK_USE_FFTWD)
+## option(ITK_USE_FFTWD "Use double precision FFTW if found" ON)
+## mark_as_advanced(ITK_USE_FFTWF)
+## option(ITK_USE_FFTWF "Use single precision FFTW if found" ON)
+
+if(ITK_USE_FFTWD OR ITK_USE_FFTWF)
+
+ set(FFTW_INC_SEARCHPATH
+ /sw/include
+ /usr/include
+ /usr/local/include
+ /usr/include/fftw
+ /usr/local/include/fftw
+ )
+
+ find_path(FFTW_INCLUDE_PATH fftw3.h ${FFTW_INC_SEARCHPATH})
+
+ if(FFTW_INCLUDE_PATH)
+ file(TO_CMAKE_PATH "${FFTW_INCLUDE_PATH}" FFTW_INCLUDE_PATH)
+ set(FFTW_INCLUDE ${FFTW_INCLUDE_PATH})
+ endif()
+
+ if(FFTW_INCLUDE)
+ include_directories(${FFTW_INCLUDE})
+ endif()
+
+ get_filename_component(FFTW_INSTALL_BASE_PATH ${FFTW_INCLUDE_PATH} PATH)
+
+ set(FFTW_LIB_SEARCHPATH
+ ${FFTW_INSTALL_BASE_PATH}/lib
+ ${FFTW_INSTALL_BASE_PATH}/lib64
+ /usr/lib/fftw
+ /usr/local/lib/fftw
+ )
+
+ if(ITK_USE_FFTWD)
+ mark_as_advanced(FFTWD_LIB)
+ find_library(FFTWD_LIB fftw3 ${FFTW_LIB_SEARCHPATH}) #Double Precision Lib
+ find_library(FFTWD_THREADS_LIB fftw3_threads ${FFTW_LIB_SEARCHPATH}) #Double Precision Lib only if compiled with threads support
+
+ if(FFTWD_LIB)
+ set(FFTWD_FOUND 1)
+ get_filename_component(FFTW_LIBDIR ${FFTWD_LIB} PATH)
+ if(FFTWD_THREADS_LIB)
+ set(FFTWD_LIB ${FFTWD_LIB} ${FFTWD_THREADS_LIB} )
+ endif()
+ endif()
+ endif()
+
+ if(ITK_USE_FFTWF)
+ mark_as_advanced(FFTWF_LIB)
+ find_library(FFTWF_LIB fftw3f ${FFTW_LIB_SEARCHPATH}) #Single Precision Lib
+ find_library(FFTWF_THREADS_LIB fftw3f_threads ${FFTW_LIB_SEARCHPATH}) #Single Precision Lib only if compiled with threads support
+
+ if(FFTWF_LIB)
+ set(FFTWF_FOUND 1)
+ get_filename_component(FFTW_LIBDIR ${FFTWF_LIB} PATH)
+ if(FFTWF_THREADS_LIB)
+ set(FFTWF_LIB ${FFTWF_LIB} ${FFTWF_THREADS_LIB} )
+ endif()
+ endif()
+ endif()
+
+endif()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a40782d..e07abad 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -3,7 +3,7 @@
#-----------------------------------------------------------------------------
# 所有项目
#-----------------------------------------------------------------------------
-list(APPEND _libraries Common PythonModule SARibbonBar Settings DataProperty MeshData SelfDefObject Material Geometry BCBase ConfigOptions ParaClassFactory ModelData ModuleBase PostAlgorithm PostRenderData PostInterface PostCurveDataManager PostPlotWidget PostWidgets GeometryDataExchange ProjectTree ProjectTreeExtend GeometryCommand GeometryWidgets PluginManager GmshModule IO SolverControl MainWidgets UserGuidence)
+list(APPEND _libraries qcustomplot json qscintilla2 qhexedit LAMPTool WBCLFZSystemModule Common PythonModule SARibbonBar Settings DataProperty MeshData SelfDefObject Material Geometry BCBase ConfigOptions ParaClassFactory ModelData ModuleBase PostAlgorithm PostRenderData PostInterface PostCurveDataManager PostPlotWidget PostWidgets GeometryDataExchange ProjectTree ProjectTreeExtend GeometryCommand GeometryWidgets PluginManager GmshModule IO SolverControl MainWidgets UserGuidence)
#[[if(_WIN_)
list(APPEND _libraries XGenerateReport License)
diff --git a/src/FastCAE/CommandLine.cpp b/src/FastCAE/CommandLine.cpp
index 84d9903..7e6fc03 100644
--- a/src/FastCAE/CommandLine.cpp
+++ b/src/FastCAE/CommandLine.cpp
@@ -50,6 +50,8 @@
#include
#endif
+#include "Common/DebugLogger.h" // 日志文件
+
#define WELCOMETIME 1500
CommandPara::CommandPara(int argc, char *argv[])
@@ -131,7 +133,6 @@ bool CommandPara::exec(GUI::MainWindow *window)
window->show();
window->showMaximized();
}
-
if (!_projectFile.isEmpty())
{
QFile sf(_projectFile);
@@ -155,6 +156,7 @@ bool CommandPara::exec(GUI::MainWindow *window)
runSc = true;
}
}
+
if (_showGUI)
return true;
else if (runSc)
diff --git a/src/FastCAE/main.cpp b/src/FastCAE/main.cpp
index bd52c96..d784baa 100644
--- a/src/FastCAE/main.cpp
+++ b/src/FastCAE/main.cpp
@@ -31,9 +31,11 @@
#include
#include
#include
-// #include "ConfigOptions/ConfigDataReader.h"
-// #include "ConfigOptions/ConfigOptions.h"
-// #include "ConfigOptions/GlobalConfig.h"
+
+#include "ConfigOptions/ConfigDataReader.h"
+#include "ConfigOptions/ConfigOptions.h"
+#include "ConfigOptions/GlobalConfig.h"
+
#include "Common/DebugLogger.h"
#include "Settings/BusAPI.h"
@@ -44,6 +46,10 @@
#endif
#endif
+#include "Common/DebugLogger.h" // 日志文件
+
+
+
#define CHECKINGMEMORY 0
bool testOpenGL()
@@ -92,12 +98,13 @@ int main(int argc, char* argv[])
if(!testOpenGL()) {
return 1;
}
- // QString path = qApp->applicationDirPath();
- // ConfigOption::ConfigDataReader reader(path + "/../ConfigFiles/",
- // ConfigOption::ConfigOption::getInstance()); reader.read(); QString qUseRibbon =
- // ConfigOption::ConfigOption::getInstance()->getGlobalConfig()->getUseRibbon(); bool
- // bUseRibbon = qUseRibbon == "yes" ? true : false;
+ /*****************åŠ è½½å‚æ•°é…置项 *****************************************/
+ QString path = qApp->applicationDirPath();
+ ConfigOption::ConfigDataReader reader(path + "/../ConfigFiles/", ConfigOption::ConfigOption::getInstance());
+ reader.read();
+
+ /******************************************************************************/
bool isRibbon = Setting::BusAPI::instance()->isUseRibbon();
GUI::MainWindow mainwindow(isRibbon);
@@ -128,7 +135,6 @@ int main(int argc, char* argv[])
#endif
//*****************************************
-
if(para.exec(&mainwindow))
emit mainwindow.sendInfoToStatesBar(QString("Version: %1").arg(FASTCAE_VERSION));
else
diff --git a/src/IO/CMakeLists.txt b/src/IO/CMakeLists.txt
index 3cdc1c1..33068e7 100644
--- a/src/IO/CMakeLists.txt
+++ b/src/IO/CMakeLists.txt
@@ -11,7 +11,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
#-----------------------------------------------------------------------------
# æºç 扫æ
#-----------------------------------------------------------------------------
-file(GLOB _header "*.h")
+file(GLOB _header "*.h*")
file(GLOB _source "*.cpp")
#-----------------------------------------------------------------------------
diff --git a/src/LAMPTool/BaseToollib/BaseConstVariable.h b/src/LAMPTool/BaseToollib/BaseConstVariable.h
new file mode 100644
index 0000000..c38899b
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/BaseConstVariable.h
@@ -0,0 +1,38 @@
+#pragma once
+
+#ifndef BASECONSTVARIABLE_H
+#define BASECONSTVARIABLE_H
+
+
+#include
+#include
+
+
+#define PI_180 180/3.141592653589793238462643383279
+#define T180_PI 3.141592653589793238462643383279/180
+#define LIGHTSPEED 299792458
+
+#define Radians2Degrees(Radians) Radians*PI_180
+#define Degrees2Radians(Degrees) Degrees*T180_PI
+
+
+
+const double PI = 3.141592653589793238462643383279;
+const double epsilon = 0.000000000000001;
+const double pi = 3.14159265358979323846;
+const double d2r = pi / 180;
+const double r2d = 180 / pi;
+
+const double a = 6378137.0; //ÍÖÇò³¤°ëÖá
+const double ae = 6378137.0; //ÍÖÇò³¤°ëÖá
+const double ee = 0.0818191910428;// µÚһƫÐÄÂÊ
+const double f_inverse = 298.257223563; //±âÂʵ¹Êý
+const double b = a - a / f_inverse;
+const double eSquare = (a * a - b * b) / (a * a);
+const double e = sqrt(eSquare);
+const double earth_Re = 6378136.49;
+const double earth_Rp = (1 - 1 / f_inverse) * earth_Re;
+const double earth_We = 0.000072292115;
+
+
+#endif
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/BaseTool.cpp b/src/LAMPTool/BaseToollib/BaseTool.cpp
new file mode 100644
index 0000000..81da26c
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/BaseTool.cpp
@@ -0,0 +1,256 @@
+#pragma once
+#include "BaseTool.h"
+///
+///
+//#define EIGEN_USE_MKL_ALL
+//#define EIGEN_VECTORIZE_SSE4_2
+//#include
+
+#include "referenceHeader.h"
+#include
+#include
+#include
+#include
+//#include
+#include
+#include
+
+#include < io.h >
+#include < stdio.h >
+#include < stdlib.h >
+#include
+#include
+#include
+//#include
+#include //#include "ogrsf_frmts.h"
+
+#include
+#include
+#include "GeoOperator.h"
+
+
+#include "baseTool.h"
+using namespace std;
+using namespace Eigen;
+
+
+
+
+QString getCurrentTimeString() {
+ struct tm ConversionTime;
+ std::time_t t = std::time(NULL);
+ char mbstr[100];
+ _localtime64_s(&ConversionTime, &t);
+ std::strftime(mbstr, sizeof(mbstr), "%Y-%m-%d %H:%M:%S", &ConversionTime);
+ QString strTime = mbstr;
+ return strTime;
+}
+
+QString getCurrentShortTimeString() {
+ struct tm ConversionTime;
+ std::time_t t = std::time(NULL);
+ char mbstr[100];
+ _localtime64_s(&ConversionTime, &t);
+ std::strftime(mbstr, sizeof(mbstr), "%Y-%m-%d %H:%M:%S", &ConversionTime);
+ QString strTime = mbstr;
+ return strTime;
+}
+
+std::vector splitString(const QString& str, char delimiter)
+{
+ QStringList tokens = str.split(delimiter);
+ return convertQStringListToStdVector(tokens);
+}
+
+
+complex Cubic_Convolution_interpolation(double u, double v, Eigen::MatrixX> img)
+{
+ if (img.rows() != 4 || img.cols() != 4) {
+ throw exception("the size of img's block is not right");
+ }
+ // ½ï¿½ï¿½ï¿½Ä£ï¿½ï¿½
+ Eigen::MatrixX> wrc(1, 4);// ʹ�� complex ½ï¿½ï¿½ï¿½ÒªÔ½ï¿½Îªï¿½Ë»ï¿½È¡Öµ
+ Eigen::MatrixX> wcr(4, 1);//
+ for (int i = 0; i < 4; i++) {
+ wrc(0, i) = Cubic_kernel_weight(u + 1 - i); // u+1,u,u-1,u-2
+ wcr(i, 0) = Cubic_kernel_weight(v + 1 - i);
+ }
+
+ Eigen::MatrixX> interValue = wrc * img * wcr;
+ return interValue(0, 0);
+}
+
+complex Cubic_kernel_weight(double s)
+{
+ s = abs(s);
+ if (s <= 1) {
+ return complex(1.5 * s * s * s - 2.5 * s * s + 1, 0);
+ }
+ else if (s <= 2) {
+ return complex(-0.5 * s * s * s + 2.5 * s * s - 4 * s + 2, 0);
+ }
+ else {
+ return complex(0, 0);
+ }
+}
+
+///
+/// p11 p12 -- x
+/// p0(u,v)
+/// p21 p22
+/// |
+/// y
+/// p11(0,0)
+/// p21(0,1)
+/// P12(1,0)
+/// p22(1,1)
+///
+/// x,y,z
+/// x,y,z
+/// x,y,z
+/// x,y,z
+/// x,y,z
+///
+double Bilinear_interpolation(Landpoint p0, Landpoint p11, Landpoint p21, Landpoint p12, Landpoint p22)
+{
+
+ return p11.ati * (1 - p0.lon) * (1 - p0.lat) +
+ p12.ati * p0.lon * (1 - p0.lat) +
+ p21.ati * (1 - p0.lon) * p0.lat +
+ p22.ati * p0.lon * p0.lat;
+}
+
+
+
+bool onSegment(Point_3d Pi, Point_3d Pj, Point_3d Q)
+{
+ if ((Q.x - Pi.x) * (Pj.y - Pi.y) == (Pj.x - Pi.x) * (Q.y - Pi.y) //²æ³Ë
+ //±£Ö¤Qµã×ø±êÔÚpi,pjÖ®¼ä
+ && min(Pi.x, Pj.x) <= Q.x && Q.x <= max(Pi.x, Pj.x)
+ && min(Pi.y, Pj.y) <= Q.y && Q.y <= max(Pi.y, Pj.y))
+ return true;
+ else
+ return false;
+}
+
+Point_3d invBilinear(Point_3d p, Point_3d a, Point_3d b, Point_3d c, Point_3d d)
+{
+ Point_3d res;
+
+ Point_3d e = b - a;
+ Point_3d f = d - a;
+ Point_3d g = a - b + c - d;
+ Point_3d h = p - a;
+
+ double k2 = cross2d(g, f);
+ double k1 = cross2d(e, f) + cross2d(h, g);
+ double k0 = cross2d(h, e);
+ double u, v;
+ // if edges are parallel, this is a linear equation
+ if (abs(k2) < 0.001)
+ {
+ v = -k0 / k1;
+ u = (h.x - f.x * v) / (e.x + g.x * v);
+ p.z = a.z + (b.z - a.z) * u + (d.z - a.z) * v + (a.z - b.z + c.z - d.z) * u * v;
+ return p;
+ }
+ // otherwise, it's a quadratic
+ else
+ {
+ float w = k1 * k1 - 4.0 * k0 * k2;
+ if (w < 0.0) {
+ // ¿ÉÄÜÔڱ߽çÉÏ
+ if (onSegment(a, b, p)) {
+ Point_3d tt = b - a;
+ Point_3d ttpa = p - a;
+ double scater = ttpa / tt;
+ if (scater < 0 || scater>1) { return { -9999,-9999,-9999 }; }
+ p.z = a.z + scater * tt.z;
+ return p;
+ }
+ else if (onSegment(b, c, p)) {
+ Point_3d tt = c - b;
+ Point_3d ttpa = p - b;
+ double scater = ttpa / tt;
+ if (scater < 0 || scater>1) { return { -9999,-9999,-9999 }; }
+ p.z = b.z + scater * tt.z;
+ return p;
+ }
+ else if (onSegment(c, d, p)) {
+ Point_3d tt = d - c;
+ Point_3d ttpa = p - c;
+ double scater = ttpa / tt;
+ if (scater < 0 || scater>1) { return { -9999,-9999,-9999 }; }
+ p.z = c.z + scater * tt.z;
+ return p;
+ }
+ else if (onSegment(d, a, p)) {
+ Point_3d tt = a - d;
+ Point_3d ttpa = p - d;
+ double scater = ttpa / tt;
+ if (scater < 0 || scater>1) { return { -9999,-9999,-9999 }; }
+ p.z = d.z + scater * tt.z;
+ return p;
+ }
+
+ return { -9999,-9999,-9999 };
+ }
+ else {
+ w = sqrt(w);
+
+ float ik2 = 0.5 / k2;
+ float v = (-k1 - w) * ik2;
+ float u = (h.x - f.x * v) / (e.x + g.x * v);
+
+ if (u < 0.0 || u>1.0 || v < 0.0 || v>1.0)
+ {
+ v = (-k1 + w) * ik2;
+ u = (h.x - f.x * v) / (e.x + g.x * v);
+ }
+ p.z = a.z + (b.z - a.z) * u + (d.z - a.z) * v + (a.z - b.z + c.z - d.z) * u * v;
+ return p;
+ }
+ }
+ p.z = a.z + (b.z - a.z) * u + (d.z - a.z) * v + (a.z - b.z + c.z - d.z) * u * v;
+ return p;
+}
+
+double sind(double degree)
+{
+ return sin(degree * d2r);
+}
+
+double cosd(double d)
+{
+ return cos(d * d2r);
+}
+
+
+string Convert(float Num)
+{
+ ostringstream oss;
+ oss << Num;
+ string str(oss.str());
+ return str;
+}
+
+QString JoinPath(const QString& path, const QString& filename)
+{
+ QDir dir(path);
+
+ // Ensure the path ends with the appropriate separator
+ if (!QDir::isAbsolutePath(path))
+ dir.makeAbsolute();
+
+ return dir.filePath(filename);
+}
+std::vector convertQStringListToStdVector(const QStringList& qStringList)
+{
+ std::vector stdVector;
+
+ for (const QString& str : qStringList) {
+ stdVector.push_back(str);
+ }
+
+ return stdVector;
+};
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/BaseTool.h b/src/LAMPTool/BaseToollib/BaseTool.h
new file mode 100644
index 0000000..4743173
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/BaseTool.h
@@ -0,0 +1,93 @@
+#pragma once
+#pragma once
+#ifndef BASETOOL_H
+#define BASETOOL_H
+
+///
+/// »ù±¾Àà¡¢»ù±¾º¯Êý
+///
+//#define EIGEN_USE_MKL_ALL
+//#define EIGEN_VECTORIZE_SSE4_2
+//#include
+
+//#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "referenceHeader.h"
+#include
+#include
+#include
+#include
+#include
+#include "GeoOperator.h"
+#include
+#include
+
+using namespace std;
+using namespace Eigen;
+
+
+///////////////////////////////////// ÔËÐÐʱ¼ä´òÓ¡ //////////////////////////////////////////////////////////
+
+
+QString getCurrentTimeString();
+QString getCurrentShortTimeString();
+
+std::vector splitString(const QString& str, char delimiter);
+
+
+
+/////////////////////////////// »ù±¾Í¼ÏñÀà ½áÊø //////////////////////////////////////////////////////////
+
+string Convert(float Num);
+QString JoinPath(const QString& path, const QString& filename);
+
+////////////////////////////// ×ø±ê²¿·Ö»ù±¾·½·¨ //////////////////////////////////////////
+
+
+////////////////////////////// ×ø±ê²¿·Ö»ù±¾·½·¨ //////////////////////////////////////////
+
+
+////////////////////////////// ²åÖµ ////////////////////////////////////////////
+
+complex Cubic_Convolution_interpolation(double u, double v, Eigen::MatrixX> img);
+
+complex Cubic_kernel_weight(double s);
+
+double Bilinear_interpolation(Landpoint p0, Landpoint p11, Landpoint p21, Landpoint p12, Landpoint p22);
+
+bool onSegment(Point_3d Pi, Point_3d Pj, Point_3d Q);
+
+Point_3d invBilinear(Point_3d p, Point_3d a, Point_3d b, Point_3d c, Point_3d d);
+
+
+
+//
+// WGS84 µ½J2000 ×ø±êϵµÄ±ä»»
+// ²Î¿¼ÍøÖ·£ºhttps://blog.csdn.net/hit5067/article/details/116894616
+// ×ÊÁÏÍøÖ·£ºhttp://celestrak.org/spacedata/
+// ²ÎÊýÎļþ£º
+// a. Earth Orientation Parameter Îļþ£º http://celestrak.org/spacedata/EOP-Last5Years.csv
+// b. Space Weather Data Îļþ£º http://celestrak.org/spacedata/SW-Last5Years.csv
+// ±¸×¢£ºÉÏÊöÎļþÊÇ×Ô2017Äê-ÎåÄêÄÚ
+/**
+ÔÚwgs84 ×ø±êϵתµ½J2000 ×ø±êϵ Ö÷Òª Éæ¼°µ½×ø±êµÄÏ໥ת»»¡£Ò»°ã¸ø¶¨µÄWGS×ø±êΪ ¸ø¶¨Ê±¿ÌµÄ t ,BLH
+ת»»²½Ö裺
+step 1: WGS 84 ת»»µ½ÐÒ鵨Çò×ø±êϵ
+step 2: ÐÒ鵨Çò×ø±êϵ ת»»ÎªË²Ê±µØÇò×ø±êϵ
+step 3: ˲ʱµØÇò×ø±êϵ ת»»Îª Ë²Ê±ÕæÌìÇò×ø±êϵ
+step 4: Ë²Ê±ÕæÌìÇò×ø±êϵ תµ½Ë²Ê±Æ½ÌìÇò ×ø±êϵ
+step 5: ˲ʱƽÌìÇò×ø±êϵת»»ÎªÐÒéÌìÇò×ø±êϵ£¨J2000£©
+**/
+
+
+double sind(double degree);
+
+double cosd(double d);
+
+#endif
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/FileOperator.cpp b/src/LAMPTool/BaseToollib/FileOperator.cpp
new file mode 100644
index 0000000..7ce44bb
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/FileOperator.cpp
@@ -0,0 +1,188 @@
+#include "FileOperator.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+std::vector getFilelist(const QString& folderpath, const QString& filenameExtension, int (*logfun)(QString logtext, int value))
+{
+ QString filenameExtensionStr = filenameExtension;
+ filenameExtensionStr = filenameExtensionStr.remove(0, 1);
+ std::vector filenames(0);
+ if (isExists(folderpath) && isDirectory(folderpath)) {
+ QDir directory(folderpath);
+ if (directory.exists() && directory.isReadable()) {
+ QFileInfoList fileList = directory.entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
+ for (const QFileInfo& fileInfo : fileList) {
+ qDebug() << fileInfo.filePath() + "\nExtension: (" + filenameExtensionStr + ", " + fileInfo.suffix() + ")";
+ if (filenameExtensionStr == u8"*" || filenameExtensionStr == fileInfo.suffix()) {
+ filenames.push_back(fileInfo.filePath());
+ }
+ if (logfun) {
+ logfun(fileInfo.filePath() + "\nExtension: (" + filenameExtensionStr + ", " + fileInfo.suffix() + ")", 4);
+ }
+ }
+ }
+ else {
+ qWarning() << "Folder does not exist or is not readable: " << folderpath;
+ }
+ return filenames;
+ }
+ else {
+ return std::vector(0);
+ }
+
+}
+
+QString getParantFolderNameFromPath(const QString& path)
+{
+ QDir directory(path);
+ directory.cdUp();
+ QString parentPath = directory.absolutePath();
+ return directory.dirName();
+}
+
+QString getParantFromPath(const QString& path)
+{
+ //qDebug() << path;
+ QDir directory(path);
+ directory.cdUp();
+ QString parentPath = directory.absolutePath();
+ //qDebug() << parentPath;
+ return parentPath;
+}
+
+QString getFileNameFromPath(const QString& path)
+{
+ QFileInfo fileInfo(path);
+ return fileInfo.fileName();
+}
+
+bool isDirectory(const QString& path)
+{
+ QFileInfo fileinfo(path);
+ return fileinfo.isDir();
+}
+
+bool isExists(const QString& path)
+{
+ QFileInfo fileinfo(path);
+ return fileinfo.exists();
+}
+
+bool isFile(const QString& path)
+{
+ QFileInfo fileinfo(path);
+ return fileinfo.isFile();
+}
+
+int write_binfile(char* filepath, char* data, size_t data_len)
+{
+ FILE* pd = fopen(filepath, "w");
+ if (NULL == pd) {
+ return 2;
+ }
+ //Êý¾Ý¿éÊ×µØÖ·: "&a"£¬ÔªËØ´óС: "sizeof(unsigned __int8)"£¬ ÔªËØ¸öÊý: "10"£¬ ÎļþÖ¸Õ룺"pd"
+ fwrite(data, sizeof(char), data_len, pd);
+ fclose(pd);
+ return -1;
+}
+
+char* read_textfile(char* text_path, int* length)
+{
+ char* data = NULL;
+ FILE* fp1 = fopen(text_path, "r");
+ if (fp1 == NULL) {
+ return NULL;
+ }
+ else {}
+ // ¶ÁÈ¡Îļþ
+ fseek(fp1, 0, SEEK_END);
+ int data_length = ftell(fp1);
+ data = (char*)malloc((data_length + 1) * sizeof(char));
+ rewind(fp1);
+ if (data_length == fread(data, sizeof(char), data_length, fp1)) {
+ data[data_length] = '\0'; // Îļþβ
+ }
+ else {
+ free(data);
+ fclose(fp1);
+ return NULL;
+ }
+ fclose(fp1);
+ *length = data_length + 1;
+ return data;
+}
+
+bool exists_test(const QString& name)
+{
+ return isExists(name);
+}
+
+size_t fsize(FILE* fp)
+{
+ size_t n;
+ fpos_t fpos; // µ±Ç°Î»ÖÃ
+ fgetpos(fp, &fpos); // »ñÈ¡µ±Ç°Î»ÖÃ
+ fseek(fp, 0, SEEK_END);
+ n = ftell(fp);
+ fsetpos(fp, &fpos); // »Ö¸´Ö®Ç°µÄλÖÃ
+ return n;
+}
+
+
+void removeFile(const QString& filePath)
+{
+ QFile file(filePath);
+
+ if (file.exists()) {
+ if (file.remove()) {
+ qDebug() << "File removed successfully: " << filePath;
+ }
+ else {
+ qWarning() << "Failed to remove file: " << filePath;
+ }
+ }
+ else {
+ qDebug() << "File does not exist: " << filePath;
+ }
+}
+
+unsigned long convertToULong(const QString& input) {
+ bool ok; // Used to check if the conversion was successful
+ unsigned long result = input.toULong(&ok);
+
+ if (!ok) {
+ qWarning() << "Conversion to unsigned long failed for input: " << input;
+ }
+
+ return result;
+}
+
+
+
+void copyFile(const QString& sourcePath, const QString& destinationPath) {
+ QFile sourceFile(sourcePath);
+ QFile destinationFile(destinationPath);
+
+ if (sourceFile.exists()) {
+ if (sourceFile.copy(destinationPath)) {
+ // ¸´ÖƳɹ¦
+ //QMessageBox::information(nullptr, u8"³É¹¦", u8"Îļþ¸´ÖƳɹ¦");
+ }
+ else {
+ // ¸´ÖÆÊ§°Ü
+ QMessageBox::critical(nullptr, u8"´íÎó", u8"Îļþ¸´ÖÆÊ§°Ü");
+ }
+ }
+ else {
+ // Ô´Îļþ²»´æÔÚ
+ QMessageBox::warning(nullptr, u8"¾¯¸æ", u8"Ô´Îļþ²»´æÔÚ");
+ }
+}
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/FileOperator.h b/src/LAMPTool/BaseToollib/FileOperator.h
new file mode 100644
index 0000000..a823f0f
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/FileOperator.h
@@ -0,0 +1,50 @@
+#pragma once
+
+#ifndef FILEOPERATOR_H
+#define FILEOPERATOR_H
+
+#include "referenceHeader.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+bool isDirectory(const QString& path);
+bool isExists(const QString& path);
+bool isFile(const QString& path);
+void removeFile(const QString& filePath);
+unsigned long convertToULong(const QString& input);
+///
+/// »ñÈ¡Îļþ(¾ø¶Ô·¾¶£©
+///
+///
+///
+///
+std::vector getFilelist(const QString& folderpath, const QString& FilenameExtension = ".*",int (*logfun)(QString logtext,int value)=nullptr);
+
+QString getParantFolderNameFromPath(const QString& path);
+
+QString getFileNameFromPath(const QString& path);
+
+int write_binfile(char* filepath, char* data, size_t data_len);
+
+char* read_textfile(char* text_path, int* length);
+
+bool exists_test(const QString& name);
+
+size_t fsize(FILE* fp);
+
+QString getParantFromPath(const QString& path);
+void copyFile(const QString& sourcePath, const QString& destinationPath);
+// QT FileOperator
+#endif
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/GeoOperator.cpp b/src/LAMPTool/BaseToollib/GeoOperator.cpp
new file mode 100644
index 0000000..d515e3a
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/GeoOperator.cpp
@@ -0,0 +1,271 @@
+#include "GeoOperator.h"
+#include
+#include
+#include
+#include
+//#include
+#include
+#include
+#include < io.h >
+#include < stdio.h >
+#include < stdlib.h >
+#include
+#include
+#include
+//#include
+#include //#include "ogrsf_frmts.h"
+#include
+#include
+
+using namespace std;
+using namespace Eigen;
+
+
+Landpoint operator +(const Landpoint& p1, const Landpoint& p2)
+{
+ return Landpoint{ p1.lon + p2.lon,p1.lat + p2.lat,p1.ati + p2.ati };
+}
+
+Landpoint operator -(const Landpoint& p1, const Landpoint& p2)
+{
+ return Landpoint{ p1.lon - p2.lon,p1.lat - p2.lat,p1.ati - p2.ati };
+}
+
+bool operator ==(const Landpoint& p1, const Landpoint& p2)
+{
+ return p1.lat == p2.lat && p1.lon == p2.lon && p1.ati == p2.ati;
+}
+
+
+
+Landpoint operator *(const Landpoint& p, double scale)
+{
+ return Landpoint{
+ p.lon * scale,
+ p.lat * scale,
+ p.ati * scale
+ };
+}
+
+
+Landpoint LLA2XYZ(const Landpoint& LLA) {
+ double L = LLA.lon * d2r;
+ double B = LLA.lat * d2r;
+ double H = LLA.ati;
+
+ double sinB = sin(B);
+ double cosB = cos(B);
+
+ //double N = a / sqrt(1 - e * e * sin(B) * sin(B));
+ double N = a / sqrt(1 - eSquare * sinB * sinB);
+ Landpoint result = { 0,0,0 };
+ result.lon = (N + H) * cosB * cos(L);
+ result.lat = (N + H) * cosB * sin(L);
+ //result.z = (N * (1 - e * e) + H) * sin(B);
+ result.ati = (N * (1 - 1 / f_inverse) * (1 - 1 / f_inverse) + H) * sinB;
+ return result;
+}
+
+
+Eigen::MatrixXd LLA2XYZ(Eigen::MatrixXd landpoint)
+{
+ landpoint.col(0) = landpoint.col(0).array() * d2r; // lon
+ landpoint.col(1) = landpoint.col(1).array() * d2r; // lat
+
+ Eigen::MatrixXd sinB = (landpoint.col(1).array().sin());//lat
+ Eigen::MatrixXd cosB = (landpoint.col(1).array().cos());//lat
+
+ Eigen::MatrixXd N = a / ((1 - sinB.array().pow(2) * eSquare).array().sqrt());
+ Eigen::MatrixXd result(landpoint.rows(), 3);
+
+ result.col(0) = (N.array() + landpoint.col(2).array()) * cosB.array() * Eigen::cos(landpoint.col(0).array()).array(); //x
+ result.col(1) = (N.array() + landpoint.col(2).array()) * cosB.array() * Eigen::sin(landpoint.col(0).array()).array(); //y
+
+ result.col(2) = (N.array() * (1 - 1 / f_inverse) * (1 - 1 / f_inverse) + landpoint.col(2).array()) * sinB.array(); //z
+
+ return result;
+}
+
+
+Landpoint XYZ2LLA(const Landpoint& XYZ) {
+ double tmpX = XYZ.lon;//
+ double temY = XYZ.lat;//
+ double temZ = XYZ.ati;
+
+ double curB = 0;
+ double N = 0;
+ double sqrtTempXY = sqrt(tmpX * tmpX + temY * temY);
+ double calB = atan2(temZ, sqrtTempXY);
+ int counter = 0;
+ double sinCurB = 0;
+ while (abs(curB - calB) * r2d > epsilon && counter < 25)
+ {
+ curB = calB;
+ sinCurB = sin(curB);
+ N = a / sqrt(1 - eSquare * sinCurB * sinCurB);
+ calB = atan2(temZ + N * eSquare * sinCurB, sqrtTempXY);
+ counter++;
+ }
+
+ Landpoint result = { 0,0,0 };
+ result.lon = atan2(temY, tmpX) * r2d;
+ result.lat = curB * r2d;
+ result.ati = temZ / sinCurB - N * (1 - eSquare);
+ return result;
+}
+
+
+
+
+double getAngle(const Landpoint& a, const Landpoint& b)
+{
+ double c = dot(a, b) / (getlength(a) * getlength(b));
+ if (a.lon * b.lat - a.lat * b.lon >= 0) {
+ return acos(c > 1 ? 1 : c < -1 ? -1 : c) * r2d;
+ }
+ else {
+ return 360 - acos(c > 1 ? 1 : c < -1 ? -1 : c) * r2d;
+ }
+}
+
+double dot(const Landpoint& p1, const Landpoint& p2)
+{
+ return p1.lat * p2.lat + p1.lon * p2.lon + p1.ati * p2.ati;
+}
+
+double getlength(const Landpoint& p1) {
+
+ return sqrt(dot(p1, p1));
+}
+
+Landpoint crossProduct(const Landpoint& a, const Landpoint& b) {
+ return Landpoint{
+ a.lat * b.ati - a.ati * b.lat,//x
+ a.ati * b.lon - a.lon * b.ati,//y
+ a.lon * b.lat - a.lat * b.lon//z
+ };
+}
+
+float cross2d(Point_3d a, Point_3d b)
+{
+ return a.x * b.y - a.y * b.x;
+}
+
+Point_3d operator -(Point_3d a, Point_3d b)
+{
+ return Point_3d{ a.x - b.x, a.y - b.y, a.z - b.z };
+}
+
+Point_3d operator +(Point_3d a, Point_3d b)
+{
+ return Point_3d{ a.x + b.x, a.y + b.y, a.z + b.z };
+}
+
+double operator /(Point_3d a, Point_3d b)
+{
+ return sqrt(pow(a.x, 2) + pow(a.y, 2)) / sqrt(pow(b.x, 2) + pow(b.y, 2));
+}
+
+
+Landpoint getSlopeVector(const Landpoint& p0, const Landpoint& p1, const Landpoint& p2, const Landpoint& p3, const Landpoint& p4) {
+
+ Landpoint n0 = LLA2XYZ(p0),
+ n1 = LLA2XYZ(p1),
+ n2 = LLA2XYZ(p2),
+ n3 = LLA2XYZ(p3),
+ n4 = LLA2XYZ(p4);
+ Landpoint n01 = n1 - n0, n02 = n2 - n0, n03 = n3 - n0, n04 = n4 - n0;
+ // ��n01��������
+ Landpoint np01 = p1 - p0, np02 = p2 - p0, np03 = p3 - p0, np04 = p4 - p0;
+ double a2 = getAngle(Landpoint{ np01.lon,np01.lat,0 }, Landpoint{ np02.lon,np02.lat,0 });// 01->02 ��ʱ��
+ double a3 = getAngle(Landpoint{ np01.lon,np01.lat,0 }, Landpoint{ np03.lon,np03.lat,0 });// 01->03 ��ʱ��
+ double a4 = getAngle(Landpoint{ np01.lon,np01.lat,0 }, Landpoint{ np04.lon,np04.lat,0 });// 01->04 ��ʱ��
+ //qDebug() << a2 << "\t" << a3 << "\t" << a4 << endl;
+ a2 = 360 - a2;
+ a3 = 360 - a3;
+ a4 = 360 - a4;
+ Landpoint N, W, S, E;
+ N = n01;
+ if (a2 >= a3 && a2 >= a4) {
+ W = n02;
+ if (a3 >= a4) {
+ S = n03;
+ E = n04;
+ }
+ else {
+ S = n04;
+ E = n03;
+ }
+ }
+ else if (a3 >= a2 && a3 >= a4) {
+ W = n03;
+ if (a2 >= a4) {
+ S = n02;
+ E = n04;
+ }
+ else {
+ S = n04;
+ E = n02;
+ }
+ }
+ else if (a4 >= a2 && a4 >= a3)
+ {
+ W = n04;
+ if (a2 >= a3) {
+ S = n02;
+ E = n03;
+ }
+ else {
+ S = n03;
+ E = n02;
+ }
+ }
+ return (crossProduct(N, W) + crossProduct(W, S) + crossProduct(S, E) + crossProduct(E, N)) * 0.25;
+}
+
+
+
+double distance(const Vector3D& p1, const Vector3D& p2)
+{
+ double dx = p1.x - p2.x;
+ double dy = p1.y - p2.y;
+ double dz = p1.z - p2.z;
+ return std::sqrt(dx * dx + dy * dy + dz * dz);
+}
+
+double pointToLineDistance(const Vector3D& point, const Vector3D& linePoint, const Vector3D& lineDirection)
+{
+ Vector3D pointToLine = { point.x - linePoint.x, point.y - linePoint.y, point.z - linePoint.z };
+
+ // 计算点到直线的投影点的ä½ç½®
+ double t = (pointToLine.x * lineDirection.x + pointToLine.y * lineDirection.y + pointToLine.z * lineDirection.z) /
+ (lineDirection.x * lineDirection.x + lineDirection.y * lineDirection.y + lineDirection.z * lineDirection.z);
+
+ // 计算投影点
+ Vector3D projection = { linePoint.x + t * lineDirection.x, linePoint.y + t * lineDirection.y, linePoint.z + t * lineDirection.z };
+
+ // 计算点到直线的è·ç¦»
+ return distance(point, projection);
+}
+
+SphericalCoordinates cartesianToSpherical(const CartesianCoordinates& cartesian)
+{
+ SphericalCoordinates spherical;
+
+ spherical.r = std::sqrt(cartesian.x * cartesian.x + cartesian.y * cartesian.y + cartesian.z * cartesian.z);
+ spherical.theta = std::acos(cartesian.z / spherical.r);
+ spherical.phi = std::atan2(cartesian.y, cartesian.x);
+
+ return spherical;
+}
+
+CartesianCoordinates sphericalToCartesian(const SphericalCoordinates& spherical)
+{
+ CartesianCoordinates cartesian;
+
+ cartesian.x = spherical.r * std::sin(spherical.theta) * std::cos(spherical.phi);
+ cartesian.y = spherical.r * std::sin(spherical.theta) * std::sin(spherical.phi);
+ cartesian.z = spherical.r * std::cos(spherical.theta);
+
+ return cartesian;
+}
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/GeoOperator.h b/src/LAMPTool/BaseToollib/GeoOperator.h
new file mode 100644
index 0000000..51dd1dd
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/GeoOperator.h
@@ -0,0 +1,111 @@
+#pragma once
+
+
+#ifndef GEOOPERATOR_H
+#define GEOOPERATOR_H
+
+#include "BaseConstVariable.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+///
+/// ÈýάÏòÁ¿£¬×ø±ê±í´ï
+///
+struct Landpoint // µã SARÓ°ÏñµÄÏñËØ×ø±ê£»
+{
+ ///
+ /// ¾¶Èx
+ ///
+ double lon; // ¾¶Èx lon pixel_col
+ ///
+ /// γ¶Èy
+ ///
+ double lat; // γ¶Èy lat pixel_row
+ ///
+ /// ¸ß¶Èz
+ ///
+ double ati; // ¸ß³Ìz ati pixel_time
+};
+struct Point_3d {
+ double x;
+ double y;
+ double z;
+};
+
+///
+/// ½«¾Î³¶Èת»»ÎªµØ¹Ì²ÎÐÄ×ø±êϵ
+///
+/// ¾Î³¶Èµã--degree
+/// Í¶Ó°×ø±êϵµã
+Landpoint LLA2XYZ(const Landpoint& LLA);
+Eigen::MatrixXd LLA2XYZ(Eigen::MatrixXd landpoint);
+
+///
+/// ½«µØ¹Ì²ÎÐÄ×ø±êϵת»»Îª¾Î³¶È
+///
+/// ¹Ì²ÎÐÄ×ø±êϵ
+/// ¾Î³¶È--degree
+Landpoint XYZ2LLA(const Landpoint& XYZ);
+
+
+Landpoint operator +(const Landpoint& p1, const Landpoint& p2);
+
+Landpoint operator -(const Landpoint& p1, const Landpoint& p2);
+
+bool operator ==(const Landpoint& p1, const Landpoint& p2);
+
+Landpoint operator *(const Landpoint& p, double scale);
+
+double getAngle(const Landpoint& a, const Landpoint& b);
+
+double dot(const Landpoint& p1, const Landpoint& p2);
+
+double getlength(const Landpoint& p1);
+
+Landpoint crossProduct(const Landpoint& a, const Landpoint& b);
+
+
+Landpoint getSlopeVector(const Landpoint& p0, const Landpoint& p1, const Landpoint& p2, const Landpoint& p3, const Landpoint& p4);
+
+
+
+float cross2d(Point_3d a, Point_3d b);
+
+Point_3d operator -(Point_3d a, Point_3d b);
+
+Point_3d operator +(Point_3d a, Point_3d b);
+
+double operator /(Point_3d a, Point_3d b);
+
+
+
+// ʸÁ¿¼ÆËã
+struct Vector3D {
+ double x, y, z;
+};
+
+// ¼ÆËãÁ½µãÖ®¼äµÄ¾àÀë
+double distance(const Vector3D& p1, const Vector3D& p2);
+// ¼ÆËãµãµ½Ö±ÏßµÄ×î¶Ì¾àÀë
+double pointToLineDistance(const Vector3D& point, const Vector3D& linePoint, const Vector3D& lineDirection);
+
+
+struct CartesianCoordinates {
+ double x, y, z;
+};
+
+struct SphericalCoordinates {
+ double r, theta, phi;
+};
+
+SphericalCoordinates cartesianToSpherical(const CartesianCoordinates& cartesian);
+
+CartesianCoordinates sphericalToCartesian(const SphericalCoordinates& spherical);
+
+
+#endif
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/ImageOperatorBase.cpp b/src/LAMPTool/BaseToollib/ImageOperatorBase.cpp
new file mode 100644
index 0000000..6ea06d2
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/ImageOperatorBase.cpp
@@ -0,0 +1,1239 @@
+#include "ImageOperatorBase.h"
+#include "GeoOperator.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "FileOperator.h"
+
+using namespace std;
+using namespace Eigen;
+
+/**
+* ÊäÈëÊý¾ÝÊÇENVI¸ñʽÊý¾Ý
+*/
+
+
+
+
+
+
+std::shared_ptr OpenDataset(const QString& in_path,GDALAccess rwmode)
+{
+ GDALAllRegister();
+ GDALDataset* dataset_ptr = (GDALDataset*)(GDALOpen(in_path.toUtf8().constData(), rwmode));
+ std::shared_ptr rasterDataset(dataset_ptr, CloseDataset);
+ return rasterDataset;
+}
+
+void CloseDataset(GDALDataset* ptr)
+{
+ GDALClose(ptr);
+ ptr = NULL;
+}
+
+int TIFF2ENVI(QString in_tiff_path, QString out_envi_path)
+{
+ std::shared_ptr ds = OpenDataset(in_tiff_path);
+ const char* args[] = { "-of", "ENVI", NULL };
+ GDALTranslateOptions* psOptions = GDALTranslateOptionsNew((char**)args, NULL);
+ GDALClose(GDALTranslate(out_envi_path.toUtf8().constData(),ds.get(), psOptions,NULL));
+ GDALTranslateOptionsFree(psOptions);
+ return 0;
+}
+
+int ENVI2TIFF(QString in_envi_path, QString out_tiff_path)
+{
+ std::shared_ptr ds = OpenDataset(in_envi_path);
+ const char* args[] = { "-of", "Gtiff", NULL };
+ GDALTranslateOptions* psOptions = GDALTranslateOptionsNew((char**)args, NULL);
+ GDALClose(GDALTranslate(out_tiff_path.toUtf8().constData(), ds.get(), psOptions, NULL));
+ GDALTranslateOptionsFree(psOptions);
+ return 0;
+}
+
+int CreateDataset(QString new_file_path,int height, int width, int band_num,double* gt, QString projection, GDALDataType gdal_dtype ,bool need_gt)
+{
+ GDALAllRegister();
+ GDALDriver* poDriver = GetGDALDriverManager()->GetDriverByName("ENVI");
+ std::shared_ptr< GDALDataset> poDstDS(poDriver->Create(new_file_path.toUtf8().constData(), width, height, band_num, gdal_dtype, NULL));
+ if (need_gt)
+ {
+ poDstDS->SetProjection(projection.toUtf8().constData());
+ poDstDS->SetGeoTransform(gt);
+ }
+ else {}
+ GDALFlushCache((GDALDatasetH)poDstDS.get());
+ return 0;
+}
+
+int saveDataset(QString new_file_path, int start_line,int start_cols ,int band_ids, int datacols,int datarows,void* databuffer)
+{
+ GDALAllRegister();
+ std::shared_ptr poDstDS = OpenDataset(new_file_path,GA_Update);
+ GDALDataType gdal_datatype = poDstDS->GetRasterBand(1)->GetRasterDataType();
+ poDstDS->GetRasterBand(band_ids)->RasterIO(GF_Write, start_cols, start_line, datacols, datarows, databuffer, datacols, datarows, gdal_datatype, 0, 0);
+ GDALFlushCache(poDstDS.get());
+ return 0;
+}
+
+int block_num_pre_memory(int block_width, int height, GDALDataType gdal_datatype,double memey_size)
+{
+ // ¼ÆËã´óС
+ int size_meta = 0;
+
+ if (gdal_datatype == GDT_Byte) {
+ size_meta = 1;
+ }
+ else if (gdal_datatype == GDT_UInt16) {
+ size_meta = 2; // Ö»ÓÐ˫ͨµÀ²ÅÄܹ¹½¨ ¸´Êý¾ØÕó
+ }
+ else if (gdal_datatype == GDT_UInt16) {
+ size_meta = 2;
+ }
+ else if (gdal_datatype == GDT_Int16) {
+ size_meta = 2;
+ }
+ else if (gdal_datatype == GDT_UInt32) {
+ size_meta = 4;
+ }
+ else if (gdal_datatype == GDT_Int32) {
+ size_meta = 4;
+ }
+ //else if (gdal_datatype == GDT_UInt64) {
+ // size_meta = 8;
+ //}
+ //else if (gdal_datatype == GDT_Int64) {
+ // size_meta = 8;
+ //}
+ else if (gdal_datatype == GDT_Float32) {
+ size_meta = 4;
+ }
+ else if (gdal_datatype == GDT_Float64) {
+ size_meta = 4;
+ }
+ else if (gdal_datatype == GDT_CInt16) { size_meta = 2; }
+ else if (gdal_datatype == GDT_CInt32) { size_meta = 2; }
+ else if (gdal_datatype == GDT_CFloat32) { size_meta = 4; }
+ else if (gdal_datatype == GDT_CFloat64) { size_meta = 8; }
+ else {}
+ int block_num = int(memey_size / (size_meta * block_width));
+ block_num = block_num > height ? height : block_num; // ÐÐÊý
+ block_num = block_num < 1 ? 1 : block_num;
+ return block_num;
+}
+
+Eigen::Matrix ReadComplexMatrixData(int start_line, int width, int line_num, std::shared_ptr rasterDataset, GDALDataType gdal_datatype)
+{
+
+ int band_num = rasterDataset->GetRasterCount();
+ if (gdal_datatype == 0) {
+ return Eigen::Matrix (0, 0);
+ }
+ else if (gdal_datatype < 8) {
+ if (band_num != 2) {
+ return Eigen::Matrix(0, 0);
+ }
+ }
+ else if (gdal_datatype < 12) {
+ if (band_num != 1) {
+ return Eigen::Matrix(0, 0);
+ }
+
+ }
+ else {}
+ bool _flag = false;
+ Eigen::Matrix data_mat(line_num * width, 2);// ±ØÐëÇ¿ÖÆÐÐÓÅÏÈ
+ if (gdal_datatype == GDT_Byte) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ Eigen::MatrixX imag_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ data_mat.col(0) = (real_mat.array().cast()).array();
+ data_mat.col(1) = (imag_mat.array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_UInt16) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ Eigen::MatrixX imag_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ data_mat.col(0) = (real_mat.array().cast()).array();
+ data_mat.col(1) = (imag_mat.array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_Int16) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ Eigen::MatrixX imag_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ data_mat.col(0) = (real_mat.array().cast()).array();
+ data_mat.col(1) = (imag_mat.array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_UInt32) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ Eigen::MatrixX imag_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ data_mat.col(0) = (real_mat.array().cast()).array();
+ data_mat.col(1) = (imag_mat.array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_Int32) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ Eigen::MatrixX imag_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ data_mat.col(0) = (real_mat.array().cast()).array();
+ data_mat.col(1) = (imag_mat.array().cast()).array();
+ _flag = true;
+ }
+ //else if (gdal_datatype == GDT_UInt64) {
+ // Eigen::MatrixX real_mat(line_num * width, 1);
+ // Eigen::MatrixX imag_mat(line_num * width, 1);
+ // rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ // rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ // data_mat.col(0) = (real_mat.array().cast()).array();
+ // data_mat.col(1) = (imag_mat.array().cast()).array();
+ // _flag = true;
+ //}
+ //else if (gdal_datatype == GDT_Int64) {
+ // Eigen::MatrixX real_mat(line_num * width, 1);
+ // Eigen::MatrixX imag_mat(line_num * width, 1);
+ // rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ // rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ // data_mat.col(0) = (real_mat.array().cast()).array();
+ // data_mat.col(1) = (imag_mat.array().cast()).array();
+ // _flag = true;
+ //}
+ else if (gdal_datatype == GDT_Float32) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ Eigen::MatrixX imag_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ data_mat.col(0) = (real_mat.array().cast()).array();
+ data_mat.col(1) = (imag_mat.array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_Float64) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ Eigen::MatrixX imag_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ rasterDataset->GetRasterBand(2)->RasterIO(GF_Read, 0, start_line, width, line_num, imag_mat.data(), width, line_num, gdal_datatype, 0, 0); // imag
+ data_mat.col(0) = (real_mat.array().cast()).array();
+ data_mat.col(1) = (imag_mat.array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_CInt16) {
+ Eigen::MatrixX> complex_short_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, complex_short_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = (complex_short_mat.real().array().cast()).array();
+ data_mat.col(1) = (complex_short_mat.imag().array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_CInt32) {
+ Eigen::MatrixX> complex_short_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, complex_short_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = (complex_short_mat.real().array().cast()).array();
+ data_mat.col(1) = (complex_short_mat.imag().array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_CFloat32) {
+ Eigen::MatrixX> complex_short_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, complex_short_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = (complex_short_mat.real().array().cast()).array();
+ data_mat.col(1) = (complex_short_mat.imag().array().cast()).array();
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_CFloat64) {
+ Eigen::MatrixX> complex_short_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(1)->RasterIO(GF_Read, 0, start_line, width, line_num, complex_short_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = (complex_short_mat.real().array().cast()).array();
+ data_mat.col(1) = (complex_short_mat.imag().array().cast()).array();
+ _flag = true;
+ }
+ else {}
+ // ±£´æÊý¾Ý
+
+
+ if (_flag) {
+ return data_mat;
+ }
+ else {
+ return Eigen::Matrix(0, 0);// ±ØÐëÇ¿ÖÆÐÐÓÅÏÈ;
+ }
+}
+
+Eigen::Matrix ReadMatrixDoubleData(int start_line, int width, int line_num, std::shared_ptr rasterDataset, GDALDataType gdal_datatype, int band_idx)
+{
+ // ¹¹½¨¾ØÕó¿é£¬Ê¹ÓÃeigen ½øÐоØÕó¼ÆË㣬¼ÓËÙ¼ÆËã
+ bool _flag = false;
+ Eigen::Matrix data_mat(line_num * width, 1);// ±ØÐëÇ¿ÖÆÐÐÓÅÏÈ
+ if (gdal_datatype == GDT_Byte) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_UInt16) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_Int16) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_UInt32) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_Int32) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ _flag = true;
+ }
+ //else if (gdal_datatype == GDT_UInt64) {
+ // Eigen::MatrixX real_mat(line_num * width, 1);
+ // rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ // data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ // _flag = true;
+ //}
+ //else if (gdal_datatype == GDT_Int64) {
+ // Eigen::MatrixX real_mat(line_num * width, 1);
+ // rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ // data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ // _flag = true;
+ //}
+ else if (gdal_datatype == GDT_Float32) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ _flag = true;
+ }
+ else if (gdal_datatype == GDT_Float64) {
+ Eigen::MatrixX real_mat(line_num * width, 1);
+ rasterDataset->GetRasterBand(band_idx)->RasterIO(GF_Read, 0, start_line, width, line_num, real_mat.data(), width, line_num, gdal_datatype, 0, 0); // real
+ data_mat.col(0) = ((real_mat.array().cast()).array().pow(2)).log10() * 10.0;
+ _flag = true;
+ }
+ else {}
+
+
+ return data_mat;
+}
+
+Eigen::MatrixXd getGeoTranslationArray(QString in_path)
+{
+
+
+
+ return Eigen::MatrixXd();
+}
+
+ImageGEOINFO getImageINFO(QString in_path)
+{
+ std::shared_ptr df = OpenDataset(in_path);
+ int width = df->GetRasterXSize();
+ int heigh = df->GetRasterYSize();
+ int band_num = df->GetRasterCount();
+ ImageGEOINFO result;
+ result.width = width;
+ result.height = heigh;
+ result.bandnum = band_num;
+
+ return result;
+}
+
+GDALDataType getGDALDataType(QString fileptah)
+{
+ omp_lock_t lock;
+ omp_init_lock(&lock);
+ omp_set_lock(&lock);
+ GDALAllRegister();
+
+ GDALDataset* rasterDataset = (GDALDataset*)(GDALOpen(fileptah.toUtf8().constData(), GA_ReadOnly));//��ֻ½ï¿½Ê½ï¿½ï¿½È¡½ï¿½Ó°ï¿½ï¿½
+
+ GDALDataType gdal_datatype = rasterDataset->GetRasterBand(1)->GetRasterDataType();
+
+ GDALClose((GDALDatasetH)rasterDataset);
+ omp_unset_lock(&lock); //�ͷŻ�½ï¿½
+ omp_destroy_lock(&lock); //½Ù»ï¿½½ï¿½
+
+ return gdal_datatype;
+}
+
+
+gdalImage::gdalImage()
+{
+ this->height = 0;
+ this->width = 0;
+ this->data_band_ids = 1;
+ this->start_row = 0;
+ this->start_col = 0;
+}
+
+///
+/// ½ï¿½Í¼½È¡Ó°ï¿½ï¿?1ï¿?7
+///
+///
+gdalImage::gdalImage(const QString& raster_path)
+{
+ omp_lock_t lock;
+ omp_init_lock(&lock); // ��ʼ½ï¿½½ï¿½
+ omp_set_lock(&lock); //��û½ï¿½ï¿?1ï¿?7
+ this->img_path = raster_path;
+
+ GDALAllRegister();// ×¢½Ê½ï¿½½ï¿½ï¿?1ï¿?7
+ // ��DEMӰ��
+ GDALDataset* rasterDataset = (GDALDataset*)(GDALOpen(raster_path.toUtf8().constData(), GA_ReadOnly));//��ֻ½ï¿½Ê½ï¿½ï¿½È¡½ï¿½Ó°ï¿½ï¿½
+ this->width = rasterDataset->GetRasterXSize();
+ this->height = rasterDataset->GetRasterYSize();
+ this->band_num = rasterDataset->GetRasterCount();
+
+ double* gt = new double[6];
+ // ��÷½ï¿½ï¿½ï¿½
+ rasterDataset->GetGeoTransform(gt);
+ this->gt = Eigen::MatrixXd(2, 3);
+ this->gt << gt[0], gt[1], gt[2], gt[3], gt[4], gt[5];
+
+ this->projection = rasterDataset->GetProjectionRef();
+ // ½ï¿½½ï¿½
+ //double* inv_gt = new double[6];;
+ //GDALInvGeoTransform(gt, inv_gt); // ½ï¿½½ï¿½
+ // ½ï¿½Í¶Ó°
+ GDALFlushCache((GDALDatasetH)rasterDataset);
+ GDALClose((GDALDatasetH)rasterDataset);
+ rasterDataset = NULL;// Ö¸½Ã¿ï¿½
+ this->InitInv_gt();
+ delete[] gt;
+ ////GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ omp_unset_lock(&lock); //�ͷŻ�½ï¿½
+ omp_destroy_lock(&lock); //½Ù»ï¿½½ï¿½
+}
+
+gdalImage::~gdalImage()
+{
+}
+
+void gdalImage::setHeight(int height)
+{
+ this->height = height;
+}
+
+void gdalImage::setWidth(int width)
+{
+ this->width = width;
+}
+
+void gdalImage::setTranslationMatrix(Eigen::MatrixXd gt)
+{
+ this->gt = gt;
+}
+
+void gdalImage::setData(Eigen::MatrixXd, int data_band_ids)
+{
+ this->data = data;
+ this->data_band_ids = data_band_ids;
+}
+
+
+
+Eigen::MatrixXd gdalImage::getData(int start_row, int start_col, int rows_count, int cols_count, int band_ids = 1)
+{
+ omp_lock_t lock;
+ omp_init_lock(&lock);
+ omp_set_lock(&lock);
+ GDALAllRegister();
+
+ GDALDataset* rasterDataset = (GDALDataset*)(GDALOpen(this->img_path.toUtf8().constData(), GA_ReadOnly));//��ֻ½ï¿½Ê½ï¿½ï¿½È¡½ï¿½Ó°ï¿½ï¿½
+
+ GDALDataType gdal_datatype = rasterDataset->GetRasterBand(1)->GetRasterDataType();
+ GDALRasterBand* demBand = rasterDataset->GetRasterBand(band_ids);
+
+ rows_count = start_row + rows_count <= this->height ? rows_count : this->height - start_row;
+ cols_count = start_col + cols_count <= this->width ? cols_count : this->width - start_col;
+
+ MatrixXd datamatrix(rows_count, cols_count);
+
+
+ if (gdal_datatype == GDT_Byte) {
+ char* temp = new char[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ for (int i = 0; i < rows_count; i++) {
+ for (int j = 0; j < cols_count; j++) {
+ datamatrix(i, j) = temp[i * cols_count + j];
+ }
+ }
+ delete[] temp;
+ }
+ else if (gdal_datatype == GDT_UInt16) {
+ unsigned short* temp = new unsigned short[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ for (int i = 0; i < rows_count; i++) {
+ for (int j = 0; j < cols_count; j++) {
+ datamatrix(i, j) = temp[i * cols_count + j];
+ }
+ }
+ delete[] temp;
+ }
+ else if (gdal_datatype == GDT_Int16) {
+ short* temp = new short[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ for (int i = 0; i < rows_count; i++) {
+ for (int j = 0; j < cols_count; j++) {
+ datamatrix(i, j) = temp[i * cols_count + j];
+ }
+ }
+ delete[] temp;
+ }
+ else if (gdal_datatype == GDT_UInt32) {
+ unsigned int* temp = new unsigned int[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ for (int i = 0; i < rows_count; i++) {
+ for (int j = 0; j < cols_count; j++) {
+ datamatrix(i, j) = temp[i * cols_count + j];
+ }
+ }
+ delete[] temp;
+ }
+ else if (gdal_datatype == GDT_Int32) {
+ int* temp = new int[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ for (int i = 0; i < rows_count; i++) {
+ for (int j = 0; j < cols_count; j++) {
+ datamatrix(i, j) = temp[i * cols_count + j];
+ }
+ }
+ delete[] temp;
+ }
+ //else if (gdal_datatype == GDT_UInt64) {
+ // unsigned long* temp = new unsigned long[rows_count * cols_count];
+ // demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ // for (int i = 0; i < rows_count; i++) {
+ // for (int j = 0; j < cols_count; j++) {
+ // datamatrix(i, j) = temp[i * cols_count + j];
+ // }
+ // }
+ // delete[] temp;
+ //}
+ //else if (gdal_datatype == GDT_Int64) {
+ // long* temp = new long[rows_count * cols_count];
+ // demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ // for (int i = 0; i < rows_count; i++) {
+ // for (int j = 0; j < cols_count; j++) {
+ // datamatrix(i, j) = temp[i * cols_count + j];
+ // }
+ // }
+ // delete[] temp;
+ //}
+ else if (gdal_datatype == GDT_Float32) {
+ float* temp = new float[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+
+ for (int i = 0; i < rows_count; i++) {
+ for (int j = 0; j < cols_count; j++) {
+ datamatrix(i, j) = temp[i * cols_count + j];
+ }
+ }
+ delete[] temp;
+ }
+ else if (gdal_datatype == GDT_Float64) {
+ double* temp = new double[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+
+ for (int i = 0; i < rows_count; i++) {
+ for (int j = 0; j < cols_count; j++) {
+ datamatrix(i, j) = temp[i * cols_count + j];
+ }
+ }
+ delete[] temp;
+ }
+ else {}
+ GDALClose((GDALDatasetH)rasterDataset);
+ omp_unset_lock(&lock); //�ͷŻ�½ï¿½
+ omp_destroy_lock(&lock); //½Ù»ï¿½½ï¿½
+ //GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ return datamatrix;
+
+}
+
+Eigen::MatrixXd gdalImage::getGeoTranslation()
+{
+ return this->gt;
+}
+
+GDALDataType gdalImage::getDataType()
+{
+ GDALDataset* rasterDataset = (GDALDataset*)(GDALOpen(this->img_path.toUtf8().constData(), GA_ReadOnly));
+ GDALDataType gdal_datatype = rasterDataset->GetRasterBand(1)->GetRasterDataType();
+ return gdal_datatype;
+}
+
+///
+/// д��ң��Ӱ��
+///
+///
+///
+///
+///
+void gdalImage::saveImage(Eigen::MatrixXd data, int start_row = 0, int start_col = 0, int band_ids = 1)
+{
+ omp_lock_t lock;
+ omp_init_lock(&lock);
+ omp_set_lock(&lock);
+ if (start_row + data.rows() > this->height || start_col + data.cols() > this->width) {
+ QString tip = u8"file path: " + this->img_path;
+ qDebug() << tip;
+ throw exception(tip.toUtf8().constData());
+ }
+ GDALAllRegister();
+ GDALDriver* poDriver = GetGDALDriverManager()->GetDriverByName("GTiff");
+ GDALDataset* poDstDS = nullptr;
+ if (exists_test(this->img_path)) {
+ poDstDS = (GDALDataset*)(GDALOpen(this->img_path.toUtf8().constData(), GA_Update));
+ }
+ else {
+ poDstDS = poDriver->Create(this->img_path.toUtf8().constData(), this->width, this->height, this->band_num, GDT_Float32, NULL); // ½ï¿½ï¿½ï¿½
+ poDstDS->SetProjection(this->projection.toUtf8().constData());
+
+
+ double gt_ptr[6];
+ for (int i = 0; i < this->gt.rows(); i++) {
+ for (int j = 0; j < this->gt.cols(); j++) {
+ gt_ptr[i * 3 + j] = this->gt(i, j);
+ }
+ }
+ poDstDS->SetGeoTransform(gt_ptr);
+ delete[] gt_ptr;
+ }
+
+ int datarows = data.rows();
+ int datacols = data.cols();
+
+ float* databuffer = new float[datarows * datacols];// (float*)malloc(datarows * datacols * sizeof(float));
+
+ for (int i = 0; i < datarows; i++) {
+ for (int j = 0; j < datacols; j++) {
+ float temp = float(data(i, j));
+ databuffer[i * datacols + j] = temp;
+ }
+ }
+ //poDstDS->RasterIO(GF_Write,start_col, start_row, datacols, datarows, databuffer, datacols, datarows, GDT_Float32,band_ids, num,0,0,0);
+ poDstDS->GetRasterBand(band_ids)->RasterIO(GF_Write, start_col, start_row, datacols, datarows, databuffer, datacols, datarows, GDT_Float32, 0, 0);
+
+ GDALFlushCache(poDstDS);
+ GDALClose((GDALDatasetH)poDstDS);
+ //GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ delete[] databuffer;
+ omp_unset_lock(&lock); //�ͷŻ�½ï¿½
+ omp_destroy_lock(&lock); //½Ù»ï¿½½ï¿½
+}
+
+void gdalImage::saveImage()
+{
+ this->saveImage(this->data, this->start_row, this->start_col, this->data_band_ids);
+}
+
+void gdalImage::setNoDataValue(double nodatavalue = -9999, int band_ids = 1)
+{
+ GDALAllRegister();// ×¢½Ê½ï¿½½ï¿½ï¿?1ï¿?7
+ //GDALDriver* poDriver = GetGDALDriverManager()->GetDriverByName("GTiff");
+ GDALDataset* poDstDS = (GDALDataset*)(GDALOpen(img_path.toUtf8().constData(), GA_Update));
+ poDstDS->GetRasterBand(band_ids)->SetNoDataValue(nodatavalue);
+ GDALFlushCache((GDALDatasetH)poDstDS);
+ GDALClose((GDALDatasetH)poDstDS);
+}
+
+int gdalImage::InitInv_gt()
+{
+ //1 lon lat = x
+ //1 lon lat = y
+ Eigen::MatrixXd temp=Eigen::MatrixXd::Zero(2, 3);
+ this->inv_gt = temp;
+ double a = this->gt(0, 0);
+ double b = this->gt(0, 1);
+ double c = this->gt(0, 2);
+ double d = this->gt(1, 0);
+ double e = this->gt(1, 1);
+ double f = this->gt(1, 2);
+ double g = 1;
+ double det_gt = b * f - c * e;
+ if (det_gt == 0) {
+ return 0;
+ }
+ this->inv_gt(0, 0) = (c * d - a * f) / det_gt; //2
+ this->inv_gt(0, 1) = f / det_gt; // lon
+ this->inv_gt(0, 2) = -c / det_gt; // lat
+ this->inv_gt(1, 0) = (a * e - b * d) / det_gt; //1
+ this->inv_gt(1, 1) = -e / det_gt; // lon
+ this->inv_gt(1, 2) = b / det_gt; // lat
+ return 1;
+}
+
+Landpoint gdalImage::getRow_Col(double lon, double lat)
+{
+ Landpoint p{ 0,0,0 };
+ p.lon = this->inv_gt(0, 0) + lon * this->inv_gt(0, 1) + lat * this->inv_gt(0, 2); //x
+ p.lat = this->inv_gt(1, 0) + lon * this->inv_gt(1, 1) + lat * this->inv_gt(1, 2); //y
+ return p;
+}
+
+Landpoint gdalImage::getLandPoint(double row, double col, double ati = 0)
+{
+ Landpoint p{ 0,0,0 };
+ p.lon = this->gt(0, 0) + col * this->gt(0, 1) + row * this->gt(0, 2); //x
+ p.lat = this->gt(1, 0) + col * this->gt(1, 1) + row * this->gt(1, 2); //y
+ p.ati = ati;
+ return p;
+}
+
+double gdalImage::mean(int bandids)
+{
+ double mean_value = 0;
+ double count = this->height * this->width;
+ int line_invert = 100;
+ int start_ids = 0;
+ do {
+ Eigen::MatrixXd sar_a = this->getData(start_ids, 0, line_invert, this->width, bandids);
+ mean_value = mean_value + sar_a.sum() / count;
+ start_ids = start_ids + line_invert;
+ } while (start_ids < this->height);
+ return mean_value;
+}
+
+double gdalImage::max(int bandids)
+{
+ double max_value = 0;
+ bool state_max = true;
+ int line_invert = 100;
+ int start_ids = 0;
+ double temp_max = 0;
+ do {
+ Eigen::MatrixXd sar_a = this->getData(start_ids, 0, line_invert, this->width, bandids);
+ if (state_max) {
+ state_max = false;
+ max_value = sar_a.maxCoeff();
+ }
+ else {
+ temp_max = sar_a.maxCoeff();
+ if (max_value < temp_max) {
+ max_value = temp_max;
+ }
+ }
+ start_ids = start_ids + line_invert;
+ } while (start_ids < this->height);
+ return max_value;
+}
+
+double gdalImage::min(int bandids)
+{
+ double min_value = 0;
+ bool state_min = true;
+ int line_invert = 100;
+ int start_ids = 0;
+ double temp_min = 0;
+ do {
+ Eigen::MatrixXd sar_a = this->getData(start_ids, 0, line_invert, this->width, bandids);
+ if (state_min) {
+ state_min = false;
+ min_value = sar_a.minCoeff();
+ }
+ else {
+ temp_min = sar_a.minCoeff();
+ if (min_value < temp_min) {
+ min_value = temp_min;
+ }
+ }
+ start_ids = start_ids + line_invert;
+ } while (start_ids < this->height);
+ return min_value;
+}
+
+GDALRPCInfo gdalImage::getRPC()
+{
+ CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");
+ CPLSetConfigOption("GDAL_DATA", "./data");
+ GDALAllRegister();//×¢½ï¿½ï¿½ï¿½
+ //½ï¿½ï¿½ï¿½
+ GDALDataset* pDS = (GDALDataset*)GDALOpen(this->img_path.toUtf8().constData(), GA_ReadOnly);
+ //��Ԫ½ï¿½ï¿½Ð»ï¿½È¡RPC��Ϣ
+ char** papszRPC = pDS->GetMetadata("RPC");
+
+ //½ï¿½È¡ï¿½ï¿½RPC��Ϣ½ï¿½É½á¹¹ï¿½ï¿?1ï¿?7
+ GDALRPCInfo oInfo;
+ GDALExtractRPCInfo(papszRPC, &oInfo);
+
+ GDALClose((GDALDatasetH)pDS);
+
+ return oInfo;
+}
+
+Eigen::MatrixXd gdalImage::getLandPoint(Eigen::MatrixXd points)
+{
+ if (points.cols() != 3) {
+ throw new exception("the size of points is equit 3!!!");
+ }
+
+ Eigen::MatrixXd result(points.rows(), 3);
+ result.col(2) = points.col(2);// �߳�
+ points.col(2) = points.col(2).array() * 0 + 1;
+ points.col(0).swap(points.col(2));// ½ï¿½
+ Eigen::MatrixXd gts(3, 2);
+ gts.col(0) = this->gt.row(0);
+ gts.col(1) = this->gt.row(1);
+
+ result.block(0, 0, points.rows(), 2) = points * gts;
+ return result;
+}
+
+Eigen::MatrixXd gdalImage::getHist(int bandids)
+{
+ GDALAllRegister();// ×¢½Ê½ï¿½½ï¿½ï¿?1ï¿?7
+ // ��DEMӰ��
+ GDALDataset* rasterDataset = (GDALDataset*)(GDALOpen(this->img_path.toUtf8().constData(), GA_ReadOnly));//��ֻ½ï¿½Ê½ï¿½ï¿½È¡½ï¿½Ó°ï¿½ï¿½
+
+ GDALDataType gdal_datatype = rasterDataset->GetRasterBand(1)->GetRasterDataType();
+ GDALRasterBand* xBand = rasterDataset->GetRasterBand(bandids);
+
+
+ double dfMin = this->min(bandids);
+ double dfMax = this->max(bandids);
+ int count = int((dfMax - dfMin) / 0.01);
+ count = count > 255 ? count : 255;
+ GUIntBig* panHistogram = new GUIntBig[count];
+ xBand->GetHistogram(dfMin, dfMax, count, panHistogram, TRUE, FALSE, NULL, NULL);
+ Eigen::MatrixXd result(count, 2);
+ double delta = (dfMax - dfMin) / count;
+ for (int i = 0; i < count; i++) {
+ result(i, 0) = dfMin + i * delta;
+ result(i, 1) = double(panHistogram[i]);
+ }
+ delete[] panHistogram;
+ GDALClose((GDALDatasetH)rasterDataset);
+ return result;
+}
+
+
+gdalImage CreategdalImage(const QString& img_path, int height, int width, int band_num, Eigen::MatrixXd gt, QString projection, bool need_gt,bool overwrite) {
+
+ if (exists_test(img_path.toUtf8().constData())) {
+ if (overwrite) {
+ gdalImage result_img(img_path);
+ return result_img;
+ }
+ else {
+ throw "file has exist!!!";
+ exit(1);
+ }
+ }
+ GDALAllRegister();// ע���ʽ������1�7
+ GDALDriver* poDriver = GetGDALDriverManager()->GetDriverByName("GTiff");
+ GDALDataset* poDstDS = poDriver->Create(img_path.toUtf8().constData(), width, height, band_num, GDT_Float32, NULL); // ������
+ if (need_gt) {
+ poDstDS->SetProjection(projection.toUtf8().constData());
+
+ // ����ת������
+ double gt_ptr[6] = { 0 };
+ for (int i = 0; i < gt.rows(); i++) {
+ for (int j = 0; j < gt.cols(); j++) {
+ gt_ptr[i * 3 + j] = gt(i, j);
+ }
+ }
+ poDstDS->SetGeoTransform(gt_ptr);
+ }
+ for (int i = 1; i <= band_num; i++) {
+ poDstDS->GetRasterBand(i)->SetNoDataValue(-9999);
+ }
+ GDALFlushCache((GDALDatasetH)poDstDS);
+ GDALClose((GDALDatasetH)poDstDS);
+ ////GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ gdalImage result_img(img_path);
+ return result_img;
+}
+
+gdalImageComplex CreategdalImageComplex(const QString& img_path, int height, int width, int band_num, Eigen::MatrixXd gt, QString projection, bool need_gt, bool overwrite)
+{
+ if (exists_test(img_path.toUtf8().constData())) {
+ if (overwrite) {
+ gdalImageComplex result_img(img_path);
+ return result_img;
+ }
+ else {
+ throw "file has exist!!!";
+ exit(1);
+ }
+ }
+ GDALAllRegister();
+ GDALDriver* poDriver = GetGDALDriverManager()->GetDriverByName("ENVI");
+ GDALDataset* poDstDS = poDriver->Create(img_path.toUtf8().constData(), width, height, band_num, GDT_CFloat64, NULL);
+ if (need_gt) {
+ poDstDS->SetProjection(projection.toUtf8().constData());
+
+ // ����ת������
+ double gt_ptr[6] = { 0 };
+ for (int i = 0; i < gt.rows(); i++) {
+ for (int j = 0; j < gt.cols(); j++) {
+ gt_ptr[i * 3 + j] = gt(i, j);
+ }
+ }
+ poDstDS->SetGeoTransform(gt_ptr);
+ }
+ for (int i = 1; i <= band_num; i++) {
+ poDstDS->GetRasterBand(i)->SetNoDataValue(-9999);
+ }
+ GDALFlushCache((GDALDatasetH)poDstDS);
+ GDALClose((GDALDatasetH)poDstDS);
+ ////GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ gdalImageComplex result_img(img_path);
+ return result_img;
+}
+
+
+int ResampleGDAL(const char* pszSrcFile, const char* pszOutFile, double* gt, int new_width, int new_height, GDALResampleAlg eResample)
+{
+ GDALAllRegister();
+ CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");
+ GDALDataset* pDSrc = (GDALDataset*)GDALOpen(pszSrcFile, GA_ReadOnly);
+ if (pDSrc == NULL)
+ {
+ return -1;
+ }
+
+ GDALDriver* pDriver = GetGDALDriverManager()->GetDriverByName("GTiff");
+ if (pDriver == NULL)
+ {
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDSrc);
+ return -2;
+ }
+ int width = pDSrc->GetRasterXSize();
+ int height = pDSrc->GetRasterYSize();
+ int nBandCount = pDSrc->GetRasterCount();
+ GDALDataType dataType = pDSrc->GetRasterBand(1)->GetRasterDataType();
+
+ char* pszSrcWKT = NULL;
+ pszSrcWKT = const_cast(pDSrc->GetProjectionRef());
+
+ //���û��ͶӰ����Î?¿½ï¿½ï¿½ï¿½Ò»ï¿½ï¿?1ï¿?7
+ if (strlen(pszSrcWKT) <= 0)
+ {
+ OGRSpatialReference oSRS;
+ oSRS.importFromEPSG(4326);
+ //oSRS.SetUTM(50, true); //������ ����120��
+ //oSRS.SetWellKnownGeogCS("WGS84");
+ oSRS.exportToWkt(&pszSrcWKT);
+ }
+ qDebug() << "GDALCreateGenImgProjTransformer " << endl;
+ void* hTransformArg;
+ hTransformArg = GDALCreateGenImgProjTransformer((GDALDatasetH)pDSrc, pszSrcWKT, NULL, pszSrcWKT, FALSE, 0.0, 1);
+ qDebug() << "no proj " << endl;
+ //(û��ͶӰ��Ӱ��������߲�Í?¿½ï¿?1ï¿?7)
+ if (hTransformArg == NULL)
+ {
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDSrc);
+ return -3;
+ }
+ qDebug() << "has proj " << endl;
+ double dGeoTrans[6] = { 0 };
+ int nNewWidth = 0, nNewHeight = 0;
+ if (GDALSuggestedWarpOutput((GDALDatasetH)pDSrc, GDALGenImgProjTransform, hTransformArg, dGeoTrans, &nNewWidth, &nNewHeight) != CE_None)
+ {
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDSrc);
+ return -3;
+ }
+
+ //GDALDestroyGenImgProjTransformer(hTransformArg);
+
+
+ GDALDataset* pDDst = pDriver->Create(pszOutFile, new_width, new_height, nBandCount, dataType, NULL);
+ if (pDDst == NULL)
+ {
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDSrc);
+ return -2;
+ }
+
+ pDDst->SetProjection(pszSrcWKT);
+ pDDst->SetGeoTransform(gt);
+
+ GDALWarpOptions* psWo = GDALCreateWarpOptions();
+
+ //psWo->papszWarpOptions = CSLDuplicate(NULL);
+ psWo->eWorkingDataType = dataType;
+ psWo->eResampleAlg = eResample;
+
+ psWo->hSrcDS = (GDALDatasetH)pDSrc;
+ psWo->hDstDS = (GDALDatasetH)pDDst;
+ qDebug() << "GDALCreateGenImgProjTransformer" << endl;
+ psWo->pfnTransformer = GDALGenImgProjTransform;
+ psWo->pTransformerArg = GDALCreateGenImgProjTransformer((GDALDatasetH)pDSrc, pszSrcWKT, (GDALDatasetH)pDDst, pszSrcWKT, FALSE, 0.0, 1);;
+
+ qDebug() << "GDALCreateGenImgProjTransformer has created" << endl;
+ psWo->nBandCount = nBandCount;
+ psWo->panSrcBands = (int*)CPLMalloc(nBandCount * sizeof(int));
+ psWo->panDstBands = (int*)CPLMalloc(nBandCount * sizeof(int));
+ for (int i = 0; i < nBandCount; i++)
+ {
+ psWo->panSrcBands[i] = i + 1;
+ psWo->panDstBands[i] = i + 1;
+ }
+
+ GDALWarpOperation oWo;
+ if (oWo.Initialize(psWo) != CE_None)
+ {
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDSrc);
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDDst);
+ return -3;
+ }
+ qDebug() << "ChunkAndWarpImage:" << new_width << "," << new_height << endl;
+ oWo.ChunkAndWarpMulti(0, 0, new_width, new_height);
+ GDALFlushCache(pDDst);
+ qDebug() << "ChunkAndWarpImage over" << endl;
+ //GDALDestroyGenImgProjTransformer(psWo->pTransformerArg);
+ //GDALDestroyWarpOptions(psWo);
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDSrc);
+ GDALClose((GDALDatasetH)(GDALDatasetH)pDDst);
+ ////GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ return 0;
+}
+
+int ResampleGDALs(const char* pszSrcFile, int band_ids, GDALRIOResampleAlg eResample)
+{
+ GDALAllRegister();
+ CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");
+ GDALDataset* pDSrc = (GDALDataset*)GDALOpen(pszSrcFile, GA_Update);
+ if (pDSrc == NULL)
+ {
+ return -1;
+ }
+
+ GDALDataType gdal_datatype = pDSrc->GetRasterBand(1)->GetRasterDataType();
+
+ GDALRasterBand* demBand = pDSrc->GetRasterBand(band_ids);
+
+ int width = pDSrc->GetRasterXSize();
+ int height = pDSrc->GetRasterYSize();
+ int start_col = 0, start_row = 0, rows_count = 0, cols_count;
+
+ int row_delta = int(120000000 / width);
+
+ GDALRasterIOExtraArg psExtraArg;
+ INIT_RASTERIO_EXTRA_ARG(psExtraArg);
+ psExtraArg.eResampleAlg = eResample;
+
+ do {
+
+ rows_count = start_row + row_delta < height ? row_delta : height - start_row;
+ cols_count = width;
+
+ if (gdal_datatype == GDALDataType::GDT_UInt16) {
+
+ unsigned short* temp = new unsigned short[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ demBand->RasterIO(GF_Write, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0, &psExtraArg);
+ delete[] temp;
+
+ }
+ else if (gdal_datatype == GDALDataType::GDT_Int16) {
+
+ short* temp = new short[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ demBand->RasterIO(GF_Write, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0, &psExtraArg);
+ delete[] temp;
+ }
+ else if (gdal_datatype == GDALDataType::GDT_Float32) {
+ float* temp = new float[rows_count * cols_count];
+ demBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0);
+ demBand->RasterIO(GF_Write, start_col, start_row, cols_count, rows_count, temp, cols_count, rows_count, gdal_datatype, 0, 0, &psExtraArg);
+ delete[] temp;
+ }
+ start_row = start_row + rows_count;
+ } while (start_row < height);
+ GDALClose((GDALDatasetH)pDSrc);
+
+
+ return 0;
+}
+
+int saveMatrixXcd2TiFF(Eigen::MatrixXcd data, QString out_tiff_path)
+{
+ int rows = data.rows();
+ int cols = data.cols();
+
+ Eigen::MatrixXd gt = Eigen::MatrixXd::Zero(2, 3);
+
+ gdalImage image_tiff = CreategdalImage(out_tiff_path, rows, cols, 2, gt, "", false, true);// ×¢ÒâÕâÀï±£Áô·ÂÕæ½á¹û
+ // ±£´æ¶þ½øÖÆÎļþ
+ Eigen::MatrixXd real_img = data.array().real();
+ Eigen::MatrixXd imag_img = data.array().imag();
+ image_tiff.saveImage(real_img, 0, 0, 1);
+ image_tiff.saveImage(imag_img, 0, 0, 2);
+ return -1;
+}
+
+
+gdalImageComplex::gdalImageComplex(const QString& raster_path)
+{
+ omp_lock_t lock;
+ omp_init_lock(&lock);
+ omp_set_lock(&lock);
+ this->img_path = raster_path;
+
+ GDALAllRegister();
+ GDALDataset* rasterDataset = (GDALDataset*)(GDALOpen(raster_path.toUtf8().constData(), GA_ReadOnly));//��ֻ½ï¿½Ê½ï¿½ï¿½È¡½ï¿½Ó°ï¿½ï¿½
+ this->width = rasterDataset->GetRasterXSize();
+ this->height = rasterDataset->GetRasterYSize();
+ this->band_num = rasterDataset->GetRasterCount();
+
+ double* gt = new double[6];
+ rasterDataset->GetGeoTransform(gt);
+ this->gt = Eigen::MatrixXd(2, 3);
+ this->gt << gt[0], gt[1], gt[2], gt[3], gt[4], gt[5];
+
+
+ double a = this->gt(0, 0);
+ double b = this->gt(0, 1);
+ double c = this->gt(0, 2);
+ double d = this->gt(1, 0);
+ double e = this->gt(1, 1);
+ double f = this->gt(1, 2);
+
+ this->projection = rasterDataset->GetProjectionRef();
+
+ // ½ï¿½Í¶Ó°
+ GDALFlushCache((GDALDatasetH)rasterDataset);
+ GDALClose((GDALDatasetH)rasterDataset);
+ rasterDataset = NULL;// Ö¸½Ã¿ï¿½
+ this->InitInv_gt();
+ delete[] gt;
+ ////GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ omp_unset_lock(&lock); //�ͷŻ�½ï¿½
+ omp_destroy_lock(&lock); //½Ù»ï¿½½ï¿½
+
+
+}
+
+gdalImageComplex::~gdalImageComplex()
+{
+}
+
+void gdalImageComplex::setData(Eigen::MatrixXcd data)
+{
+ this->data = data;
+}
+
+void gdalImageComplex::saveImage(Eigen::MatrixXcd data, int start_row, int start_col, int band_ids)
+{
+ omp_lock_t lock;
+ omp_init_lock(&lock);
+ omp_set_lock(&lock);
+ if (start_row + data.rows() > this->height || start_col + data.cols() > this->width) {
+ QString tip = u8"file path: " + this->img_path;
+ qDebug() << tip;
+ throw exception(tip.toUtf8().constData());
+ }
+ GDALAllRegister();
+ GDALDriver* poDriver = GetGDALDriverManager()->GetDriverByName("ENVI");
+ GDALDataset* poDstDS = nullptr;
+ if (exists_test(this->img_path)) {
+ poDstDS = (GDALDataset*)(GDALOpen(this->img_path.toUtf8().constData(), GA_Update));
+ }
+ else {
+ poDstDS = poDriver->Create(this->img_path.toUtf8().constData(), this->width, this->height, this->band_num, GDT_CFloat64, NULL); // ½ï¿½ï¿½ï¿½
+ poDstDS->SetProjection(this->projection.toUtf8().constData());
+
+
+ double gt_ptr[6];
+ for (int i = 0; i < this->gt.rows(); i++) {
+ for (int j = 0; j < this->gt.cols(); j++) {
+ gt_ptr[i * 3 + j] = this->gt(i, j);
+ }
+ }
+ poDstDS->SetGeoTransform(gt_ptr);
+ delete[] gt_ptr;
+ }
+
+ int datarows = data.rows();
+ int datacols = data.cols();
+
+ double* databuffer = new double[data.size() * 2];
+ for (int i = 0; i < data.rows(); i++) {
+ for (int j = 0; j < data.cols(); j++) {
+ databuffer[i * data.cols() * 2 + j * 2] = data(i, j).real();
+ databuffer[i * data.cols() * 2 + j * 2 + 1] = data(i, j).imag();
+ }
+ }
+
+ //poDstDS->RasterIO(GF_Write,start_col, start_row, datacols, datarows, databuffer, datacols, datarows, GDT_Float32,band_ids, num,0,0,0);
+ poDstDS->GetRasterBand(band_ids)->RasterIO(GF_Write, start_col, start_row, datacols, datarows, databuffer, datacols, datarows, GDT_CFloat64, 0, 0);
+ GDALFlushCache(poDstDS);
+ delete databuffer;
+ GDALClose((GDALDatasetH)poDstDS);
+ //GDALDestroy(); // or, DllMain at DLL_PROCESS_DETACH
+ omp_unset_lock(&lock); //�ͷŻ�½ï¿½
+ omp_destroy_lock(&lock); //½Ù»ï¿½½ï¿½
+
+}
+
+Eigen::MatrixXcd gdalImageComplex::getDataComplex(int start_row, int start_col, int rows_count, int cols_count, int band_ids)
+{
+
+
+ GDALDataset* poDataset;
+ GDALAllRegister();
+
+ // ´ò¿ªTIFFÎļþ
+ poDataset = (GDALDataset*)GDALOpen(this->img_path.toUtf8().constData(), GA_ReadOnly);
+ if (poDataset == nullptr) {
+ QMessageBox::warning(nullptr, u8"´íÎó", u8"ÎÞ·¨´ò¿ªÎļþ£º" + this->img_path);
+ qDebug() << u8"ÎÞ·¨´ò¿ªÎļþ£º" + this->img_path;
+ }
+
+ // »ñÈ¡Êý¾Ý¼¯µÄµÚÒ»¸ö²¨¶Î
+ GDALRasterBand* poBand;
+ poBand = poDataset->GetRasterBand(1);
+
+ // ¶ÁÈ¡²¨¶ÎÐÅÏ¢£¬¼ÙÉèÊǸ´ÊýÀàÐÍ
+ int nXSize = poBand->GetXSize();
+ int nYSize = poBand->GetYSize();
+
+
+ double* databuffer = new double[nXSize * nYSize * 2];
+ poBand->RasterIO(GF_Read, start_col, start_row, cols_count, rows_count, databuffer, cols_count, rows_count, GDT_CFloat64, 0, 0);
+ GDALClose((GDALDatasetH)poDataset);
+ Eigen::MatrixXcd rasterData(nYSize, nXSize); // ʹÓÃEigenµÄMatrixXcd
+ for (size_t i = 0; i < nYSize; i++)
+ {
+ for (size_t j = 0; j < nXSize; j++) {
+ rasterData(i, j) = std::complex(databuffer[i * nXSize * 2 + j * 2], databuffer[i * nXSize * 2 + j * 2 + 1]);
+ }
+ }
+
+ delete databuffer;
+ return rasterData;
+
+}
+
+void gdalImageComplex::saveImage()
+{
+ this->saveImage(this->data, this->start_row, this->start_col, this->data_band_ids);
+}
+
+
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/ImageOperatorBase.h b/src/LAMPTool/BaseToollib/ImageOperatorBase.h
new file mode 100644
index 0000000..eccede4
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/ImageOperatorBase.h
@@ -0,0 +1,190 @@
+#pragma once
+/**
+ * Ó°ÏñÊý¾Ý²Ù×÷Ïî
+ * ËùÓÐÊý¾ÝÏà¹ØµÄ²Ù×÷£¬¶¼ÊÇ»ùÓÚENVIµÄÊý¾Ý¸ñʽ
+ * Ó°Ïñ¶Áд²Ù×÷ʱ»ùÓÚ GDAL ¿â
+ * **/
+
+
+
+#ifndef IMAGEOPERATORBASE_H
+#define IMAGEOPERATORBASE_H
+
+#include "BaseToollib/BaseConstVariable.h"
+#include "BaseToollib/GeoOperator.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include // for CPLMalloc()
+#include "referenceHeader.h"
+using namespace std;
+using namespace Eigen;
+
+struct ImageGEOINFO {
+ int width;
+ int height;
+ int bandnum;
+};
+
+
+// ÅжÏÊÇ·ñÐèÒªÊä³öΪDLL
+#define DLLOUT
+// Îļþ´ò¿ª
+std::shared_ptr OpenDataset(const QString& in_path, GDALAccess rwmode= GA_ReadOnly); // µ±Ö¸ÁîÏú»Ùʱ£¬µ÷ÓÃGDALClose Ïú»ÙÀàÐÍ
+void CloseDataset(GDALDataset* ptr);
+
+// Êý¾Ý¸ñʽת»»
+int TIFF2ENVI(QString in_tiff_path,QString out_envi_path);
+int ENVI2TIFF(QString in_envi_path,QString out_tiff_path);
+
+// ±£´æÓ°ÏñÊý¾Ý --Ö±½Ó±£´æ ENVI Îļþ
+
+int CreateDataset(QString new_file_path, int height, int width, int band_num, double* gt, QString projection, GDALDataType gdal_dtype, bool need_gt); // ´´½¨Îļþ
+
+int saveDataset(QString new_file_path, int start_line, int start_cols, int band_ids, int datacols, int datarows, void* databuffer);
+
+// ¸ù¾ÝÏÞÖÆÌõ¼þ¹ÀËã·Ö¿é´óС
+int block_num_pre_memory(int width, int height, GDALDataType gdal_dtype,double memey_size);
+
+// ½«½á¹ûת»»Îª¸´Êý »òÕß ÊµÊý
+Eigen::Matrix ReadComplexMatrixData(int start_line,int width, int line_num, std::shared_ptr rasterDataset, GDALDataType gdal_datatype);
+
+Eigen::Matrix ReadMatrixDoubleData(int start_line, int width, int line_num, std::shared_ptr rasterDataset, GDALDataType gdal_datatype,int band_idx);
+
+Eigen::MatrixXd getGeoTranslationArray(QString in_path);
+ImageGEOINFO getImageINFO(QString in_path);
+
+GDALDataType getGDALDataType(QString fileptah);
+
+
+struct DemBox {
+ double min_lat; //γ¶È
+ double min_lon;//¾¶È
+ double max_lat;//γ¶È
+ double max_lon;//¾¶È
+};
+
+
+///
+/// gdalImageͼÏñ²Ù×÷Àà
+///
+class gdalImage
+{
+
+public: // ·½·¨
+ gdalImage();
+ gdalImage(const QString& raster_path);
+ ~gdalImage();
+ virtual void setHeight(int);
+ virtual void setWidth(int);
+ virtual void setTranslationMatrix(Eigen::MatrixXd gt);
+ virtual void setData(Eigen::MatrixXd,int data_band_ids=1);
+ virtual Eigen::MatrixXd getData(int start_row, int start_col, int rows_count, int cols_count, int band_ids);
+ virtual Eigen::MatrixXd getGeoTranslation();
+ virtual GDALDataType getDataType();
+ virtual void saveImage(Eigen::MatrixXd, int start_row, int start_col, int band_ids);
+ virtual void saveImage();
+ virtual void setNoDataValue(double nodatavalue, int band_ids);
+ virtual int InitInv_gt();
+ virtual Landpoint getRow_Col(double lon, double lat);
+ virtual Landpoint getLandPoint(double i, double j, double ati);
+ virtual double mean(int bandids = 1);
+ virtual double max(int bandids = 1);
+ virtual double min(int bandids = 1);
+ virtual GDALRPCInfo getRPC();
+ virtual Eigen::MatrixXd getLandPoint(Eigen::MatrixXd points);
+
+ virtual Eigen::MatrixXd getHist(int bandids);
+public:
+ QString img_path; // ͼÏñÎļþ
+ int height; // ¸ß
+ int width; // ¿í
+ int band_num;// ²¨¶ÎÊý
+ int start_row;//
+ int start_col;//
+ int data_band_ids;
+ Eigen::MatrixXd gt; // ±ä»»¾ØÕó
+ Eigen::MatrixXd inv_gt; // Äæ±ä»»¾ØÕó
+ Eigen::MatrixXd data;
+ QString projection;
+};
+
+
+
+
+
+
+
+///
+/// gdalImageͼÏñ²Ù×÷Àà
+///
+class gdalImageComplex:public gdalImage
+{
+
+public: // ·½·¨
+ gdalImageComplex(const QString& raster_path);
+ ~gdalImageComplex();
+ void setData(Eigen::MatrixXcd);
+ void saveImage(Eigen::MatrixXcd data, int start_row, int start_col, int band_ids);
+ Eigen::MatrixXcd getDataComplex(int start_row, int start_col, int rows_count, int cols_count, int band_ids);
+ void saveImage() override;
+
+public:
+ Eigen::MatrixXcd data;
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+gdalImage CreategdalImage(const QString& img_path, int height, int width, int band_num, Eigen::MatrixXd gt, QString projection, bool need_gt = true, bool overwrite = false);
+gdalImageComplex CreategdalImageComplex(const QString& img_path, int height, int width, int band_num, Eigen::MatrixXd gt, QString projection, bool need_gt = true, bool overwrite = false);
+
+
+
+
+int ResampleGDAL(const char* pszSrcFile, const char* pszOutFile, double* gt, int new_width, int new_height, GDALResampleAlg eResample);
+
+int ResampleGDALs(const char* pszSrcFile, int band_ids, GDALRIOResampleAlg eResample = GRIORA_Bilinear);
+
+
+//--------------------- ±£´æÎIJ© -------------------------------
+
+int saveMatrixXcd2TiFF(Eigen::MatrixXcd data, QString out_tiff_path);
+
+//----------------------------------------------------
+
+
+
+#ifndef DLLOUT
+
+
+
+
+
+#else
+//#define DllExport __declspec( dllexport )
+//double __declspec(dllexport) ProcessMGCMathX_MGC(int Xbetaidx, int Xbwidx, double XTao, double satH, char* sigma_path, char* output_path,
+// double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y, double p4_x, double p4_y)
+
+#endif
+
+#endif
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/interpolation.cpp b/src/LAMPTool/BaseToollib/interpolation.cpp
new file mode 100644
index 0000000..0203513
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/interpolation.cpp
@@ -0,0 +1,13 @@
+#include "BaseToolLib/interpolation.h"
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+
+namespace LampInterpolation {
+
+}
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/interpolation.h b/src/LAMPTool/BaseToollib/interpolation.h
new file mode 100644
index 0000000..e3e087e
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/interpolation.h
@@ -0,0 +1,69 @@
+#pragma once
+
+#ifndef INTERPOLATION_H
+#define INTERPOLATION_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+namespace LampInterpolation {
+ enum interpolationtype {
+ nearest,
+ linear,
+ cubic,
+ };
+
+
+ ///
+ /// ¾ØÕóΪ 1xn
+ ///
+ template
+ std::complex interpolation(Eigen::MatrixX>& echo, double& index, interpolationtype methodtype)
+ {
+ assert(echo.rows() != 1 || echo.cols() >= index || index < 0); // ¶ÏÑÔ
+ if (methodtype == interpolationtype::linear) {
+ return interpolationLinear(echo, index);
+ }
+ else if (methodtype == interpolationtype::cubic) {
+
+ }
+ else if (methodtype == interpolationtype::nearest) {
+ return interpolationNearest(echo, index);
+ }
+ else {}
+ return std::complex(0, 0);
+ };
+
+ template
+ std::complex interpolationLinear(Eigen::MatrixX>& echo, double& index)
+ {
+ size_t last_ids = size_t(std::floor(index));
+ size_t next_ids = size_t(std::ceil(index));
+
+ std::complex last_value = echo(1, last_ids);
+ std::complex next_value = echo(1, next_ids);
+
+ // ʵ²¿£¬Ð鲿ͬʱ²åÖµ
+ double real = last_value.real() + ((next_value.real() - last_value.real()) / (next_ids - last_ids)) * (index - last_ids);
+ double imag = last_value.imag() + ((next_value.imag() - last_value.imag()) / (next_ids - last_ids)) * (index - last_ids);
+
+ return std::complex(T(real), T(imag));
+ };
+
+ template
+ std::complex interpolationNearest(Eigen::MatrixX>& echo, double& index)
+ {
+ size_t nearest_ids = size_t(std::round(index));
+ return echo(1, nearest_ids);
+ };
+
+}
+
+
+#endif
\ No newline at end of file
diff --git a/src/LAMPTool/BaseToollib/readme.md b/src/LAMPTool/BaseToollib/readme.md
new file mode 100644
index 0000000..671e01a
--- /dev/null
+++ b/src/LAMPTool/BaseToollib/readme.md
@@ -0,0 +1,2 @@
+# 说明
+æ¤æ¨¡å—ä¸»è¦æ˜¯é€šç”¨åŸºç¡€æ¨¡å—
\ No newline at end of file
diff --git a/src/LAMPTool/CMakeLists.txt b/src/LAMPTool/CMakeLists.txt
new file mode 100644
index 0000000..823dd5f
--- /dev/null
+++ b/src/LAMPTool/CMakeLists.txt
@@ -0,0 +1,68 @@
+#-----------------------------------------------------------------------------
+# 头文件æœç´¢è·¯å¾„
+#-----------------------------------------------------------------------------
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
+
+#-----------------------------------------------------------------------------
+# è‡ªåŠ¨æ·»åŠ include目录
+#-----------------------------------------------------------------------------
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+#-----------------------------------------------------------------------------
+# æ·»åŠ èµ„æºæ–‡ä»¶
+#-----------------------------------------------------------------------------
+set(_qrc "${CMAKE_CURRENT_SOURCE_DIR}/../qrc/WBCLFZSystemModule.qrc")
+
+qt5_add_resources(_resource ${_qrc} ${_lang})
+
+#-----------------------------------------------------------------------------
+# æºç 扫æ
+#-----------------------------------------------------------------------------
+file(GLOB _ui "*.ui")
+file(GLOB _header "*.h*")
+file(GLOB _source "*.cpp")
+qt5_wrap_ui(_interface ${_ui})
+
+#-----------------------------------------------------------------------------
+# æ·»åŠ åŠ¨æ€åº“ç›®æ ‡
+#-----------------------------------------------------------------------------
+add_library(LAMPTool
+ ${_resource}
+ ${_interface}
+ ${_header}
+ ${_source}
+)
+
+#-----------------------------------------------------------------------------
+# æ·»åŠ æŽ¥å£å£°æ˜Žå®
+#-----------------------------------------------------------------------------
+target_compile_definitions(LAMPTool PRIVATE "LAMPTool_API")
+
+
+
+
+list(APPEND _depend_library qcustomplot)
+
+list(APPEND _runtimes_libraries
+ Qt5::Core Qt5::Gui Qt5::Widgets
+)
+
+target_include_directories(LAMPTool PRIVATE ${Qwt_INCLUDE_DIRS})
+
+#-----------------------------------------------------------------------------
+# 链接ä¾èµ–库
+#-----------------------------------------------------------------------------
+target_link_libraries(LAMPTool PRIVATE
+ ${_runtimes_libraries}
+ ${_depend_library}
+)
+
+#-----------------------------------------------------------------------------
+# æ·»åŠ ä¾èµ–关系
+#-----------------------------------------------------------------------------
+add_dependencies(LAMPTool ${_depend_library})
+
+#-----------------------------------------------------------------------------
+# æ·»åŠ è¿è¡Œæ—¶ä¾èµ–关系
+#-----------------------------------------------------------------------------
+set(FastCAE_LAMPTool_Runtimes_Libraries ${_runtimes_libraries} PARENT_SCOPE)
\ No newline at end of file
diff --git a/src/LAMPTool/FEKOFarFieldFileClass.cpp b/src/LAMPTool/FEKOFarFieldFileClass.cpp
new file mode 100644
index 0000000..0f24aa4
--- /dev/null
+++ b/src/LAMPTool/FEKOFarFieldFileClass.cpp
@@ -0,0 +1,446 @@
+#include "FEKOFarFieldFileClass.h"
+
+FEKOBase::FEKOFarFieldFileClass::FEKOFarFieldFileClass()
+{
+
+}
+
+FEKOBase::FEKOFarFieldFileClass::~FEKOFarFieldFileClass()
+{
+
+}
+
+void FEKOBase::FEKOFarFieldFileClass::parseFarFieldFile(const QString& fileName)
+{
+ QFile file(fileName);
+ // ¼ÓÔØÎı¾ÎļþÖеÄËùÓÐÊý¾Ýµ½Ò»¸ö QString ÖÐ
+ if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
+ {
+ qDebug() << "Failed to open file for reading";
+ return;
+ }
+ QTextStream in(&file);
+ QString line;
+ bool dataSectionStarted = false;
+
+
+ QList dataBlockStrList;
+ dataBlockStrList.clear();
+ while (!in.atEnd()) {
+ line = in.readLine().trimmed();
+ if (line.startsWith(u8"##")) {
+ if (line.indexOf(u8"File Type:") != -1) {
+ this->FileType = line.split(":")[1].trimmed();
+ }
+ else if (line.indexOf(u8"File Format:") != -1) {
+ this->FileFormat = line.split(":")[1].trimmed();
+ }
+ else if (line.indexOf(u8"Source:") != -1) {
+ this->Sourcestr = line.split(":")[1].trimmed();
+ }
+ else if (line.indexOf(u8"Date:") != -1) {
+ this->Datestr = line.split(":")[1].trimmed();
+ }
+ else {
+ continue;
+ }
+ }
+ else if (line.startsWith("**")) {
+ dataBlockStrList.clear();
+ continue;
+ }
+ else {
+ if (line.length() < 5) {
+ if (dataBlockStrList.length() > 0) {
+ FEKOFARFIELDFEKODATABLOCK temp_dataBlock;
+ temp_dataBlock.paraseFEKOFarFieldDataBlockFromList(dataBlockStrList);
+ this->dataBlockList.push_back(temp_dataBlock);
+ }
+ else {
+
+ }
+ dataBlockStrList.clear();
+ }
+ else {
+ dataBlockStrList.append(line);
+ }
+ }
+ }
+
+ if (dataBlockStrList.length() > 0) {
+ FEKOFARFIELDFEKODATABLOCK temp_dataBlock;
+ temp_dataBlock.paraseFEKOFarFieldDataBlockFromList(dataBlockStrList);
+ this->dataBlockList.push_back(temp_dataBlock);
+ }
+
+ file.close();
+}
+
+void FEKOBase::FEKOFarFieldFileClass::outputToFile(const QString& fileName)
+{
+ QFile file(fileName);
+ if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
+ {
+ qDebug() << "Failed to open file for writing";
+ return;
+ }
+
+ QTextStream out(&file);
+
+ file.close();
+
+}
+
+FEKOBase::FEKOFARFIELDRESULTTYPE FEKOBase::FEKOFARFIELDRESULTTYPEString2Enum(QString str)
+{
+ if (str.toUpper() == "GAIN") { return FEKOBase::GAIN; }
+ else if (str.toUpper() == "DIRECTIVITY") { return FEKOBase::DIRECTIVITY; }
+ else if (str.toUpper() == "RCS") { return FEKOBase::RCS; }
+ else if (str.toUpper() == "FARFIELDVALUES") { return FEKOBase::FARFIELDVALUES; }
+ else {
+ return FEKOBase::FEKOFARFIELDRESULTTYPEUNKOWN;
+ }
+ return FEKOBase::FEKOFARFIELDRESULTTYPE();
+}
+
+QString FEKOBase::QString2FEKOFARFIELDRESULTTYPE(FEKOBase::FEKOFARFIELDRESULTTYPE mode)
+{
+ switch (mode) {
+ case FEKOBase::GAIN:
+ return "GAIN";
+ case FEKOBase::DIRECTIVITY:
+ return "DIRECTIVITY";
+ case FEKOBase::RCS:
+ return "RCS";
+ case FEKOBase::FARFIELDVALUES:
+ return "FARFIELDVALUES";
+ default:
+ return "FEKOFARFIELDRESULTTYPEUNKOWN";
+
+ }
+}
+
+FEKOBase::FEKOFARFIELDFEKODATABLOCK::FEKOFARFIELDFEKODATABLOCK()
+{
+ this->dataList.clear();
+ this->thetaSamples = 0;
+ this->phiSamples = 0;
+ this->USamples = 0;
+ this->VSamples = 0;
+ this->configurationName.clear();
+ this->requestName.clear();
+ this->frequency = 0;
+ this->Origin = { 0,0,0 };
+ this->headerLines = 0;
+ this->coordinateSystem = FEKOBase::UNKONWFEKOCOORDINATESYSTEM;
+ this->resultType = FEKOBase::FEKOFARFIELDRESULTTYPEUNKOWN;
+}
+
+FEKOBase::FEKOFARFIELDFEKODATABLOCK::~FEKOFARFIELDFEKODATABLOCK()
+{
+
+}
+
+int FEKOBase::FEKOFARFIELDFEKODATABLOCK::paraseFEKOFarFieldDataBlock(const QString& blockstr)
+{
+ // °´ÐнøÐнâÎö
+ QList lines= blockstr.split("\n");
+ return this->paraseFEKOFarFieldDataBlockFromList(lines);
+ return 1;
+
+}
+
+int FEKOBase::FEKOFARFIELDFEKODATABLOCK::paraseFEKOFarFieldDataBlockFromList(QList& lines)
+{
+ bool in_readHeaderState = false;
+ size_t headerlineCount = 0;
+ std::vector headerLines;// ½âÎöÐÐÁÐʱ±£Ö¤½á¹û
+
+
+ for (size_t i = 0; i < lines.size(); i++) {
+ if (lines[i].startsWith("#")) { // ²ÎÊýÏîÊÇÒÔ# ¿ªÍ·×÷ΪÅäÖÃÏî
+ // Õë¶Ô²»Í¬²ÎÊýÏîÌáÈ¡²ÎÊý
+ QString configName = normalizationHeaderString(lines[i]); // »ñÈ¡²ÎÊýµÄ¹éÒ»»¯Ãû³Æ
+ if (configName == u8"") { // δ֪²ÎÊýÏî
+ // ½øÈë×ֶνâÎö״̬
+ if (in_readHeaderState) { // ½âÎö×Ö¶Î
+ QList temp_headerLines=lines[i].split(FEKOFARFIELDSPLITCHAT);
+ for (size_t ii = 0; ii < temp_headerLines.size();ii++) {
+ if (temp_headerLines[ii].length() > 2) {
+ QString temp_header_str= this->normalizationHeaderString(temp_headerLines[ii]);
+ headerLines.push_back(temp_header_str);
+ }
+ else {
+ continue;
+ }
+ }
+ headerlineCount++;
+ if (headerlineCount >= this->headerLines) {
+ in_readHeaderState = false;
+ }
+ }
+ else {
+ continue;
+ }
+ }
+ else if (configName == u8"ConfigurationName") {
+ this->configurationName = lines[i].split(":")[1].trimmed();
+ }
+ else if (configName == u8"RequestName") {
+ this->requestName = lines[i].split(":")[1].trimmed();
+ }
+ else if (configName == u8"Frequency") {
+ this->frequency = lines[i].split(":")[1].trimmed().toDouble();
+ }
+ else if (configName == u8"CoordinateSystem") {
+ this->coordinateSystem = FEKOBase::FEKOCoordinateSystemString2Enum(lines[i].split(":")[1].trimmed());
+ }
+ else if (configName == u8"ThetaSamplePointsNumber") {
+ this->thetaSamples = lines[i].split(":")[1].trimmed().toInt();
+ }
+ else if (configName == u8"PhiSamplePointsNumber") {
+ this->phiSamples = lines[i].split(":")[1].trimmed().toInt();
+ }
+ else if (configName == u8"USamplePointNumber") {
+ this->USamples = lines[i].split(":")[1].trimmed().toInt();
+ }
+ else if (configName == u8"VSamplePointNumber") {
+ this->VSamples = lines[i].split(":")[1].trimmed().toInt();
+ }
+ else if (configName == u8"ORIGIN") {
+ QStringList originstrlist = lines[i].replace("(", "").replace(")", "").split(":")[1].trimmed().split(",");
+ this->Origin = { originstrlist[0].trimmed().toDouble(),originstrlist[1].trimmed().toDouble(),originstrlist[2].trimmed().toDouble() };
+ }
+ else if (configName == u8"ResultType") {
+ this->resultType = FEKOBase::FEKOFARFIELDRESULTTYPEString2Enum(lines[i].split(":")[1].trimmed());
+ }
+ else if (configName == u8"HeaderLines") {
+ this->headerLines = lines[i].split(":")[1].trimmed().toInt();
+ in_readHeaderState = true;
+
+ }
+ else {
+ continue;
+ }
+ }
+ else if (lines[i].size() > 10) { // ½âÎöÊý¾Ý¿é
+ QList dataline = lines[i].split(FEKOFARFIELDSPLITCHAT);
+ FEKOBase::FEKOFarFieldFEKOFarFieldData temp_data;
+ long field_idx =-1;
+ for (size_t ii = 0; ii < dataline.count(); ii++) {
+ if (dataline[ii] == u8"") { continue; }
+ else { field_idx = field_idx + 1; }
+ if (headerLines[field_idx] == "theta") { temp_data.theta = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "phi") { temp_data.phi = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "re(etheta)") { temp_data.re_Etheta = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "im(etheta)") { temp_data.im_Etheta = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "re(ephi)") { temp_data.re_Ephi = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "im(ephi)") { temp_data.im_Ephi = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "gain(theta)") { temp_data.gain_Theta = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "gain(phi)") { temp_data.gain_Phi = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "gain(total)") { temp_data.gain_Total = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "radius") { temp_data.radius = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "x") { temp_data.X = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "y") { temp_data.Y = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "z") { temp_data.Z = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "re(ex)") { temp_data.re_Ex = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "re(ey)") { temp_data.re_Ey = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "re(ez)") { temp_data.re_Ez = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "im(ex)") { temp_data.im_Ex = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "im(ey)") { temp_data.im_Ey = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "im(ez)") { temp_data.im_Ez = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "re(er)") { temp_data.re_Er = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "im(er)") { temp_data.im_Er = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "u") { temp_data.U = dataline[ii].toDouble(); }
+ else if (headerLines[field_idx] == "v") { temp_data.V = dataline[ii].toDouble(); }
+ else {
+ continue;
+ }
+ }
+ this->dataList.push_back(temp_data);
+ }
+ else {
+ continue;
+ }
+
+ }
+ return 0;
+}
+
+QString FEKOBase::FEKOFARFIELDFEKODATABLOCK::normalizationHeaderString(QString headerstr)
+{
+ headerstr = headerstr.replace("'", "").replace(u8"\"",u8"");
+ if(headerstr.indexOf("#Configuration Name") != -1)
+ {
+ return u8"ConfigurationName";
+ }
+ else if (headerstr.indexOf("#Request Name") != -1)
+ {
+ return u8"RequestName";
+ }
+ else if (headerstr.indexOf("#Frequency") != -1)
+ {
+ return u8"Frequency";
+ }
+ else if (headerstr.indexOf("#Coordinate System:") != -1)
+ {
+ return u8"CoordinateSystem";
+ }
+ else if (headerstr.indexOf("#No. of Theta Samples:") != -1)
+ {
+ return u8"ThetaSamplePointsNumber";
+ }
+ else if (headerstr.indexOf("#No. of Phi Samples:") != -1)
+ {
+ return u8"PhiSamplePointsNumber";
+ }
+ else if (headerstr.indexOf("#No. of U Samples:") != -1)
+ {
+ return u8"USamplePointNumber";
+ }
+ else if (headerstr.indexOf("#No. of V Samples:") != -1)
+ {
+ return u8"VSamplePointNumber";
+ }
+ else if (headerstr.indexOf("#No. of X Samples:") != -1)
+ {
+ return u8"XSamplePointNumber";
+ }
+ else if (headerstr.indexOf("#No. of Y Samples:") != -1)
+ {
+ return u8"YSamplePointNumber";
+ }
+ else if (headerstr.indexOf("#No. of Z Samples:") != -1)
+ {
+ return u8"ZSamplePointNumber";
+ }
+ else if (headerstr.indexOf("#Origin:") != -1)
+ {
+ return u8"ORIGIN";
+ }
+ else if (headerstr.indexOf("#Result Type:") != -1)
+ {
+ return u8"ResultType";
+ }
+ else if (headerstr.indexOf("#No. of Header Lines:") != -1)
+ {
+ return u8"HeaderLines";
+ }
+ else if (headerstr.toLower().trimmed()==u8"theta"|| headerstr.toLower().trimmed() == u8"theta'") {
+ return u8"theta";
+ }
+ else if (headerstr.toLower().trimmed() == u8"phi"|| headerstr.toLower().trimmed() == u8"phi'") {
+ return u8"phi";
+ }
+ else if (headerstr.toLower().trimmed() == u8"re(etheta)"|| headerstr.toLower().trimmed() == u8"re(etheta')") {
+ return u8"re(etheta)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"im(etheta)"|| headerstr.toLower().trimmed() == u8"im(etheta')") {
+ return u8"im(etheta)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"re(ephi)"|| headerstr.toLower().trimmed() == u8"re(ephi')") {
+ return u8"re(ephi)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"im(ephi)"|| headerstr.toLower().trimmed() == u8"im(ephi')") {
+ return u8"im(ephi)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"re(er)"|| headerstr.toLower().trimmed() == u8"re(er')") {
+ return u8"re(ephi)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"im(er)"|| headerstr.toLower().trimmed() == u8"im(er')") {
+ return u8"im(ephi)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"gain(theta)"|| headerstr.toLower().trimmed() == u8"gain(theta')") {
+ return u8"gain(theta)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"gain(phi)"|| headerstr.toLower().trimmed() == u8"gain(phi')") {
+ return u8"gain(phi)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"gain(total)"|| headerstr.toLower().trimmed() == u8"gain(total')") {
+ return u8"gain(total)";
+ }
+ else if (headerstr.toLower().trimmed() == u8"radius"|| headerstr.toLower().trimmed() == u8"radius'") {
+ return u8"radius";
+ }
+ else if (headerstr.toLower().trimmed() == u8"x" || headerstr.toLower().trimmed() == "x'") {
+ return u8"x";
+ }
+ else if (headerstr.toLower().trimmed() == u8"y" || headerstr.toLower().trimmed() == "y'") {
+ return u8"y";
+ }
+ else if (headerstr.toLower().trimmed() == u8"z" || headerstr.toLower().trimmed() == "z'") {
+ return u8"z";
+ }
+ else if (headerstr.toLower().trimmed() == "re(ex)" || headerstr.toLower().trimmed() == "re(ex')") {
+ return u8"re(ex)";
+ }
+ else if (headerstr.toLower().trimmed() == "re(ey)" || headerstr.toLower().trimmed() == "re(ey')") {
+ return u8"re(ey)";
+ }
+ else if (headerstr.toLower().trimmed() == "re(ez)" || headerstr.toLower().trimmed() == "re(ez')") {
+ return u8"re(ez)";
+ }
+ else if (headerstr.toLower().trimmed() == "im(ex)" || headerstr.toLower().trimmed() == "im(ex')") {
+ return u8"im(ex)";
+ }
+ else if (headerstr.toLower().trimmed() == "im(ey)" || headerstr.toLower().trimmed() == "im(ey')") {
+ return u8"im(ey)";
+ }
+ else if (headerstr.toLower().trimmed() == "im(ez)" || headerstr.toLower().trimmed() == "im(ez')") {
+ return u8"im(ez)";
+ }
+ else if (headerstr.toLower().trimmed() == "re(er)" || headerstr.toLower().trimmed() == "re(er')") {
+ return u8"re(er)";
+ }
+ else if (headerstr.toLower().trimmed() == "im(er)" || headerstr.toLower().trimmed() == "im(er')") {
+ return u8"im(er)";
+ }
+ else if (headerstr.toLower().trimmed() == "u" || headerstr.toLower().trimmed() == "u'") {
+ return u8"u";
+ }
+ else if (headerstr.toLower().trimmed() == "v" || headerstr.toLower().trimmed() == "v'") {
+ return u8"v";
+ }
+ else {
+ return u8"";
+ }
+
+;
+}
+
+QString FEKOBase::FEKOFARFIELDFEKODATABLOCK::saveFEKOFarFieldDataBlock()
+{
+
+ switch (this->resultType) {
+ case FEKOBase::GAIN:
+ return this->saveFEKOFarFieldDataBlock_Gain();
+ case FEKOBase::DIRECTIVITY:
+ return this->saveFEKOFarFieldDataBlock_Directivity();
+ case FEKOBase::RCS:
+ return this->saveFEKOFarFieldDataBlock_RCS();
+ case FEKOBase::FARFIELDVALUES:
+ return this->saveFEKOFarFieldDataBlock_FarFieldValues();
+ default:
+ return QString();
+ }
+}
+
+QString FEKOBase::FEKOFARFIELDFEKODATABLOCK::saveFEKOFarFieldDataBlock_Gain()
+{
+ return QString();
+}
+
+QString FEKOBase::FEKOFARFIELDFEKODATABLOCK::saveFEKOFarFieldDataBlock_Directivity()
+{
+ return QString();
+}
+
+QString FEKOBase::FEKOFARFIELDFEKODATABLOCK::saveFEKOFarFieldDataBlock_RCS()
+{
+ return QString();
+}
+
+QString FEKOBase::FEKOFARFIELDFEKODATABLOCK::saveFEKOFarFieldDataBlock_FarFieldValues()
+{
+ return QString();
+}
diff --git a/src/LAMPTool/FEKOFarFieldFileClass.h b/src/LAMPTool/FEKOFarFieldFileClass.h
new file mode 100644
index 0000000..e778bb4
--- /dev/null
+++ b/src/LAMPTool/FEKOFarFieldFileClass.h
@@ -0,0 +1,138 @@
+#pragma once
+
+#ifndef FARFIELDFILECLASS_H
+#define FARFIELDFILECLASS_H
+#include "referenceHeader.h"
+#include "SARImage/FEKOBaseToolClass.h"
+
+
+namespace FEKOBase {
+ //
+ // ²ÎÊý altair feko user guide 2018.1
+ // ÕÂ½Ú A-10 summary of feko file formats
+ //
+
+ const QString FEKOFARFIELDSPLITCHAT = u8" ";
+
+ enum FEKOFARFIELDRESULTTYPE {
+ GAIN, // ÔöÒæ
+ DIRECTIVITY,// µç³¡
+ RCS,// ºóÏòÉ¢ÉäϵÊý
+ FARFIELDVALUES,// Ô¶³¡Öµ
+ FEKOFARFIELDRESULTTYPEUNKOWN
+ };
+ FEKOBase::FEKOFARFIELDRESULTTYPE FEKOFARFIELDRESULTTYPEString2Enum(QString str);
+ QString QString2FEKOFARFIELDRESULTTYPE(FEKOBase::FEKOFARFIELDRESULTTYPE mode);
+
+
+
+//==========================================================
+// FEKO ·ÂÕæ½á¹ûÎļþ farfield Îļþ ffe
+// ½âÎöffe Îļþ
+//==========================================================
+ struct FEKOFarFieldFEKOFarFieldData // ·ÂÕæ½á¹ûµÄÊý¾ÝÏî £¬ÐÐ
+ {
+ double X=0;// cartesian coordinate system
+ double Y=0;
+ double Z=0;
+ double U=0; // cartesian coordinate system
+ double V=0;
+ double radius=0; // nearfield
+ double theta=0; // spherical coordinate system
+ double phi=0;
+ double re_Er=0;
+ double im_Er=0;
+ double re_Etheta=0; // theta
+ double im_Etheta=0;
+ double re_Ephi=0; // phi
+ double im_Ephi=0;
+ double re_Ex=0;// X
+ double im_Ex=0;
+ double re_Ey=0; //y
+ double im_Ey=0;
+ double re_Ez=0; //z
+ double im_Ez=0;
+ double gain_Theta=0; // gain in spherical coordinate system
+ double gain_Phi=0;
+ double gain_Total=0;
+ double directivity_Theta=0; // directivity in spherical coordinate system
+ double directivity_Phi = 0;
+ double directivity_total = 0;
+ double RCS_theta = 0;// RCS in spherical coordinate system
+ double RCS_phi = 0;
+ double RCS_total = 0;
+ };
+
+ class FEKOFARFIELDFEKODATABLOCK { // Êý¾Ý¿é
+ public:
+ FEKOFARFIELDFEKODATABLOCK();
+ ~FEKOFARFIELDFEKODATABLOCK();
+ public: // ±äÁ¿
+ QString configurationName;
+ QString requestName;
+ double frequency;
+ FEKOBase::FEKOCoordinateSystem coordinateSystem; //
+ FEKOBase::FEKOFARFIELDRESULTTYPE resultType;
+ long thetaSamples;
+ long phiSamples;
+ long USamples;
+ long VSamples;
+ CartesianCoordinates Origin; // ×ø±êϵԵã
+ long headerLines;
+ QList dataList;
+ public: // Ïà¹Øº¯Êý
+ // ½âÎöÎļþ
+ int paraseFEKOFarFieldDataBlock(const QString& blockstr); // ½âÎöÊý¾Ý¿é
+ int paraseFEKOFarFieldDataBlockFromList(QList& blockstr); // ½âÎöÊý¾Ý¿é
+ QString normalizationHeaderString(QString headerstr);// ¶ÔÊý¾Ý¿éÍ·Ãû³Æ½øÐбê×¼»¯
+
+ // ±£´æÎļþ
+ QString saveFEKOFarFieldDataBlock(); // Éú³ÉÊý¾Ý¿é×Ö·û´®
+ QString saveFEKOFarFieldDataBlock_Gain(); // ¸ù¾ÝÀàÐÍÉú³ÉÊý¾Ý¿é×Ö·û´®
+ QString saveFEKOFarFieldDataBlock_Directivity();
+ QString saveFEKOFarFieldDataBlock_RCS();
+ QString saveFEKOFarFieldDataBlock_FarFieldValues();
+ };
+
+
+
+
+
+
+
+class FEKOFarFieldFileClass: public QObject
+{
+ Q_OBJECT
+public:
+ FEKOFarFieldFileClass();
+ ~FEKOFarFieldFileClass();
+
+public:
+ QString FileType;
+ QString FileFormat;
+ QString Sourcestr;
+ QString Datestr;
+ QList dataBlockList;
+
+
+public:
+ void parseFarFieldFile(const QString& fileName);
+ void outputToFile(const QString& fileName);
+
+};
+
+
+
+//==========================================================
+// FEKO ·ÂÕæ½á¹ûÎļþ nearfield Îļþ efe
+// ½âÎöefe Îļþ£¬
+//==========================================================
+
+
+
+
+
+
+}
+#endif // ! FARFIELDFILECLASS_H
+
diff --git a/src/LAMPTool/FEKOSimulationSARClass.cpp b/src/LAMPTool/FEKOSimulationSARClass.cpp
new file mode 100644
index 0000000..177fcfc
--- /dev/null
+++ b/src/LAMPTool/FEKOSimulationSARClass.cpp
@@ -0,0 +1,1125 @@
+// ÏÂÃæµÄ´úÂëÊÇÊôÐÔµÄÉèÖÃÓë»ñÈ¡£¬Çë²¹³äÍêÕû
+#include "FEKOSimulationSARClass.h"
+#include "BaseToolLib/BaseConstVariable.h"
+#include