工程拆分完毕

pull/3/head
陈增辉 2025-02-06 21:18:25 +08:00
parent 077f083d26
commit 9873927a52
145 changed files with 2473 additions and 930 deletions

20
ALLRelease/ALLRelease.cpp Normal file
View File

@ -0,0 +1,20 @@
// ALLRelease.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件

View File

@ -0,0 +1,161 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{8a71d19d-9ac6-42e9-81ec-9e82af8075b8}</ProjectGuid>
<RootNamespace>ALLRelease</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="ALLRelease.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BaseCommonLibrary\BaseCommonLibrary.vcxproj">
<Project>{872ecd6f-30e3-4a1b-b17c-15e87d373ff6}</Project>
</ProjectReference>
<ProjectReference Include="..\GPUBaseLib\GPUBaseLib.vcxproj">
<Project>{b8b40c54-f7fe-4809-b6fb-8bc014570d7b}</Project>
</ProjectReference>
<ProjectReference Include="..\LAMPDataProcessEXE\LAMPDataProcessEXE.vcxproj">
<Project>{4e6e79a3-048c-4fb4-bbb0-43c518a3e6d4}</Project>
</ProjectReference>
<ProjectReference Include="..\LAMPSARProcessProgram\RasterProcessTool.vcxproj">
<Project>{7ef67daa-dbc0-4b7f-80e8-11b4d2cb7ec2}</Project>
</ProjectReference>
<ProjectReference Include="..\Toolbox\BaseToolbox\BaseToolbox.vcxproj">
<Project>{070c157e-3c30-4e2b-a80c-cbc7b74df03f}</Project>
</ProjectReference>
<ProjectReference Include="..\Toolbox\ImageshowTool\ImageshowTool.vcxproj">
<Project>{8c8ca066-a93a-4098-9a46-b855efeaadf2}</Project>
</ProjectReference>
<ProjectReference Include="..\Toolbox\LAMPScatterTool\LAMPScatterTool.vcxproj">
<Project>{d603a623-132d-4304-ab03-638fc438f084}</Project>
</ProjectReference>
<ProjectReference Include="..\Toolbox\SimulationSARTool\SimulationSARTool.vcxproj">
<Project>{ed06dfcd-4b9f-41f7-8f25-1823c2398142}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="ALLRelease.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -73,8 +73,7 @@
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') OR !Exists('$(QtMsBuild)\Qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@ -168,9 +167,13 @@
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
<EnableUAC>false</EnableUAC>
</Link>
<CudaCompile>
<GenerateRelocatableDeviceCode>true</GenerateRelocatableDeviceCode>
<CodeGeneration>compute_82,sm_82</CodeGeneration>
</CudaCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="BaseTool\BaseConstVariable.h" />
@ -180,6 +183,7 @@
<ClInclude Include="BaseTool\GeoOperator.h" />
<ClInclude Include="BaseTool\ImageOperatorBase.h" />
<ClInclude Include="BaseTool\LogInfoCls.h" />
<QtMoc Include="ToolAbstract\QToolAbstract.h" />
<QtMoc Include="BaseTool\QToolProcessBarDialog.h" />
<ClInclude Include="BaseTool\RasterToolBase.h" />
<ClInclude Include="BaseTool\SARSimulationImageL1.h" />
@ -205,12 +209,12 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="ToolAbstract\QToolAbstract.cpp" />
</ItemGroup>
<ItemGroup>
<QtUic Include="BaseTool\QToolProcessBarDialog.ui" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(QtMsBuild)\qt.targets" Condition="Exists('$(QtMsBuild)\qt.targets')" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -16,6 +16,9 @@
<Filter Include="BaseTool">
<UniqueIdentifier>{bf5c3550-65f6-4dad-9908-26690551ffad}</UniqueIdentifier>
</Filter>
<Filter Include="ToolAbstract">
<UniqueIdentifier>{4233f4e2-0d0f-4cf9-8722-367d80339b2c}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="framework.h">
@ -45,9 +48,6 @@
<ClInclude Include="BaseTool\LogInfoCls.h">
<Filter>BaseTool</Filter>
</ClInclude>
<ClInclude Include="BaseTool\QToolProcessBarDialog.h">
<Filter>BaseTool</Filter>
</ClInclude>
<ClInclude Include="BaseTool\RasterToolBase.h">
<Filter>BaseTool</Filter>
</ClInclude>
@ -95,10 +95,19 @@
<ClCompile Include="BaseTool\stdafx.cpp">
<Filter>BaseTool</Filter>
</ClCompile>
<ClCompile Include="ToolAbstract\QToolAbstract.cpp">
<Filter>ToolAbstract</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="BaseTool\QToolProcessBarDialog.ui">
<Filter>BaseTool</Filter>
</None>
<QtMoc Include="BaseTool\QToolProcessBarDialog.h">
<Filter>头文件</Filter>
</QtMoc>
<QtMoc Include="ToolAbstract\QToolAbstract.h">
<Filter>ToolAbstract</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtUic Include="BaseTool\QToolProcessBarDialog.ui" />
</ItemGroup>
</Project>

View File

@ -205,6 +205,82 @@ struct CUDA_AntSate_PtrList {
double* h_antZaxisZ = nullptr, * d_antZaxisZ = nullptr;
};
/*********************************************** 卫星轨道坐标 ********************************************************************/
/// <summary>
/// 轨道节点,坐标系统为WGS84
/// </summary>
struct SatelliteOribtNode {
double time;
double Px;// 位置
double Py;
double Pz;
double Vx;// 速度
double Vy;
double Vz;
double AVx; // 加速度
double AVy;
double AVz;
double AntXaxisX; // X天线指向对应翻滚角等参数
double AntXaxisY; //
double AntXaxisZ; //
double AntYaxisX; // Y天线指向对应翻滚角等参数
double AntYaxisY; //
double AntYaxisZ; //
double AntZaxisX; // Z天线指向对应翻滚角等参数
double AntZaxisY; //
double AntZaxisZ; //
double AntDirecX; // 天线指向,对应翻滚角等参数
double AntDirecY;
double AntDirecZ;
double zeroDopplerDirectX; // 0 多普勒方向
double zeroDopplerDirectY;
double zeroDopplerDirectZ;
double beamAngle; // 波位角
double AzAngle;// 摆动角
};
struct SatelliteAntDirect {
double Xst; // 地面-->卫星矢量
double Yst;
double Zst;
double Vxs; // 卫星速度
double Vys;
double Vzs;
double Xant; // 天线坐标系下的 矢量坐标
double Yant;
double Zant;
double Norm;
double ThetaAnt; // 天线坐标系下的 theta 坐标系
double PhiAnt;
};
struct RadiationPatternGainPoint {
double theta;
double phi;
double GainValue;
};
/*********************************************** 指针回收区域 ********************************************************************/

View File

@ -1,4 +1,7 @@
#pragma once
#ifndef QToolAbstract_H_
#define QToolAbstract_H_
#include <QTreeWidgetItem>
#include <QPushButton>
@ -24,5 +27,10 @@ public slots:
public:
QVector<QString> toolPath;
QString toolname;
};
/*
// 鬧꿍묏야芎
void RegisterPreToolBox(RasterProcessTool* mainWindows);
*/
#endif // !1

View File

@ -10,4 +10,6 @@ C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\BaseTool\S
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\BaseTool\stdafx.cpp;C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\stdafx.obj
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\dllmain.cpp;C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\dllmain.obj
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\pch.cpp;C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\pch.obj
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\ToolAbstract\QToolAbstract.cpp;C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\QToolAbstract.obj
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\qt\moc\moc_QToolAbstract.cpp;C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\moc_QToolAbstract.obj
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\qt\moc\moc_QToolProcessBarDialog.cpp;C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\moc_QToolProcessBarDialog.obj

View File

@ -1,4 +1,4 @@
^C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\BASETOOL.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\DLLMAIN.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\ECHODATAFORMAT.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\FILEOPERATOR.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\GEOOPERATOR.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\IMAGEOPERATORBASE.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\LOGINFOCLS.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\MOC_QTOOLPROCESSBARDIALOG.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\PCH.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\QTOOLPROCESSBARDIALOG.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\RASTERTOOLBASE.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\SARSIMULATIONIMAGEL1.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\STDAFX.OBJ
^C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\BASETOOL.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\DLLMAIN.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\ECHODATAFORMAT.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\FILEOPERATOR.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\GEOOPERATOR.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\IMAGEOPERATORBASE.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\LOGINFOCLS.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\MOC_QTOOLABSTRACT.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\MOC_QTOOLPROCESSBARDIALOG.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\PCH.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\QTOOLABSTRACT.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\QTOOLPROCESSBARDIALOG.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\RASTERTOOLBASE.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\SARSIMULATIONIMAGEL1.OBJ|C:\USERS\30453\DESKTOP\RASTERTOOL\RASTERPROCESSTOOL\BASECOMMONLIBRARY\X64\RELEASE\STDAFX.OBJ
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\LAMPSARProcessProgram\x64\Release\BaseCommonLibrary.lib
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\LAMPSARProcessProgram\x64\Release\BaseCommonLibrary.EXP
C:\Users\30453\Desktop\RasterTool\RasterProcessTool\BaseCommonLibrary\x64\Release\BaseCommonLibrary.IPDB

View File

@ -34,43 +34,3 @@ CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts
CONFIG += no_fixpath
QT = core xml sql opengl gui svg xmlpatterns widgets location positioning openglextensions charts

View File

@ -1,5 +0,0 @@
#include "BaseToolBox.h"
BaseToolBox::BaseToolBox()
{
}

View File

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<CudaCompile Include="GPUTool\GPUTool.cu" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="GPUBaseLibAPI.h" />
<ClInclude Include="GPUTool\GPUTool.cuh" />
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{b8b40c54-f7fe-4809-b6fb-8bc014570d7b}</ProjectGuid>
<RootNamespace>GPUBaseLib</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 12.6.props" />
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IncludePath>..\BaseCommonLibrary;..\BaseCommonLibrary\BaseTool;..\BaseCommonLibrary\ToolAbstract;.;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;GPUBASELIB_API;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<CudaCompile>
<GenerateRelocatableDeviceCode>true</GenerateRelocatableDeviceCode>
<CodeGeneration>compute_86,sm_86</CodeGeneration>
</CudaCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 12.6.targets" />
</ImportGroup>
</Project>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="GPUTool">
<UniqueIdentifier>{36bccaca-86b9-48c3-97b1-376ee3555915}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<CudaCompile Include="GPUTool\GPUTool.cu">
<Filter>GPUTool</Filter>
</CudaCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="GPUTool\GPUTool.cuh">
<Filter>GPUTool</Filter>
</ClInclude>
<ClInclude Include="GPUBaseLibAPI.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -0,0 +1,12 @@
#pragma once
#ifndef GPUBaseLib_H_
#define GPUBaseLib_H_
#ifdef GPUBASELIB_API
#define GPUBASELIBAPI __declspec(dllexport)
#else
#define GPUBASELIBAPI __declspec(dllimport)
#endif
#endif // !GPUBaseLib_H_

View File

@ -1,6 +1,6 @@
#ifndef _GPUTOOL_H_
#define _GPUTOOL_H_
#include "GPUBaseLibAPI.h"
#include "BaseConstVariable.h"
#ifdef __CUDANVCC___
@ -21,8 +21,7 @@
#define SHAREMEMORY_FLOAT_HALF 6144
#define SHAREMEMORY_FLOAT_HALF_STEP 24
// 打印GPU参数
void printDeviceInfo(int deviceId);
enum LAMPGPUDATETYPE {
@ -70,38 +69,39 @@ extern __global__ void CUDAKernel_MemsetBlock(cuComplex* data, cuComplex init0,
extern __global__ void CUDAKernel_MemsetBlock(float* data, float init0, long len);
// 打印GPU参数
extern "C" void GPUBASELIBAPI printDeviceInfo(int deviceId);
// 误差处理函数
extern "C" void checkCudaError(cudaError_t err, const char* msg);
extern "C" void GPUBASELIBAPI checkCudaError(cudaError_t err, const char* msg);
// GPU 内存函数
extern "C" void* mallocCUDAHost( long memsize); // 主机内存声明
extern "C" void FreeCUDAHost(void* ptr);
extern "C" void* mallocCUDADevice( long memsize); // GPU内存声明
extern "C" void FreeCUDADevice(void* ptr);
extern "C" void HostToDevice(void* hostptr, void* deviceptr, long memsize);//GPU 内存数据转移 设备 -> GPU
extern "C" void DeviceToHost(void* hostptr, void* deviceptr, long memsize);//GPU 内存数据转移 GPU -> 设备
extern "C" void DeviceToDevice(void* s_deviceptr, void* t_deviceptr, long memsize);//GPU 内存数据转移 GPU -> 设备
extern "C" void* GPUBASELIBAPI mallocCUDAHost( long memsize); // 主机内存声明
extern "C" void GPUBASELIBAPI FreeCUDAHost(void* ptr);
extern "C" void* GPUBASELIBAPI mallocCUDADevice( long memsize); // GPU内存声明
extern "C" void GPUBASELIBAPI FreeCUDADevice(void* ptr);
extern "C" void GPUBASELIBAPI HostToDevice(void* hostptr, void* deviceptr, long memsize);//GPU 内存数据转移 设备 -> GPU
extern "C" void GPUBASELIBAPI DeviceToHost(void* hostptr, void* deviceptr, long memsize);//GPU 内存数据转移 GPU -> 设备
extern "C" void GPUBASELIBAPI DeviceToDevice(void* s_deviceptr, void* t_deviceptr, long memsize);//GPU 内存数据转移 GPU -> 设备
extern "C" void CUDA_MemsetBlock(cuComplex* data, cuComplex init0, long len);
extern "C" void GPUBASELIBAPI CUDA_MemsetBlock(cuComplex* data, cuComplex init0, long len);
// 矢量基础运算函数
extern "C" void CUDAdistanceAB(float* Ax, float* Ay, float* Az, float* Bx, float* By, float* Bz, float* R, long member);
extern "C" void CUDABdistanceAs(float* Ax, float* Ay, float* Az, float Bx, float By, float Bz, float* R, long member);
extern "C" void CUDAmake_VectorA_B(float sX, float sY, float sZ, float* tX, float* tY, float* tZ, float* RstX, float* RstY, float* RstZ, long member);
extern "C" void CUDANorm_Vector(float* Vx, float* Vy, float* Vz, float* R, long member);
extern "C" void CUDAcosAngle_VA_AB(float* Ax, float* Ay, float* Az, float* Bx, float* By, float* Bz, float* anglecos, long len);
extern "C" void GPUBASELIBAPI CUDAdistanceAB(float* Ax, float* Ay, float* Az, float* Bx, float* By, float* Bz, float* R, long member);
extern "C" void GPUBASELIBAPI CUDABdistanceAs(float* Ax, float* Ay, float* Az, float Bx, float By, float Bz, float* R, long member);
extern "C" void GPUBASELIBAPI CUDAmake_VectorA_B(float sX, float sY, float sZ, float* tX, float* tY, float* tZ, float* RstX, float* RstY, float* RstZ, long member);
extern "C" void GPUBASELIBAPI CUDANorm_Vector(float* Vx, float* Vy, float* Vz, float* R, long member);
extern "C" void GPUBASELIBAPI CUDAcosAngle_VA_AB(float* Ax, float* Ay, float* Az, float* Bx, float* By, float* Bz, float* anglecos, long len);
// 常见插值算法
extern "C" void CUDAGridPointLinearInterp1(float* v, float* q, float* qv,long xlen, long qlen);
extern "C" void CUDADSin(double* y, double* X, int n);
extern "C" void CUDADCos(double* y, double* X, int n);
extern "C" void GPUBASELIBAPI CUDAGridPointLinearInterp1(float* v, float* q, float* qv,long xlen, long qlen);
extern "C" void GPUBASELIBAPI CUDADSin(double* y, double* X, int n);
extern "C" void GPUBASELIBAPI CUDADCos(double* y, double* X, int n);
// 估算分块整数
extern "C" long NextBlockPad(long num,long blocksize);
extern "C" long GPUBASELIBAPI NextBlockPad(long num,long blocksize);
extern "C" void PrintLasterError(const char* s);
extern "C" void GPUBASELIBAPI PrintLasterError(const char* s);
#endif

View File

@ -0,0 +1,10 @@
#include "LAMPDataProcessEXE.h"
LAMPDataProcessEXE::LAMPDataProcessEXE(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}
LAMPDataProcessEXE::~LAMPDataProcessEXE()
{}

View File

@ -0,0 +1,16 @@
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_LAMPDataProcessEXE.h"
class LAMPDataProcessEXE : public QMainWindow
{
Q_OBJECT
public:
LAMPDataProcessEXE(QWidget *parent = nullptr);
~LAMPDataProcessEXE();
private:
Ui::LAMPDataProcessEXEClass ui;
};

View File

@ -0,0 +1,4 @@
<RCC>
<qresource prefix="LAMPDataProcessEXE">
</qresource>
</RCC>

View File

@ -0,0 +1,28 @@
<UI version="4.0" >
<class>LAMPDataProcessEXEClass</class>
<widget class="QMainWindow" name="LAMPDataProcessEXEClass" >
<property name="objectName" >
<string notr="true">LAMPDataProcessEXEClass</string>
</property>
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>600</width>
<height>400</height>
</rect>
</property>
<property name="windowTitle" >
<string>LAMPDataProcessEXE</string>
</property> <widget class="QMenuBar" name="menuBar" />
<widget class="QToolBar" name="mainToolBar" />
<widget class="QWidget" name="centralWidget" />
<widget class="QStatusBar" name="statusBar" />
</widget>
<layoutDefault spacing="6" margin="11" />
<pixmapfunction></pixmapfunction>
<resources>
<include location="LAMPDataProcessEXE.qrc"/>
</resources>
<connections/>
</UI>

View File

@ -11,22 +11,21 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}</ProjectGuid>
<ProjectGuid>{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}</ProjectGuid>
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0</WindowsTargetPlatformVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')"
>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
@ -38,19 +37,16 @@
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
<QtInstall>tools_qt5</QtInstall>
<QtModules>core</QtModules>
<QtModules>core;gui;widgets</QtModules>
<QtBuildConfig>debug</QtBuildConfig>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
<QtInstall>tools_qt5</QtInstall>
<QtModules>core</QtModules>
<QtModules>core;gui;widgets</QtModules>
<QtBuildConfig>release</QtBuildConfig>
</PropertyGroup>
<Target Name="QtMsBuildNotFound"
BeforeTargets="CustomBuild;ClCompile"
Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High"
Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared" />
@ -66,11 +62,18 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<IncludePath>..\BaseCommonLibrary;..\BaseCommonLibrary\BaseTool;..\BaseCommonLibrary\ToolAbstract;..\GPUBaseLib\GPUTool;..\LAMPSARProcessProgram;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
<CopyLocalProjectReference>true</CopyLocalProjectReference>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<LanguageStandard_C>stdc11</LanguageStandard_C>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>BASETOOLBOX_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
@ -83,7 +86,6 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>BASETOOLBOX_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
@ -91,17 +93,26 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="basetoolbox_global.h"/>
<QtMoc Include="BaseToolBox.h"/>
<ClCompile Include="BaseToolBox.cpp"/>
<QtRcc Include="LAMPDataProcessEXE.qrc" />
<QtUic Include="LAMPDataProcessEXE.ui" />
<QtMoc Include="LAMPDataProcessEXE.h" />
<ClCompile Include="LAMPDataProcessEXE.cpp" />
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BaseCommonLibrary\BaseCommonLibrary.vcxproj">
<Project>{872ecd6f-30e3-4a1b-b17c-15e87d373ff6}</Project>
</ProjectReference>
<ProjectReference Include="..\LAMPSARProcessProgram\RasterProcessTool.vcxproj">
<Project>{7ef67daa-dbc0-4b7f-80e8-11b4d2cb7ec2}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">

View File

@ -23,15 +23,22 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="basetoolbox_global.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="BaseToolBox.h">
<QtRcc Include="LAMPDataProcessEXE.qrc">
<Filter>Resource Files</Filter>
</QtRcc>
<QtUic Include="LAMPDataProcessEXE.ui">
<Filter>Form Files</Filter>
</QtUic>
<QtMoc Include="LAMPDataProcessEXE.h">
<Filter>Header Files</Filter>
</QtMoc>
<ClCompile Include="BaseToolBox.cpp">
<ClCompile Include="LAMPDataProcessEXE.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,48 @@
#include "LAMPDataProcessEXE.h"
#include <QtWidgets/QApplication>
#include <QCoreApplication>
#include <QDebug>
#include <QFile>
#include <QTextStream>
#include <QDateTime>
#include "RasterProcessTool.h"
// ×Ô¶¨ÒåÏûÏ¢´¦ÀíÆ÷º¯Êý
void customMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString& msg)
{
QByteArray localMsg = msg.toLocal8Bit();
const char* file = context.file ? context.file : "";
const char* function = context.function ? context.function : "";
QString dateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");
QFile outFile("application.log");
outFile.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream ts(&outFile);
switch (type) {
case QtDebugMsg:
ts << dateTime << " Debug: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtInfoMsg:
ts << dateTime << " Info: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtWarningMsg:
ts << dateTime << " Warning: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtCriticalMsg:
ts << dateTime << " Critical: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtFatalMsg:
ts << dateTime << " Fatal: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
abort();
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
RasterProcessTool w;
w.show();
return a.exec();
}

View File

@ -1,16 +1,13 @@
#include "RasterProcessTool.h"
#include <QObject>
#include "QMergeRasterProcessDialog.h"
#include "QImportGF3StripL1ADataset.h"
#include "QComplex2AmpPhase.h"
#include "QRDOrthProcessClass.h"
#include "QOrthSlrRaster.h"
#include <QPushButton>
#include "QToolAbstract.h"
#include "ui_RasterProcessTool.h"
RasterProcessTool::RasterProcessTool(QWidget *parent)
: QMainWindow(parent)
: ui(new Ui::RasterProcessToolClass), QMainWindow(parent)
{
ui.setupUi(this);
ui->setupUi(this);
QObject::connect(this, SIGNAL(addBoxToolItemSIGNAL(QToolAbstract*)), this, SLOT(addBoxToolItemSLOT(QToolAbstract*)));
}
@ -26,18 +23,18 @@ void RasterProcessTool::addBoxToolItemSLOT(QToolAbstract* item)
QTreeWidgetItem* parentItem = findOrCreateParentItem(xnodepath);
// 检查该父项是否已经绑定了 toolButton
if (parentItem && ui.treeWidgetToolBox->itemWidget(parentItem, 0) == nullptr) {
if (parentItem && ui->treeWidgetToolBox->itemWidget(parentItem, 0) == nullptr) {
QTreeWidgetItem* actionItem = new QTreeWidgetItem(parentItem);
parentItem->addChild(actionItem);
QIcon icon(QString::fromUtf8(":/RasterProcessTool/toolicon"));
QPushButton* button = new QPushButton(ui.treeWidgetToolBox);
QPushButton* button = new QPushButton(ui->treeWidgetToolBox);
button->setIcon(icon);
button->setText(toolName);
button->setLayoutDirection(Qt::LeftToRight);
button->setStyleSheet("QPushButton { text-align: left; }");
ui.treeWidgetToolBox->setItemWidget(actionItem, 0, button);
ui->treeWidgetToolBox->setItemWidget(actionItem, 0, button);
connect(button, SIGNAL(clicked()), item, SLOT(excute()));
item->setParent(ui.treeWidgetToolBox);
item->setParent(ui->treeWidgetToolBox);
qDebug() << "ToolButton bound to parent:" << actionItem->text(0);
}
else {
@ -72,15 +69,15 @@ QTreeWidgetItem* RasterProcessTool::findOrCreateParentItem( QVector<QString>& pa
// 查找顶级节点,如果没有找到则创建
QTreeWidgetItem* RasterProcessTool::findOrCreateTopLevelItem( QString& name) {
for (int i = 0; i < ui.treeWidgetToolBox->topLevelItemCount(); ++i) {
QTreeWidgetItem* item = ui.treeWidgetToolBox->topLevelItem(i);
for (int i = 0; i < ui->treeWidgetToolBox->topLevelItemCount(); ++i) {
QTreeWidgetItem* item = ui->treeWidgetToolBox->topLevelItem(i);
if (item->text(0) == name) {
return item;
}
}
// 如果没有找到,创建新的顶级节点
QTreeWidgetItem* newItem = new QTreeWidgetItem(ui.treeWidgetToolBox);
QTreeWidgetItem* newItem = new QTreeWidgetItem(ui->treeWidgetToolBox);
QIcon icon(QString::fromUtf8(":/RasterProcessTool/toolboxIcon"));
newItem->setIcon(0,icon);
newItem->setTextAlignment(0, Qt::AlignLeft);

View File

@ -1,10 +1,14 @@
#pragma once
#include "RasterProcessToolWidgetAPI.h"
#include <QtWidgets/QMainWindow>
#include "ui_RasterProcessTool.h"
#include "QToolAbstract.h"
class RasterProcessTool : public QMainWindow
namespace Ui {
class RasterProcessToolClass;
}
class RASTERPROCESSTOOLWIDGET_EXPORT RasterProcessTool : public QMainWindow
{
Q_OBJECT
@ -15,9 +19,6 @@ public:
signals:
void addBoxToolItemSIGNAL(QToolAbstract* item);
public slots:
void addBoxToolItemSLOT(QToolAbstract* item);
QTreeWidgetItem* findOrCreateParentItem( QVector<QString>& path);
@ -25,5 +26,5 @@ public slots:
QTreeWidgetItem* findChildItemByName(QTreeWidgetItem* parentItem, QString& name);
private:
Ui::RasterProcessToolClass ui;
Ui::RasterProcessToolClass* ui;
};

View File

@ -3,11 +3,38 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.10.35122.118
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RasterProcessTool", "RasterProcessTool.vcxproj", "{7EF67DAA-DBC0-4B7F-80E8-11B4D2CB7EC2}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RasterProcessToolWidget", "RasterProcessTool.vcxproj", "{7EF67DAA-DBC0-4B7F-80E8-11B4D2CB7EC2}"
ProjectSection(ProjectDependencies) = postProject
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B} = {B8B40C54-F7FE-4809-B6FB-8BC014570D7B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseCommonLibrary", "..\BaseCommonLibrary\BaseCommonLibrary.vcxproj", "{872ECD6F-30E3-4A1B-B17C-15E87D373FF6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseToolBox", "..\BaseToolBox\BaseToolBox.vcxproj", "{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseToolbox", "..\Toolbox\BaseToolbox\BaseToolbox.vcxproj", "{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}"
ProjectSection(ProjectDependencies) = postProject
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B} = {B8B40C54-F7FE-4809-B6FB-8BC014570D7B}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LAMPScatterTool", "..\Toolbox\LAMPScatterTool\LAMPScatterTool.vcxproj", "{D603A623-132D-4304-AB03-638FC438F084}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SimulationSARTool", "..\Toolbox\SimulationSARTool\SimulationSARTool.vcxproj", "{ED06DFCD-4B9F-41F7-8F25-1823C2398142}"
ProjectSection(ProjectDependencies) = postProject
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B} = {B8B40C54-F7FE-4809-B6FB-8BC014570D7B}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ToolBox", "ToolBox", "{41B1F23D-9119-47A7-B102-34022AF83CDA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BaseLib", "BaseLib", "{2768F9D6-D410-4E88-A479-8336DAF97072}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageshowTool", "..\Toolbox\ImageshowTool\ImageshowTool.vcxproj", "{8C8CA066-A93A-4098-9A46-B855EFEAADF2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALLRelease", "..\ALLRelease\ALLRelease.vcxproj", "{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MainWidget", "MainWidget", "{6505E2BA-06A2-447B-BC85-8CF1A81359BC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LAMPDataProcessEXE", "..\LAMPDataProcessEXE\LAMPDataProcessEXE.vcxproj", "{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GPUBaseLib", "..\GPUBaseLib\GPUBaseLib.vcxproj", "{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -33,18 +60,75 @@ Global
{872ECD6F-30E3-4A1B-B17C-15E87D373FF6}.Release|x64.Build.0 = Release|x64
{872ECD6F-30E3-4A1B-B17C-15E87D373FF6}.Release|x86.ActiveCfg = Release|Win32
{872ECD6F-30E3-4A1B-B17C-15E87D373FF6}.Release|x86.Build.0 = Release|Win32
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Debug|x64.ActiveCfg = Debug|x64
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Debug|x64.Build.0 = Debug|x64
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Debug|x86.ActiveCfg = Debug|x64
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Debug|x86.Build.0 = Debug|x64
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Release|x64.ActiveCfg = Release|x64
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Release|x64.Build.0 = Release|x64
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Release|x86.ActiveCfg = Release|x64
{6A5B1698-B96E-497F-8DF4-7EC8F67DCE45}.Release|x86.Build.0 = Release|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Debug|x64.ActiveCfg = Debug|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Debug|x64.Build.0 = Debug|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Debug|x86.ActiveCfg = Debug|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Debug|x86.Build.0 = Debug|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Release|x64.ActiveCfg = Release|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Release|x64.Build.0 = Release|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Release|x86.ActiveCfg = Release|x64
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}.Release|x86.Build.0 = Release|x64
{D603A623-132D-4304-AB03-638FC438F084}.Debug|x64.ActiveCfg = Debug|x64
{D603A623-132D-4304-AB03-638FC438F084}.Debug|x64.Build.0 = Debug|x64
{D603A623-132D-4304-AB03-638FC438F084}.Debug|x86.ActiveCfg = Debug|x64
{D603A623-132D-4304-AB03-638FC438F084}.Debug|x86.Build.0 = Debug|x64
{D603A623-132D-4304-AB03-638FC438F084}.Release|x64.ActiveCfg = Release|x64
{D603A623-132D-4304-AB03-638FC438F084}.Release|x64.Build.0 = Release|x64
{D603A623-132D-4304-AB03-638FC438F084}.Release|x86.ActiveCfg = Release|x64
{D603A623-132D-4304-AB03-638FC438F084}.Release|x86.Build.0 = Release|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Debug|x64.ActiveCfg = Debug|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Debug|x64.Build.0 = Debug|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Debug|x86.ActiveCfg = Debug|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Debug|x86.Build.0 = Debug|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Release|x64.ActiveCfg = Release|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Release|x64.Build.0 = Release|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Release|x86.ActiveCfg = Release|x64
{ED06DFCD-4B9F-41F7-8F25-1823C2398142}.Release|x86.Build.0 = Release|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Debug|x64.ActiveCfg = Debug|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Debug|x64.Build.0 = Debug|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Debug|x86.ActiveCfg = Debug|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Debug|x86.Build.0 = Debug|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Release|x64.ActiveCfg = Release|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Release|x64.Build.0 = Release|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Release|x86.ActiveCfg = Release|x64
{8C8CA066-A93A-4098-9A46-B855EFEAADF2}.Release|x86.Build.0 = Release|x64
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Debug|x64.ActiveCfg = Debug|x64
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Debug|x64.Build.0 = Debug|x64
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Debug|x86.ActiveCfg = Debug|Win32
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Debug|x86.Build.0 = Debug|Win32
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Release|x64.ActiveCfg = Release|x64
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Release|x64.Build.0 = Release|x64
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Release|x86.ActiveCfg = Release|Win32
{8A71D19D-9AC6-42E9-81EC-9E82AF8075B8}.Release|x86.Build.0 = Release|Win32
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Debug|x64.ActiveCfg = Debug|x64
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Debug|x64.Build.0 = Debug|x64
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Debug|x86.ActiveCfg = Debug|x64
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Debug|x86.Build.0 = Debug|x64
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Release|x64.ActiveCfg = Release|x64
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Release|x64.Build.0 = Release|x64
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Release|x86.ActiveCfg = Release|x64
{4E6E79A3-048C-4FB4-BBB0-43C518A3E6D4}.Release|x86.Build.0 = Release|x64
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Debug|x64.ActiveCfg = Debug|x64
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Debug|x64.Build.0 = Debug|x64
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Debug|x86.ActiveCfg = Debug|Win32
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Debug|x86.Build.0 = Debug|Win32
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Release|x64.ActiveCfg = Release|x64
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Release|x64.Build.0 = Release|x64
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Release|x86.ActiveCfg = Release|Win32
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{7EF67DAA-DBC0-4B7F-80E8-11B4D2CB7EC2} = {6505E2BA-06A2-447B-BC85-8CF1A81359BC}
{872ECD6F-30E3-4A1B-B17C-15E87D373FF6} = {2768F9D6-D410-4E88-A479-8336DAF97072}
{070C157E-3C30-4E2B-A80C-CBC7B74DF03F} = {41B1F23D-9119-47A7-B102-34022AF83CDA}
{D603A623-132D-4304-AB03-638FC438F084} = {41B1F23D-9119-47A7-B102-34022AF83CDA}
{ED06DFCD-4B9F-41F7-8F25-1823C2398142} = {41B1F23D-9119-47A7-B102-34022AF83CDA}
{8C8CA066-A93A-4098-9A46-B855EFEAADF2} = {41B1F23D-9119-47A7-B102-34022AF83CDA}
{B8B40C54-F7FE-4809-B6FB-8BC014570D7B} = {2768F9D6-D410-4E88-A479-8336DAF97072}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {179F0A62-C631-4667-AD03-3780ADE09F41}
EndGlobalSection

View File

@ -16,6 +16,7 @@
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0</WindowsTargetPlatformVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
<ProjectName>RasterProcessToolWidget</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
@ -25,7 +26,7 @@
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
@ -68,13 +69,13 @@
<IncludePath>.\SimulationSAR;.\GF3ProcessToolbox;.\BaseTool;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<IncludePath>.\ToolBox\LAMPScatterTool;.\GPUTool;.\ToolBox\SimulationSAR;.\ToolBox\BaseToolbox;..\BaseCommonLibrary\BaseTool;$(oneMKLIncludeDir);$(IncludePath)</IncludePath>
<IncludePath>..\BaseCommonLibrary;..\BaseCommonLibrary\BaseTool;..\GPUBaseLib\GPUTool;..\BaseCommonLibrary\ToolAbstract;$(oneMKLIncludeDir);$(IncludePath)</IncludePath>
<ReferencePath>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\lib\x64;$(ReferencePath)</ReferencePath>
<CopyLocalProjectReference>true</CopyLocalProjectReference>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>RASTERPROCESSTOOLWIDGET_LIB;_CRT_SECURE_NO_WARNINGS;_SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<OpenMPSupport>true</OpenMPSupport>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
@ -122,116 +123,28 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="QApplicationSettingManager.cpp" />
<ClCompile Include="QToolAbstract.cpp" />
<ClCompile Include="RegisterToolbox.cpp">
<DynamicSource Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">input</DynamicSource>
<QtMocFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename).moc</QtMocFileName>
<DynamicSource Condition="'$(Configuration)|$(Platform)'=='Release|x64'">input</DynamicSource>
<QtMocFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(Filename).moc</QtMocFileName>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\DEMLLA2XYZTool.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\GF3CalibrationAndGeocodingClass.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\GF3PSTNClass.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\QClipRasterByRowCols.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\QComplex2AmpPhase.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\QImportGF3StripL1ADataset.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\QOrthSlrRaster.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\QRDOrthProcessClass.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\SatelliteGF3xmlParser.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\SateOrbit.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\simptsn.cpp" />
<ClCompile Include="ToolBox\BaseToolbox\WGS84_J2000.cpp" />
<ClCompile Include="ToolBox\Imageshow\ImageShowDialogClass.cpp" />
<ClCompile Include="ToolBox\Imageshow\qcustomplot.cpp" />
<ClCompile Include="ToolBox\LAMPScatterTool\LAMPScatterS1B.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\GF3PSTNClass.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\QImageSARRFPC.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\QMergeRasterProcessDialog.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\QSARLookTableSimualtionGUI.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\QSimulationBPImage.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\QSimulationRFPCGUI.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\RFPCProcessCls.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\SARSatelliteSimulationAbstractCls.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\SARSimulationTaskSetting.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\SatelliteOribtModel.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\SigmaDatabase.cpp" />
<ClCompile Include="ToolBox\SimulationSAR\TBPImageAlgCls.cpp" />
<ClCompile Include="ToolBox\ToolBoxManager\pluginBase.cpp" />
<ClCompile Include="ToolBox\ToolBoxManager\PluginManageDialog.cpp" />
<ClCompile Include="ToolBox\ToolBoxManager\PluginManager.cpp" />
<QtRcc Include="RasterProcessTool.qrc" />
<QtRcc Include="ToolBox\Imageshow\qcustomplot.qrc" />
<QtUic Include="QApplicationSettingManager.ui" />
<QtUic Include="RasterProcessTool.ui" />
<QtMoc Include="RasterProcessTool.h" />
<ClCompile Include="RasterProcessTool.cpp" />
<ClCompile Include="main.cpp" />
<QtUic Include="ToolBox\BaseToolbox\DEMLLA2XYZTool.ui" />
<QtUic Include="ToolBox\BaseToolbox\QClipRasterByRowCols.ui" />
<QtUic Include="ToolBox\BaseToolbox\QComplex2AmpPhase.ui" />
<QtUic Include="ToolBox\BaseToolbox\QImportGF3StripL1ADataset.ui" />
<QtUic Include="ToolBox\BaseToolbox\QOrthSlrRaster.ui" />
<QtUic Include="ToolBox\BaseToolbox\QRDOrthProcessClass.ui" />
<QtUic Include="ToolBox\Imageshow\ImageShowDialogClass.ui" />
<QtUic Include="ToolBox\Imageshow\qcustomplot.ui" />
<QtUic Include="ToolBox\SimulationSAR\QImageSARRFPC.ui" />
<QtUic Include="ToolBox\SimulationSAR\QMergeRasterProcessDialog.ui" />
<QtUic Include="ToolBox\SimulationSAR\QSARLookTableSimualtionGUI.ui" />
<QtUic Include="ToolBox\SimulationSAR\QSimulationBPImage.ui" />
<QtUic Include="ToolBox\SimulationSAR\QSimulationRFPCGUI.ui" />
<QtUic Include="ToolBox\ToolBoxManager\PluginManageDialog.ui" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="GPUTool\GPUTool.cuh" />
<QtMoc Include="QApplicationSettingManager.h" />
<ClInclude Include="ToolBox\BaseToolbox\GF3CalibrationAndGeocodingClass.h" />
<ClInclude Include="ToolBox\BaseToolbox\GF3PSTNClass.h" />
<ClInclude Include="ToolBox\BaseToolbox\SatelliteGF3xmlParser.h" />
<ClInclude Include="ToolBox\BaseToolbox\SateOrbit.h" />
<ClInclude Include="ToolBox\BaseToolbox\simptsn.h" />
<ClInclude Include="ToolBox\BaseToolbox\WGS84_J2000.h" />
<ClInclude Include="ToolBox\LAMPScatterTool\LAMPScatterS1B.h" />
<ClInclude Include="ToolBox\ToolBoxManager\pluginBase.h" />
<ClInclude Include="ToolBox\ToolBoxManager\PluginManageDialog.h" />
<ClInclude Include="ToolBox\ToolBoxManager\PluginManager.h" />
<ClInclude Include="ToolBox\ToolBoxManager\PluginManagerAPI.h" />
<QtMoc Include="ToolBox\SimulationSAR\QSARLookTableSimualtionGUI.h" />
<ClInclude Include="ToolBox\SimulationSAR\GPURFPC.cuh" />
<ClInclude Include="ToolBox\SimulationSAR\GPUTBPImage.cuh" />
<ClInclude Include="ToolBox\SimulationSAR\RFPCProcessCls.h" />
<ClInclude Include="ToolBox\SimulationSAR\SARSatelliteSimulationAbstractCls.h" />
<ClInclude Include="ToolBox\SimulationSAR\SARSimulationTaskSetting.h" />
<ClInclude Include="ToolBox\SimulationSAR\SatelliteOribtModel.h" />
<ClInclude Include="ToolBox\SimulationSAR\SigmaDatabase.h" />
<ClInclude Include="ToolBox\SimulationSAR\TBPImageAlgCls.h" />
<QtMoc Include="ToolBox\SimulationSAR\QSimulationRFPCGUI.h" />
<QtMoc Include="ToolBox\SimulationSAR\QSimulationBPImage.h" />
<QtMoc Include="ToolBox\SimulationSAR\QMergeRasterProcessDialog.h" />
<QtMoc Include="ToolBox\SimulationSAR\QImageSARRFPC.h" />
<QtMoc Include="ToolBox\Imageshow\qcustomplot.h" />
<QtMoc Include="ToolBox\Imageshow\ImageShowDialogClass.h" />
<QtMoc Include="ToolBox\BaseToolbox\QRDOrthProcessClass.h" />
<QtMoc Include="ToolBox\BaseToolbox\QOrthSlrRaster.h" />
<QtMoc Include="ToolBox\BaseToolbox\QImportGF3StripL1ADataset.h" />
<QtMoc Include="ToolBox\BaseToolbox\QComplex2AmpPhase.h" />
<QtMoc Include="ToolBox\BaseToolbox\QClipRasterByRowCols.h" />
<QtMoc Include="ToolBox\BaseToolbox\DEMLLA2XYZTool.h" />
<QtMoc Include="QToolAbstract.h" />
<QtMoc Include="RegisterToolbox.h" />
</ItemGroup>
<ItemGroup>
<None Include="cpp.hint" />
</ItemGroup>
<ItemGroup>
<CudaCompile Include="GPUTool\GPUTool.cu" />
<CudaCompile Include="ToolBox\SimulationSAR\GPURFPC.cu" />
<CudaCompile Include="ToolBox\SimulationSAR\GPURFPCKernel.cu" />
<CudaCompile Include="ToolBox\SimulationSAR\GPUTBPImage.cu" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BaseCommonLibrary\BaseCommonLibrary.vcxproj">
<Project>{872ecd6f-30e3-4a1b-b17c-15e87d373ff6}</Project>
</ProjectReference>
<ProjectReference Include="..\GPUBaseLib\GPUBaseLib.vcxproj">
<Project>{b8b40c54-f7fe-4809-b6fb-8bc014570d7b}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClInclude Include="RasterProcessToolWidgetAPI.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">

View File

@ -24,21 +24,6 @@
<Filter Include="ToolBox">
<UniqueIdentifier>{3f0381bd-7381-4873-8654-e44acf0acaa1}</UniqueIdentifier>
</Filter>
<Filter Include="ToolBox\BaseToolbox">
<UniqueIdentifier>{c49d5cbf-5e46-46f8-880c-1f1f9d6e32e9}</UniqueIdentifier>
</Filter>
<Filter Include="ToolBox\Imageshow">
<UniqueIdentifier>{dec5c630-193b-4820-a36a-e1dada57e814}</UniqueIdentifier>
</Filter>
<Filter Include="ToolBox\LAMPScatter">
<UniqueIdentifier>{cc849de4-c841-40e3-96bc-54ebe034fa4a}</UniqueIdentifier>
</Filter>
<Filter Include="ToolBox\SimulationSAR">
<UniqueIdentifier>{c019ab22-835f-44bd-8689-f5550c9c690d}</UniqueIdentifier>
</Filter>
<Filter Include="GPUTool">
<UniqueIdentifier>{c39dcd9f-dfd6-4d94-8912-7a3f5f719385}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<QtRcc Include="RasterProcessTool.qrc">
@ -53,255 +38,28 @@
<ClCompile Include="RasterProcessTool.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<QtRcc Include="ToolBox\Imageshow\qcustomplot.qrc">
<Filter>ToolBox\Imageshow</Filter>
</QtRcc>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<ClCompile Include="QApplicationSettingManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="RegisterToolbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="QToolAbstract.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\DEMLLA2XYZTool.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\GF3CalibrationAndGeocodingClass.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\GF3PSTNClass.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\QClipRasterByRowCols.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\QComplex2AmpPhase.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\QImportGF3StripL1ADataset.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\QOrthSlrRaster.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\QRDOrthProcessClass.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\SatelliteGF3xmlParser.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\SateOrbit.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\simptsn.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\BaseToolbox\WGS84_J2000.cpp">
<Filter>ToolBox\BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="ToolBox\Imageshow\ImageShowDialogClass.cpp">
<Filter>ToolBox\Imageshow</Filter>
</ClCompile>
<ClCompile Include="ToolBox\Imageshow\qcustomplot.cpp">
<Filter>ToolBox\Imageshow</Filter>
</ClCompile>
<ClCompile Include="ToolBox\LAMPScatterTool\LAMPScatterS1B.cpp">
<Filter>ToolBox\LAMPScatter</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\GF3PSTNClass.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\QImageSARRFPC.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\QMergeRasterProcessDialog.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\QSimulationBPImage.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\QSimulationRFPCGUI.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\RFPCProcessCls.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\SARSatelliteSimulationAbstractCls.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\SARSimulationTaskSetting.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\SatelliteOribtModel.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\SigmaDatabase.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\TBPImageAlgCls.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
<ClCompile Include="ToolBox\SimulationSAR\QSARLookTableSimualtionGUI.cpp">
<Filter>ToolBox\SimulationSAR</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="ToolBox\BaseToolbox\GF3CalibrationAndGeocodingClass.h">
<Filter>ToolBox\BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="ToolBox\BaseToolbox\GF3PSTNClass.h">
<Filter>ToolBox\BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="ToolBox\BaseToolbox\SatelliteGF3xmlParser.h">
<Filter>ToolBox\BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="ToolBox\BaseToolbox\SateOrbit.h">
<Filter>ToolBox\BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="ToolBox\BaseToolbox\simptsn.h">
<Filter>ToolBox\BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="ToolBox\BaseToolbox\WGS84_J2000.h">
<Filter>ToolBox\BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="ToolBox\LAMPScatterTool\LAMPScatterS1B.h">
<Filter>ToolBox\LAMPScatter</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\RFPCProcessCls.h">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\SARSatelliteSimulationAbstractCls.h">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\SARSimulationTaskSetting.h">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\SatelliteOribtModel.h">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\SigmaDatabase.h">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\TBPImageAlgCls.h">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
<ClInclude Include="GPUTool\GPUTool.cuh">
<Filter>GPUTool</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\GPURFPC.cuh">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
<ClInclude Include="ToolBox\SimulationSAR\GPUTBPImage.cuh">
<Filter>ToolBox\SimulationSAR</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<QtMoc Include="RegisterToolbox.h">
<QtMoc Include="QApplicationSettingManager.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="QToolAbstract.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="ToolBox\BaseToolbox\DEMLLA2XYZTool.h">
<Filter>ToolBox\BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="ToolBox\BaseToolbox\QClipRasterByRowCols.h">
<Filter>ToolBox\BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="ToolBox\BaseToolbox\QComplex2AmpPhase.h">
<Filter>ToolBox\BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="ToolBox\BaseToolbox\QImportGF3StripL1ADataset.h">
<Filter>ToolBox\BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="ToolBox\BaseToolbox\QOrthSlrRaster.h">
<Filter>ToolBox\BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="ToolBox\BaseToolbox\QRDOrthProcessClass.h">
<Filter>ToolBox\BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="ToolBox\Imageshow\ImageShowDialogClass.h">
<Filter>ToolBox\Imageshow</Filter>
</QtMoc>
<QtMoc Include="ToolBox\Imageshow\qcustomplot.h">
<Filter>ToolBox\Imageshow</Filter>
</QtMoc>
<QtMoc Include="ToolBox\SimulationSAR\QImageSARRFPC.h">
<Filter>ToolBox\SimulationSAR</Filter>
</QtMoc>
<QtMoc Include="ToolBox\SimulationSAR\QMergeRasterProcessDialog.h">
<Filter>ToolBox\SimulationSAR</Filter>
</QtMoc>
<QtMoc Include="ToolBox\SimulationSAR\QSimulationBPImage.h">
<Filter>ToolBox\SimulationSAR</Filter>
</QtMoc>
<QtMoc Include="ToolBox\SimulationSAR\QSimulationRFPCGUI.h">
<Filter>ToolBox\SimulationSAR</Filter>
</QtMoc>
<QtMoc Include="ToolBox\SimulationSAR\QSARLookTableSimualtionGUI.h">
<Filter>ToolBox\SimulationSAR</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtUic Include="ToolBox\BaseToolbox\DEMLLA2XYZTool.ui">
<Filter>ToolBox\BaseToolbox</Filter>
</QtUic>
<QtUic Include="ToolBox\BaseToolbox\QClipRasterByRowCols.ui">
<Filter>ToolBox\BaseToolbox</Filter>
</QtUic>
<QtUic Include="ToolBox\BaseToolbox\QComplex2AmpPhase.ui">
<Filter>ToolBox\BaseToolbox</Filter>
</QtUic>
<QtUic Include="ToolBox\BaseToolbox\QImportGF3StripL1ADataset.ui">
<Filter>ToolBox\BaseToolbox</Filter>
</QtUic>
<QtUic Include="ToolBox\BaseToolbox\QOrthSlrRaster.ui">
<Filter>ToolBox\BaseToolbox</Filter>
</QtUic>
<QtUic Include="ToolBox\BaseToolbox\QRDOrthProcessClass.ui">
<Filter>ToolBox\BaseToolbox</Filter>
</QtUic>
<QtUic Include="ToolBox\Imageshow\ImageShowDialogClass.ui">
<Filter>ToolBox\Imageshow</Filter>
</QtUic>
<QtUic Include="ToolBox\Imageshow\qcustomplot.ui">
<Filter>ToolBox\Imageshow</Filter>
</QtUic>
<QtUic Include="ToolBox\SimulationSAR\QImageSARRFPC.ui">
<Filter>ToolBox\SimulationSAR</Filter>
</QtUic>
<QtUic Include="ToolBox\SimulationSAR\QMergeRasterProcessDialog.ui">
<Filter>ToolBox\SimulationSAR</Filter>
</QtUic>
<QtUic Include="ToolBox\SimulationSAR\QSimulationBPImage.ui">
<Filter>ToolBox\SimulationSAR</Filter>
</QtUic>
<QtUic Include="ToolBox\SimulationSAR\QSimulationRFPCGUI.ui">
<Filter>ToolBox\SimulationSAR</Filter>
</QtUic>
<QtUic Include="ToolBox\SimulationSAR\QSARLookTableSimualtionGUI.ui">
<Filter>ToolBox\SimulationSAR</Filter>
</QtUic>
</ItemGroup>
<ItemGroup>
<None Include="cpp.hint" />
</ItemGroup>
<ItemGroup>
<CudaCompile Include="ToolBox\SimulationSAR\GPURFPCKernel.cu">
<Filter>ToolBox\SimulationSAR</Filter>
</CudaCompile>
<CudaCompile Include="GPUTool\GPUTool.cu">
<Filter>GPUTool</Filter>
</CudaCompile>
<CudaCompile Include="ToolBox\SimulationSAR\GPURFPC.cu">
<Filter>ToolBox\SimulationSAR</Filter>
</CudaCompile>
<CudaCompile Include="ToolBox\SimulationSAR\GPUTBPImage.cu">
<Filter>ToolBox\SimulationSAR</Filter>
</CudaCompile>
<QtUic Include="QApplicationSettingManager.ui">
<Filter>Form Files</Filter>
</QtUic>
</ItemGroup>
<ItemGroup>
<ClInclude Include="RasterProcessToolWidgetAPI.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -0,0 +1,11 @@
#pragma once
#ifndef RASTERPROCESSTOOLWIDGET_H_
#define RASTERPROCESSTOOLWIDGET_H_
#include <QtCore/qglobal.h>
# if defined(RASTERPROCESSTOOLWIDGET_LIB)
# define RASTERPROCESSTOOLWIDGET_EXPORT Q_DECL_EXPORT
# else
# define RASTERPROCESSTOOLWIDGET_EXPORT Q_DECL_IMPORT
# endif
#endif

View File

@ -1,190 +0,0 @@
#include "RegisterToolbox.h"
#include "QToolAbstract.h"
#include "QMergeRasterProcessDialog.h"
#include "QImportGF3StripL1ADataset.h"
#include "QComplex2AmpPhase.h"
#include "QRDOrthProcessClass.h"
#include "QOrthSlrRaster.h"
#include "QImageSARRFPC.h"
#include "QSimulationBPImage.h"
#include "DEMLLA2XYZTool.h"
#include "QClipRasterByRowCols.h"
GF3ImportDataToolButton::GF3ImportDataToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"数据导入导出");
this->toolname = QString(u8"导入GF3条带");
}
GF3ImportDataToolButton::~GF3ImportDataToolButton()
{
}
void GF3ImportDataToolButton::excute()
{
QImportGF3StripL1ADataset* dialog = new QImportGF3StripL1ADataset();
dialog->show();
}
Complex2AmpPhaseToolButton::Complex2AmpPhaseToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"基础处理");
this->toolname = QString(u8"复数据转换");
}
Complex2AmpPhaseToolButton::~Complex2AmpPhaseToolButton()
{
}
void Complex2AmpPhaseToolButton::excute()
{
QComplex2AmpPhase* dialog = new QComplex2AmpPhase();
dialog->show();
}
QRDOrthProcessClassToolButton::QRDOrthProcessClassToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"基础处理");
this->toolname = QString(u8"创建查找表");
}
QRDOrthProcessClassToolButton::~QRDOrthProcessClassToolButton()
{
}
void QRDOrthProcessClassToolButton::excute()
{
QRDOrthProcessClass* dialog = new QRDOrthProcessClass();
dialog->show();
}
QOrthSlrRasterToolButton::QOrthSlrRasterToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"基础处理");
this->toolname = QString(u8"图像正射");
}
QOrthSlrRasterToolButton::~QOrthSlrRasterToolButton()
{
}
void QOrthSlrRasterToolButton::excute()
{
QOrthSlrRaster* dialog = new QOrthSlrRaster();
dialog->show();
}
MergeRasterProcessToolButton::MergeRasterProcessToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"基础处理");
this->toolname = QString(u8"图像合并");
}
MergeRasterProcessToolButton::~MergeRasterProcessToolButton()
{
}
void MergeRasterProcessToolButton::excute()
{
QMergeRasterProcessDialog* dialog = new QMergeRasterProcessDialog();
dialog->show();
}
SARSimlulationRFPCToolButton::SARSimlulationRFPCToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"仿真工具库");
this->toolname = QString(u8"RFPC");
}
SARSimlulationRFPCToolButton::~SARSimlulationRFPCToolButton()
{
}
void SARSimlulationRFPCToolButton::excute()
{
QImageSARRFPC* dialog = new QImageSARRFPC();
dialog->show();
}
SARSimulationTBPImageToolButton::SARSimulationTBPImageToolButton(QWidget* parent) :QToolAbstract(parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"成像工具库");
this->toolname = QString(u8"TimeBP仿真成像");
}
SARSimulationTBPImageToolButton::~SARSimulationTBPImageToolButton()
{
}
void SARSimulationTBPImageToolButton::excute()
{
QSimulationBPImage* dialog = new QSimulationBPImage;
dialog->show();
}
void RegisterPreToolBox(RasterProcessTool* mainWindows)
{
GF3ImportDataToolButton* items1 = new GF3ImportDataToolButton(nullptr);
Complex2AmpPhaseToolButton* items2 = new Complex2AmpPhaseToolButton(nullptr);
QRDOrthProcessClassToolButton* items3 = new QRDOrthProcessClassToolButton(nullptr);
QOrthSlrRasterToolButton* items4 = new QOrthSlrRasterToolButton(nullptr);
MergeRasterProcessToolButton* items5 = new MergeRasterProcessToolButton(nullptr);
SARSimlulationRFPCToolButton* items6 = new SARSimlulationRFPCToolButton(nullptr);
SARSimulationTBPImageToolButton* items7 = new SARSimulationTBPImageToolButton(nullptr);
DEMLLA2XYZToolButton* items8 = new DEMLLA2XYZToolButton(nullptr);
ClipRasterByRowCols* items9 = new ClipRasterByRowCols(nullptr);
emit mainWindows->addBoxToolItemSIGNAL(items1);
emit mainWindows->addBoxToolItemSIGNAL(items2);
emit mainWindows->addBoxToolItemSIGNAL(items3);
emit mainWindows->addBoxToolItemSIGNAL(items4);
emit mainWindows->addBoxToolItemSIGNAL(items5);
emit mainWindows->addBoxToolItemSIGNAL(items6);
emit mainWindows->addBoxToolItemSIGNAL(items7);
emit mainWindows->addBoxToolItemSIGNAL(items8);
emit mainWindows->addBoxToolItemSIGNAL(items9);
}
DEMLLA2XYZToolButton::DEMLLA2XYZToolButton(QWidget* parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"基础处理");
this->toolname = QString(u8"DEM转坡度");
}
DEMLLA2XYZToolButton::~DEMLLA2XYZToolButton()
{
}
void DEMLLA2XYZToolButton::excute()
{
DEMLLA2XYZTool* dialog = new DEMLLA2XYZTool;
dialog->show();
}
ClipRasterByRowCols::ClipRasterByRowCols(QWidget* parent)
{
this->toolPath = QVector<QString>(0);
this->toolPath.push_back(u8"基础处理");
this->toolname = QString(u8"裁剪影像根据行列号");
}
ClipRasterByRowCols::~ClipRasterByRowCols()
{
}
void ClipRasterByRowCols::excute()
{
QClipRasterByRowCols* dialog = new QClipRasterByRowCols;
dialog->show();
}

View File

@ -1,109 +0,0 @@
#pragma once
#include "QToolAbstract.h"
#include "RasterProcessTool.h"
class GF3ImportDataToolButton : public QToolAbstract {
Q_OBJECT
public:
GF3ImportDataToolButton( QWidget* parent = nullptr);
~GF3ImportDataToolButton();
public slots:
virtual void excute() override;
};
class Complex2AmpPhaseToolButton : public QToolAbstract {
Q_OBJECT
public:
Complex2AmpPhaseToolButton( QWidget* parent = nullptr);
~Complex2AmpPhaseToolButton();
public slots:
virtual void excute() override;
};
class QRDOrthProcessClassToolButton : public QToolAbstract {
Q_OBJECT
public:
QRDOrthProcessClassToolButton( QWidget* parent = nullptr);
~QRDOrthProcessClassToolButton();
public slots:
virtual void excute() override;
};
class QOrthSlrRasterToolButton : public QToolAbstract {
Q_OBJECT
public:
QOrthSlrRasterToolButton( QWidget* parent = nullptr);
~QOrthSlrRasterToolButton();
public slots:
virtual void excute() override;
};
class MergeRasterProcessToolButton : public QToolAbstract {
Q_OBJECT
public:
MergeRasterProcessToolButton( QWidget* parent = nullptr);
~MergeRasterProcessToolButton();
public slots:
virtual void excute() override;
};
class SARSimlulationRFPCToolButton : public QToolAbstract {
Q_OBJECT
public:
SARSimlulationRFPCToolButton( QWidget* parent = nullptr);
~SARSimlulationRFPCToolButton();
public slots:
virtual void excute() override;
};
class SARSimulationTBPImageToolButton : public QToolAbstract {
Q_OBJECT
public:
SARSimulationTBPImageToolButton( QWidget* parent = nullptr);
~SARSimulationTBPImageToolButton();
public slots:
virtual void excute() override;
};
class DEMLLA2XYZToolButton : public QToolAbstract {
Q_OBJECT
public:
DEMLLA2XYZToolButton(QWidget* parent = nullptr);
~DEMLLA2XYZToolButton();
public slots:
virtual void excute() override;
};
class ClipRasterByRowCols :public QToolAbstract {
Q_OBJECT
public:
ClipRasterByRowCols(QWidget* parent = nullptr);
~ClipRasterByRowCols();
public slots:
virtual void excute() override;
};
void RegisterPreToolBox(RasterProcessTool* mainWindows);

View File

@ -1,6 +0,0 @@
#pragma once

View File

@ -1 +0,0 @@
#include "GF3PSTNClass.h"

View File

@ -1,6 +1,5 @@
#include "RasterProcessTool.h"
#include <QtWidgets/QApplication>
#include "RegisterToolbox.h"
#include <QCoreApplication>
#include <QDebug>
@ -10,46 +9,15 @@
// 自定义消息处理器函数
void customMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString& msg)
{
QByteArray localMsg = msg.toLocal8Bit();
const char* file = context.file ? context.file : "";
const char* function = context.function ? context.function : "";
QString dateTime = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz");
QFile outFile("application.log");
outFile.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream ts(&outFile);
switch (type) {
case QtDebugMsg:
ts << dateTime << " Debug: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtInfoMsg:
ts << dateTime << " Info: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtWarningMsg:
ts << dateTime << " Warning: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtCriticalMsg:
ts << dateTime << " Critical: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n";
break;
case QtFatalMsg:
ts << dateTime << " Fatal: " << localMsg.constData() << " (" << file << ":" << context.line << ", " << function << ")\n" ;
abort();
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//qInstallMessageHandler(customMessageHandler);
RasterProcessTool* w=new RasterProcessTool;// 主界面
RegisterPreToolBox(w);
w->show();
return a.exec();
}
//
//
//int main(int argc, char *argv[])
//{
// QApplication a(argc, argv);
// //qInstallMessageHandler(customMessageHandler);
//
// RasterProcessTool* w=new RasterProcessTool;// Ö÷½çÃæ
// w->show();
// return a.exec();
//}

4
Readme.md Normal file
View File

@ -0,0 +1,4 @@
# 工具箱插件的开发
1. 将编译好的工具的dll 放入 Toolbox 文件夹中且dll 命名以 PluginTool_ 开头
2. 软件会自动检索对应的 PluginTool_ 开头的dll ,并自动加载到程序中

View File

@ -0,0 +1,5 @@
#include "BaseToolbox.h"
BaseToolbox::BaseToolbox()
{
}

View File

@ -2,8 +2,8 @@
#include "basetoolbox_global.h"
class BASETOOLBOX_EXPORT BaseToolBox
class BASETOOLBOX_EXPORT BaseToolbox
{
public:
BaseToolBox();
BaseToolbox();
};

View File

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{070C157E-3C30-4E2B-A80C-CBC7B74DF03F}</ProjectGuid>
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0</WindowsTargetPlatformVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
<QtInstall>tools_qt5</QtInstall>
<QtModules>core</QtModules>
<QtBuildConfig>debug</QtBuildConfig>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
<QtInstall>tools_qt5</QtInstall>
<QtModules>core;xml;opengl;gui;xmlpatterns;widgets;location;printsupport;charts</QtModules>
<QtBuildConfig>release</QtBuildConfig>
</PropertyGroup>
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<IncludePath>..\..\BaseCommonLibrary;..\..\BaseCommonLibrary\BaseTool;..\..\BaseCommonLibrary\ToolAbstract;..\..\GPUBaseLib\GPUTool;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\Toolbox\</OutDir>
<TargetName>PluginTool_$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<OpenMPSupport>true</OpenMPSupport>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>BASETOOLBOX_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>BASETOOLBOX_LIB;BASETOOLBOX_API;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="BaseToolbox\DEMLLA2XYZTool.cpp" />
<ClCompile Include="BaseToolbox\GF3CalibrationAndGeocodingClass.cpp" />
<ClCompile Include="BaseToolbox\GF3PSTNClass.cpp" />
<ClCompile Include="BaseToolbox\QClipRasterByRowCols.cpp" />
<ClCompile Include="BaseToolbox\QComplex2AmpPhase.cpp" />
<ClCompile Include="BaseToolbox\QImportGF3StripL1ADataset.cpp" />
<ClCompile Include="BaseToolbox\QOrthSlrRaster.cpp" />
<ClCompile Include="BaseToolbox\QRDOrthProcessClass.cpp" />
<ClCompile Include="BaseToolbox\SatelliteGF3xmlParser.cpp" />
<ClCompile Include="BaseToolbox\SateOrbit.cpp" />
<ClCompile Include="BaseToolbox\simptsn.cpp" />
<ClCompile Include="BaseToolbox\WGS84_J2000.cpp" />
<QtMoc Include="BaseToolbox\DEMLLA2XYZTool.h" />
<ClInclude Include="BaseToolbox\GF3CalibrationAndGeocodingClass.h" />
<ClInclude Include="BaseToolbox\GF3PSTNClass.h" />
<QtMoc Include="BaseToolbox\QClipRasterByRowCols.h" />
<QtMoc Include="BaseToolbox\QComplex2AmpPhase.h" />
<QtMoc Include="BaseToolbox\QImportGF3StripL1ADataset.h" />
<QtMoc Include="BaseToolbox\QOrthSlrRaster.h" />
<QtMoc Include="BaseToolbox\QRDOrthProcessClass.h" />
<ClInclude Include="BaseToolbox\SatelliteGF3xmlParser.h" />
<ClInclude Include="BaseToolbox\SateOrbit.h" />
<ClInclude Include="BaseToolbox\simptsn.h" />
<ClInclude Include="BaseToolbox\WGS84_J2000.h" />
<ClInclude Include="basetoolbox_global.h" />
<QtMoc Include="BaseToolbox.h" />
<ClCompile Include="BaseToolbox.cpp" />
</ItemGroup>
<ItemGroup>
<QtUic Include="BaseToolbox\DEMLLA2XYZTool.ui" />
<QtUic Include="BaseToolbox\QClipRasterByRowCols.ui" />
<QtUic Include="BaseToolbox\QComplex2AmpPhase.ui" />
<QtUic Include="BaseToolbox\QImportGF3StripL1ADataset.ui" />
<QtUic Include="BaseToolbox\QOrthSlrRaster.ui" />
<QtUic Include="BaseToolbox\QRDOrthProcessClass.ui" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\BaseCommonLibrary\BaseCommonLibrary.vcxproj">
<Project>{872ecd6f-30e3-4a1b-b17c-15e87d373ff6}</Project>
</ProjectReference>
<ProjectReference Include="..\..\LAMPSARProcessProgram\RasterProcessTool.vcxproj">
<Project>{7ef67daa-dbc0-4b7f-80e8-11b4d2cb7ec2}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>qml;cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>qrc;rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
</Filter>
<Filter Include="Translation Files">
<UniqueIdentifier>{639EADAA-A684-42e4-A9AD-28FC9BCB8F7C}</UniqueIdentifier>
<Extensions>ts</Extensions>
</Filter>
<Filter Include="BaseToolbox">
<UniqueIdentifier>{0b19f415-addf-48e1-ac38-c29445ba8222}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="basetoolbox_global.h">
<Filter>Header Files</Filter>
</ClInclude>
<QtMoc Include="BaseToolbox.h">
<Filter>Header Files</Filter>
</QtMoc>
<ClCompile Include="BaseToolbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClInclude Include="BaseToolbox\GF3CalibrationAndGeocodingClass.h">
<Filter>BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="BaseToolbox\GF3PSTNClass.h">
<Filter>BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="BaseToolbox\SatelliteGF3xmlParser.h">
<Filter>BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="BaseToolbox\SateOrbit.h">
<Filter>BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="BaseToolbox\simptsn.h">
<Filter>BaseToolbox</Filter>
</ClInclude>
<ClInclude Include="BaseToolbox\WGS84_J2000.h">
<Filter>BaseToolbox</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="BaseToolbox\DEMLLA2XYZTool.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\GF3CalibrationAndGeocodingClass.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\GF3PSTNClass.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\QClipRasterByRowCols.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\QComplex2AmpPhase.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\QImportGF3StripL1ADataset.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\QOrthSlrRaster.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\QRDOrthProcessClass.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\SatelliteGF3xmlParser.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\SateOrbit.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\simptsn.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
<ClCompile Include="BaseToolbox\WGS84_J2000.cpp">
<Filter>BaseToolbox</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtMoc Include="BaseToolbox\DEMLLA2XYZTool.h">
<Filter>BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="BaseToolbox\QClipRasterByRowCols.h">
<Filter>BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="BaseToolbox\QComplex2AmpPhase.h">
<Filter>BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="BaseToolbox\QImportGF3StripL1ADataset.h">
<Filter>BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="BaseToolbox\QOrthSlrRaster.h">
<Filter>BaseToolbox</Filter>
</QtMoc>
<QtMoc Include="BaseToolbox\QRDOrthProcessClass.h">
<Filter>BaseToolbox</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtUic Include="BaseToolbox\DEMLLA2XYZTool.ui">
<Filter>BaseToolbox</Filter>
</QtUic>
<QtUic Include="BaseToolbox\QClipRasterByRowCols.ui">
<Filter>BaseToolbox</Filter>
</QtUic>
<QtUic Include="BaseToolbox\QComplex2AmpPhase.ui">
<Filter>BaseToolbox</Filter>
</QtUic>
<QtUic Include="BaseToolbox\QImportGF3StripL1ADataset.ui">
<Filter>BaseToolbox</Filter>
</QtUic>
<QtUic Include="BaseToolbox\QOrthSlrRaster.ui">
<Filter>BaseToolbox</Filter>
</QtUic>
<QtUic Include="BaseToolbox\QRDOrthProcessClass.ui">
<Filter>BaseToolbox</Filter>
</QtUic>
</ItemGroup>
</Project>

View File

@ -2,7 +2,7 @@
#include "SatelliteGF3xmlParser.h"
#include <QRegularExpression>
#include <QMessageBox>
#include "SatelliteOribtModel.h"
#include "GF3PSTNClass.h"
#include "boost/asio.hpp"
#include <boost/thread.hpp>
#include <thread>
@ -294,7 +294,7 @@ ErrorCode ResampleDEM(QString indemPath, QString outdemPath, double gridx, doubl
}
ErrorCode RD_PSTN(double& refrange, double& lamda, double& timeR, double& R, double& tx, double& ty, double& tz, double& slopex, double& slopey, double& slopez, PolyfitSatelliteOribtModel& polyfitmodel, SatelliteOribtNode& node, double& d0, double& d1, double& d2, double& d3, double& d4)
ErrorCode RD_PSTN(double& refrange, double& lamda, double& timeR, double& R, double& tx, double& ty, double& tz, double& slopex, double& slopey, double& slopez, GF3PolyfitSatelliteOribtModel& polyfitmodel, SatelliteOribtNode& node, double& d0, double& d1, double& d2, double& d3, double& d4)
{
double dt = 1e-6;
double inct = 0;
@ -372,7 +372,7 @@ ErrorCode GF3RDCreateLookTable(QString inxmlPath, QString indemPath, QString out
double lamda = (LIGHTSPEED*1e-6)/ l1dataset.getCenterFreq();
// ¹¹½¨¹ìµÀÄ£ÐÍ
PolyfitSatelliteOribtModel polyfitmodel;
GF3PolyfitSatelliteOribtModel polyfitmodel;
QVector < SatelliteAntPos > antposes = l1dataset.getXmlSateAntPos();
polyfitmodel.setSatelliteOribtStartTime(imagestarttime);
for (long i = 0; i < antposes.size(); i++) {

View File

@ -3,7 +3,7 @@
#include "ImageOperatorBase.h"
#include "LogInfoCls.h"
#include "SARSimulationImageL1.h"
#include "SatelliteOribtModel.h"
#include "GF3PSTNClass.h"
#include <QString>
@ -26,7 +26,7 @@ ErrorCode Complex2dBRaster(QString inComplexPath, QString outRasterPath);
ErrorCode ResampleDEM(QString indemPath, QString outdemPath, double gridx, double gridy);
// RD 算法类
ErrorCode RD_PSTN(double& refrange,double& lamda, double& timeR, double& R, double& tx, double& ty, double& tz, double& slopex, double& slopey, double& slopez, PolyfitSatelliteOribtModel& polyfitmodel, SatelliteOribtNode& node,double& d0,double& d1, double& d2, double& d3, double& d4);
ErrorCode RD_PSTN(double& refrange,double& lamda, double& timeR, double& R, double& tx, double& ty, double& tz, double& slopex, double& slopey, double& slopez, GF3PolyfitSatelliteOribtModel& polyfitmodel, SatelliteOribtNode& node,double& d0,double& d1, double& d2, double& d3, double& d4);
//创建查找表

View File

@ -0,0 +1,453 @@
#include "stdafx.h"
#include "GF3PSTNClass.h"
#include "GeoOperator.h"
#include <boost/math/tools/polynomial.hpp> // 多项式
#include "BaseTool.h"
#include <QDebug>
GF3PolyfitSatelliteOribtModel::GF3PolyfitSatelliteOribtModel()
{
this->oribtStartTime = 0;
this->beamAngle = 0;
this->RightLook = true;
this->cycletime = 0;
this->minAzAngle = 0;
this->maxAzAngle = 0;
this->referenceAzAngle = 0;
this->referenceTimeFromStartTime = 0;
this->AntnnaAxisX = Point3{ 1,0,0 };
this->AntnnaAxisY = Point3{ 0,1,0 };
this->AntnnaAxisZ = Point3{ 0,0,1 };
this->Pxchisq = 0;
this->Pychisq = 0;
this->Pzchisq = 0;
this->Vxchisq = 0;
this->Vychisq = 0;
this->Vzchisq = 0;
this->Pt = 1;
this->Gri = 1;
}
GF3PolyfitSatelliteOribtModel::~GF3PolyfitSatelliteOribtModel()
{
//TODO: 析构函数
}
QString GF3PolyfitSatelliteOribtModel::getSatelliteOribtModelParamsString()
{
QString result = "";
result += this->polyfitPx.size() - 1 + "\n";
result += "----------- poly Position X -------------------------\n";
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
result += QString::number(this->polyfitPx[i], 'e', 6) + "\n";
}
result += "----------- poly Position Y -------------------------\n";
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
result += QString::number(this->polyfitPy[i], 'e', 6) + "\n";
}
result += "----------- poly Position Z -------------------------\n";
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
result += QString::number(this->polyfitPz[i], 'e', 6) + "\n";
}
result += "----------- poly Position Vector X ------------------\n";
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
result += QString::number(this->polyfitVx[i], 'e', 6) + "\n";
}
result += "----------- poly Position Vector Y ------------------\n";
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
result += QString::number(this->polyfitVy[i], 'e', 6) + "\n";
}
result += "----------- poly Position Vector Z ------------------\n";
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
result += QString::number(this->polyfitVz[i], 'e', 6) + "\n";
}
result += "------------------------------------------------------\n";
return result;
}
SatelliteOribtNode GF3PolyfitSatelliteOribtModel::getSatelliteOribtNode(double& timeFromStartTime, bool& antAzAngleFlag)
{
// 位置、速度
SatelliteOribtNode node;
ErrorCode state = getSatelliteOribtNode(timeFromStartTime, node, antAzAngleFlag);
return node;
}
ErrorCode GF3PolyfitSatelliteOribtModel::getSatelliteOribtNode(double& timeFromStartTime, SatelliteOribtNode& node, bool& antAzAngleFlag)
{
// 卫星坐标,速度方向
node.time = timeFromStartTime;
node.Px = 0;
node.Py = 0;
node.Pz = 0;
node.Vx = 0;
node.Vy = 0;
node.Vz = 0;
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
node.Px += this->polyfitPx[i] * pow(timeFromStartTime, i);
node.Py += this->polyfitPy[i] * pow(timeFromStartTime, i);
node.Pz += this->polyfitPz[i] * pow(timeFromStartTime, i);
node.Vx += this->polyfitVx[i] * pow(timeFromStartTime, i);
node.Vy += this->polyfitVy[i] * pow(timeFromStartTime, i);
node.Vz += this->polyfitVz[i] * pow(timeFromStartTime, i);
}
node.beamAngle = this->beamAngle; // 波位角
ErrorCode Azstatecode = this->getAzAngleInCurrentTimeFromStartTime(timeFromStartTime, node.AzAngle); // 摆动角
if (Azstatecode != ErrorCode::SUCCESS) {
return Azstatecode;
}
else {}
if (!antAzAngleFlag) {
return ErrorCode::SUCCESS;
}
else {
}
// 计算卫星天线指向
ErrorCode state = getAntnnaDirection(node);
if (state != ErrorCode::SUCCESS) {
return state;
}
else {}
state = getZeroDopplerAntDirect(node);
if (state != ErrorCode::SUCCESS) {
return state;
}
else {}
return ErrorCode::SUCCESS;
}
ErrorCode GF3PolyfitSatelliteOribtModel::getSatelliteAntDirectNormal(SatelliteOribtNode& Rs, Vector3D& Rt, SatelliteAntDirect& antNode)
{
//Vector3D Rts = Vector3D{Rt.x-Rs.Px,Rt.y- Rs.Py,Rt.z-Rs.Pz}; // Rts t-->s
antNode.Xst = (Rt.x - Rs.Px); // 卫星 --> 地面
antNode.Yst = (Rt.y - Rs.Py);
antNode.Zst = (Rt.z - Rs.Pz);
antNode.Vxs = Rs.Vx; // 卫星速度
antNode.Vys = Rs.Vy;
antNode.Vzs = Rs.Vz;
// 天线指向在天线坐标系下的值
antNode.Xant = (antNode.Xst * (Rs.AntYaxisY * Rs.AntZaxisZ - Rs.AntYaxisZ * Rs.AntZaxisY) + antNode.Xst * (Rs.AntXaxisZ * Rs.AntZaxisY - Rs.AntXaxisY * Rs.AntZaxisZ) + antNode.Xst * (Rs.AntXaxisY * Rs.AntYaxisZ - Rs.AntXaxisZ * Rs.AntYaxisY)) / (Rs.AntXaxisX * (Rs.AntYaxisY * Rs.AntZaxisZ - Rs.AntZaxisY * Rs.AntYaxisZ) - Rs.AntYaxisX * (Rs.AntXaxisY * Rs.AntZaxisZ - Rs.AntXaxisZ * Rs.AntZaxisY) + Rs.AntZaxisX * (Rs.AntXaxisY * Rs.AntYaxisZ - Rs.AntXaxisZ * Rs.AntYaxisY));
antNode.Yant = (antNode.Yst * (Rs.AntYaxisZ * Rs.AntZaxisX - Rs.AntYaxisX * Rs.AntZaxisZ) + antNode.Yst * (Rs.AntXaxisX * Rs.AntZaxisZ - Rs.AntXaxisZ * Rs.AntZaxisX) + antNode.Yst * (Rs.AntYaxisX * Rs.AntXaxisZ - Rs.AntXaxisX * Rs.AntYaxisZ)) / (Rs.AntXaxisX * (Rs.AntYaxisY * Rs.AntZaxisZ - Rs.AntZaxisY * Rs.AntYaxisZ) - Rs.AntYaxisX * (Rs.AntXaxisY * Rs.AntZaxisZ - Rs.AntXaxisZ * Rs.AntZaxisY) + Rs.AntZaxisX * (Rs.AntXaxisY * Rs.AntYaxisZ - Rs.AntXaxisZ * Rs.AntYaxisY));
antNode.Zant = (antNode.Zst * (Rs.AntYaxisX * Rs.AntZaxisY - Rs.AntYaxisY * Rs.AntZaxisX) + antNode.Zst * (Rs.AntXaxisY * Rs.AntZaxisX - Rs.AntXaxisX * Rs.AntZaxisY) + antNode.Zst * (Rs.AntXaxisX * Rs.AntYaxisY - Rs.AntYaxisX * Rs.AntXaxisY)) / (Rs.AntXaxisX * (Rs.AntYaxisY * Rs.AntZaxisZ - Rs.AntZaxisY * Rs.AntYaxisZ) - Rs.AntYaxisX * (Rs.AntXaxisY * Rs.AntZaxisZ - Rs.AntXaxisZ * Rs.AntZaxisY) + Rs.AntZaxisX * (Rs.AntXaxisY * Rs.AntYaxisZ - Rs.AntXaxisZ * Rs.AntYaxisY));
// 计算theta 与 phi
antNode.Norm = std::sqrt(antNode.Xant * antNode.Xant + antNode.Yant * antNode.Yant + antNode.Zant * antNode.Zant); // 计算 pho
antNode.ThetaAnt = std::acos(antNode.Zant / antNode.Norm); // theta 与 Z轴的夹角
antNode.PhiAnt = (antNode.Yant * std::sin(antNode.ThetaAnt) / std::abs(antNode.Yant * std::sin(antNode.ThetaAnt))) * std::acos(antNode.Xant / (antNode.Norm * std::sin(antNode.ThetaAnt)));
return ErrorCode::SUCCESS;
}
void GF3PolyfitSatelliteOribtModel::setSatelliteOribtStartTime(long double oribtStartTime)
{
this->oribtStartTime = oribtStartTime;
}
long double GF3PolyfitSatelliteOribtModel::getSatelliteOribtStartTime()
{
return this->oribtStartTime;
}
void GF3PolyfitSatelliteOribtModel::setbeamAngle(double beamAngle, bool RightLook)
{
this->beamAngle = beamAngle;
this->RightLook = RightLook;
}
void GF3PolyfitSatelliteOribtModel::setAzAngleRange(double cycletime, double minAzAngle, double maxAzAngle, double referenceAzAngle, double referenceTimeFromStartTime)
{
this->cycletime = cycletime;
this->minAzAngle = minAzAngle;
this->maxAzAngle = maxAzAngle;
this->referenceAzAngle = referenceAzAngle;
this->referenceTimeFromStartTime = referenceTimeFromStartTime;
}
double GF3PolyfitSatelliteOribtModel::getAzAngleInCurrentTimeFromStartTime(double& currentTime)
{
// 计算角度
double Azangle = 0;
ErrorCode state = getAzAngleInCurrentTimeFromStartTime(currentTime, Azangle);
return Azangle;
}
///
/// X=Y x Z 摆动角(- 摆动角(+
/// Z Z Z
/// ^ \ /
/// | \ /
/// y<--X--- y<--X--- y<--X---
/// | |\ /|
/// | \ /
///
ErrorCode GF3PolyfitSatelliteOribtModel::getAzAngleInCurrentTimeFromStartTime(double& currentTime, double& AzAngle)
{
if (std::abs(this->maxAzAngle - this->minAzAngle) < 1e-7 || std::abs(this->cycletime) < 1e-7) {
AzAngle = this->referenceAzAngle;
return ErrorCode::SUCCESS;
}
else {
AzAngle = this->referenceAzAngle + (currentTime - this->referenceTimeFromStartTime) / this->cycletime * (this->maxAzAngle - this->minAzAngle);
return ErrorCode::SUCCESS;
}
}
void GF3PolyfitSatelliteOribtModel::setAntnnaAxisX(double X, double Y, double Z)
{
this->AntnnaAxisX = Point3{ X, Y, Z };
}
void GF3PolyfitSatelliteOribtModel::setAntnnaAxisY(double X, double Y, double Z)
{
this->AntnnaAxisY = Point3{ X, Y, Z };
}
void GF3PolyfitSatelliteOribtModel::setAntnnaAxisZ(double X, double Y, double Z)
{
this->AntnnaAxisZ = Point3{ X, Y, Z };
}
/// 左视(+ 右视(-
/// Z Z Z
/// ^ \ /
/// | \ /
/// x<--O--- x<--O--- x<--O---
/// | |\ /|
/// \ /
///
ErrorCode GF3PolyfitSatelliteOribtModel::getAntnnaDirection(SatelliteOribtNode& node)
{
bool flag = false;
double nexttime = node.time + 1e-6;
SatelliteOribtNode node1 = this->getSatelliteOribtNode(nexttime, flag);
//std::cout << "getAntnnaDirection corrdination " << std::endl;
double Vx = (node1.Px - node.Px);
double Vy = (node1.Py - node.Py);
double Vz = (node1.Pz - node.Pz);
// 代码测试部分
//node.Px = 0;
//node.Py = 0;
//node.Pz = 1;
//Vx = 1, Vy = 0, Vz = 0;
// 1. 计算天线指向
Eigen::Vector3d axisZ0 = { -1 * node.Px ,-1 * node.Py,-1 * node.Pz }; // z 轴 --波位角为0时天线指向的反方向
Eigen::Vector3d axisX0 = { Vx,Vy,Vz }; // x 轴 --飞行方向
Eigen::Vector3d axisY0 = axisZ0.cross(axisX0); // y 轴 --右手定则 -- 初始坐标系
//std::cout << "axis_X0=[ " << axisX0.x() << "," << axisX0.y() << "," << axisX0.z() << "]" << std::endl;
//std::cout << "axis_Y0=[ " << axisY0.x() << "," << axisY0.y() << "," << axisY0.z() << "]" << std::endl;
//std::cout << "axis_Z0=[ " << axisZ0.x() << "," << axisZ0.y() << "," << axisZ0.z() << "]" << std::endl;
double rotateAngle = this->RightLook ? -this->beamAngle : this->beamAngle; // 旋转角度 左逆时针theta , 右(顺时针): -theta
//std::cout << "rotateAngle=" << rotateAngle << std::endl;
//std::cout << "Look side:\t" << (this->RightLook ? "right" : "left") << std::endl;
// 1.2. 根据波位角确定卫星绕X轴-飞行轴
Eigen::Matrix3d rotateMatrixBeam = rotationMatrix(axisX0, rotateAngle * d2r); // 旋转矩阵
axisZ0 = rotateMatrixBeam * axisZ0; // 旋转矩阵
axisY0 = rotateMatrixBeam * axisY0;
axisX0 = rotateMatrixBeam * axisX0;
// 1.3. 根据方位角确定卫星绕Y轴旋转
double azangle = node.AzAngle;
Eigen::Matrix3d rotateMatrixAzAngle = rotationMatrix(axisY0, azangle * d2r); // 旋转矩阵
axisZ0 = rotateMatrixAzAngle * axisZ0; // 旋转矩阵
axisY0 = rotateMatrixAzAngle * axisY0;
axisX0 = rotateMatrixAzAngle * axisX0;
// 1.4. 计算实际指向
node.AntDirecX = axisZ0[0];
node.AntDirecY = axisZ0[1];
node.AntDirecZ = axisZ0[2];
// 2. 计算天线坐标系,方便计算天线方向图
node.AntXaxisX = axisX0[0]; // 实际天线坐标系 在 WGS84 坐标系
node.AntXaxisY = axisX0[1];
node.AntXaxisZ = axisX0[2];
node.AntYaxisX = axisY0[0];
node.AntYaxisY = axisY0[1];
node.AntYaxisZ = axisY0[2];
node.AntZaxisX = axisZ0[0];
node.AntZaxisY = axisZ0[1];
node.AntZaxisZ = axisZ0[2];
//std::cout << "axis_X=[" << axisX0.x() << "," << axisX0.y() << "," << axisX0.z() << "]" << std::endl;
//std::cout << "axis_Y=[" << axisY0.x() << "," << axisY0.y() << "," << axisY0.z() << "]" << std::endl;
//std::cout << "axis_Z=[" << axisZ0.x() << "," << axisZ0.y() << "," << axisZ0.z() << "]" << std::endl;
//std::cout << "------------------------------------" << std::endl;
return ErrorCode::SUCCESS;
}
ErrorCode GF3PolyfitSatelliteOribtModel::getZeroDopplerAntDirect(SatelliteOribtNode& node)
{
bool flag = false;
double nexttime = node.time + 1e-6;
SatelliteOribtNode node1 = this->getSatelliteOribtNode(nexttime, flag);
// 1. 计算天线指向
Eigen::Vector3d axisZ0 = { -1 * node.Px ,-1 * node.Py,-1 * node.Pz }; // z 轴 --波位角为0时天线指向的反方向
Eigen::Vector3d axisX0 = { (node1.Px - node.Px) , (node1.Py - node.Py) , (node1.Pz - node.Pz) }; // x 轴 --飞行方向
Eigen::Vector3d axisY0 = axisZ0.cross(axisX0); // y 轴 --右手定则 -- 初始坐标系
double rotateAngle = this->RightLook ? -this->beamAngle : this->beamAngle; // 旋转角度 左逆时针theta , 右(顺时针): -theta
// 1.2. 根据波位角确定卫星绕X轴-飞行轴
Eigen::Matrix3d rotateMatrixBeam = rotationMatrix(axisX0, rotateAngle * d2r); // 旋转矩阵
axisZ0 = rotateMatrixBeam * axisZ0; // 旋转矩阵
axisY0 = rotateMatrixBeam * axisY0;
axisX0 = rotateMatrixBeam * axisX0;
// 1.3. 根据方位角确定卫星绕Y轴旋转
double azangle = 0;
Eigen::Matrix3d rotateMatrixAzAngle = rotationMatrix(axisY0, azangle * d2r); // 旋转矩阵
axisZ0 = rotateMatrixAzAngle * axisZ0; // 旋转矩阵
axisY0 = rotateMatrixAzAngle * axisY0;
axisX0 = rotateMatrixAzAngle * axisX0;
// 1.4. 计算实际指向
node.zeroDopplerDirectX = axisZ0[0];
node.zeroDopplerDirectY = axisZ0[1];
node.zeroDopplerDirectZ = axisZ0[2];
return ErrorCode::SUCCESS;
}
void GF3PolyfitSatelliteOribtModel::addOribtNode(SatelliteOribtNode node)
{
this->oribtNodes.push_back(node);
}
ErrorCode GF3PolyfitSatelliteOribtModel::polyFit(int polynum/*=3*/, bool input_timeFromReferenceTime)
{
if (polynum > this->oribtNodes.size() - 1) {
return ErrorCode::OrbitNodeNotEnough;
}
else {}
this->polyfitPx = std::vector<double>(polynum + 1, 0);
this->polyfitPy = std::vector<double>(polynum + 1, 0);
this->polyfitPz = std::vector<double>(polynum + 1, 0);
this->polyfitVx = std::vector<double>(polynum + 1, 0);
this->polyfitVy = std::vector<double>(polynum + 1, 0);
this->polyfitVz = std::vector<double>(polynum + 1, 0);
std::vector<double> timeArr = std::vector<double>(this->oribtNodes.size(), 0);
std::vector<double> PxArr = std::vector<double>(this->oribtNodes.size(), 0);
std::vector<double> PyArr = std::vector<double>(this->oribtNodes.size(), 0);
std::vector<double> PzArr = std::vector<double>(this->oribtNodes.size(), 0);
std::vector<double> VxArr = std::vector<double>(this->oribtNodes.size(), 0);
std::vector<double> VyArr = std::vector<double>(this->oribtNodes.size(), 0);
std::vector<double> VzArr = std::vector<double>(this->oribtNodes.size(), 0);
// 数据准备
for (long i = 0; i < this->oribtNodes.size(); i++) {
if (input_timeFromReferenceTime) {
timeArr[i] = this->oribtNodes[i].time;
}
else {
timeArr[i] = this->oribtNodes[i].time - this->oribtStartTime; // 以参考时间为基准
qDebug() << this->oribtNodes[i].time << "\t--->\t" << timeArr[i];
}
PxArr[i] = this->oribtNodes[i].Px;
PyArr[i] = this->oribtNodes[i].Py;
PzArr[i] = this->oribtNodes[i].Pz;
VxArr[i] = this->oribtNodes[i].Vx;
VyArr[i] = this->oribtNodes[i].Vy;
VzArr[i] = this->oribtNodes[i].Vz;
}
// 拟合Px Py Pz Vx Vy Vz
ErrorCode codePx = polynomial_fit(timeArr, PxArr, polynum, this->polyfitPx, this->Pxchisq);
ErrorCode codePy = polynomial_fit(timeArr, PyArr, polynum, this->polyfitPy, this->Pychisq);
ErrorCode codePz = polynomial_fit(timeArr, PzArr, polynum, this->polyfitPz, this->Pzchisq);
ErrorCode codeVx = polynomial_fit(timeArr, VxArr, polynum, this->polyfitVx, this->Vxchisq);
ErrorCode codeVy = polynomial_fit(timeArr, VyArr, polynum, this->polyfitVy, this->Vychisq);
ErrorCode codeVz = polynomial_fit(timeArr, VzArr, polynum, this->polyfitVz, this->Vzchisq);
// 打印 this->polyfitPx
qDebug() << "polyfit value:";
qDebug() << "Px" << "\t" << "Py" << "\t" << "Pz" << "\t" << "Vx" << "\t" << "Vy" << "\t" << "Vz";
for (long i = 0; i < this->polyfitPx.size(); i++) { // 求解平方
qDebug() << this->polyfitPx[i] << "\t" << this->polyfitPy[i] << "\t" << this->polyfitPz[i] << "\t" << this->polyfitVx[i] << "\t" << this->polyfitVy[i] << "\t" << this->polyfitVz[i];
}
// 评价拟合情况
double starttime = this->oribtStartTime;
qDebug() << "oribt refrence time: " << starttime;
qDebug() << "time" << "\t" << "dPx" << "\t" << "dPy" << "\t" << "dPz" << "\t" << "dVx" << "\t" << "dVy" << "\t" << "dVz";
for (long i = 0; i < timeArr.size(); i++) {
double time_temp = timeArr[i];
bool flag = false;
SatelliteOribtNode tempnode;
this->getSatelliteOribtNode(time_temp, tempnode, flag);
qDebug() << timeArr[i] << "\t" << PxArr[i] - tempnode.Px << "\t" << PyArr[i] - tempnode.Py << "\t" << PzArr[i] - tempnode.Pz << "\t" << VxArr[i] - tempnode.Vx << "\t" << VyArr[i] - tempnode.Vy << "\t" << VzArr[i] - tempnode.Vz;
}
return ErrorCode::SUCCESS;
}
double GF3PolyfitSatelliteOribtModel::getPt()
{
return this->Pt;
}
double GF3PolyfitSatelliteOribtModel::getGri()
{
return this->Gri;
}
void GF3PolyfitSatelliteOribtModel::setPt(double pt)
{
this->Pt = pt;
}
void GF3PolyfitSatelliteOribtModel::setGri(double gri)
{
this->Gri = gri;
}
std::shared_ptr<GF3PolyfitSatelliteOribtModel> CreataGF3PolyfitSatelliteOribtModel(std::vector<SatelliteOribtNode>& nodes, long double startTime, int polynum)
{
qDebug() << "CreataGF3PolyfitSatelliteOribtModel \t" << (double)startTime << "\t" << polynum;
std::shared_ptr<GF3PolyfitSatelliteOribtModel> ployfitOribtModel = std::make_shared< GF3PolyfitSatelliteOribtModel>();
for (long i = 0; i < nodes.size(); i++) {
ployfitOribtModel->addOribtNode(nodes[i]);
}
ployfitOribtModel->setSatelliteOribtStartTime(startTime);
ErrorCode stateCode = ployfitOribtModel->polyFit(polynum, false);
if (stateCode != ErrorCode::SUCCESS) {
qDebug() << QString::fromStdString(errorCode2errInfo(stateCode));
return nullptr;
}
else {
return ployfitOribtModel;
}
return ployfitOribtModel;
}

View File

@ -0,0 +1,108 @@
#pragma once
#include "LogInfoCls.h"
#include "BaseConstVariable.h"
#include "GeoOperator.h"
#include <QString>
#include <vector>
#include <memory>
/// <summary>
/// 多项式轨道模型
/// </summary>
class GF3PolyfitSatelliteOribtModel
{
public:
GF3PolyfitSatelliteOribtModel();
~GF3PolyfitSatelliteOribtModel() ;
public:
QString getSatelliteOribtModelParamsString();
public: // 卫星轨道节点
virtual SatelliteOribtNode getSatelliteOribtNode(double& timeFromStartTime, bool& antAzAngleFlag) ; // 获取轨道节点
virtual ErrorCode getSatelliteOribtNode(double& timeFromStartTime, SatelliteOribtNode& node, bool& antAzAngleFlag) ; // 获取轨道节点
virtual ErrorCode getSatelliteAntDirectNormal(SatelliteOribtNode& Rs, Vector3D& Rt, SatelliteAntDirect& antNode); // 计算目标在天线方向图中的位置
public: // 卫星轨道模型的参考时间节点
virtual void setSatelliteOribtStartTime(long double oribtStartTime) ;// 设置卫星模型参考时间
virtual long double getSatelliteOribtStartTime() ;// 获取卫星模型参考时间
public: // 入射角相关参数
virtual void setbeamAngle(double beamAngle, bool RightLook) ;// 设置波位角
public: // 天线摆动角相关参数
virtual void setAzAngleRange(double cycletime, double minAzAngle, double maxAzAngle, double referenceAzAngle, double referenceTimeFromStartTime) ;//方位角变换循环时间 ;方位角变换范围; 特定时间的方位角,用于计算方位角变化情况
virtual double getAzAngleInCurrentTimeFromStartTime(double& currentTime) ;// 获取当前时间的 天线摆动角
virtual ErrorCode getAzAngleInCurrentTimeFromStartTime(double& currentTime, double& AzAngle);// 获取当前时间的 天线摆动角
public: // 定义在原始天线坐标下的天线坐标系的调整,其中仍然定义-Z 轴为 天线指向方向
virtual void setAntnnaAxisX(double X, double Y, double Z) ; // 设置天线X轴指向
virtual void setAntnnaAxisY(double X, double Y, double Z) ; // 设置天线X轴指向
virtual void setAntnnaAxisZ(double X, double Y, double Z) ; // 设置天线X轴指向
virtual ErrorCode getAntnnaDirection(SatelliteOribtNode& node) ; // 获取天线指向方向
virtual ErrorCode getZeroDopplerAntDirect(SatelliteOribtNode& node) ;
private: // 变量
long double oribtStartTime; // 卫星模型参考时间
double beamAngle; // 波位角
bool RightLook; // 左右视
double cycletime; // 方位角变换循环时间
double minAzAngle; // 方位角变换范围
double maxAzAngle; // 方位角变换范围
double referenceAzAngle; // 特定时间的方位角,用于计算方位角变化情况
double referenceTimeFromStartTime; // 特定时间的方位角,用于计算方位角变化情况
Point3 AntnnaAxisX; // 天线X轴指向
Point3 AntnnaAxisY; // 天线Y轴指向
Point3 AntnnaAxisZ; // 天线Z轴指向
public: // 增加节点
void addOribtNode(SatelliteOribtNode node);
ErrorCode polyFit(int polynum = 3, bool input_timeFromReferenceTime = false);
private: // 轨道节点
std::vector<SatelliteOribtNode> oribtNodes;
std::vector<double> polyfitPx; // 空间坐标
std::vector<double> polyfitPy;
std::vector<double> polyfitPz;
std::vector<double> polyfitVx; // 速度拟合参数
std::vector<double> polyfitVy;
std::vector<double> polyfitVz;
double Pxchisq; // 拟合误差 X2
double Pychisq;
double Pzchisq;
double Vxchisq;
double Vychisq;
double Vzchisq;
public:
virtual double getPt() ;
virtual double getGri() ;
virtual void setPt(double Pt) ;
virtual void setGri(double gri) ;
//virtual double getPt();
//virtual double getGri();
//virtual void setPt(double Pt);
//virtual void setGri(double gri);
private:
double Pt; // 发射电压
double Gri;// 系统增益
};
std::shared_ptr<GF3PolyfitSatelliteOribtModel> CreataGF3PolyfitSatelliteOribtModel(std::vector<SatelliteOribtNode>& nodes, long double startTime, int polynum = 3);

View File

@ -2,7 +2,7 @@
#include <QtWidgets>
#include <QFileDialog>
#include "QToolProcessBarDialog.h"
#include <GF3CalibrationAndGeocodingClass.h>
#include "GF3CalibrationAndGeocodingClass.h"
QRDOrthProcessClass::QRDOrthProcessClass(QWidget *parent)
: QDialog(parent)
{

View File

@ -3,6 +3,7 @@
#ifndef IMAGESHOWDIALOGCLASS_H
#define IMAGESHOWDIALOGCLASS_H
#include "imageshowtool_global.h"
#include "BaseConstVariable.h"
#include <QDialog>
#include <QLabel>
@ -33,7 +34,7 @@ namespace Ui {
// 1. 单纯的描述游标,主要用来展示坐标,还有当前数据信息
// 2. 区域性描述游标,通过线,等用来展示某一个区域的信息
//===========================
class ImageShowCursorDesClass : public QDialog
class IMAGESHOWTOOL_EXPORT ImageShowCursorDesClass : public QDialog
{
Q_OBJECT
public:
@ -53,7 +54,7 @@ protected:
};
class ImageShowCursorLineClass :public QDialog {
class IMAGESHOWTOOL_EXPORT ImageShowCursorLineClass :public QDialog {
Q_OBJECT
public:
QMenuBar* menubar;
@ -100,7 +101,7 @@ protected:
// 1. 单纯的描述游标,主要用来展示坐标,还有当前数据信息
// 2. 区域性描述游标,通过线,等用来展示某一个区域的信息
//===========================
class ImageShowDialogClass : public QDialog
class IMAGESHOWTOOL_EXPORT ImageShowDialogClass : public QDialog
{
Q_OBJECT
private:

View File

@ -128,7 +128,11 @@ class QCPBars;
#elif defined(QCUSTOMPLOT_USE_LIBRARY)
# define QCP_LIB_DECL Q_DECL_IMPORT
#else
# define QCP_LIB_DECL
# if defined(IMAGESHOWTOOL_LIB)
# define QCP_LIB_DECL Q_DECL_EXPORT
# else
# define QCP_LIB_DECL Q_DECL_IMPORT
# endif
#endif
// define empty macro for Q_DECL_OVERRIDE if it doesn't exist (Qt < 5)

View File

@ -0,0 +1,5 @@
#include "ImageshowTool.h"
ImageshowTool::ImageshowTool()
{
}

View File

@ -0,0 +1,10 @@
#pragma once
#include "imageshowtool_global.h"
#include "qcustomplot.h"
class IMAGESHOWTOOL_EXPORT ImageshowTool
{
public:
ImageshowTool();
};

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8C8CA066-A93A-4098-9A46-B855EFEAADF2}</ProjectGuid>
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0</WindowsTargetPlatformVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
<QtInstall>tools_qt5</QtInstall>
<QtModules>core</QtModules>
<QtBuildConfig>debug</QtBuildConfig>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
<QtInstall>tools_qt5</QtInstall>
<QtModules>core;xml;opengl;gui;xmlpatterns;widgets;location;printsupport;charts;datavisualization</QtModules>
<QtBuildConfig>release</QtBuildConfig>
</PropertyGroup>
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<IncludePath>..\..\BaseCommonLibrary;..\..\BaseCommonLibrary\BaseTool;..\..\BaseCommonLibrary\ToolAbstract;..\..\GPUBaseLib\GPUTool;.\Imageshow;$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\Toolbox\</OutDir>
<TargetName>PluginTool_$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<OpenMPSupport>true</OpenMPSupport>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>IMAGESHOWTOOL_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="Configuration">
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<PreprocessorDefinitions>IMAGESHOWTOOL_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<ConformanceMode>true</ConformanceMode>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Imageshow\ImageShowDialogClass.cpp" />
<ClCompile Include="Imageshow\qcustomplot.cpp" />
<ClInclude Include="imageshowtool_global.h" />
<QtMoc Include="Imageshow\ImageShowDialogClass.h" />
<QtMoc Include="Imageshow\qcustomplot.h" />
<ClInclude Include="ImageshowTool.h" />
<ClCompile Include="ImageshowTool.cpp" />
</ItemGroup>
<ItemGroup>
<QtUic Include="Imageshow\ImageShowDialogClass.ui" />
<QtUic Include="Imageshow\qcustomplot.ui" />
</ItemGroup>
<ItemGroup>
<QtRcc Include="Imageshow\qcustomplot.qrc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\BaseCommonLibrary\BaseCommonLibrary.vcxproj">
<Project>{872ecd6f-30e3-4a1b-b17c-15e87d373ff6}</Project>
</ProjectReference>
<ProjectReference Include="..\..\LAMPSARProcessProgram\RasterProcessTool.vcxproj">
<Project>{7ef67daa-dbc0-4b7f-80e8-11b4d2cb7ec2}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>qml;cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>qrc;rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
</Filter>
<Filter Include="Translation Files">
<UniqueIdentifier>{639EADAA-A684-42e4-A9AD-28FC9BCB8F7C}</UniqueIdentifier>
<Extensions>ts</Extensions>
</Filter>
<Filter Include="Imageshow">
<UniqueIdentifier>{8dad62b4-5481-474f-a6a3-6fecb9b031d7}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="imageshowtool_global.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClCompile Include="ImageshowTool.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClInclude Include="ImageshowTool.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Imageshow\ImageShowDialogClass.cpp">
<Filter>Imageshow</Filter>
</ClCompile>
<ClCompile Include="Imageshow\qcustomplot.cpp">
<Filter>Imageshow</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtUic Include="Imageshow\ImageShowDialogClass.ui">
<Filter>Imageshow</Filter>
</QtUic>
<QtUic Include="Imageshow\qcustomplot.ui" />
</ItemGroup>
<ItemGroup>
<QtRcc Include="Imageshow\qcustomplot.qrc" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="Imageshow\qcustomplot.h" />
<QtMoc Include="Imageshow\ImageShowDialogClass.h">
<Filter>Imageshow</Filter>
</QtMoc>
</ItemGroup>
</Project>

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