From 20b138393ab0d441ee6b9e9b1cedbf1d22a2c00c Mon Sep 17 00:00:00 2001 From: qin <a@163.com> Date: 星期一, 06 五月 2024 14:55:46 +0800 Subject: [PATCH] 冲突解决 --- Hydraulic/Hydro.Revit2022/Hydro.Revit2022.csproj | 4 Hydraulic/Hydro.Inp2.2/Hydro.Inp2.2.csproj | 6 Hydraulic/Hydro.Core/.vs/Hydro.Core.csproj.dtbcache.json | 2 Hydraulic/Hydro.MapView/Template/Template.cs | 2 Hydraulic/Hydro.HydraulicOptimizer/Hydro.HydraulicOptimizer.csproj | 6 Hydro.ClientTool/App.config | 14 Hydraulic/Hydro.HydraulicModel/Hydro.HydraulicModel.csproj | 6 Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs | 187 ++++++--- Hydro.ClientTool/Program.cs | 2 Hydraulic/Hydro.MapUI/Map/MapViewer.Model.cs | 45 ++ Hydro.ClientTool/Form2.cs | 46 ++ Hydraulic/Hydro.CodeProvider/Hydro.CodeProvider.csproj | 6 Hydraulic/Hydro.Core/Hydro.Core.csproj | 13 Hydraulic/Hydro.MapView/Hydro.MapView.csproj | 6 Hydraulic/Hydro.Core/Base/NodeCalcModel.cs | 6 Hydraulic/Hydro.MapView/Base/LinkViewModel.cs | 2 Hydro.ClientTool/Form1.resx | 48 ++ Hydraulic/Hydro.Core/Base/LinkCalcModel.cs | 15 Hydraulic/Hydro.MapView/Base/AreaViewModel.cs | 7 Hydro.ClientTool/Form1.Designer.cs | 35 + Hydraulic/Hydro.MapView/MapViewNetWork.cs | 3 HydroV1.1.sln | 266 -------------- /dev/null | 131 ------- Hydraulic/Hydro.Core/packages.config | 4 Hydraulic/Hydro.MapView/Base/IBaseViewModel.cs | 3 Hydro.ClientTool/Form2.Designer.cs | 89 ++++ Hydro.ClientTool/Hydro.ClientTool.csproj | 45 ++ Hydraulic/Hydro.ConfigModel/Hydro.ConfigModel.csproj | 6 Hydro.ClientTool/Form1.cs | 4 Hydraulic/Hydro.CommonBase/Hydro.CommonBase.csproj | 6 Hydraulic/Hydro.CommonBase/Helper/GlobalConfig.cs | 3 Hydraulic/Hydro.MapUI/WindowsForm/Form_EditFloors.cs | 2 Hydraulic/Hydro.HydraulicOptimizer/WDNModelOptimizer.cs | 6 Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj | 6 Hydro.ClientTool/Form2.resx | 45 ++ 35 files changed, 542 insertions(+), 535 deletions(-) diff --git a/Hydraulic/Hydro.CodeProvider/Hydro.CodeProvider.csproj b/Hydraulic/Hydro.CodeProvider/Hydro.CodeProvider.csproj index f56dd87..1d4a02d 100644 --- a/Hydraulic/Hydro.CodeProvider/Hydro.CodeProvider.csproj +++ b/Hydraulic/Hydro.CodeProvider/Hydro.CodeProvider.csproj @@ -18,18 +18,18 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\bin\Debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> <Prefer32Bit>false</Prefer32Bit> <UseVSHostingProcess>false</UseVSHostingProcess> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydraulic/Hydro.CommonBase/Helper/GlobalConfig.cs b/Hydraulic/Hydro.CommonBase/Helper/GlobalConfig.cs index 3d59ee0..2e48ed2 100644 --- a/Hydraulic/Hydro.CommonBase/Helper/GlobalConfig.cs +++ b/Hydraulic/Hydro.CommonBase/Helper/GlobalConfig.cs @@ -26,7 +26,8 @@ public static string Path { get - { + { + if (path == null) path = Directory.GetCurrentDirectory()+"\\"; return path; } set diff --git a/Hydraulic/Hydro.CommonBase/Hydro.CommonBase.csproj b/Hydraulic/Hydro.CommonBase/Hydro.CommonBase.csproj index 2a20bcc..25467fd 100644 --- a/Hydraulic/Hydro.CommonBase/Hydro.CommonBase.csproj +++ b/Hydraulic/Hydro.CommonBase/Hydro.CommonBase.csproj @@ -20,18 +20,18 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>bin\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> <Prefer32Bit>false</Prefer32Bit> <UseVSHostingProcess>false</UseVSHostingProcess> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydraulic/Hydro.ConfigModel/Hydro.ConfigModel.csproj b/Hydraulic/Hydro.ConfigModel/Hydro.ConfigModel.csproj index 3fb1173..770fb81 100644 --- a/Hydraulic/Hydro.ConfigModel/Hydro.ConfigModel.csproj +++ b/Hydraulic/Hydro.ConfigModel/Hydro.ConfigModel.csproj @@ -21,18 +21,18 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> <NoWarn>MSB3305;DV2002;CS0219;CS0162;CS0414;CS016;CS0618;CS0169;CS0649;CS0109;CS3021;CS0168;CS0067</NoWarn> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> <UseVSHostingProcess>false</UseVSHostingProcess> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> diff --git a/Hydraulic/Hydro.Core/.vs/Hydro.Core.csproj.dtbcache.json b/Hydraulic/Hydro.Core/.vs/Hydro.Core.csproj.dtbcache.json index ba51f05..0442b58 100644 --- a/Hydraulic/Hydro.Core/.vs/Hydro.Core.csproj.dtbcache.json +++ b/Hydraulic/Hydro.Core/.vs/Hydro.Core.csproj.dtbcache.json @@ -1 +1 @@ -{"RootPath":"D:\\WorkData\\YiWei\\Hydro\\Hydro.V1.1\\Hydraulic\\Hydro.Core","ProjectFileName":"Hydro.Core.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Base\\BaseModel.cs"},{"SourceFile":"Base\\LinkCalcModel.cs"},{"SourceFile":"Base\\NodeCalcModel.cs"},{"SourceFile":"Common\\CheckModel.cs"},{"SourceFile":"Common\\Coor.cs"},{"SourceFile":"Common\\FlowCurve.cs"},{"SourceFile":"Common\\Parts.cs"},{"SourceFile":"Common\\TimePoint.cs"},{"SourceFile":"Enum\\EpanetEnum.cs"},{"SourceFile":"Enum\\ObjectEnum.cs"},{"SourceFile":"Link\\PipeModel.cs"},{"SourceFile":"Link\\PumpModel.cs"},{"SourceFile":"Link\\ValveModel.cs"},{"SourceFile":"Node\\JunctionModel.cs"},{"SourceFile":"Node\\MeterModel.cs"},{"SourceFile":"Node\\NozzleModel.cs"},{"SourceFile":"Node\\ReservoisModel.cs"},{"SourceFile":"Node\\TankModel.cs"},{"SourceFile":"Geometry_2d\\Line2d.cs"},{"SourceFile":"Geometry_2d\\Point2d.cs"},{"SourceFile":"Geometry_2d\\Vector2d.cs"},{"SourceFile":"Geometry_3d\\Line.cs"},{"SourceFile":"Geometry_2d\\Line2d_Func.cs"},{"SourceFile":"Geometry_3d\\Point_Func.cs"},{"SourceFile":"Geometry_2d\\Boundary2d.cs"},{"SourceFile":"Geometry_3d\\Point.cs"},{"SourceFile":"Geometry_3d\\Polygon.cs"},{"SourceFile":"Geometry_3d\\Vector.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Runtime.Serialization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\WorkData\\YiWei\\Hydro\\Hydro.V1.1\\bin\\debug\\Hydro.Core.dll","OutputItemRelativePath":"Hydro.Core.dll"},{"OutputItemFullPath":"D:\\WorkData\\YiWei\\Hydro\\Hydro.V1.1\\bin\\debug\\Hydro.Core.pdb","OutputItemRelativePath":"Hydro.Core.pdb"}],"CopyToOutputEntries":[]} \ No newline at end of file +{"RootPath":"D:\\WorkData\\YiWei\\Hydro\\Hydro.V1.1\\Hydraulic\\Hydro.Core","ProjectFileName":"Hydro.Core.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Base\\BaseModel.cs"},{"SourceFile":"Base\\LinkCalcModel.cs"},{"SourceFile":"Base\\NodeCalcModel.cs"},{"SourceFile":"Common\\CheckModel.cs"},{"SourceFile":"Common\\Coor.cs"},{"SourceFile":"Common\\FlowCurve.cs"},{"SourceFile":"Common\\Parts.cs"},{"SourceFile":"Common\\TimePoint.cs"},{"SourceFile":"Enum\\EpanetEnum.cs"},{"SourceFile":"Enum\\ObjectEnum.cs"},{"SourceFile":"Link\\PipeModel.cs"},{"SourceFile":"Link\\PumpModel.cs"},{"SourceFile":"Link\\ValveModel.cs"},{"SourceFile":"Node\\JunctionModel.cs"},{"SourceFile":"Node\\MeterModel.cs"},{"SourceFile":"Node\\NozzleModel.cs"},{"SourceFile":"Node\\ReservoisModel.cs"},{"SourceFile":"Node\\TankModel.cs"},{"SourceFile":"Geometry_2d\\Line2d.cs"},{"SourceFile":"Geometry_2d\\Point2d.cs"},{"SourceFile":"Geometry_2d\\Vector2d.cs"},{"SourceFile":"Geometry_3d\\Line.cs"},{"SourceFile":"Geometry_2d\\Line2d_Func.cs"},{"SourceFile":"Geometry_3d\\Point_Func.cs"},{"SourceFile":"Geometry_2d\\Boundary2d.cs"},{"SourceFile":"Geometry_3d\\Point.cs"},{"SourceFile":"Geometry_3d\\Polygon.cs"},{"SourceFile":"Geometry_3d\\Vector.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"D:\\WorkData\\YiWei\\Hydro\\Hydro.V1.1\\packages\\Newtonsoft.Json.13.0.3\\lib\\net45\\Newtonsoft.Json.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Runtime.Serialization.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"D:\\WorkData\\YiWei\\Hydro\\Hydro.V1.1\\bin\\debug\\Hydro.Core.dll","OutputItemRelativePath":"Hydro.Core.dll"},{"OutputItemFullPath":"D:\\WorkData\\YiWei\\Hydro\\Hydro.V1.1\\bin\\debug\\Hydro.Core.pdb","OutputItemRelativePath":"Hydro.Core.pdb"}],"CopyToOutputEntries":[]} \ No newline at end of file diff --git a/Hydraulic/Hydro.Core/Base/LinkCalcModel.cs b/Hydraulic/Hydro.Core/Base/LinkCalcModel.cs index 122c839..8d345ba 100644 --- a/Hydraulic/Hydro.Core/Base/LinkCalcModel.cs +++ b/Hydraulic/Hydro.Core/Base/LinkCalcModel.cs @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing Newtonsoft.Json; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; @@ -108,14 +109,16 @@ } } - + private NodeCalcModel _StartNode; + [JsonIgnore] public NodeCalcModel StartNode { get { return _StartNode; } set { _StartNode = value; if (_StartNode != null) this.Node1 = _StartNode.ID; } } - + private NodeCalcModel _EndNode; + [JsonIgnore] public NodeCalcModel EndNode { get { return _EndNode; } set { _EndNode = value; if (_EndNode!=null)this.Node2 = _EndNode.ID; } @@ -184,6 +187,12 @@ [DisplayName("閫変腑")] [Browsable(false)] public bool Selected { get; set; } + + [Category("4銆佸叾浠栧弬鏁�")] + [Description("榧犳爣鎮簬涓婃柟")] + [DisplayName("榧犳爣鎮簬涓婃柟")] + [Browsable(false)] + public bool Hovered { get; set; } } diff --git a/Hydraulic/Hydro.Core/Base/NodeCalcModel.cs b/Hydraulic/Hydro.Core/Base/NodeCalcModel.cs index e1e6b72..152baff 100644 --- a/Hydraulic/Hydro.Core/Base/NodeCalcModel.cs +++ b/Hydraulic/Hydro.Core/Base/NodeCalcModel.cs @@ -75,5 +75,11 @@ [Browsable(false)] public bool Selected { get; set; } + + [Category("4銆佸叾浠栧弬鏁�")] + [Description("榧犳爣鎮簬涓婃柟")] + [DisplayName("榧犳爣鎮簬涓婃柟")] + [Browsable(false)] + public bool Hovered { get; set; } } } diff --git a/Hydraulic/Hydro.Core/Hydro.Core.csproj b/Hydraulic/Hydro.Core/Hydro.Core.csproj index 79e0726..121b8a1 100644 --- a/Hydraulic/Hydro.Core/Hydro.Core.csproj +++ b/Hydraulic/Hydro.Core/Hydro.Core.csproj @@ -17,22 +17,25 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> <UseVSHostingProcess>false</UseVSHostingProcess> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> + <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> + <HintPath>..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> + </Reference> <Reference Include="System" /> <Reference Include="System.Core" /> <Reference Include="System.Drawing" /> @@ -75,6 +78,8 @@ <Compile Include="Geometry_3d\Vector.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> - <ItemGroup /> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project> \ No newline at end of file diff --git a/Hydraulic/Hydro.Core/packages.config b/Hydraulic/Hydro.Core/packages.config new file mode 100644 index 0000000..e46d5a8 --- /dev/null +++ b/Hydraulic/Hydro.Core/packages.config @@ -0,0 +1,4 @@ +锘�<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net472" /> +</packages> \ No newline at end of file diff --git a/Hydraulic/Hydro.HydraulicCore/example-networks/Net1.inp b/Hydraulic/Hydro.HydraulicCore/example-networks/Net1.inp deleted file mode 100644 index 4df5bbf..0000000 --- a/Hydraulic/Hydro.HydraulicCore/example-networks/Net1.inp +++ /dev/null @@ -1,178 +0,0 @@ -[TITLE] - EPANET Example Network 1 -A simple example of modeling chlorine decay. Both bulk and -wall reactions are included. - -[JUNCTIONS] -;ID Elev Demand Pattern - 10 710 0 ; - 11 710 150 ; - 12 700 150 ; - 13 695 100 ; - 21 700 150 ; - 22 695 200 ; - 23 690 150 ; - 31 700 100 ; - 32 710 100 ; - -[RESERVOIRS] -;ID Head Pattern - 9 800 ; - -[TANKS] -;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve - 2 850 120 100 150 50.5 0 ; - -[PIPES] -;ID Node1 Node2 Length Diameter Roughness MinorLoss Status - 10 10 11 10530 18 100 0 Open ; - 11 11 12 5280 14 100 0 Open ; - 12 12 13 5280 10 100 0 Open ; - 21 21 22 5280 10 100 0 Open ; - 22 22 23 5280 12 100 0 Open ; - 31 31 32 5280 6 100 0 Open ; - 110 2 12 200 18 100 0 Open ; - 111 11 21 5280 10 100 0 Open ; - 112 12 22 5280 12 100 0 Open ; - 113 13 23 5280 8 100 0 Open ; - 121 21 31 5280 8 100 0 Open ; - 122 22 32 5280 6 100 0 Open ; - -[PUMPS] -;ID Node1 Node2 Parameters - 9 9 10 HEAD 1 ; - -[VALVES] -;ID Node1 Node2 Diameter Type Setting MinorLoss - -[TAGS] - -[DEMANDS] -;Junction Demand Pattern Category - -[STATUS] -;ID Status/Setting - -[PATTERNS] -;ID Multipliers -;Demand Pattern - 1 1.0 1.2 1.4 1.6 1.4 1.2 - 1 1.0 0.8 0.6 0.4 0.6 0.8 - -[CURVES] -;ID X-Value Y-Value -;PUMP: Pump Curve for Pump 9 - 1 1500 250 - -[CONTROLS] - LINK 9 OPEN IF NODE 2 BELOW 110 - LINK 9 CLOSED IF NODE 2 ABOVE 140 - - -[RULES] - -[ENERGY] - Global Efficiency 75 - Global Price 0.0 - Demand Charge 0.0 - -[EMITTERS] -;Junction Coefficient - -[QUALITY] -;Node InitQual - 10 0.5 - 11 0.5 - 12 0.5 - 13 0.5 - 21 0.5 - 22 0.5 - 23 0.5 - 31 0.5 - 32 0.5 - 9 1.0 - 2 1.0 - -[SOURCES] -;Node Type Quality Pattern - -[REACTIONS] -;Type Pipe/Tank Coefficient - - -[REACTIONS] - Order Bulk 1 - Order Tank 1 - Order Wall 1 - Global Bulk -.5 - Global Wall -1 - Limiting Potential 0.0 - Roughness Correlation 0.0 - -[MIXING] -;Tank Model - -[TIMES] - Duration 24:00 - Hydraulic Timestep 1:00 - Quality Timestep 0:05 - Pattern Timestep 2:00 - Pattern Start 0:00 - Report Timestep 1:00 - Report Start 0:00 - Start ClockTime 12 am - Statistic None - -[REPORT] - Status Yes - Summary No - Page 0 - -[OPTIONS] - Units GPM - Headloss H-W - Specific Gravity 1.0 - Viscosity 1.0 - Trials 40 - Accuracy 0.001 - CHECKFREQ 2 - MAXCHECK 10 - DAMPLIMIT 0 - Unbalanced Continue 10 - Pattern 1 - Demand Multiplier 1.0 - Emitter Exponent 0.5 - Quality Chlorine mg/L - Diffusivity 1.0 - Tolerance 0.01 - -[COORDINATES] -;Node X-Coord Y-Coord - 10 20.00 70.00 - 11 30.00 70.00 - 12 50.00 70.00 - 13 70.00 70.00 - 21 30.00 40.00 - 22 50.00 40.00 - 23 70.00 40.00 - 31 30.00 10.00 - 32 50.00 10.00 - 9 10.00 70.00 - 2 50.00 90.00 - -[VERTICES] -;Link X-Coord Y-Coord - -[LABELS] -;X-Coord Y-Coord Label & Anchor Node - 6.99 73.63 "Source" - 13.48 68.13 "Pump" - 43.85 91.21 "Tank" - -[BACKDROP] - DIMENSIONS 7.00 6.00 73.00 94.00 - UNITS None - FILE - OFFSET 0.00 0.00 - -[END] diff --git a/Hydraulic/Hydro.HydraulicCore/example-networks/Net2.inp b/Hydraulic/Hydro.HydraulicCore/example-networks/Net2.inp deleted file mode 100644 index 9f53e62..0000000 --- a/Hydraulic/Hydro.HydraulicCore/example-networks/Net2.inp +++ /dev/null @@ -1,309 +0,0 @@ -[TITLE] -EPANET Example Network 2 -Example of modeling a 55-hour fluoride tracer study. -Measured fluoride data is contained in the file Net2-FL.dat -and should be registered with the project to produce a -Calibration Report (select Calibration Data from the Project -menu). - -[JUNCTIONS] -;ID Elev Demand Pattern - 1 50 -694.4 2 ; - 2 100 8 ; - 3 60 14 ; - 4 60 8 ; - 5 100 8 ; - 6 125 5 ; - 7 160 4 ; - 8 110 9 ; - 9 180 14 ; - 10 130 5 ; - 11 185 34.78 ; - 12 210 16 ; - 13 210 2 ; - 14 200 2 ; - 15 190 2 ; - 16 150 20 ; - 17 180 20 ; - 18 100 20 ; - 19 150 5 ; - 20 170 19 ; - 21 150 16 ; - 22 200 10 ; - 23 230 8 ; - 24 190 11 ; - 25 230 6 ; - 27 130 8 ; - 28 110 0 ; - 29 110 7 ; - 30 130 3 ; - 31 190 17 ; - 32 110 17 ; - 33 180 1.5 ; - 34 190 1.5 ; - 35 110 0 ; - 36 110 1 ; - -[RESERVOIRS] -;ID Head Pattern - -[TANKS] -;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve - 26 235 56.7 50 70 50 0 ; - -[PIPES] -;ID Node1 Node2 Length Diameter Roughness MinorLoss Status - 1 1 2 2400 12 100 0 Open ; - 2 2 5 800 12 100 0 Open ; - 3 2 3 1300 8 100 0 Open ; - 4 3 4 1200 8 100 0 Open ; - 5 4 5 1000 12 100 0 Open ; - 6 5 6 1200 12 100 0 Open ; - 7 6 7 2700 12 100 0 Open ; - 8 7 8 1200 12 140 0 Open ; - 9 7 9 400 12 100 0 Open ; - 10 8 10 1000 8 140 0 Open ; - 11 9 11 700 12 100 0 Open ; - 12 11 12 1900 12 100 0 Open ; - 13 12 13 600 12 100 0 Open ; - 14 13 14 400 12 100 0 Open ; - 15 14 15 300 12 100 0 Open ; - 16 13 16 1500 8 100 0 Open ; - 17 15 17 1500 8 100 0 Open ; - 18 16 17 600 8 100 0 Open ; - 19 17 18 700 12 100 0 Open ; - 20 18 32 350 12 100 0 Open ; - 21 16 19 1400 8 100 0 Open ; - 22 14 20 1100 12 100 0 Open ; - 23 20 21 1300 8 100 0 Open ; - 24 21 22 1300 8 100 0 Open ; - 25 20 22 1300 8 100 0 Open ; - 26 24 23 600 12 100 0 Open ; - 27 15 24 250 12 100 0 Open ; - 28 23 25 300 12 100 0 Open ; - 29 25 26 200 12 100 0 Open ; - 30 25 31 600 12 100 0 Open ; - 31 31 27 400 8 100 0 Open ; - 32 27 29 400 8 100 0 Open ; - 34 29 28 700 8 100 0 Open ; - 35 22 33 1000 8 100 0 Open ; - 36 33 34 400 8 100 0 Open ; - 37 32 19 500 8 100 0 Open ; - 38 29 35 500 8 100 0 Open ; - 39 35 30 1000 8 100 0 Open ; - 40 28 35 700 8 100 0 Open ; - 41 28 36 300 8 100 0 Open ; - -[PUMPS] -;ID Node1 Node2 Parameters - -[VALVES] -;ID Node1 Node2 Diameter Type Setting MinorLoss - -[TAGS] - -[DEMANDS] -;Junction Demand Pattern Category - -[STATUS] -;ID Status/Setting - -[PATTERNS] -;ID Multipliers -;Demand Pattern - 1 1.26 1.04 .97 .97 .89 1.19 - 1 1.28 .67 .67 1.34 2.46 .97 - 1 .92 .68 1.43 .61 .31 .78 - 1 .37 .67 1.26 1.56 1.19 1.26 - 1 .6 1.1 1.03 .73 .88 1.06 - 1 .99 1.72 1.12 1.34 1.12 .97 - 1 1.04 1.15 .91 .61 .68 .46 - 1 .51 .74 1.12 1.34 1.26 .97 - 1 .82 1.37 1.03 .81 .88 .81 - 1 .81 -;Pump Station Outflow Pattern - 2 .96 .96 .96 .96 .96 .96 - 2 .62 0 0 0 0 0 - 2 .8 1 1 1 1 .15 - 2 0 0 0 0 0 0 - 2 .55 .92 .92 .92 .92 .9 - 2 .9 .45 0 0 0 0 - 2 0 .7 1 1 1 1 - 2 .2 0 0 0 0 0 - 2 0 .74 .92 .92 .92 .92 - 2 .92 -;Pump Station Fluoride Pattern - 3 .98 1.02 1.05 .99 .64 .46 - 3 .35 .35 .35 .35 .35 .35 - 3 .17 .17 .13 .13 .13 .15 - 3 .15 .15 .15 .15 .15 .15 - 3 .15 .12 .1 .08 .11 .09 - 3 .09 .08 .08 .08 .08 .08 - 3 .08 .09 .07 .07 .09 .09 - 3 .09 .09 .09 .09 .09 .09 - 3 .09 .08 .35 .72 .82 .92 - 3 1 - -[CURVES] -;ID X-Value Y-Value - -[CONTROLS] - -[RULES] - -[ENERGY] - Global Efficiency 75 - Global Price 0.0 - Demand Charge 0.0 - -[EMITTERS] -;Junction Coefficient - -[QUALITY] -;Node InitQual - 1 1.0 - 2 1.0 - 3 1.0 - 4 1.0 - 5 1.0 - 6 1.0 - 7 1.0 - 8 1.0 - 9 1.0 - 10 1.0 - 11 1.0 - 12 1.0 - 13 1.0 - 14 1.0 - 15 1.0 - 16 1.0 - 17 1.0 - 18 1.0 - 19 1.0 - 20 1.0 - 21 1.0 - 22 1.0 - 23 1.0 - 24 1.0 - 25 1.0 - 27 1.0 - 28 1.0 - 29 1.0 - 30 1.0 - 31 1.0 - 32 1.0 - 33 1.0 - 34 1.0 - 35 1.0 - 36 1.0 - 26 1.0 - -[SOURCES] -;Node Type Quality Pattern - 1 CONCEN 1.0 3 - -[REACTIONS] -;Type Pipe/Tank Coefficient - - -[REACTIONS] - Order Bulk 1 - Order Tank 1 - Order Wall 1 - Global Bulk 0.0 - Global Wall 0.0 - Limiting Potential 0.0 - Roughness Correlation 0.0 - -[MIXING] -;Tank Model - -[TIMES] - Duration 55:00 - Hydraulic Timestep 1:00 - Quality Timestep 0:05 - Pattern Timestep 1:00 - Pattern Start 0:00 - Report Timestep 1:00 - Report Start 0:00 - Start ClockTime 8 am - Statistic None - -[REPORT] - Status No - Summary No - Page 0 - -[OPTIONS] - Units GPM - Headloss H-W - Specific Gravity 1.0 - Viscosity 1.0 - Trials 40 - Accuracy 0.001 - CHECKFREQ 2 - MAXCHECK 10 - DAMPLIMIT 0 - Unbalanced Continue 10 - Pattern 1 - Demand Multiplier 1.0 - Emitter Exponent 0.5 - Quality Fluoride mg/L - Diffusivity 1.0 - Tolerance 0.01 - -[COORDINATES] -;Node X-Coord Y-Coord - 1 21.00 4.00 - 2 19.00 20.00 - 3 11.00 21.00 - 4 14.00 28.00 - 5 19.00 25.00 - 6 28.00 23.00 - 7 36.00 39.00 - 8 38.00 30.00 - 9 36.00 42.00 - 10 37.00 23.00 - 11 37.00 49.00 - 12 39.00 60.00 - 13 38.00 64.00 - 14 38.00 66.00 - 15 37.00 69.00 - 16 27.00 65.00 - 17 27.00 69.00 - 18 23.00 68.00 - 19 21.00 59.00 - 20 45.00 68.00 - 21 51.00 62.00 - 22 54.00 69.00 - 23 35.00 74.00 - 24 37.00 71.00 - 25 35.00 76.00 - 27 39.00 87.00 - 28 49.00 85.00 - 29 42.00 86.00 - 30 47.00 80.00 - 31 37.00 80.00 - 32 23.00 64.00 - 33 56.00 73.00 - 34 56.00 77.00 - 35 43.00 81.00 - 36 53.00 87.00 - 26 33.00 76.00 - -[VERTICES] -;Link X-Coord Y-Coord - -[LABELS] -;X-Coord Y-Coord Label & Anchor Node - 24.00 7.00 "Pump" - 24.00 4.00 "Station" - 26.76 77.42 "Tank" - -[BACKDROP] - DIMENSIONS 8.75 -0.15 58.25 91.15 - UNITS None - FILE - OFFSET 0.00 0.00 - -[END] diff --git a/Hydraulic/Hydro.HydraulicCore/example-networks/Net3.inp b/Hydraulic/Hydro.HydraulicCore/example-networks/Net3.inp deleted file mode 100644 index 3be1e96..0000000 --- a/Hydraulic/Hydro.HydraulicCore/example-networks/Net3.inp +++ /dev/null @@ -1,481 +0,0 @@ -[TITLE] -EPANET Example Network 3 -Example showing how the percent of Lake water in a dual-source -system changes over time. - -[JUNCTIONS] -;ID Elev Demand Pattern - 10 147 0 ; - 15 32 1 3 ; - 20 129 0 ; - 35 12.5 1 4 ; - 40 131.9 0 ; - 50 116.5 0 ; - 60 0 0 ; - 601 0 0 ; - 61 0 0 ; - 101 42 189.95 ; - 103 43 133.2 ; - 105 28.5 135.37 ; - 107 22 54.64 ; - 109 20.3 231.4 ; - 111 10 141.94 ; - 113 2 20.01 ; - 115 14 52.1 ; - 117 13.6 117.71 ; - 119 2 176.13 ; - 120 0 0 ; - 121 -2 41.63 ; - 123 11 1 2 ; - 125 11 45.6 ; - 127 56 17.66 ; - 129 51 0 ; - 131 6 42.75 ; - 139 31 5.89 ; - 141 4 9.85 ; - 143 -4.5 6.2 ; - 145 1 27.63 ; - 147 18.5 8.55 ; - 149 16 27.07 ; - 151 33.5 144.48 ; - 153 66.2 44.17 ; - 157 13.1 51.79 ; - 159 6 41.32 ; - 161 4 15.8 ; - 163 5 9.42 ; - 164 5 0 ; - 166 -2 2.6 ; - 167 -5 14.56 ; - 169 -5 0 ; - 171 -4 39.34 ; - 173 -4 0 ; - 177 8 58.17 ; - 179 8 0 ; - 181 8 0 ; - 183 11 0 ; - 184 16 0 ; - 185 16 25.65 ; - 187 12.5 0 ; - 189 4 107.92 ; - 191 25 81.9 ; - 193 18 71.31 ; - 195 15.5 0 ; - 197 23 17.04 ; - 199 -2 119.32 ; - 201 0.1 44.61 ; - 203 2 1 5 ; - 204 21 0 ; - 205 21 65.36 ; - 206 1 0 ; - 207 9 69.39 ; - 208 16 0 ; - 209 -2 0.87 ; - 211 7 8.67 ; - 213 7 13.94 ; - 215 7 92.19 ; - 217 6 24.22 ; - 219 4 41.32 ; - 225 8 22.8 ; - 229 10.5 64.18 ; - 231 5 16.48 ; - 237 14 15.61 ; - 239 13 44.61 ; - 241 13 0 ; - 243 14 4.34 ; - 247 18 70.38 ; - 249 18 0 ; - 251 30 24.16 ; - 253 36 54.52 ; - 255 27 40.39 ; - 257 17 0 ; - 259 25 0 ; - 261 0 0 ; - 263 0 0 ; - 265 0 0 ; - 267 21 0 ; - 269 0 0 ; - 271 6 0 ; - 273 8 0 ; - 275 10 0 ; - -[RESERVOIRS] -;ID Head Pattern - River 220.0 ; - Lake 167.0 ; - -[TANKS] -;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve - 1 131.9 13.1 .1 32.1 85 0 ; - 2 116.5 23.5 6.5 40.3 50 0 ; - 3 129.0 29.0 4.0 35.5 164 0 ; - -[PIPES] -;ID Node1 Node2 Length Diameter Roughness MinorLoss Status - 20 3 20 99 99 199 0 Open ; - 40 1 40 99 99 199 0 Open ; - 50 2 50 99 99 199 0 Open ; - 60 River 60 1231 24 140 0 Open ; - 101 10 101 14200 18 110 0 Open ; - 103 101 103 1350 16 130 0 Open ; - 105 101 105 2540 12 130 0 Open ; - 107 105 107 1470 12 130 0 Open ; - 109 103 109 3940 16 130 0 Open ; - 111 109 111 2000 12 130 0 Open ; - 112 115 111 1160 12 130 0 Open ; - 113 111 113 1680 12 130 0 Open ; - 114 115 113 2000 8 130 0 Open ; - 115 107 115 1950 8 130 0 Open ; - 116 113 193 1660 12 130 0 Open ; - 117 263 105 2725 12 130 0 Open ; - 119 115 117 2180 12 130 0 Open ; - 120 119 120 730 12 130 0 Open ; - 121 120 117 1870 12 130 0 Open ; - 122 121 120 2050 8 130 0 Open ; - 123 121 119 2000 30 141 0 Open ; - 125 123 121 1500 30 141 0 Open ; - 129 121 125 930 24 130 0 Open ; - 131 125 127 3240 24 130 0 Open ; - 133 20 127 785 20 130 0 Open ; - 135 127 129 900 24 130 0 Open ; - 137 129 131 6480 16 130 0 Open ; - 145 129 139 2750 8 130 0 Open ; - 147 139 141 2050 8 130 0 Open ; - 149 143 141 1400 8 130 0 Open ; - 151 15 143 1650 8 130 0 Open ; - 153 145 141 3510 12 130 0 Open ; - 155 147 145 2200 12 130 0 Open ; - 159 147 149 880 12 130 0 Open ; - 161 149 151 1020 8 130 0 Open ; - 163 151 153 1170 12 130 0 Open ; - 169 125 153 4560 8 130 0 Open ; - 171 119 151 3460 12 130 0 Open ; - 173 119 157 2080 30 141 0 Open ; - 175 157 159 2910 30 141 0 Open ; - 177 159 161 2000 30 141 0 Open ; - 179 161 163 430 30 141 0 Open ; - 180 163 164 150 14 130 0 Open ; - 181 164 166 490 14 130 0 Open ; - 183 265 169 590 30 141 0 Open ; - 185 167 169 60 8 130 0 Open ; - 186 187 204 99.9 8 130 0 Open ; - 187 169 171 1270 30 141 0 Open ; - 189 171 173 50 30 141 0 Open ; - 191 271 171 760 24 130 0 Open ; - 193 35 181 30 24 130 0 Open ; - 195 181 177 30 12 130 0 Open ; - 197 177 179 30 12 130 0 Open ; - 199 179 183 210 12 130 0 Open ; - 201 40 179 1190 12 130 0 Open ; - 202 185 184 99.9 8 130 0 Open ; - 203 183 185 510 8 130 0 Open ; - 204 184 205 4530. 12 130 0 Open ; - 205 204 185 1325. 12 130 0 Open ; - 207 189 183 1350 12 130 0 Open ; - 209 189 187 500 8 130 0 Open ; - 211 169 269 646 12 130 0 Open ; - 213 191 187 2560 12 130 0 Open ; - 215 267 189 1230 12 130 0 Open ; - 217 191 193 520 12 130 0 Open ; - 219 193 195 360 12 130 0 Open ; - 221 161 195 2300 8 130 0 Open ; - 223 197 191 1150 12 130 0 Open ; - 225 111 197 2790 12 130 0 Open ; - 229 173 199 4000 24 141 0 Open ; - 231 199 201 630 24 141 0 Open ; - 233 201 203 120 24 130 0 Open ; - 235 199 273 725 12 130 0 Open ; - 237 205 207 1200 12 130 0 Open ; - 238 207 206 450 12 130 0 Open ; - 239 275 207 1430 12 130 0 Open ; - 240 206 208 510 12 130 0 Open ; - 241 208 209 885 12 130 0 Open ; - 243 209 211 1210 16 130 0 Open ; - 245 211 213 990 16 130 0 Open ; - 247 213 215 4285 16 130 0 Open ; - 249 215 217 1660 16 130 0 Open ; - 251 217 219 2050 14 130 0 Open ; - 257 217 225 1560 12 130 0 Open ; - 261 213 229 2200 8 130 0 Open ; - 263 229 231 1960 12 130 0 Open ; - 269 211 237 2080 12 130 0 Open ; - 271 237 229 790 8 130 0 Open ; - 273 237 239 510 12 130 0 Open ; - 275 239 241 35 12 130 0 Open ; - 277 241 243 2200 12 130 0 Open ; - 281 241 247 445 10 130 0 Open ; - 283 239 249 430 12 130 0 Open ; - 285 247 249 10 12 130 0 Open ; - 287 247 255 1390 10 130 0 Open ; - 289 50 255 925 10 130 0 Open ; - 291 255 253 1100 10 130 0 Open ; - 293 255 251 1100 8 130 0 Open ; - 295 249 251 1450 12 130 0 Open ; - 297 120 257 645 8 130 0 Open ; - 299 257 259 350 8 130 0 Open ; - 301 259 263 1400 8 130 0 Open ; - 303 257 261 1400 8 130 0 Open ; - 305 117 261 645 12 130 0 Open ; - 307 261 263 350 12 130 0 Open ; - 309 265 267 1580 8 130 0 Open ; - 311 193 267 1170 12 130 0 Open ; - 313 269 189 646 12 130 0 Open ; - 315 181 271 260 24 130 0 Open ; - 317 273 275 2230 8 130 0 Open ; - 319 273 205 645 12 130 0 Open ; - 321 163 265 1200 30 141 0 Open ; - 323 201 275 300 12 130 0 Open ; - 325 269 271 1290 8 130 0 Open ; - 329 61 123 45500 30 140 0 Open ; - 330 60 601 1 30 140 0 Closed ; - 333 601 61 1 30 140 0 Open ; - -[PUMPS] -;ID Node1 Node2 Parameters - 10 Lake 10 HEAD 1 ; - 335 60 61 HEAD 2 ; - -[VALVES] -;ID Node1 Node2 Diameter Type Setting MinorLoss - -[TAGS] - -[DEMANDS] -;Junction Demand Pattern Category - -[STATUS] -;ID Status/Setting - 10 Closed - -[PATTERNS] -;ID Multipliers -;General Default Demand Pattern - 1 1.34 1.94 1.46 1.44 .76 .92 - 1 .85 1.07 .96 1.1 1.08 1.19 - 1 1.16 1.08 .96 .83 .79 .74 - 1 .64 .64 .85 .96 1.24 1.67 -;Demand Pattern for Node 123 - 2 0 0 0 0 0 1219 - 2 0 0 0 1866 1836 1818 - 2 1818 1822 1822 1817 1824 1816 - 2 1833 1817 1830 1814 1840 1859 -;Demand Pattern for Node 15 - 3 620 620 620 620 620 360 - 3 360 0 0 0 0 360 - 3 360 360 360 360 0 0 - 3 0 0 0 0 360 360 -;Demand Pattern for Node 35 - 4 1637 1706 1719 1719 1791 1819 - 4 1777 1842 1815 1825 1856 1801 - 4 1819 1733 1664 1620 1613 1620 - 4 1616 1647 1627 1627 1671 1668 -;Demand Pattern for Node 203 - 5 4439 4531 4511 4582 4531 4582 - 5 4572 4613 4643 4643 4592 4613 - 5 4531 4521 4449 4439 4449 4460 - 5 4439 4419 4368 4399 4470 4480 - -[CURVES] -;ID X-Value Y-Value -;PUMP: Pump Curve for Pump 10 (Lake Source) - 1 0 104. - 1 2000. 92. - 1 4000. 63. -;PUMP: Pump Curve for Pump 335 (River Source) - 2 0 200. - 2 8000. 138. - 2 14000. 86. - -[CONTROLS] -;Lake source operates only part of the day -Link 10 OPEN AT TIME 1 -Link 10 CLOSED AT TIME 15 - -;Pump 335 controlled by level in Tank 1 -;When pump is closed, bypass pipe is opened -Link 335 OPEN IF Node 1 BELOW 17.1 -Link 335 CLOSED IF Node 1 ABOVE 19.1 -Link 330 CLOSED IF Node 1 BELOW 17.1 -Link 330 OPEN IF Node 1 ABOVE 19.1 - - -[RULES] - -[ENERGY] - Global Efficiency 75 - Global Price 0.0 - Demand Charge 0.0 - -[EMITTERS] -;Junction Coefficient - -[QUALITY] -;Node InitQual - -[SOURCES] -;Node Type Quality Pattern - -[REACTIONS] -;Type Pipe/Tank Coefficient - - -[REACTIONS] - Order Bulk 1 - Order Tank 1 - Order Wall 1 - Global Bulk 0.0 - Global Wall 0.0 - Limiting Potential 0.0 - Roughness Correlation 0.0 - -[MIXING] -;Tank Model - -[TIMES] - Duration 24:00 - Hydraulic Timestep 1:00 - Quality Timestep 0:05 - Pattern Timestep 1:00 - Pattern Start 0:00 - Report Timestep 1:00 - Report Start 0:00 - Start ClockTime 12 am - Statistic None - -[REPORT] - Status Yes - Summary No - Page 0 - -[OPTIONS] - Units GPM - Headloss H-W - Specific Gravity 1.0 - Viscosity 1.0 - Trials 40 - Accuracy 0.001 - CHECKFREQ 2 - MAXCHECK 10 - DAMPLIMIT 0 - Unbalanced Continue 10 - Pattern 1 - Demand Multiplier 1.0 - Emitter Exponent 0.5 - Quality Trace Lake - Diffusivity 1.0 - Tolerance 0.01 - -[COORDINATES] -;Node X-Coord Y-Coord - 10 9.00 27.85 - 15 38.68 23.76 - 20 29.44 26.91 - 35 25.46 10.52 - 40 27.02 9.81 - 50 33.01 3.01 - 60 23.90 29.94 - 601 23.00 29.49 - 61 23.71 29.03 - 101 13.81 22.94 - 103 12.96 21.31 - 105 16.97 21.28 - 107 18.45 20.46 - 109 17.64 18.92 - 111 20.21 17.53 - 113 22.04 16.61 - 115 20.98 19.18 - 117 21.69 21.28 - 119 23.70 22.76 - 120 22.08 23.10 - 121 23.54 25.50 - 123 23.37 27.31 - 125 24.59 25.64 - 127 29.29 26.40 - 129 30.32 26.39 - 131 37.89 29.55 - 139 33.28 24.54 - 141 35.68 23.08 - 143 37.47 21.97 - 145 33.02 19.29 - 147 30.24 20.38 - 149 29.62 20.74 - 151 28.29 21.39 - 153 28.13 22.63 - 157 24.85 20.16 - 159 23.12 17.50 - 161 25.10 15.28 - 163 25.39 14.98 - 164 25.98 15.14 - 166 26.48 15.13 - 167 25.88 12.98 - 169 25.68 12.74 - 171 26.65 11.80 - 173 26.87 11.59 - 177 25.92 10.59 - 179 25.71 10.40 - 181 25.72 10.74 - 183 25.45 10.18 - 184 25.15 9.52 - 185 25.01 9.67 - 187 23.64 11.04 - 189 24.15 11.37 - 191 22.10 14.07 - 193 22.88 14.35 - 195 23.18 14.72 - 197 20.97 15.18 - 199 29.42 8.44 - 201 30.89 8.57 - 203 31.14 8.89 - 204 23.80 10.90 - 205 29.20 6.46 - 206 31.66 6.64 - 207 31.00 6.61 - 208 32.54 6.81 - 209 33.76 6.59 - 211 34.20 5.54 - 213 35.26 6.16 - 215 39.95 8.73 - 217 42.11 8.67 - 219 44.86 9.32 - 225 43.53 7.38 - 229 36.16 3.49 - 231 38.38 2.54 - 237 35.37 3.08 - 239 35.76 2.31 - 241 35.87 2.11 - 243 37.04 0.00 - 247 35.02 2.05 - 249 35.02 1.81 - 251 34.15 1.10 - 253 32.17 1.88 - 255 33.51 2.45 - 257 21.17 23.32 - 259 20.80 23.40 - 261 20.79 21.45 - 263 20.32 21.57 - 265 25.39 13.60 - 267 23.38 12.95 - 269 25.03 12.14 - 271 25.97 11.00 - 273 29.16 7.38 - 275 31.07 8.29 - River 24.15 31.06 - Lake 8.00 27.53 - 1 27.46 9.84 - 2 32.99 3.45 - 3 29.41 27.27 - -[VERTICES] -;Link X-Coord Y-Coord - -[LABELS] -;X-Coord Y-Coord Label & Anchor Node - 8.00 29.42 "LAKE" - 25.00 31.10 "RIVER" - -[BACKDROP] - DIMENSIONS 6.16 -1.55 46.70 32.61 - UNITS None - FILE - OFFSET 0.00 0.00 - -[END] diff --git a/Hydraulic/Hydro.HydraulicCore/tests/CMakeLists.txt b/Hydraulic/Hydro.HydraulicCore/tests/CMakeLists.txt deleted file mode 100644 index 995d01f..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/CMakeLists.txt +++ /dev/null @@ -1,75 +0,0 @@ -# -# CMakeLists.txt - CMake configuration file for epanet/tests -# -# Created: February 13, 2018 -# -# Modified by: Michael E. Tryby -# US EPA ORD/NRMRL -# - - -# Sets for output directory for executables and libraries. -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - -if(UNIX) - set(CMAKE_CXX_FLAGS "-std=c++11") -endif(UNIX) - - -add_executable(test_net_builder test_net_builder.cpp) -target_link_libraries(test_net_builder ${Boost_LIBRARIES} epanet2) -add_test(NAME test_net_builder - COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_net_builder - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data) - - -set(toolkit_test_srcs - test_toolkit.cpp - test_project.cpp - test_hydraulics.cpp - test_quality.cpp - test_report.cpp - test_analysis.cpp - test_node.cpp - test_demand.cpp - test_link.cpp -# test_pump.cpp - test_pattern.cpp - test_curve.cpp - test_control.cpp - test_overflow.cpp - test_pda.cpp -) - -add_executable(test_toolkit ${toolkit_test_srcs}) -target_link_libraries(test_toolkit ${Boost_LIBRARIES} epanet2) -add_test(NAME test_toolkit - COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_toolkit - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data) - - - -add_executable(test_reent test_reent.cpp) - -IF(MSVC) - target_link_libraries(test_reent ${Boost_LIBRARIES} epanet2) -ELSE(TRUE) - target_link_libraries(test_reent ${Boost_LIBRARIES} pthread epanet2) -ENDIF(MSVC) - -add_test(NAME test_reent - COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_reent - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data) - - -# ctest doesn't like tests added in subdirectories so adding them here -add_test(NAME test_errormanager - COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_errormanager) - -add_test(NAME test_filemanager - COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_filemanager - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/outfile/data) - -add_test(NAME test_output - COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_output - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/outfile/data) diff --git a/Hydraulic/Hydro.HydraulicCore/tests/data/example1.out b/Hydraulic/Hydro.HydraulicCore/tests/data/example1.out deleted file mode 100644 index 416c98b..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/data/example1.out +++ /dev/null Binary files differ diff --git a/Hydraulic/Hydro.HydraulicCore/tests/data/example_0.inp b/Hydraulic/Hydro.HydraulicCore/tests/data/example_0.inp deleted file mode 100644 index 3be1e96..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/data/example_0.inp +++ /dev/null @@ -1,481 +0,0 @@ -[TITLE] -EPANET Example Network 3 -Example showing how the percent of Lake water in a dual-source -system changes over time. - -[JUNCTIONS] -;ID Elev Demand Pattern - 10 147 0 ; - 15 32 1 3 ; - 20 129 0 ; - 35 12.5 1 4 ; - 40 131.9 0 ; - 50 116.5 0 ; - 60 0 0 ; - 601 0 0 ; - 61 0 0 ; - 101 42 189.95 ; - 103 43 133.2 ; - 105 28.5 135.37 ; - 107 22 54.64 ; - 109 20.3 231.4 ; - 111 10 141.94 ; - 113 2 20.01 ; - 115 14 52.1 ; - 117 13.6 117.71 ; - 119 2 176.13 ; - 120 0 0 ; - 121 -2 41.63 ; - 123 11 1 2 ; - 125 11 45.6 ; - 127 56 17.66 ; - 129 51 0 ; - 131 6 42.75 ; - 139 31 5.89 ; - 141 4 9.85 ; - 143 -4.5 6.2 ; - 145 1 27.63 ; - 147 18.5 8.55 ; - 149 16 27.07 ; - 151 33.5 144.48 ; - 153 66.2 44.17 ; - 157 13.1 51.79 ; - 159 6 41.32 ; - 161 4 15.8 ; - 163 5 9.42 ; - 164 5 0 ; - 166 -2 2.6 ; - 167 -5 14.56 ; - 169 -5 0 ; - 171 -4 39.34 ; - 173 -4 0 ; - 177 8 58.17 ; - 179 8 0 ; - 181 8 0 ; - 183 11 0 ; - 184 16 0 ; - 185 16 25.65 ; - 187 12.5 0 ; - 189 4 107.92 ; - 191 25 81.9 ; - 193 18 71.31 ; - 195 15.5 0 ; - 197 23 17.04 ; - 199 -2 119.32 ; - 201 0.1 44.61 ; - 203 2 1 5 ; - 204 21 0 ; - 205 21 65.36 ; - 206 1 0 ; - 207 9 69.39 ; - 208 16 0 ; - 209 -2 0.87 ; - 211 7 8.67 ; - 213 7 13.94 ; - 215 7 92.19 ; - 217 6 24.22 ; - 219 4 41.32 ; - 225 8 22.8 ; - 229 10.5 64.18 ; - 231 5 16.48 ; - 237 14 15.61 ; - 239 13 44.61 ; - 241 13 0 ; - 243 14 4.34 ; - 247 18 70.38 ; - 249 18 0 ; - 251 30 24.16 ; - 253 36 54.52 ; - 255 27 40.39 ; - 257 17 0 ; - 259 25 0 ; - 261 0 0 ; - 263 0 0 ; - 265 0 0 ; - 267 21 0 ; - 269 0 0 ; - 271 6 0 ; - 273 8 0 ; - 275 10 0 ; - -[RESERVOIRS] -;ID Head Pattern - River 220.0 ; - Lake 167.0 ; - -[TANKS] -;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve - 1 131.9 13.1 .1 32.1 85 0 ; - 2 116.5 23.5 6.5 40.3 50 0 ; - 3 129.0 29.0 4.0 35.5 164 0 ; - -[PIPES] -;ID Node1 Node2 Length Diameter Roughness MinorLoss Status - 20 3 20 99 99 199 0 Open ; - 40 1 40 99 99 199 0 Open ; - 50 2 50 99 99 199 0 Open ; - 60 River 60 1231 24 140 0 Open ; - 101 10 101 14200 18 110 0 Open ; - 103 101 103 1350 16 130 0 Open ; - 105 101 105 2540 12 130 0 Open ; - 107 105 107 1470 12 130 0 Open ; - 109 103 109 3940 16 130 0 Open ; - 111 109 111 2000 12 130 0 Open ; - 112 115 111 1160 12 130 0 Open ; - 113 111 113 1680 12 130 0 Open ; - 114 115 113 2000 8 130 0 Open ; - 115 107 115 1950 8 130 0 Open ; - 116 113 193 1660 12 130 0 Open ; - 117 263 105 2725 12 130 0 Open ; - 119 115 117 2180 12 130 0 Open ; - 120 119 120 730 12 130 0 Open ; - 121 120 117 1870 12 130 0 Open ; - 122 121 120 2050 8 130 0 Open ; - 123 121 119 2000 30 141 0 Open ; - 125 123 121 1500 30 141 0 Open ; - 129 121 125 930 24 130 0 Open ; - 131 125 127 3240 24 130 0 Open ; - 133 20 127 785 20 130 0 Open ; - 135 127 129 900 24 130 0 Open ; - 137 129 131 6480 16 130 0 Open ; - 145 129 139 2750 8 130 0 Open ; - 147 139 141 2050 8 130 0 Open ; - 149 143 141 1400 8 130 0 Open ; - 151 15 143 1650 8 130 0 Open ; - 153 145 141 3510 12 130 0 Open ; - 155 147 145 2200 12 130 0 Open ; - 159 147 149 880 12 130 0 Open ; - 161 149 151 1020 8 130 0 Open ; - 163 151 153 1170 12 130 0 Open ; - 169 125 153 4560 8 130 0 Open ; - 171 119 151 3460 12 130 0 Open ; - 173 119 157 2080 30 141 0 Open ; - 175 157 159 2910 30 141 0 Open ; - 177 159 161 2000 30 141 0 Open ; - 179 161 163 430 30 141 0 Open ; - 180 163 164 150 14 130 0 Open ; - 181 164 166 490 14 130 0 Open ; - 183 265 169 590 30 141 0 Open ; - 185 167 169 60 8 130 0 Open ; - 186 187 204 99.9 8 130 0 Open ; - 187 169 171 1270 30 141 0 Open ; - 189 171 173 50 30 141 0 Open ; - 191 271 171 760 24 130 0 Open ; - 193 35 181 30 24 130 0 Open ; - 195 181 177 30 12 130 0 Open ; - 197 177 179 30 12 130 0 Open ; - 199 179 183 210 12 130 0 Open ; - 201 40 179 1190 12 130 0 Open ; - 202 185 184 99.9 8 130 0 Open ; - 203 183 185 510 8 130 0 Open ; - 204 184 205 4530. 12 130 0 Open ; - 205 204 185 1325. 12 130 0 Open ; - 207 189 183 1350 12 130 0 Open ; - 209 189 187 500 8 130 0 Open ; - 211 169 269 646 12 130 0 Open ; - 213 191 187 2560 12 130 0 Open ; - 215 267 189 1230 12 130 0 Open ; - 217 191 193 520 12 130 0 Open ; - 219 193 195 360 12 130 0 Open ; - 221 161 195 2300 8 130 0 Open ; - 223 197 191 1150 12 130 0 Open ; - 225 111 197 2790 12 130 0 Open ; - 229 173 199 4000 24 141 0 Open ; - 231 199 201 630 24 141 0 Open ; - 233 201 203 120 24 130 0 Open ; - 235 199 273 725 12 130 0 Open ; - 237 205 207 1200 12 130 0 Open ; - 238 207 206 450 12 130 0 Open ; - 239 275 207 1430 12 130 0 Open ; - 240 206 208 510 12 130 0 Open ; - 241 208 209 885 12 130 0 Open ; - 243 209 211 1210 16 130 0 Open ; - 245 211 213 990 16 130 0 Open ; - 247 213 215 4285 16 130 0 Open ; - 249 215 217 1660 16 130 0 Open ; - 251 217 219 2050 14 130 0 Open ; - 257 217 225 1560 12 130 0 Open ; - 261 213 229 2200 8 130 0 Open ; - 263 229 231 1960 12 130 0 Open ; - 269 211 237 2080 12 130 0 Open ; - 271 237 229 790 8 130 0 Open ; - 273 237 239 510 12 130 0 Open ; - 275 239 241 35 12 130 0 Open ; - 277 241 243 2200 12 130 0 Open ; - 281 241 247 445 10 130 0 Open ; - 283 239 249 430 12 130 0 Open ; - 285 247 249 10 12 130 0 Open ; - 287 247 255 1390 10 130 0 Open ; - 289 50 255 925 10 130 0 Open ; - 291 255 253 1100 10 130 0 Open ; - 293 255 251 1100 8 130 0 Open ; - 295 249 251 1450 12 130 0 Open ; - 297 120 257 645 8 130 0 Open ; - 299 257 259 350 8 130 0 Open ; - 301 259 263 1400 8 130 0 Open ; - 303 257 261 1400 8 130 0 Open ; - 305 117 261 645 12 130 0 Open ; - 307 261 263 350 12 130 0 Open ; - 309 265 267 1580 8 130 0 Open ; - 311 193 267 1170 12 130 0 Open ; - 313 269 189 646 12 130 0 Open ; - 315 181 271 260 24 130 0 Open ; - 317 273 275 2230 8 130 0 Open ; - 319 273 205 645 12 130 0 Open ; - 321 163 265 1200 30 141 0 Open ; - 323 201 275 300 12 130 0 Open ; - 325 269 271 1290 8 130 0 Open ; - 329 61 123 45500 30 140 0 Open ; - 330 60 601 1 30 140 0 Closed ; - 333 601 61 1 30 140 0 Open ; - -[PUMPS] -;ID Node1 Node2 Parameters - 10 Lake 10 HEAD 1 ; - 335 60 61 HEAD 2 ; - -[VALVES] -;ID Node1 Node2 Diameter Type Setting MinorLoss - -[TAGS] - -[DEMANDS] -;Junction Demand Pattern Category - -[STATUS] -;ID Status/Setting - 10 Closed - -[PATTERNS] -;ID Multipliers -;General Default Demand Pattern - 1 1.34 1.94 1.46 1.44 .76 .92 - 1 .85 1.07 .96 1.1 1.08 1.19 - 1 1.16 1.08 .96 .83 .79 .74 - 1 .64 .64 .85 .96 1.24 1.67 -;Demand Pattern for Node 123 - 2 0 0 0 0 0 1219 - 2 0 0 0 1866 1836 1818 - 2 1818 1822 1822 1817 1824 1816 - 2 1833 1817 1830 1814 1840 1859 -;Demand Pattern for Node 15 - 3 620 620 620 620 620 360 - 3 360 0 0 0 0 360 - 3 360 360 360 360 0 0 - 3 0 0 0 0 360 360 -;Demand Pattern for Node 35 - 4 1637 1706 1719 1719 1791 1819 - 4 1777 1842 1815 1825 1856 1801 - 4 1819 1733 1664 1620 1613 1620 - 4 1616 1647 1627 1627 1671 1668 -;Demand Pattern for Node 203 - 5 4439 4531 4511 4582 4531 4582 - 5 4572 4613 4643 4643 4592 4613 - 5 4531 4521 4449 4439 4449 4460 - 5 4439 4419 4368 4399 4470 4480 - -[CURVES] -;ID X-Value Y-Value -;PUMP: Pump Curve for Pump 10 (Lake Source) - 1 0 104. - 1 2000. 92. - 1 4000. 63. -;PUMP: Pump Curve for Pump 335 (River Source) - 2 0 200. - 2 8000. 138. - 2 14000. 86. - -[CONTROLS] -;Lake source operates only part of the day -Link 10 OPEN AT TIME 1 -Link 10 CLOSED AT TIME 15 - -;Pump 335 controlled by level in Tank 1 -;When pump is closed, bypass pipe is opened -Link 335 OPEN IF Node 1 BELOW 17.1 -Link 335 CLOSED IF Node 1 ABOVE 19.1 -Link 330 CLOSED IF Node 1 BELOW 17.1 -Link 330 OPEN IF Node 1 ABOVE 19.1 - - -[RULES] - -[ENERGY] - Global Efficiency 75 - Global Price 0.0 - Demand Charge 0.0 - -[EMITTERS] -;Junction Coefficient - -[QUALITY] -;Node InitQual - -[SOURCES] -;Node Type Quality Pattern - -[REACTIONS] -;Type Pipe/Tank Coefficient - - -[REACTIONS] - Order Bulk 1 - Order Tank 1 - Order Wall 1 - Global Bulk 0.0 - Global Wall 0.0 - Limiting Potential 0.0 - Roughness Correlation 0.0 - -[MIXING] -;Tank Model - -[TIMES] - Duration 24:00 - Hydraulic Timestep 1:00 - Quality Timestep 0:05 - Pattern Timestep 1:00 - Pattern Start 0:00 - Report Timestep 1:00 - Report Start 0:00 - Start ClockTime 12 am - Statistic None - -[REPORT] - Status Yes - Summary No - Page 0 - -[OPTIONS] - Units GPM - Headloss H-W - Specific Gravity 1.0 - Viscosity 1.0 - Trials 40 - Accuracy 0.001 - CHECKFREQ 2 - MAXCHECK 10 - DAMPLIMIT 0 - Unbalanced Continue 10 - Pattern 1 - Demand Multiplier 1.0 - Emitter Exponent 0.5 - Quality Trace Lake - Diffusivity 1.0 - Tolerance 0.01 - -[COORDINATES] -;Node X-Coord Y-Coord - 10 9.00 27.85 - 15 38.68 23.76 - 20 29.44 26.91 - 35 25.46 10.52 - 40 27.02 9.81 - 50 33.01 3.01 - 60 23.90 29.94 - 601 23.00 29.49 - 61 23.71 29.03 - 101 13.81 22.94 - 103 12.96 21.31 - 105 16.97 21.28 - 107 18.45 20.46 - 109 17.64 18.92 - 111 20.21 17.53 - 113 22.04 16.61 - 115 20.98 19.18 - 117 21.69 21.28 - 119 23.70 22.76 - 120 22.08 23.10 - 121 23.54 25.50 - 123 23.37 27.31 - 125 24.59 25.64 - 127 29.29 26.40 - 129 30.32 26.39 - 131 37.89 29.55 - 139 33.28 24.54 - 141 35.68 23.08 - 143 37.47 21.97 - 145 33.02 19.29 - 147 30.24 20.38 - 149 29.62 20.74 - 151 28.29 21.39 - 153 28.13 22.63 - 157 24.85 20.16 - 159 23.12 17.50 - 161 25.10 15.28 - 163 25.39 14.98 - 164 25.98 15.14 - 166 26.48 15.13 - 167 25.88 12.98 - 169 25.68 12.74 - 171 26.65 11.80 - 173 26.87 11.59 - 177 25.92 10.59 - 179 25.71 10.40 - 181 25.72 10.74 - 183 25.45 10.18 - 184 25.15 9.52 - 185 25.01 9.67 - 187 23.64 11.04 - 189 24.15 11.37 - 191 22.10 14.07 - 193 22.88 14.35 - 195 23.18 14.72 - 197 20.97 15.18 - 199 29.42 8.44 - 201 30.89 8.57 - 203 31.14 8.89 - 204 23.80 10.90 - 205 29.20 6.46 - 206 31.66 6.64 - 207 31.00 6.61 - 208 32.54 6.81 - 209 33.76 6.59 - 211 34.20 5.54 - 213 35.26 6.16 - 215 39.95 8.73 - 217 42.11 8.67 - 219 44.86 9.32 - 225 43.53 7.38 - 229 36.16 3.49 - 231 38.38 2.54 - 237 35.37 3.08 - 239 35.76 2.31 - 241 35.87 2.11 - 243 37.04 0.00 - 247 35.02 2.05 - 249 35.02 1.81 - 251 34.15 1.10 - 253 32.17 1.88 - 255 33.51 2.45 - 257 21.17 23.32 - 259 20.80 23.40 - 261 20.79 21.45 - 263 20.32 21.57 - 265 25.39 13.60 - 267 23.38 12.95 - 269 25.03 12.14 - 271 25.97 11.00 - 273 29.16 7.38 - 275 31.07 8.29 - River 24.15 31.06 - Lake 8.00 27.53 - 1 27.46 9.84 - 2 32.99 3.45 - 3 29.41 27.27 - -[VERTICES] -;Link X-Coord Y-Coord - -[LABELS] -;X-Coord Y-Coord Label & Anchor Node - 8.00 29.42 "LAKE" - 25.00 31.10 "RIVER" - -[BACKDROP] - DIMENSIONS 6.16 -1.55 46.70 32.61 - UNITS None - FILE - OFFSET 0.00 0.00 - -[END] diff --git a/Hydraulic/Hydro.HydraulicCore/tests/data/example_1.inp b/Hydraulic/Hydro.HydraulicCore/tests/data/example_1.inp deleted file mode 100644 index 4df5bbf..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/data/example_1.inp +++ /dev/null @@ -1,178 +0,0 @@ -[TITLE] - EPANET Example Network 1 -A simple example of modeling chlorine decay. Both bulk and -wall reactions are included. - -[JUNCTIONS] -;ID Elev Demand Pattern - 10 710 0 ; - 11 710 150 ; - 12 700 150 ; - 13 695 100 ; - 21 700 150 ; - 22 695 200 ; - 23 690 150 ; - 31 700 100 ; - 32 710 100 ; - -[RESERVOIRS] -;ID Head Pattern - 9 800 ; - -[TANKS] -;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve - 2 850 120 100 150 50.5 0 ; - -[PIPES] -;ID Node1 Node2 Length Diameter Roughness MinorLoss Status - 10 10 11 10530 18 100 0 Open ; - 11 11 12 5280 14 100 0 Open ; - 12 12 13 5280 10 100 0 Open ; - 21 21 22 5280 10 100 0 Open ; - 22 22 23 5280 12 100 0 Open ; - 31 31 32 5280 6 100 0 Open ; - 110 2 12 200 18 100 0 Open ; - 111 11 21 5280 10 100 0 Open ; - 112 12 22 5280 12 100 0 Open ; - 113 13 23 5280 8 100 0 Open ; - 121 21 31 5280 8 100 0 Open ; - 122 22 32 5280 6 100 0 Open ; - -[PUMPS] -;ID Node1 Node2 Parameters - 9 9 10 HEAD 1 ; - -[VALVES] -;ID Node1 Node2 Diameter Type Setting MinorLoss - -[TAGS] - -[DEMANDS] -;Junction Demand Pattern Category - -[STATUS] -;ID Status/Setting - -[PATTERNS] -;ID Multipliers -;Demand Pattern - 1 1.0 1.2 1.4 1.6 1.4 1.2 - 1 1.0 0.8 0.6 0.4 0.6 0.8 - -[CURVES] -;ID X-Value Y-Value -;PUMP: Pump Curve for Pump 9 - 1 1500 250 - -[CONTROLS] - LINK 9 OPEN IF NODE 2 BELOW 110 - LINK 9 CLOSED IF NODE 2 ABOVE 140 - - -[RULES] - -[ENERGY] - Global Efficiency 75 - Global Price 0.0 - Demand Charge 0.0 - -[EMITTERS] -;Junction Coefficient - -[QUALITY] -;Node InitQual - 10 0.5 - 11 0.5 - 12 0.5 - 13 0.5 - 21 0.5 - 22 0.5 - 23 0.5 - 31 0.5 - 32 0.5 - 9 1.0 - 2 1.0 - -[SOURCES] -;Node Type Quality Pattern - -[REACTIONS] -;Type Pipe/Tank Coefficient - - -[REACTIONS] - Order Bulk 1 - Order Tank 1 - Order Wall 1 - Global Bulk -.5 - Global Wall -1 - Limiting Potential 0.0 - Roughness Correlation 0.0 - -[MIXING] -;Tank Model - -[TIMES] - Duration 24:00 - Hydraulic Timestep 1:00 - Quality Timestep 0:05 - Pattern Timestep 2:00 - Pattern Start 0:00 - Report Timestep 1:00 - Report Start 0:00 - Start ClockTime 12 am - Statistic None - -[REPORT] - Status Yes - Summary No - Page 0 - -[OPTIONS] - Units GPM - Headloss H-W - Specific Gravity 1.0 - Viscosity 1.0 - Trials 40 - Accuracy 0.001 - CHECKFREQ 2 - MAXCHECK 10 - DAMPLIMIT 0 - Unbalanced Continue 10 - Pattern 1 - Demand Multiplier 1.0 - Emitter Exponent 0.5 - Quality Chlorine mg/L - Diffusivity 1.0 - Tolerance 0.01 - -[COORDINATES] -;Node X-Coord Y-Coord - 10 20.00 70.00 - 11 30.00 70.00 - 12 50.00 70.00 - 13 70.00 70.00 - 21 30.00 40.00 - 22 50.00 40.00 - 23 70.00 40.00 - 31 30.00 10.00 - 32 50.00 10.00 - 9 10.00 70.00 - 2 50.00 90.00 - -[VERTICES] -;Link X-Coord Y-Coord - -[LABELS] -;X-Coord Y-Coord Label & Anchor Node - 6.99 73.63 "Source" - 13.48 68.13 "Pump" - 43.85 91.21 "Tank" - -[BACKDROP] - DIMENSIONS 7.00 6.00 73.00 94.00 - UNITS None - FILE - OFFSET 0.00 0.00 - -[END] diff --git a/Hydraulic/Hydro.HydraulicCore/tests/data/net1.inp b/Hydraulic/Hydro.HydraulicCore/tests/data/net1.inp deleted file mode 100644 index 4df5bbf..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/data/net1.inp +++ /dev/null @@ -1,178 +0,0 @@ -[TITLE] - EPANET Example Network 1 -A simple example of modeling chlorine decay. Both bulk and -wall reactions are included. - -[JUNCTIONS] -;ID Elev Demand Pattern - 10 710 0 ; - 11 710 150 ; - 12 700 150 ; - 13 695 100 ; - 21 700 150 ; - 22 695 200 ; - 23 690 150 ; - 31 700 100 ; - 32 710 100 ; - -[RESERVOIRS] -;ID Head Pattern - 9 800 ; - -[TANKS] -;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve - 2 850 120 100 150 50.5 0 ; - -[PIPES] -;ID Node1 Node2 Length Diameter Roughness MinorLoss Status - 10 10 11 10530 18 100 0 Open ; - 11 11 12 5280 14 100 0 Open ; - 12 12 13 5280 10 100 0 Open ; - 21 21 22 5280 10 100 0 Open ; - 22 22 23 5280 12 100 0 Open ; - 31 31 32 5280 6 100 0 Open ; - 110 2 12 200 18 100 0 Open ; - 111 11 21 5280 10 100 0 Open ; - 112 12 22 5280 12 100 0 Open ; - 113 13 23 5280 8 100 0 Open ; - 121 21 31 5280 8 100 0 Open ; - 122 22 32 5280 6 100 0 Open ; - -[PUMPS] -;ID Node1 Node2 Parameters - 9 9 10 HEAD 1 ; - -[VALVES] -;ID Node1 Node2 Diameter Type Setting MinorLoss - -[TAGS] - -[DEMANDS] -;Junction Demand Pattern Category - -[STATUS] -;ID Status/Setting - -[PATTERNS] -;ID Multipliers -;Demand Pattern - 1 1.0 1.2 1.4 1.6 1.4 1.2 - 1 1.0 0.8 0.6 0.4 0.6 0.8 - -[CURVES] -;ID X-Value Y-Value -;PUMP: Pump Curve for Pump 9 - 1 1500 250 - -[CONTROLS] - LINK 9 OPEN IF NODE 2 BELOW 110 - LINK 9 CLOSED IF NODE 2 ABOVE 140 - - -[RULES] - -[ENERGY] - Global Efficiency 75 - Global Price 0.0 - Demand Charge 0.0 - -[EMITTERS] -;Junction Coefficient - -[QUALITY] -;Node InitQual - 10 0.5 - 11 0.5 - 12 0.5 - 13 0.5 - 21 0.5 - 22 0.5 - 23 0.5 - 31 0.5 - 32 0.5 - 9 1.0 - 2 1.0 - -[SOURCES] -;Node Type Quality Pattern - -[REACTIONS] -;Type Pipe/Tank Coefficient - - -[REACTIONS] - Order Bulk 1 - Order Tank 1 - Order Wall 1 - Global Bulk -.5 - Global Wall -1 - Limiting Potential 0.0 - Roughness Correlation 0.0 - -[MIXING] -;Tank Model - -[TIMES] - Duration 24:00 - Hydraulic Timestep 1:00 - Quality Timestep 0:05 - Pattern Timestep 2:00 - Pattern Start 0:00 - Report Timestep 1:00 - Report Start 0:00 - Start ClockTime 12 am - Statistic None - -[REPORT] - Status Yes - Summary No - Page 0 - -[OPTIONS] - Units GPM - Headloss H-W - Specific Gravity 1.0 - Viscosity 1.0 - Trials 40 - Accuracy 0.001 - CHECKFREQ 2 - MAXCHECK 10 - DAMPLIMIT 0 - Unbalanced Continue 10 - Pattern 1 - Demand Multiplier 1.0 - Emitter Exponent 0.5 - Quality Chlorine mg/L - Diffusivity 1.0 - Tolerance 0.01 - -[COORDINATES] -;Node X-Coord Y-Coord - 10 20.00 70.00 - 11 30.00 70.00 - 12 50.00 70.00 - 13 70.00 70.00 - 21 30.00 40.00 - 22 50.00 40.00 - 23 70.00 40.00 - 31 30.00 10.00 - 32 50.00 10.00 - 9 10.00 70.00 - 2 50.00 90.00 - -[VERTICES] -;Link X-Coord Y-Coord - -[LABELS] -;X-Coord Y-Coord Label & Anchor Node - 6.99 73.63 "Source" - 13.48 68.13 "Pump" - 43.85 91.21 "Tank" - -[BACKDROP] - DIMENSIONS 7.00 6.00 73.00 94.00 - UNITS None - FILE - OFFSET 0.00 0.00 - -[END] diff --git a/Hydraulic/Hydro.HydraulicCore/tests/data/net1.out b/Hydraulic/Hydro.HydraulicCore/tests/data/net1.out deleted file mode 100644 index 6cede26..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/data/net1.out +++ /dev/null Binary files differ diff --git a/Hydraulic/Hydro.HydraulicCore/tests/outfile/CMakeLists.txt b/Hydraulic/Hydro.HydraulicCore/tests/outfile/CMakeLists.txt deleted file mode 100644 index 6d0b730..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/outfile/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ - -if(UNIX) - set(CMAKE_CXX_FLAGS "-std=c++11") -endif(UNIX) - -# Sets for output directory for executables and libraries -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) - - -add_executable(test_output test_output.cpp) -target_include_directories(test_output PUBLIC ../../src/outfile/include) -target_link_libraries(test_output ${Boost_LIBRARIES} epanet-output) diff --git a/Hydraulic/Hydro.HydraulicCore/tests/outfile/data/enP1kAlM b/Hydraulic/Hydro.HydraulicCore/tests/outfile/data/enP1kAlM deleted file mode 100644 index e69de29..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/outfile/data/enP1kAlM +++ /dev/null diff --git a/Hydraulic/Hydro.HydraulicCore/tests/outfile/data/example1.out b/Hydraulic/Hydro.HydraulicCore/tests/outfile/data/example1.out deleted file mode 100644 index 416c98b..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/outfile/data/example1.out +++ /dev/null Binary files differ diff --git a/Hydraulic/Hydro.HydraulicCore/tests/outfile/test_output.cpp b/Hydraulic/Hydro.HydraulicCore/tests/outfile/test_output.cpp deleted file mode 100644 index bcae21d..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/outfile/test_output.cpp +++ /dev/null @@ -1,367 +0,0 @@ -/* - * test_output.cpp - * - * Created: 8/4/2017 - * Author: Michael E. Tryby - * US EPA - ORD/NRMRL - * - * Unit testing for EPANET Output API. -*/ - -#define BOOST_TEST_MODULE "output" - -#include <stdlib.h> -#include <stdio.h> -#include <string> -#include <math.h> - -#include <boost/test/unit_test.hpp> - -#include "epanet_output.h" -//#include "epanet2_2.h" - - -boost::test_tools::predicate_result check_cdd_float(std::vector<float>& test, - std::vector<float>& ref, long cdd_tol){ - float tmp, min_cdd = 10.0; - - // TODO: What if the vectors aren't the same length? - - std::vector<float>::iterator test_it; - std::vector<float>::iterator ref_it; - - for (test_it = test.begin(), ref_it = ref.begin(); - (test_it < test.end()) && (ref_it < ref.end()); - ++test_it, ++ref_it) - { - if (*test_it != *ref_it) { - // Compute log absolute error - tmp = abs(*test_it - *ref_it); - if (tmp < 1.0e-7f) - tmp = 1.0e-7f; - - else if (tmp > 2.0f) - tmp = 1.0f; - - tmp = -log10(tmp); - if (tmp < 0.0f) - tmp = 0.0f; - - if (tmp < min_cdd) - min_cdd = tmp; - } - } - - return floor(min_cdd) >= cdd_tol; -} - -boost::test_tools::predicate_result check_string(std::string test, std::string ref) -{ - if (ref.compare(test) == 0) - return true; - else - return false; -} - - -#define DATA_PATH_OUTPUT "./example1.out" - -//#define DATA_PATH_INP "./net1.inp" -//#define DATA_PATH_RPT "./test.rpt" -//#define DATA_PATH_OUT "./test.out" - - -BOOST_AUTO_TEST_SUITE (test_output_auto) - -BOOST_AUTO_TEST_CASE(OpenCloseTest) { - std::string path = std::string(DATA_PATH_OUTPUT); - - ENR_Handle p_handle = NULL; - ENR_init(&p_handle); - - int error = ENR_open(p_handle, path.c_str()); - BOOST_REQUIRE(error == 0); - - error = ENR_close(&p_handle); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(p_handle == NULL); -} - - -// // Test access to output file with the project open -// BOOST_AUTO_TEST_CASE(AccessTest){ -// -// std::string path_inp(DATA_PATH_NET1); -// std::string path_rpt(DATA_PATH_RPT); -// std::string path_out(DATA_PATH_OUT); -// -// EN_Project ph = NULL; -// ENR_Handle p_handle = NULL; -// -// EN_createproject(&ph); -// -// int error = EN_open(ph, path_inp.c_str(), path_rpt.c_str(), path_out.c_str()); -// BOOST_REQUIRE(error == 0); -// -// error = EN_solveH(ph); -// BOOST_REQUIRE(error == 0); -// -// error = EN_solveQ(ph); -// BOOST_REQUIRE(error == 0); -// -// error = EN_report(ph); -// BOOST_REQUIRE(error == 0); -// -// -// // Access to output file prior to project close -// error = ENR_init(&p_handle); -// BOOST_REQUIRE(error == 0); -// error = ENR_open(p_handle, path_out.c_str()); -// BOOST_REQUIRE(error == 0); -// error = ENR_close(&p_handle); -// BOOST_REQUIRE(error == 0); -// -// -// error = EN_close(ph); -// BOOST_REQUIRE(error == 0); -// -// EN_deleteproject(&ph); -// } - - -BOOST_AUTO_TEST_SUITE_END() - - -struct FixtureOutput{ - FixtureOutput() { - path = std::string(DATA_PATH_OUTPUT); - - error = ENR_init(&p_handle); - ENR_clearError(p_handle); - error = ENR_open(p_handle, path.c_str()); - - array = NULL; - array_dim = 0; - } - ~FixtureOutput() { - free((void*)array); - error = ENR_close(&p_handle); - } - - std::string path; - int error; - ENR_Handle p_handle; - - float* array; - int array_dim; -}; - - -BOOST_AUTO_TEST_SUITE(test_output_fixture) - -BOOST_FIXTURE_TEST_CASE(test_getNetSize, FixtureOutput) -{ - int *i_array = NULL; - - error = ENR_getNetSize(p_handle, &i_array, &array_dim); - BOOST_REQUIRE(error == 0); - - // nodes, tanks, links, pumps, valves - std::vector<int> test; - test.assign(i_array, i_array + array_dim); - - std::vector<int> ref = {11,2,13,1,0}; - - BOOST_CHECK_EQUAL_COLLECTIONS(ref.begin(), ref.end(), test.begin(), test.end()); - - free((void*)i_array); -} - -BOOST_FIXTURE_TEST_CASE(test_getUnits, FixtureOutput) { - int flag; - - error = ENR_getUnits(p_handle, ENR_qualUnits, &flag); - BOOST_REQUIRE(error == 0); - - BOOST_CHECK_EQUAL(flag, ENR_MGL); -} - -BOOST_FIXTURE_TEST_CASE(test_getElementName, FixtureOutput) { - char* name; - int length, index = 1; - - error = ENR_getElementName(p_handle, ENR_node, index, &name, &length); - BOOST_REQUIRE(error == 0); - - std::string test (name); - std::string ref ("10"); - BOOST_CHECK(check_string(test, ref)); - - free((void *)name); -} - -BOOST_FIXTURE_TEST_CASE(test_getNodeAttribute, FixtureOutput) { - - error = ENR_getNodeAttribute(p_handle, 1, ENR_quality, &array, &array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = { 1.0f, - 0.44407997f, - 0.43766347f, - 0.42827705f, - 0.41342604f, - 0.42804748f, - 0.44152543f, - 0.40502965f, - 0.38635802f, - 1.0f, - 0.96745253f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_getLinkAttribute, FixtureOutput) { - - error = ENR_getLinkAttribute(p_handle, 1, ENR_flow, &array ,&array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = { 1848.5812f, - 1220.4274f, - 130.11162f, - 187.6893f, - 119.8884f, - 40.464489f, - -748.58112f, - 478.15378f, - 191.73459f, - 30.111609f, - 140.46449f, - 59.535515f, - 1848.5812f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_getNodeResult, FixtureOutput) { - - error = ENR_getNodeResult(p_handle, 1, 2, &array, &array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = {0.041142918f, - 150.0f, - 987.98358f, - 120.45029f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_getLinkResult, FixtureOutput) { - - error = ENR_getLinkResult(p_handle, 24, 13, &array, &array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = {0.58586824f, - 1892.2433f, - 0.0f, - -200.71875f, - 1.0f, - 3.0f, - 1.0f, - 0.0f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_getNodeSeries, FixtureOutput){ - - error = ENR_getNodeSeries(p_handle, 2, ENR_pressure, 0, 10, &array, &array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = {119.25731f, - 120.45029f, - 121.19854f, - 122.00622f, - 122.37414f, - 122.8122f, - 122.82034f, - 122.90379f, - 123.40434f, - 123.81807f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_getLinkSeries, FixtureOutput) { - - error = ENR_getLinkSeries(p_handle, 2, ENR_flow, 0, 10, &array, &array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = {1234.2072f, - 1220.4274f, - 1164.4f, - 1154.8175f, - 1100.0635f, - 1094.759f, - 1041.7854f, - 1040.7617f, - 1087.556f, - 1082.5011f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_getNetReacts, FixtureOutput) { - - error = ENR_getNetReacts(p_handle, &array, &array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = {18806.59f, - 85424.438f, - 115174.05f, - 238972.66f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 2)); -} - -BOOST_FIXTURE_TEST_CASE(test_getEnergyUsage, FixtureOutput) { - - int linkIdx; - - error = ENR_getEnergyUsage(p_handle, 1, &linkIdx, &array, &array_dim); - BOOST_REQUIRE(error == 0); - - std::vector<float> ref_vec = {57.712959f, - 75.0f, - 880.41583f, - 96.254318f, - 96.707115f, - 0.0f}; - - std::vector<float> test_vec; - test_vec.assign(array, array + array_dim); - - BOOST_CHECK(check_cdd_float(test_vec, ref_vec, 3)); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_analysis.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_analysis.cpp deleted file mode 100644 index b3c9a93..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_analysis.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_analysis.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -//#define BOOST_ALL_DYN_LINK -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_analysis) - -BOOST_FIXTURE_TEST_CASE(test_anlys_getoption, FixtureOpenClose) -{ - int i; - - std::vector<double> test(23); - double *array = test.data(); - - std::vector<double> ref = {40.0, 0.001, 0.01, 0.5, 1.0, 0.0, 0.0, 0.0, 75.0, 0.0, 0.0, 0.0, - 1.0, 1.0, 10.0, 2.0, 10.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0}; - - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_solveQ(ph); - BOOST_REQUIRE(error == 0); - - - for (i=EN_TRIALS; i<=EN_CONCENLIMIT; i++) { - error = EN_getoption(ph, i, array++); - BOOST_REQUIRE(error == 0); - } - - BOOST_CHECK_EQUAL_COLLECTIONS(ref.begin(), ref.end(), test.begin(), test.end()); - - double temp; - error = EN_getoption(ph, 25, &temp); - BOOST_CHECK(error == 251); -} - -BOOST_FIXTURE_TEST_CASE(test_anlys_gettimeparam, FixtureOpenClose) -{ - int i; - - std::vector<long> test(16); - long *array = test.data(); - - std::vector<long> ref = {86400, 3600, 300, 7200, 0, 3600, 0, 360, 0, 25, 0, 86400, 86400, 0, 3600, 0}; - - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_solveQ(ph); - BOOST_REQUIRE(error == 0); - - - for (i=EN_DURATION; i<=EN_NEXTEVENTTANK; i++) { - error = EN_gettimeparam(ph, i, array++); - BOOST_REQUIRE(error == 0); - } - - BOOST_CHECK_EQUAL_COLLECTIONS(ref.begin(), ref.end(), test.begin(), test.end()); - - long temp; - error = EN_gettimeparam(ph, 18, &temp); - BOOST_CHECK(error == 251); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_control.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_control.cpp deleted file mode 100644 index 32b3f5f..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_control.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_control.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -/* -This is a test for the API functions that adds rules and deletes -nodes and links from a project. Deletion can be conditional on -node or link appearing in any simple or rule-based controls. -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -char R1[] = "RULE 1 \n IF NODE 2 LEVEL < 100 \n THEN LINK 9 STATUS = OPEN"; -char R2[] = "RULE 2\nIF SYSTEM TIME = 4\nTHEN LINK 9 STATUS = CLOSED\nAND LINK 31 STATUS = CLOSED"; -char R3[] = "RULE 3\nIF NODE 23 PRESSURE ABOVE 140\nAND NODE 2 LEVEL > 120\n" - "THEN LINK 113 STATUS = CLOSED\nELSE LINK 22 STATUS = CLOSED"; - - -BOOST_AUTO_TEST_SUITE (test_controls) - -BOOST_FIXTURE_TEST_CASE(test_add_get_rule, FixtureOpenClose) -{ - int ruleCount, nP, nTA, nEA; - int link113, node23, link22, pump9_before, pump9_after; - double priority; - - - // Add the 3 rules to the project - error = EN_addrule(ph, R1); - BOOST_REQUIRE(error == 0); - error = EN_addrule(ph, R2); - BOOST_REQUIRE(error == 0); - error = EN_addrule(ph, R3); - BOOST_REQUIRE(error == 0); - - // Check that rules were added - error = EN_getcount(ph, EN_RULECOUNT, &ruleCount); - BOOST_CHECK(ruleCount == 3); - - // Check the number of clauses in rule 3 - error = EN_getrule(ph, 3, &nP, &nTA, &nEA, &priority); - BOOST_CHECK(nP == 2); - BOOST_CHECK(nTA == 1); - BOOST_CHECK(nTA == 1); - - // Try to delete link 113 conditionally which will fail - // because it's in rule 3 - EN_getlinkindex(ph, (char *)"113", &link113); - error = EN_deletelink(ph, link113, EN_CONDITIONAL); - BOOST_REQUIRE(error == 261); - - // Delete node 23 unconditionally which will result in the - // deletion of rule 3 as well as links 22 and 113 - EN_getnodeindex(ph, (char *)"23", &node23); - EN_getlinkindex(ph, (char *)"22", &link22); - EN_getlinkindex(ph, (char *)"9", &pump9_before); - error = EN_deletenode(ph, node23, EN_UNCONDITIONAL); - BOOST_REQUIRE(error == 0); - - // Check that there are now only 2 rules - error = EN_getcount(ph, EN_RULECOUNT, &ruleCount); - BOOST_CHECK(ruleCount == 2); - - // Check that link 22 no longer exists - error = EN_getlinkindex(ph, (char *)"22", &link22); - BOOST_CHECK(error > 0); - - // Check that the index of pump9 has been reduced by 2 - error = EN_getlinkindex(ph, (char *)"9", &pump9_after); - BOOST_CHECK(pump9_before - pump9_after == 2); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_curve.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_curve.cpp deleted file mode 100644 index 6712cdf..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_curve.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_curve.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (curve) - -BOOST_FIXTURE_TEST_CASE(test_curve_comments, FixtureOpenClose) -{ - int index; - char comment[EN_MAXMSG + 1]; - - // Set curve comments - error = EN_getcurveindex(ph, (char *)"1", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_CURVE, index, (char *)"Curve 1"); - BOOST_REQUIRE(error == 0); - - // Check curve comments - error = EN_getcurveindex(ph, (char *)"1", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_CURVE, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"Curve 1")); - - // Test of EN_setcurve and EN_getcurve - int i; - char id1[] = "NewCurve"; - int n1 = 5; - double X1[] = {16.88889, 19.5, 22.13889, 25.94445, 33.33334}; - double Y1[] = {156.7, 146.5, 136.2, 117.9, 50.0}; - int n2; - double X2[5], Y2[5]; - char id2[EN_MAXID+1]; - - // Add data to a new curve - error = EN_addcurve(ph, id1); - BOOST_REQUIRE(error == 0); - error = EN_getcurveindex(ph, id1, &i); - BOOST_REQUIRE(error == 0); - error = EN_setcurve(ph, i, X1, Y1, n1); - BOOST_REQUIRE(error == 0); - - // Retrieve data from curve - error = EN_getcurve(ph, i, id2, &n2, X2, Y2); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(id2, id1)); - BOOST_REQUIRE(n2 == n1); - for (i = 0; i < n1; i++) - { - BOOST_CHECK(X1[i] == X2[i]); - BOOST_CHECK(Y1[i] == Y2[i]); - } -} - - -BOOST_FIXTURE_TEST_CASE(test_curve_id_isvalid, FixtureInitClose) -{ - int index; - - error = EN_addcurve(ph, (char *)"C1"); - BOOST_REQUIRE(error == 0); - - error = EN_addcurve(ph, (char *)"C 2"); - BOOST_REQUIRE(error == 252); - - error = EN_addcurve(ph, (char *)"\"C2"); - BOOST_REQUIRE(error == 252); - - error = EN_addcurve(ph, (char *)"C;2"); - BOOST_REQUIRE(error == 252); - - EN_getcurveindex(ph, (char *)"C1", &index); - error = EN_setcurveid(ph, index, (char *)"C;2"); - BOOST_REQUIRE(error == 252); -} - - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_demand.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_demand.cpp deleted file mode 100644 index d6ad4d2..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_demand.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_demand.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_demand) - - -BOOST_AUTO_TEST_CASE(test_categories_save) -{ - int error = 0; - int Nindex, ndem; - - EN_Project ph = NULL; - - error = EN_createproject(&ph); - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, DATA_PATH_OUT); - - error = EN_getnodeindex(ph, (char *)"12", &Nindex); - BOOST_REQUIRE(error == 0); - error = EN_getnumdemands(ph, Nindex, &ndem); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(ndem == 1); - - char demname[31]; - error = EN_getdemandname(ph, Nindex, ndem, demname); - BOOST_REQUIRE(error == 0); - - error = EN_setdemandname(ph, Nindex, ndem, (char *)"CUB_SCOUT_MOTOR_POOL"); - BOOST_REQUIRE(error == 0); - error = EN_saveinpfile(ph, "net1_dem_cat.inp"); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - error = EN_deleteproject(ph); - BOOST_REQUIRE(error == 0); -} - - -BOOST_AUTO_TEST_CASE(test_categories_reopen, * boost::unit_test::depends_on("test_demand/test_categories_save")) -{ - int error = 0; - int Nindex, ndem; - - EN_Project ph = NULL; - - BOOST_TEST_CHECKPOINT("Reopening saved input file"); - error = EN_createproject(&ph); - BOOST_REQUIRE(error == 0); - error = EN_open(ph, "net1_dem_cat.inp", DATA_PATH_RPT, DATA_PATH_OUT); - BOOST_REQUIRE(error == 0); - - error = EN_getnodeindex(ph, (char *)"12", &Nindex); - BOOST_REQUIRE(error == 0); - error = EN_getnumdemands(ph, Nindex, &ndem); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(ndem == 1); - - char demname[31]; - error = EN_getdemandname(ph, Nindex, ndem, demname); - BOOST_CHECK(error == 0); - - BOOST_CHECK(check_string(demname, "CUB_SCOUT_MOTOR_POOL")); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - error = EN_deleteproject(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_FIXTURE_TEST_CASE(test_adddemand, FixtureSingleNode) -{ - int Dindex, nD1, nD2; - - error = EN_adddemand(ph, node_qhut, 100.0, "PrimaryPattern", "PrimaryDemand"); - BOOST_CHECK(error != 0); - - error = EN_addpattern(ph, (char *)"PrimaryPattern"); - BOOST_REQUIRE(error == 0); - - error = EN_adddemand(ph, node_qhut, 100.0, "PrimaryPattern", "PrimaryDemand"); - BOOST_CHECK(error == 0); - - error = EN_addpattern(ph, (char *)"SecondaryPattern"); - BOOST_REQUIRE(error == 0); - - error = EN_adddemand(ph, node_qhut, 10.0, "SecondaryPattern", "SecondaryDemand"); - BOOST_CHECK(error == 0); - - error = EN_addpattern(ph, (char *)"TertiaryPattern"); - BOOST_REQUIRE(error == 0); - - error = EN_adddemand(ph, node_qhut, 1.0, "TertiaryPattern", "TertiaryDemand"); - BOOST_CHECK(error == 0); - - error = EN_getnumdemands(ph, node_qhut, &nD1); - BOOST_REQUIRE(error == 0); - - error = EN_getdemandindex(ph, node_qhut, "TertiaryDemand", &Dindex); - BOOST_CHECK(error == 0); - BOOST_CHECK(Dindex == nD1); - - error = EN_deletedemand(ph, node_qhut, Dindex); - BOOST_CHECK(error == 0); - - error = EN_getnumdemands(ph, node_qhut, &nD2); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(nD1 - nD2 == 1); -} - - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_hydraulics.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_hydraulics.cpp deleted file mode 100644 index 8fe81a0..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_hydraulics.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_hydraulics.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/test/unit_test.hpp> -#include <boost/filesystem.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_hydraulics) - -BOOST_FIXTURE_TEST_CASE(test_solveH, FixtureOpenClose) -{ - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_FIXTURE_TEST_CASE(test_hyd_step, FixtureOpenClose) -{ - int flag = 00; - long t, tstep; - - error = EN_openH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_initH(ph, flag); - BOOST_REQUIRE(error == 0); - - do { - error = EN_runH(ph, &t); - BOOST_REQUIRE(error == 0); - - error = EN_nextH(ph, &tstep); - BOOST_REQUIRE(error == 0); - - } while (tstep > 0); - - error = EN_closeH(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_FIXTURE_TEST_CASE(test_hydr_save, FixtureOpenClose) -{ - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_saveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_report(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_FIXTURE_TEST_CASE(test_hydr_savefile, FixtureOpenClose) -{ - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_savehydfile(ph, "test_savefile.hyd"); - BOOST_REQUIRE(error == 0); - - BOOST_CHECK(boost::filesystem::exists("test_savefile.hyd") == true); -} - -BOOST_FIXTURE_TEST_CASE(test_hydr_usefile, FixtureOpenClose, * boost::unit_test::depends_on("test_hydraulics/test_hydr_savefile")) -{ - error = EN_usehydfile(ph, "test_savefile.hyd"); - BOOST_REQUIRE(error == 0); - - error = EN_solveQ(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_link.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_link.cpp deleted file mode 100644 index e56693b..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_link.cpp +++ /dev/null @@ -1,236 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_link.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <math.h> - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_link) - - -BOOST_FIXTURE_TEST_CASE(test_adddelete_link, FixtureInitClose) -{ - int index; - - // Build a network - EN_addnode(ph, (char *)"N1", EN_JUNCTION, &index); - EN_addnode(ph, (char *)"N2", EN_JUNCTION, &index); - EN_addnode(ph, (char *)"N3", EN_RESERVOIR, &index); - - error = EN_addlink(ph, (char *)"L1", EN_PUMP, (char *)"N3", (char *)"N1", &index); - BOOST_REQUIRE(error == 0); - - error = EN_addlink(ph, (char *)"L2", EN_PIPE, (char *)"N1", (char *)"N3", &index); - BOOST_REQUIRE(error == 0); - - error = EN_getlinkindex(ph, (char *)"L2", &index); - BOOST_REQUIRE(error == 0); - error = EN_deletelink(ph, index, EN_UNCONDITIONAL); - BOOST_REQUIRE(error == 0); - - error = EN_addlink(ph, (char *)"L3", EN_PIPE, (char *)"N1", (char *)"N2", &index); - BOOST_REQUIRE(error == 0); - - error = EN_getlinkindex(ph, (char *)"L1", &index); - BOOST_REQUIRE(error == 0); - error = EN_deletelink(ph, index, EN_UNCONDITIONAL); - BOOST_REQUIRE(error == 0); - error = EN_getlinkindex(ph, (char *)"L3", &index); - BOOST_REQUIRE(error == 0); - error = EN_deletelink(ph, index, EN_UNCONDITIONAL); - BOOST_REQUIRE(error == 0); - -} - -BOOST_FIXTURE_TEST_CASE(test_link_id_isvalid, FixtureInitClose) -{ - int index; - - // Build a network - EN_addnode(ph, (char *)"N1", EN_JUNCTION, &index); - EN_addnode(ph, (char *)"N2", EN_JUNCTION, &index); - EN_addnode(ph, (char *)"N3", EN_RESERVOIR, &index); - - error = EN_addlink(ph, (char *)"L1", EN_PUMP, (char *)"N1", (char *)"N2", &index); - BOOST_REQUIRE(error == 0); - - error = EN_addlink(ph, (char *)"L 2", EN_PIPE, (char *)"N1", (char *)"N2", &index); - BOOST_REQUIRE(error == 252); - - error = EN_addlink(ph, (char *)"\"L2", EN_PIPE, (char *)"N1", (char *)"N2", &index); - BOOST_REQUIRE(error == 252); - - error = EN_addlink(ph, (char *)"L;2", EN_PIPE, (char *)"N1", (char *)"N2", &index); - BOOST_REQUIRE(error == 252); - - EN_getlinkindex(ph, (char *)"L1", &index); - error = EN_setlinkid(ph, index, (char *)"L;1"); - BOOST_REQUIRE(error == 252); -} - -BOOST_AUTO_TEST_CASE(test_setlinktype) -{ - int error = 0; - int p113, n31, p121, n113_1, n113_2; - double q113 = 0.0, p31 = 0.0, diam; - - EN_Project ph = NULL; - EN_createproject(&ph); - - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, ""); - BOOST_REQUIRE(error == 0); - - // Change duration to 0 - error = EN_settimeparam(ph, EN_DURATION, 0); - BOOST_REQUIRE(error == 0); - - // Get indexes of pipe 113 and node 31 - error = EN_getlinkindex(ph, (char *)"113", &p113); - BOOST_REQUIRE(error == 0); - error = EN_getnodeindex(ph, (char *)"31", &n31); - BOOST_REQUIRE(error == 0); - - // Reverse pipe 113 and give it a check valve - error = EN_getlinknodes(ph, p113, &n113_1, &n113_2); - BOOST_REQUIRE(error == 0); - error = EN_setlinknodes(ph, p113, n113_2, n113_1); - BOOST_REQUIRE(error == 0); - error = EN_setlinktype(ph, &p113, EN_CVPIPE, 0); - BOOST_REQUIRE(error == 0); - - // Get index & diameter of pipe 121 connected to node 31 - error = EN_getlinkindex(ph, (char *)"121", &p121); - BOOST_REQUIRE(error == 0); - error = EN_getlinkvalue(ph, p121, EN_DIAMETER, &diam); - BOOST_REQUIRE(error == 0); - - // Replace it with a PRV - error = EN_setlinktype(ph, &p121, EN_PRV, 0); - BOOST_REQUIRE(error == 0); - - // Set diameter & setting of new PRV - error = EN_setlinkvalue(ph, p121, EN_INITSETTING, 100); - BOOST_REQUIRE(error == 0); - error = EN_setlinkvalue(ph, p121, EN_DIAMETER, diam); - BOOST_REQUIRE(error == 0); - - // Solve for hydraulics - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - // Get flow in link 113 and pressure at node 31 - error = EN_getlinkvalue(ph, p113, EN_FLOW, &q113); - BOOST_REQUIRE(error == 0); - error = EN_getnodevalue(ph, n31, EN_PRESSURE, &p31); - BOOST_REQUIRE(error == 0); - - // Require that link 113 flow be 0 - q113 = fabs(q113); - BOOST_REQUIRE(q113 < 0.001); - - // Require that node 31 pressure be 100 - p31 = fabs(p31 - 100.0f); - BOOST_REQUIRE(p31 < 0.001); - - // Close and delete project - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - EN_deleteproject(ph); -} - - -BOOST_AUTO_TEST_CASE(test_link_setid_save) -{ - int error = 0; - - EN_Project ph = NULL; - EN_createproject(&ph); - - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, ""); - BOOST_REQUIRE(error == 0); - - // Test of illegal link name change - char newid_3[] = "Illegal; link name"; - error = EN_setlinkid(ph, 3, newid_3); - BOOST_REQUIRE(error > 0); - - // Test of legal link name change - char newid_4[] = "Link3"; - error = EN_setlinkid(ph, 3, newid_4); - BOOST_REQUIRE(error == 0); - - // Save the project - error = EN_saveinpfile(ph, "net1_setid.inp"); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - EN_deleteproject(ph); -} - -BOOST_AUTO_TEST_CASE(test_link_setid_reopen, * boost::unit_test::depends_on("test_link/test_link_setid_save")) -{ - int error = 0; - int index; - - EN_Project ph = NULL; - - // Re-open the saved project - EN_createproject(&ph); - error = EN_open(ph, "net1_setid.inp", DATA_PATH_RPT, ""); - BOOST_REQUIRE(error == 0); - - // Check that 3rd link has its new name - error = EN_getlinkindex(ph, (char *)"Link3", &index); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(index == 3); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - EN_deleteproject(ph); -} - -BOOST_FIXTURE_TEST_CASE(test_link_comments, FixtureOpenClose) -{ - int index; - char comment[EN_MAXMSG + 1]; - - // Set link comments - error = EN_getlinkindex(ph, (char *)"11", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_LINK, index, (char *)"P11"); - BOOST_REQUIRE(error == 0); - - error = EN_getlinkindex(ph, (char *)"9", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_LINK, index, (char *)"Pump9"); - BOOST_REQUIRE(error == 0); - - // Check link comments - error = EN_getlinkindex(ph, (char *)"11", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_LINK, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"P11")); - - error = EN_getlinkindex(ph, (char *)"9", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_LINK, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"Pump9")); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_net_builder.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_net_builder.cpp deleted file mode 100644 index 2d15e86..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_net_builder.cpp +++ /dev/null @@ -1,414 +0,0 @@ -/* -****************************************************************************** -Project: OWA EPANET -Version: 2.2 -Module: test_net_builder.cpp -Description: Tests EPANET toolkit api functions -Authors: see AUTHORS -Copyright: see AUTHORS -License: see LICENSE -Last Updated: 04/12/2019 -****************************************************************************** -*/ - - -#define BOOST_TEST_MODULE net_builder - -#ifdef _DEBUG -#define _CRTDBG_MAP_ALLOC -#include <stdlib.h> -#include <crtdbg.h> -#else -#include <stdlib.h> -#endif - -#include <boost/test/included/unit_test.hpp> - -#include "epanet2_2.h" - - -#define DATA_PATH_TMP "./tmp.inp" -#define DATA_PATH_RPT "./test.rpt" -#define DATA_PATH_OUT "./test.out" - - -struct FixtureInitClose { - FixtureInitClose() { - error = 0; - ph = NULL; - - EN_createproject(&ph); - EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW); - } - - ~FixtureInitClose() { - EN_close(ph); - EN_deleteproject(ph); - } - int error; - EN_Project ph; -}; - - -BOOST_AUTO_TEST_SUITE(test_net_builder) - - -// BOOST_AUTO_TEST_CASE(net_builder_I) -// { -// int error = 0; -// int flag = 00; -// long t, tstep; -// int i, ind, Lindex, Nindex, Cindex; -// double h_orig, h_build, h_build_loaded; -// -// // first we load Net1.inp, run it and record the head in Tank 2 at the end of the simulation (h_orig) -// EN_Project ph = NULL; -// EN_createproject(&ph); -// -// std::string path_inp = std::string(DATA_PATH_NET1); -// std::string path_rpt = std::string(DATA_PATH_RPT); -// std::string path_out = std::string(DATA_PATH_OUT); -// -// error = EN_open(ph, path_inp.c_str(), path_rpt.c_str(), path_out.c_str()); -// BOOST_REQUIRE(error == 0); -// -// error = EN_getnodeindex(ph, (char *)"2", &Nindex); -// BOOST_REQUIRE(error == 0); -// -// error = EN_openH(ph); -// BOOST_REQUIRE(error == 0); -// -// error = EN_initH(ph, flag); -// BOOST_REQUIRE(error == 0); -// -// do { -// error = EN_runH(ph, &t); -// BOOST_REQUIRE(error == 0); -// -// // this is the head at the end of the simulation after loading the original Net1.inp -// error = EN_getnodevalue(ph, Nindex, EN_HEAD, &h_orig); -// BOOST_REQUIRE(error == 0); -// -// error = EN_nextH(ph, &tstep); -// BOOST_REQUIRE(error == 0); -// -// } while (tstep > 0); -// -// error = EN_closeH(ph); -// BOOST_REQUIRE(error == 0); -// -// error = EN_close(ph); -// BOOST_REQUIRE(error == 0); -// -// EN_deleteproject(&ph); -// } - -BOOST_FIXTURE_TEST_CASE(test_build_net1, FixtureInitClose) -{ - int flag = 00; - long t, tstep; - int i, ind, Lindex, Nindex, Cindex; - double h_build; - - // now we build Net1 from scratch... - char juncs[9][10] = { "10", "11", "12", "13", "21", "22", "23", "31", "32" }; - double e[9] = { 710, 710, 700, 695, 700, 695, 690, 700, 710 }; - double d[9] = { 0, 150, 150, 100, 150, 200, 150, 100, 100 }; - double X[9] = { 20, 30, 50, 70, 30, 50, 70, 30, 50 }; - double Y[9] = { 70, 70, 70, 70, 40, 40, 40, 10, 10 }; - double L[12] = { 10530, 5280, 5280, 5280, 5280, 5280, 200, 5280, 5280, 5280, 5280, 5280 }; - double dia[12] = { 18, 14, 10, 10, 12, 6, 18, 10, 12, 8, 8, 6 }; - double P[12] = { 1.0f, 1.2f, 1.4f, 1.6f, 1.4f, 1.2f, 1.0f, 0.8f, 0.6f, 0.4f, 0.6f, 0.8f }; - - error = EN_addpattern(ph, (char *)"pat1"); - BOOST_REQUIRE(error == 0); - error = EN_setpattern(ph, 1, P, 12); - BOOST_REQUIRE(error == 0); - //error = EN_setoption(ph, EN_DEFDEMANDPAT, 1); - //BOOST_REQUIRE(error == 0); - for (i = 0; i < 9; i++) - { - error = EN_addnode(ph, juncs[i], EN_JUNCTION, &ind); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, i + 1, EN_ELEVATION, e[i]); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, i + 1, EN_BASEDEMAND, d[i]); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, i+1, EN_PATTERN, 1); - BOOST_REQUIRE(error == 0); - error = EN_setcoord(ph, i + 1, X[i], Y[i]); - BOOST_REQUIRE(error == 0); - //error = EN_setdemandpattern(ph, i + 1, 1, 1); - //BOOST_REQUIRE(error == 0); - } - error = EN_addnode(ph, (char *)"9", EN_RESERVOIR, &ind); - BOOST_REQUIRE(error == 0); - error = EN_setcoord(ph, 10, 10, 70); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 10, EN_ELEVATION, 800); - BOOST_REQUIRE(error == 0); - - error = EN_addnode(ph, (char *)"2", EN_TANK, &ind); - BOOST_REQUIRE(error == 0); - error = EN_setcoord(ph, 11, 50, 90); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 11, EN_TANKDIAM, 50.5); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 11, EN_ELEVATION, 850); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 11, EN_MAXLEVEL, 150); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 11, EN_TANKLEVEL, 120); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 11, EN_MINLEVEL, 100); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 11, EN_MIXFRACTION, 1); - BOOST_REQUIRE(error == 0); - - error = EN_addlink(ph, (char *)"10", EN_PIPE, (char *)"10", (char *)"11", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"11", EN_PIPE, (char *)"11", (char *)"12", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"12", EN_PIPE, (char *)"12", (char *)"13", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"21", EN_PIPE, (char *)"21", (char *)"22", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"22", EN_PIPE, (char *)"22", (char *)"23", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"31", EN_PIPE, (char *)"31", (char *)"32", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"110", EN_PIPE, (char *)"2", (char *)"12", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"111", EN_PIPE, (char *)"11", (char *)"21", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"112", EN_PIPE, (char *)"12", (char *)"22", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"113", EN_PIPE, (char *)"13", (char *)"23", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"121", EN_PIPE, (char *)"21", (char *)"31", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"122", EN_PIPE, (char *)"22", (char *)"32", &ind); - BOOST_REQUIRE(error == 0); - for (i = 0; i < 12; i++) - { - error = EN_setlinkvalue(ph, i + 1, EN_LENGTH, L[i]); - BOOST_REQUIRE(error == 0); - error = EN_setlinkvalue(ph, i + 1, EN_DIAMETER, dia[i]); - BOOST_REQUIRE(error == 0); - } - - error = EN_addlink(ph, (char *)"9", EN_PUMP, (char *)"9", (char *)"10", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addcurve(ph, (char *)"1"); - BOOST_REQUIRE(error == 0); - error = EN_setcurvevalue(ph, 1, 1, 1500, 250); - BOOST_REQUIRE(error == 0); - error = EN_getlinkindex(ph, (char *)"9", &ind); - BOOST_REQUIRE(error == 0); - error = EN_setheadcurveindex(ph, ind, 1); - BOOST_REQUIRE(error == 0); - - error = EN_settimeparam(ph, EN_DURATION, 24 * 3600); - BOOST_REQUIRE(error == 0); - error = EN_settimeparam(ph, EN_PATTERNSTEP, 2 * 3600); - BOOST_REQUIRE(error == 0); - - error = EN_getlinkindex(ph, (char *)"9", &Lindex); - BOOST_REQUIRE(error == 0); - error = EN_getnodeindex(ph, (char *)"2", &Nindex); - BOOST_REQUIRE(error == 0); - - // Add controls - error = EN_addcontrol(ph, EN_LOWLEVEL, Lindex, 1, Nindex, 110, &Cindex); - BOOST_REQUIRE(error == 0); - error = EN_addcontrol(ph, EN_HILEVEL, Lindex, 0, Nindex, 140, &Cindex); - BOOST_REQUIRE(error == 0); - - error = EN_openH(ph); - BOOST_REQUIRE(error == 0); - error = EN_initH(ph, 0); - BOOST_REQUIRE(error == 0); - do { - error = EN_runH(ph, &t); - BOOST_REQUIRE(error == 0); - // this is the head at the end of the simulation after building the network *without* saving it to file - error = EN_getnodevalue(ph, Nindex, EN_HEAD, &h_build); - BOOST_REQUIRE(error == 0); - error = EN_nextH(ph, &tstep); - BOOST_REQUIRE(error == 0); - } while (tstep > 0); - error = EN_closeH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_saveinpfile(ph, "net_builder.inp"); - BOOST_REQUIRE(error == 0); -} - -BOOST_AUTO_TEST_CASE(test_open_net1, * boost::unit_test::depends_on("test_net_builder/test_build_net1")) -{ - int error = 0; - int flag = 00; - long t, tstep; - int Nindex = -1; - double h_orig = 0.0, h_build = 0.0, h_build_loaded = 0.0; - - - EN_Project ph = NULL; - - // now we load the netwok we just built and saved - EN_createproject(&ph); - error = EN_open(ph, "net_builder.inp", DATA_PATH_RPT, DATA_PATH_OUT); - BOOST_REQUIRE(error == 0); - - error = EN_getnodeindex(ph, (char *)"2", &Nindex); - BOOST_REQUIRE(error == 0); - - error = EN_openH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_initH(ph, flag); - BOOST_REQUIRE(error == 0); - - do { - error = EN_runH(ph, &t); - BOOST_REQUIRE(error == 0); - // this is the head at the end of the simulation after building the network and saving it to file - error = EN_getnodevalue(ph, Nindex, EN_HEAD, &h_build_loaded); - BOOST_REQUIRE(error == 0); - error = EN_nextH(ph, &tstep); - BOOST_REQUIRE(error == 0); - - } while (tstep > 0); - - error = EN_closeH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - - EN_deleteproject(ph); - - //--------------------------------------------------------------------- - // if we got this far we can compare results - - // compare the original to the build & saved network - // BOOST_CHECK(abs(h_orig - h_build_loaded) < 0.0001); - - // compare the original to the build without saving - // BOOST_CHECK(abs(h_orig - h_build) < 0.0001); -} - - -BOOST_FIXTURE_TEST_CASE(test_save_net2, FixtureInitClose) -{ - //char id[EN_MAXID+1]; - double p1_1, p2_1; // p1_2, p2_2; - double q1_1, q2_1; // q1_2, q2_2; - int ind; - - // Build a network - error = EN_addnode(ph, (char *)"N1", EN_JUNCTION, &ind); - BOOST_REQUIRE(error == 0); - error = EN_addnode(ph, (char *)"N2", EN_JUNCTION, &ind); - BOOST_REQUIRE(error == 0); - error = EN_addnode(ph, (char *)"N3", EN_RESERVOIR, &ind); - BOOST_REQUIRE(error == 0); - error = EN_addnode(ph, (char *)"N4", EN_TANK, &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"L1", EN_PUMP, (char *)"N3", (char *)"N1", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"L2", EN_PIPE, (char *)"N1", (char *)"N3", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addlink(ph, (char *)"L3", EN_PIPE, (char *)"N1", (char *)"N2", &ind); - BOOST_REQUIRE(error == 0); - error = EN_addcurve(ph, (char *)"C1"); - BOOST_REQUIRE(error == 0); - - // Set network data using the new helper functions - error = EN_setcurvevalue(ph, 1, 1, 1500, 250); - BOOST_REQUIRE(error == 0); - error = EN_setjuncdata(ph, 1, 700, 500, (char *)""); - BOOST_REQUIRE(error == 0); - error = EN_setjuncdata(ph, 2, 710, 500, (char *)""); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, 3, EN_ELEVATION, 800); - BOOST_REQUIRE(error == 0); - error = EN_settankdata(ph, 4, 850, 120, 100, 150, 50.5, 0, (char *)""); - BOOST_REQUIRE(error == 0); - error = EN_setlinkvalue(ph, 1, EN_PUMP_HCURVE, 1); - BOOST_REQUIRE(error == 0); - error = EN_setpipedata(ph, 2, 10560, 12, 100, 0); - BOOST_REQUIRE(error == 0); - error = EN_setpipedata(ph, 3, 5280, 14, 100, 0); - BOOST_REQUIRE(error == 0); - - // Run hydraulics - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - // Save results - error = EN_getnodevalue(ph, 1, EN_PRESSURE, &p1_1); - BOOST_REQUIRE(error == 0); - error = EN_getnodevalue(ph, 2, EN_PRESSURE, &p2_1); - BOOST_REQUIRE(error == 0); - error = EN_getlinkvalue(ph, 1, EN_FLOW, &q1_1); - BOOST_REQUIRE(error == 0); - error = EN_getlinkvalue(ph, 2, EN_FLOW, &q2_1); - BOOST_REQUIRE(error == 0); - - // Save project - error = EN_saveinpfile(ph, "netbuilder_test2.inp"); - BOOST_REQUIRE(error == 0); -} - - -BOOST_AUTO_TEST_CASE(test_reopen_net2, *boost::unit_test::depends_on("test_net_builder/test_save_net2")) -{ - int error, index; - - double p1_2, p2_2; - double q1_2, q2_2; - - // Open the saved project file - EN_Project ph = NULL; - error = EN_createproject(&ph); - BOOST_REQUIRE(error == 0); - error = EN_open(ph, "netbuilder_test2.inp", DATA_PATH_RPT, DATA_PATH_OUT); - BOOST_REQUIRE(error == 0); - - // Run hydraulics - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - // Save these new results - error = EN_getnodevalue(ph, 1, EN_PRESSURE, &p1_2); - BOOST_REQUIRE(error == 0); - error = EN_getnodevalue(ph, 2, EN_PRESSURE, &p2_2); - BOOST_REQUIRE(error == 0); - error = EN_getlinkindex(ph, (char *)"L1", &index); - BOOST_REQUIRE(error == 0); - error = EN_getlinkvalue(ph, index, EN_FLOW, &q1_2); - BOOST_REQUIRE(error == 0); - error = EN_getlinkindex(ph, (char *)"L2", &index); - BOOST_REQUIRE(error == 0); - error = EN_getlinkvalue(ph, index, EN_FLOW, &q2_2); - BOOST_REQUIRE(error == 0); - - // Display old & new results - //cout << "\n Node N1 Pressure: " << p1_1 << " " << p1_2; - //cout << "\n Node N2 Pressure: " << p2_1 << " " << p2_2; - //cout << "\n Link L1 Flow: " << q1_1 << " " << q1_2; - //cout << "\n Link L2 Flow: " << q2_1 << " " << q2_2; - - // Compare old & new results - // BOOST_CHECK(abs(p1_1 - p1_2) < 1.e-5); - // BOOST_CHECK(abs(q1_1 - q1_2) < 1.e-5); - // BOOST_CHECK(abs(p2_1 - p2_2) < 1.e-5); - // BOOST_CHECK(abs(q2_1 - q2_2) < 1.e-5); - - // Close project - EN_close(ph); - EN_deleteproject(ph); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_node.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_node.cpp deleted file mode 100644 index aa3e21e..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_node.cpp +++ /dev/null @@ -1,356 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_node.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_node) - - -BOOST_FIXTURE_TEST_CASE(test_adddelete_node, FixtureInitClose) -{ - int index; - - error = EN_addnode(ph, (char *)"N2", EN_JUNCTION, &index); - BOOST_REQUIRE(error == 0); - error = EN_addnode(ph, (char *)"N4", EN_TANK, &index); - BOOST_REQUIRE(error == 0); - error = EN_addnode(ph, (char *)"N3", EN_RESERVOIR, &index); - BOOST_REQUIRE(error == 0); - error = EN_addnode(ph, (char *)"N1", EN_JUNCTION, &index); - BOOST_REQUIRE(error == 0); - - error = EN_getnodeindex(ph, (char *)"N1", &index); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(index == 2); - error = EN_getnodeindex(ph, (char *)"N2", &index); - BOOST_REQUIRE(error == 0); - error = EN_deletenode(ph, index, EN_UNCONDITIONAL); - BOOST_REQUIRE(error == 0); - - error = EN_getnodeindex(ph, (char *)"N4", &index); - BOOST_REQUIRE(error == 0); - error = EN_deletenode(ph, index, EN_UNCONDITIONAL); - BOOST_REQUIRE(error == 0); - error = EN_getnodeindex(ph, (char *)"N3", &index); - BOOST_REQUIRE(error == 0); - error = EN_deletenode(ph, index, EN_UNCONDITIONAL); - BOOST_REQUIRE(error == 0); - -} - -BOOST_FIXTURE_TEST_CASE(test_node_validate_id, FixtureInitClose) -{ - int index; - - error = EN_addnode(ph, (char *)"N2", EN_JUNCTION, &index); - BOOST_REQUIRE(error == 0); - - error = EN_addnode(ph, (char *)"N 3", EN_JUNCTION, &index); - BOOST_REQUIRE(error == 252); - - error = EN_addnode(ph, (char *)"\"N3", EN_JUNCTION, &index); - BOOST_REQUIRE(error == 252); - - error = EN_addnode(ph, (char *)"N;3", EN_JUNCTION, &index); - BOOST_REQUIRE(error == 252); - - EN_getnodeindex(ph, (char *)"N2", &index); - error = EN_setnodeid(ph, index, (char *)"N;2"); - BOOST_REQUIRE(error = 252); -} - - -BOOST_FIXTURE_TEST_CASE(test_junc_props, FixtureOpenClose) -{ - int index; - const auto props = { - EN_ELEVATION, - EN_BASEDEMAND, - EN_PATTERN, - EN_EMITTER, - EN_INITQUAL, - }; - const size_t num_props = 5; - - std::vector<double> test (num_props); - double *value = test.data(); - - error = EN_getnodeindex(ph, (char *)"11", &index); - std::vector<double> ref = {710.0, 150.0, 1.0, 0.0, 0.5}; - - - // Ranged for loop iterates over property set - for (EN_NodeProperty p : props) { - error = EN_getnodevalue(ph, index, p, value++); - BOOST_REQUIRE(error == 0); - } - - BOOST_CHECK(check_cdd_double(test, ref, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_tank_props, FixtureOpenClose) -{ - int index; - const auto props = { - EN_ELEVATION, - EN_TANKLEVEL, - EN_MINLEVEL, - EN_MAXLEVEL, - EN_TANKDIAM, - EN_MINVOLUME - }; - const size_t num_props = 6; - - std::vector<double> test (num_props); - double *value = test.data(); - - error = EN_getnodeindex(ph, (char *)"2", &index); - std::vector<double> ref = {850.0, 120.0, 100.0, 150.0, 50.5, 200296.167}; - - // Ranged for loop iterates over property set - for (EN_NodeProperty p : props) { - error = EN_getnodevalue(ph, index, p, value++); - BOOST_REQUIRE(error == 0); - } - - BOOST_CHECK(check_cdd_double(test, ref, 3)); -} - -BOOST_AUTO_TEST_SUITE_END() - - - - -BOOST_AUTO_TEST_SUITE(node_props_after_step) - -BOOST_FIXTURE_TEST_CASE(test_junc_props, FixtureAfterStep) -{ - int index; - const auto props = { - EN_DEMAND, - EN_HEAD, - EN_PRESSURE, - EN_QUALITY - }; - const size_t num_props = 4; - - std::vector<double> test (num_props); - double *value = test.data(); - - error = EN_getnodeindex(ph, (char *)"11", &index); - std::vector<double> ref = {179.999, 991.574, 122.006, 0.857}; - - - // Ranged for loop iterates over property set - for (EN_NodeProperty p : props) { - error = EN_getnodevalue(ph, index, p, value++); - BOOST_REQUIRE(error == 0); - } - - BOOST_CHECK(check_cdd_double(test, ref, 3)); -} - -BOOST_FIXTURE_TEST_CASE(test_tank_props, FixtureAfterStep) -{ - int index; - const auto props = { - EN_DEMAND, - EN_HEAD, - EN_PRESSURE, - EN_QUALITY - }; - const size_t num_props = 4; - - std::vector<double> test (num_props); - double *value = test.data(); - - error = EN_getnodeindex(ph, (char *)"2", &index); - std::vector<double> ref = {505.383, 978.138, 55.522, 0.911}; - - // Ranged for loop iterates over property set - for (EN_NodeProperty p : props) { - error = EN_getnodevalue(ph, index, p, value++); - BOOST_REQUIRE(error == 0); - } - - BOOST_CHECK(check_cdd_double(test, ref, 3)); -} -BOOST_AUTO_TEST_SUITE_END() - - -BOOST_AUTO_TEST_SUITE(setid_save_reopen) - -BOOST_AUTO_TEST_CASE(test_setid_save) -{ - int error = 0; - - EN_Project ph = NULL; - EN_createproject(&ph); - - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, ""); - BOOST_REQUIRE(error == 0); - - // Test of illegal node name change - char newid_1[] = "Illegal; node name"; - error = EN_setnodeid(ph, 3, newid_1); - BOOST_REQUIRE(error > 0); - - // Test of legal node name change - char newid_2[] = "Node3"; - error = EN_setnodeid(ph, 3, newid_2); - BOOST_REQUIRE(error == 0); - - // Save the project - error = EN_saveinpfile(ph, "net1_setid.inp"); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - EN_deleteproject(ph); - -} - -BOOST_AUTO_TEST_CASE(test_setid_reopen, * boost::unit_test::depends_on("setid_save_reopen/test_setid_save")) -{ - int error = 0; - int index; - - EN_Project ph = NULL; - - // Re-open the saved project - EN_createproject(&ph); - error = EN_open(ph, "net1_setid.inp", DATA_PATH_RPT, ""); - BOOST_REQUIRE(error == 0); - - // Check that 3rd node has its new name - error = EN_getnodeindex(ph, (char *)"Node3", &index); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(index == 3); - - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - EN_deleteproject(ph); -} - -BOOST_AUTO_TEST_SUITE_END() - - -BOOST_AUTO_TEST_SUITE(node_comments) - -BOOST_FIXTURE_TEST_CASE(test_node_comments, FixtureOpenClose) -{ - int index; - char comment[EN_MAXMSG + 1]; - - // Add comments to selected objects - error = EN_getnodeindex(ph, (char *)"11", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_NODE, index, (char *)"J11"); - BOOST_REQUIRE(error == 0); - - error = EN_getnodeindex(ph, (char *)"23", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_NODE, index, (char *)"Junc23"); - BOOST_REQUIRE(error == 0); - - // Check comments - error = EN_getnodeindex(ph, (char *)"11", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_NODE, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"J11")); - - error = EN_getnodeindex(ph, (char *)"23", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_NODE, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"Junc23")); -} - -BOOST_FIXTURE_TEST_CASE(test_replace_comment, FixtureOpenClose) -{ - int index; - char comment[EN_MAXMSG + 1]; - - // Replace short comment with longer one and vice versa - error = EN_getnodeindex(ph, (char *)"11", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_NODE, index, (char *)"Junction11"); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_NODE, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"Junction11")); - - error = EN_setcomment(ph, EN_NODE, index, (char *)"J11"); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_NODE, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"J11")); -} - -BOOST_FIXTURE_TEST_CASE(test_save_comment, FixtureOpenClose) -{ - int index; - - // Add comments to selected objects - error = EN_getnodeindex(ph, (char *)"11", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_NODE, index, (char *)"J11"); - BOOST_REQUIRE(error == 0); - - error = EN_getnodeindex(ph, (char *)"23", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_NODE, index, (char *)"Junc23"); - BOOST_REQUIRE(error == 0); - - error = EN_saveinpfile(ph, DATA_PATH_TMP); - BOOST_REQUIRE(error == 0); -} - -BOOST_AUTO_TEST_CASE(test_reopen_comment, * boost::unit_test::depends_on("node_comments/test_save_comment")) -{ - int error, index; - char comment[EN_MAXMSG + 1]; - - // Create & load a project - EN_Project ph = NULL; - EN_createproject(&ph); - - error = EN_open(ph, DATA_PATH_TMP, DATA_PATH_RPT, ""); - BOOST_REQUIRE(error == 0); - - // Check that comments were saved & read correctly - // Check comments - error = EN_getnodeindex(ph, (char *)"11", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_NODE, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"J11")); - - error = EN_getnodeindex(ph, (char *)"23", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_NODE, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"Junc23")); - - // Close project - EN_close(ph); - EN_deleteproject(ph); -} - - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_overflow.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_overflow.cpp deleted file mode 100644 index 5ad60a4..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_overflow.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_overflow.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 06/16/2019 - ****************************************************************************** -*/ - -/* - Tests the EN_CANOVERFLOW option for Tank nodes -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - -BOOST_AUTO_TEST_SUITE (test_overflow) - -BOOST_AUTO_TEST_CASE(test_tank_overflow) - -{ - int error = 0; - int Nindex, Lindex; - double level, spillage, spillage2, inflow; - char testFile[] = "test_overflow.inp"; - - EN_Project ph = NULL; - - error = EN_createproject(&ph); - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, ""); - - // Get index of the tank and its inlet/outlet pipe - error = EN_getnodeindex(ph, (char *)"2", &Nindex); - BOOST_REQUIRE(error == 0); - error = EN_getlinkindex(ph, (char *)"110", &Lindex); - BOOST_REQUIRE(error == 0); - - // Set initial & maximum level to 130 - error = EN_setnodevalue(ph, Nindex, EN_TANKLEVEL, 130); - BOOST_REQUIRE(error == 0); - error = EN_setnodevalue(ph, Nindex, EN_MAXLEVEL, 130); - BOOST_REQUIRE(error == 0); - - // Set duration to 1 hr - error = EN_settimeparam(ph, EN_DURATION, 3600); - BOOST_REQUIRE(error == 0); - - // Solve hydraulics with default of no tank spillage allowed - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - // Check that tank remains full - error = EN_getnodevalue(ph, Nindex, EN_TANKLEVEL, &level); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(level - 130.0) < 0.0001); - - // Check that there is no spillage - error = EN_getnodevalue(ph, Nindex, EN_DEMAND, &spillage); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(spillage) < 0.0001); - - // Check that inflow link is closed - error = EN_getlinkvalue(ph, Lindex, EN_FLOW, &inflow); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(inflow) < 0.0001); - - // Turn tank overflow option on - error = EN_setnodevalue(ph, Nindex, EN_CANOVERFLOW, 1); - BOOST_REQUIRE(error == 0); - - // Solve hydraulics again - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - // Check that tank remains full - error = EN_getnodevalue(ph, Nindex, EN_TANKLEVEL, &level); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(level - 130.0) < 0.0001); - - // Check that there is spillage equal to tank inflow - // (inflow has neg. sign since tank is start node of inflow pipe) - error = EN_getnodevalue(ph, Nindex, EN_DEMAND, &spillage); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(spillage > 0.0001); - error = EN_getlinkvalue(ph, Lindex, EN_FLOW, &inflow); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(-inflow - spillage) < 0.0001); - - // Save project to file and then close it - error = EN_saveinpfile(ph, testFile); - BOOST_REQUIRE(error == 0); - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - - // Re-open saved file & run it - error = EN_open(ph, testFile, DATA_PATH_RPT, ""); - BOOST_REQUIRE(error == 0); - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - // Check that tank spillage has same value as before - error = EN_getnodevalue(ph, Nindex, EN_DEMAND, &spillage2); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(spillage - spillage2) < 0.0001); - - // Clean up - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - error = EN_deleteproject(ph); - BOOST_REQUIRE(error == 0); - -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_pattern.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_pattern.cpp deleted file mode 100644 index 4d98ba3..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_pattern.cpp +++ /dev/null @@ -1,216 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_pattern.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (pattern) - -BOOST_FIXTURE_TEST_CASE(test_set_get_default_pattern, FixtureOpenClose) -{ - // Assign the default pattern index - int defPatIdx = 1; - int patIdx; - - // Rename the default pattern - error = EN_setpatternid(ph, defPatIdx, (char *)"Pat1"); - BOOST_REQUIRE(error == 0); - - error = EN_getpatternindex(ph, (char *)"Pat1", &patIdx); - BOOST_REQUIRE(error == 0); - - BOOST_CHECK(defPatIdx == patIdx); -} - -BOOST_FIXTURE_TEST_CASE(test_add_delete, FixtureOpenClose) -{ - double f2[] = { 2.1, 2.2 }; - double f3[] = { 3.1, 3.2, 3.3, 3.4 }; - - // Add 2 new patterns - error = EN_addpattern(ph, (char *)"Pat2"); - BOOST_REQUIRE(error == 0); - error = EN_addpattern(ph, (char *)"Pat3"); - BOOST_REQUIRE(error == 0); - - error = EN_setpattern(ph, 2, f2, 2); - BOOST_REQUIRE(error == 0); - error = EN_setpattern(ph, 3, f3, 4); - BOOST_REQUIRE(error == 0); - - // Delete Pat2 - error = EN_deletepattern(ph, 2); - BOOST_REQUIRE(error == 0); - - // Check that there are now 2 patterns - int n; - error = EN_getcount(ph, EN_PATCOUNT, &n); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(n == 2); -} - - -BOOST_AUTO_TEST_CASE(test_add_set) -{ - std::string path_inp(DATA_PATH_NET1); - std::string path_rpt(DATA_PATH_RPT); - std::string path_out(DATA_PATH_OUT); - std::string inp_save("net1_setid.inp"); - - int error = 0; - - EN_Project ph = NULL; - EN_createproject(&ph); - - error = EN_open(ph, path_inp.c_str(), path_rpt.c_str(), ""); - BOOST_REQUIRE(error == 0); - - // Assign the default pattern index - int n, defPatIdx = 1; - int patIdx; - - // Rename the default pattern - EN_setpatternid(ph, defPatIdx, (char *)"Pat1"); - EN_getpatternindex(ph, (char *)"Pat1", &patIdx); - BOOST_REQUIRE(defPatIdx == patIdx); - - // Add 2 new patterns - EN_addpattern(ph, (char *)"Pat2"); - EN_addpattern(ph, (char *)"Pat3"); - double f2[] = {2.1, 2.2}; - double f3[] = {3.1, 3.2, 3.3, 3.4}; - EN_setpattern(ph, 2, f2, 2); - EN_setpattern(ph, 3, f3, 4); - - // Assign Pat3 to 3rd junction - EN_setdemandpattern(ph, 3, 1, 3); - - // Delete Pat2 - EN_deletepattern(ph, 2); - - //Check that there are now 2 patterns - EN_getcount(ph, EN_PATCOUNT, &n); - BOOST_REQUIRE(n == 2); - - // Check that Pat3 with 4 factors is still assigned to 3rd junction - EN_getdemandpattern(ph, 3, 1, &patIdx); - EN_getpatternlen(ph, patIdx, &n); - BOOST_REQUIRE(n == 4); - - // Delete the default pattern - EN_deletepattern(ph, defPatIdx); - - // Check that junction 4 has no pattern - EN_getdemandpattern(ph, 4, 1, &patIdx); - BOOST_REQUIRE(patIdx == 0); - - // And that junction 3 still uses Pat3 - EN_getdemandpattern(ph, 3, 1, &patIdx); - char patID[EN_MAXID+1]; - EN_getpatternid(ph, patIdx, patID); - BOOST_REQUIRE(strcmp(patID, "Pat3") == 0); - - // Re-name the pump's (Link 9) head curve - int pumpIdx; - char pumpID[] = "9"; - int curveIdx; - char newCurveID[] = "PumpHeadCurve"; - EN_getlinkindex(ph, pumpID, &pumpIdx); - EN_getheadcurveindex(ph, pumpIdx, &curveIdx); - EN_setcurveid(ph, curveIdx, newCurveID); - - // Check that rename was successful - char curveID[EN_MAXID + 1]; - EN_getcurveid(ph, curveIdx, curveID); - BOOST_REQUIRE(strcmp(curveID, newCurveID) == 0); - - // Add two new curves - double x2[] = {0.0, 1.0, 2.0}; - double y2[] = {400.0, 60.0, 30.0}; - double x3[] = {2000.0}; - double y3[] = {100.0}; - char curve2[] = "Curve2"; - char curve3[] = "Curve3"; - EN_addcurve(ph, curve2); - EN_setcurve(ph, 2, x2, y2, 3); - EN_addcurve(ph, curve3); - EN_setcurve(ph, 3, x3, y3, 1); - - // Assign Curve3 to pump's head curve - EN_getcurveindex(ph, curve3, &curveIdx); - EN_setheadcurveindex(ph, pumpIdx, curveIdx); - - // Delete Curve2 - EN_getcurveindex(ph, curve2, &curveIdx); - EN_deletecurve(ph, curveIdx); - - // Check that pump's head curve is still Curve3 - EN_getheadcurveindex(ph, pumpIdx, &curveIdx); - EN_getcurveid(ph, curveIdx, curveID); - BOOST_REQUIRE(strcmp(curveID, curve3) == 0); - - // And that it contains the correct data - double x, y; - EN_getcurvevalue(ph, curveIdx, 1, &x, &y); - BOOST_REQUIRE(x == x3[0]); - BOOST_REQUIRE(y == y3[0]); - - EN_close(ph); - EN_deleteproject(ph); -} - -BOOST_FIXTURE_TEST_CASE(test_pattern_comments, FixtureOpenClose) -{ - int index; - char comment[EN_MAXMSG + 1]; - - // Set pattern comment - error = EN_getpatternindex(ph, (char *)"1", &index); - BOOST_REQUIRE(error == 0); - error = EN_setcomment(ph, EN_TIMEPAT, index, (char *)"Time Pattern 1"); - BOOST_REQUIRE(error == 0); - - // Check pattern comment - error = EN_getpatternindex(ph, (char *)"1", &index); - BOOST_REQUIRE(error == 0); - error = EN_getcomment(ph, EN_TIMEPAT, index, comment); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(check_string(comment, (char *)"Time Pattern 1")); -} - -BOOST_FIXTURE_TEST_CASE(test_pat_id_isvalid, FixtureInitClose) -{ - int index; - - error = EN_addpattern(ph, (char *)"P1"); - BOOST_REQUIRE(error == 0); - - error = EN_addpattern(ph, (char *)"P 2"); - BOOST_REQUIRE(error == 252); - - error = EN_addpattern(ph, (char *)"\"P2"); - BOOST_REQUIRE(error == 252); - - error = EN_addpattern(ph, (char *)"P;2"); - BOOST_REQUIRE(error == 252); - - EN_getpatternindex(ph, (char *)"P1", &index); - error = EN_setpatternid(ph, index, (char *)"P;1"); - BOOST_REQUIRE(error == 252); - -} - - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_pda.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_pda.cpp deleted file mode 100644 index b7c1636..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_pda.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_pda.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 07/20/2019 - ****************************************************************************** -*/ - -/* - Tests the Pressure Driven Analysis option -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - -BOOST_AUTO_TEST_SUITE (test_pda) - -BOOST_AUTO_TEST_CASE(test_pda_model) - -{ - int error = 0; - int index; - double count, reduction; - - EN_Project ph = NULL; - error = EN_createproject(&ph); - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, ""); - - // Set Demand Multiplier to 10 to cause negative pressures - error = EN_setoption(ph, EN_DEMANDMULT, 10); - BOOST_REQUIRE(error == 0); - - // Run single period analysis - error = EN_settimeparam(ph, EN_DURATION, 0); - BOOST_REQUIRE(error == 0); - - // Solve hydraulics with default DDA option - // which will return with neg. pressure warning code - error = EN_solveH(ph); - BOOST_REQUIRE(error == 6); - - // Check that 4 demand nodes have negative pressures - error = EN_getstatistic(ph, EN_DEFICIENTNODES, &count); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(count == 4); - - // Switch to PDA with pressure limits of 20 - 100 psi - error = EN_setdemandmodel(ph, EN_PDA, 20, 100, 0.5); - BOOST_REQUIRE(error == 0); - - // Solve hydraulics again - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - // Check that 6 nodes had demand reductions totaling 32.66% - error = EN_getstatistic(ph, EN_DEFICIENTNODES, &count); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(count == 6); - error = EN_getstatistic(ph, EN_DEMANDREDUCTION, &reduction); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(reduction - 32.66) < 0.01); - - // Check that Junction 12 had full demand - error = EN_getnodeindex(ph, (char *)"12", &index); - BOOST_REQUIRE(error == 0); - error = EN_getnodevalue(ph, index, EN_DEMANDDEFICIT, &reduction); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(reduction) < 0.01); - - // Check that Junction 21 had a demand deficit of 413.67 - error = EN_getnodeindex(ph, (char *)"21", &index); - BOOST_REQUIRE(error == 0); - error = EN_getnodevalue(ph, index, EN_DEMANDDEFICIT, &reduction); - BOOST_REQUIRE(error == 0); - BOOST_REQUIRE(abs(reduction - 413.67) < 0.01); - - // Clean up - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - error = EN_deleteproject(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_project.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_project.cpp deleted file mode 100644 index 627afbd..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_project.cpp +++ /dev/null @@ -1,281 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_project.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <string.h> - -#include <boost/test/unit_test.hpp> -#include <boost/filesystem.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_project) - -BOOST_AUTO_TEST_CASE (test_create_delete) -{ - int error = 0; - EN_Project ph = NULL; - - error = EN_createproject(&ph); - - BOOST_REQUIRE(error == 0); - BOOST_CHECK(ph != NULL); - - error = EN_deleteproject(ph); - - BOOST_REQUIRE(error == 0); -} - -BOOST_AUTO_TEST_CASE (test_open_close) -{ - int error; - - EN_Project ph = NULL; - - EN_createproject(&ph); - - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, DATA_PATH_OUT); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - - EN_deleteproject(ph); -} - -BOOST_AUTO_TEST_CASE(test_init_close) -{ - EN_Project ph = NULL; - EN_createproject(&ph); - - int error = EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph); - BOOST_REQUIRE(error == 0); - - EN_deleteproject(ph); -} - -BOOST_AUTO_TEST_CASE(test_save) -{ - int error; - - EN_Project ph_save; - - EN_createproject(&ph_save); - error = EN_open(ph_save, DATA_PATH_NET1, DATA_PATH_RPT, DATA_PATH_OUT); - BOOST_REQUIRE(error == 0); - - error = EN_saveinpfile(ph_save, "test_reopen.inp"); - BOOST_REQUIRE(error == 0); - - BOOST_CHECK(boost::filesystem::exists("test_reopen.inp") == true); - - error = EN_close(ph_save); - BOOST_REQUIRE(error == 0); - EN_deleteproject(ph_save); -} - -BOOST_AUTO_TEST_CASE(test_reopen, * boost::unit_test::depends_on("test_project/test_save")) -{ - int error; - - EN_Project ph_reopen; - - EN_createproject(&ph_reopen); - error = EN_open(ph_reopen, "test_reopen.inp", DATA_PATH_RPT, DATA_PATH_OUT); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph_reopen); - BOOST_REQUIRE(error == 0); - EN_deleteproject(ph_reopen); -} - -BOOST_AUTO_TEST_CASE(test_run) -{ - int error; - - EN_Project ph; - - EN_createproject(&ph); - - error = EN_runproject(ph, DATA_PATH_NET1, DATA_PATH_RPT, DATA_PATH_OUT, NULL); - BOOST_REQUIRE(error == 0); - - EN_deleteproject(ph); -} - -BOOST_AUTO_TEST_SUITE_END() - - -BOOST_AUTO_TEST_SUITE(test_proj_fixture) - -BOOST_FIXTURE_TEST_CASE(test_title, FixtureOpenClose) -{ - // How is the API user supposed to know array size? - char c_test[3][80]; - - // ref is an automatic variable and therefore doesn't need to be deleted - std::string ref[3] = { - " EPANET Example Network 1", - "A simple example of modeling chlorine decay. Both bulk and", - "wall reactions are included. "}; - - error = EN_gettitle(ph, c_test[0], c_test[1], c_test[2]); - BOOST_REQUIRE(error == 0); - - for (int i = 0; i < 3; i++) { - std::string test (c_test[i]); - BOOST_CHECK(check_string(test, ref[i])); - } - - // Need a test for EN_settitle -} - -BOOST_FIXTURE_TEST_CASE(test_getcount, FixtureOpenClose) -{ - int i; - - std::vector<int> test(7); - int *array = test.data(); - - std::vector<int> ref = { 11, 2, 13, 1, 1, 2, 0 }; - - for (i=EN_NODECOUNT; i<=EN_RULECOUNT; i++) { - error = EN_getcount(ph, i, array++); - BOOST_REQUIRE(error == 0); - } - - BOOST_CHECK_EQUAL_COLLECTIONS(ref.begin(), ref.end(), test.begin(), test.end()); - - error = EN_getcount(ph, 7, &i); - BOOST_CHECK(error == 251); -} - -BOOST_FIXTURE_TEST_CASE(test_setdemandpattern, FixtureOpenClose) -{ - int i, j, pat_index, pat_index_2, numDemands, nnodes; - char newpat[] = "new_pattern"; - - // get the number of nodes - error = EN_getcount(ph, EN_NODECOUNT, &nnodes); - BOOST_REQUIRE(error == 0); - - // add a new pattern - error = EN_addpattern(ph, newpat); - BOOST_REQUIRE(error == 0); - - // get the new patterns index, should be as the number of patterns - error = EN_getpatternindex(ph, newpat, &pat_index); - BOOST_REQUIRE(error == 0); - - for (i = 1; i <= nnodes; i++) { - // get the number of demand categories - error = EN_getnumdemands(ph, i, &numDemands); - BOOST_REQUIRE(error == 0); - - for (j = 1; j <= numDemands; j++) { - // set demand patterns - error = EN_setdemandpattern(ph, i, j, pat_index); - BOOST_REQUIRE(error == 0); - // get demand patterns should be the same with set - error = EN_getdemandpattern(ph, i, j, &pat_index_2); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(pat_index == pat_index_2); - } - } -} - -BOOST_FIXTURE_TEST_CASE(test_addpattern, FixtureOpenClose) -{ - int pat_index, n_patterns_1, n_patterns_2; - char newpat[] = "new_pattern"; - - // get the number of current patterns - error = EN_getcount(ph, EN_PATCOUNT, &n_patterns_1); - BOOST_REQUIRE(error == 0); - - // add a new pattern - error = EN_addpattern(ph, newpat); - BOOST_REQUIRE(error == 0); - - // get the new patterns count, shoul dbe the old one + 1 - error = EN_getcount(ph, EN_PATCOUNT, &n_patterns_2); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(n_patterns_1 + 1 == n_patterns_2); - - // gwt the new patterns index, should be as the number of patterns - error = EN_getpatternindex(ph, newpat, &pat_index); - BOOST_CHECK(pat_index == n_patterns_2); -} - -BOOST_FIXTURE_TEST_CASE(test_add_control, FixtureOpenClose) -{ - int flag = 00; - long t, tstep; - double h1, h2; - int Cindex; - - // run with original controls - error = EN_openH(ph); - BOOST_REQUIRE(error == 0); - error = EN_initH(ph, flag); - BOOST_REQUIRE(error == 0); - do { - error = EN_runH(ph, &t); - BOOST_REQUIRE(error == 0); - error = EN_getnodevalue(ph, 11, EN_HEAD, &h1); // get the tank head - BOOST_REQUIRE(error == 0); - error = EN_nextH(ph, &tstep); - BOOST_REQUIRE(error == 0); - } while (tstep > 0); - - error = EN_closeH(ph); - BOOST_REQUIRE(error == 0); - - // disable current controls - error = EN_setcontrol(ph, 1, 0, 0, 0, 0, 0); - BOOST_REQUIRE(error == 0); - error = EN_setcontrol(ph, 2, 1, 0, 0, 0, 0); - BOOST_REQUIRE(error == 0); - - // add new controls - error = EN_addcontrol(ph, 0, 13, 1, 11, 110, &Cindex); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(Cindex == 3); - error = EN_addcontrol(ph, 1, 13, 0, 11, 140, &Cindex); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(Cindex == 4); - - // run with new controls - error = EN_openH(ph); - BOOST_REQUIRE(error == 0); - error = EN_initH(ph, flag); - BOOST_REQUIRE(error == 0); - do { - error = EN_runH(ph, &t); - BOOST_REQUIRE(error == 0); - error = EN_getnodevalue(ph, 11, EN_HEAD, &h2); // get the tank head - BOOST_REQUIRE(error == 0); - error = EN_nextH(ph, &tstep); - BOOST_REQUIRE(error == 0); - } while (tstep > 0); - - error = EN_closeH(ph); - BOOST_REQUIRE(error == 0); - - BOOST_CHECK(abs(h1 - h2) < 1.e-5); // end head should be the same with new controls -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_quality.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_quality.cpp deleted file mode 100644 index 973732a..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_quality.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_quality.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_quality) - -BOOST_FIXTURE_TEST_CASE(test_solveQ, FixtureOpenClose) -{ - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_solveQ(ph); - BOOST_REQUIRE(error == 0); - - error = EN_report(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_FIXTURE_TEST_CASE(test_qual_step, FixtureOpenClose) -{ - int flag = 0; - long t, tstep; - - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_openQ(ph); - BOOST_REQUIRE(error == 0); - - error = EN_initQ(ph, flag); - BOOST_REQUIRE(error == 0); - - do { - error = EN_runQ(ph, &t); - BOOST_REQUIRE(error == 0); - - error = EN_stepQ(ph, &tstep); - BOOST_REQUIRE(error == 0); - - } while (tstep > 0); - - error = EN_closeQ(ph); - BOOST_REQUIRE(error == 0); -} - -BOOST_FIXTURE_TEST_CASE(test_progressive_step, FixtureOpenClose) -{ - int flag = EN_NOSAVE; - long t, tstep_h, tstep_q; - - error = EN_openH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_initH(ph, flag); - BOOST_REQUIRE(error == 0); - - error = EN_openQ(ph); - BOOST_REQUIRE(error == 0); - - error = EN_initQ(ph, flag); - BOOST_REQUIRE(error == 0); - - do { - error = EN_runH(ph, &t); - BOOST_REQUIRE(error == 0); - - error = EN_runQ(ph, &t); - BOOST_REQUIRE(error == 0); - - error = EN_nextH(ph, &tstep_h); - BOOST_REQUIRE(error == 0); - - error = EN_nextQ(ph, &tstep_q); - BOOST_REQUIRE(error == 0); - - } while (tstep_h > 0); - - error = EN_closeH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_closeQ(ph); - BOOST_REQUIRE(error == 0); - -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_reent.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_reent.cpp deleted file mode 100644 index c82754f..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_reent.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_reent.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/thread.hpp> - -#include <string> -#include <stdio.h> -#include <stdlib.h> - -#include "epanet2_2.h" - -#define NUM_THREADS 2 - -using namespace std; - -void epanet_thread(long i) -{ - int errorcode = 0; - EN_Project ph; - - string prefix = "example_"; - string suffix = ".inp"; - string input = prefix + to_string(static_cast<long long>(i)) + suffix; - - suffix = ".rpt"; - string report = prefix + to_string(static_cast<long long>(i)) + suffix; - - suffix = ".out"; - string output = prefix + to_string(static_cast<long long>(i)) + suffix; - - printf("Thread #%ld starting EPANET ...\n", i); - - EN_createproject(&ph); - errorcode = EN_runproject(ph, input.c_str(), report.c_str(), output.c_str(), NULL); - EN_deleteproject(ph); - - printf("Thread #%ld EPANET done. Status = %d\n", i, errorcode); -} - -int main(int argc, char *argv[]) -{ - long i; - boost::thread *threads[NUM_THREADS]; - - for (i = 0; i < NUM_THREADS; i++) { - threads[i] = new boost::thread(epanet_thread, i); - printf("Main: creating thread %ld.\n", i); - } - - for (i = 0; i < NUM_THREADS; i++) { - threads[i]->join(); - printf("Main: joining thread %ld.\n", i); - delete threads[i]; - } - - printf("Main: program completed. Exiting.\n"); - return(0); -} diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_report.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_report.cpp deleted file mode 100644 index 5b5850c..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_report.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_report.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#include <boost/test/unit_test.hpp> - -#include "test_toolkit.hpp" - - -BOOST_AUTO_TEST_SUITE (test_report) - -BOOST_FIXTURE_TEST_CASE(test_rprt_anlysstats, FixtureOpenClose) -{ - int i; - - std::vector<double> test(5); - double *array = test.data(); - - std::vector<double> ref = {3.0, 7.0799498320679432e-06, 1.6680242187483429e-08, - 0.0089173150106518495, 0.99999998187144024}; - - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_solveQ(ph); - BOOST_REQUIRE(error == 0); - - - for (i=EN_ITERATIONS; i<=EN_MASSBALANCE; i++) { - error = EN_getstatistic(ph, i, array++); - BOOST_REQUIRE(error == 0); - } - BOOST_CHECK(check_cdd_double(test, ref, 3)); - - double temp; - error = EN_getstatistic(ph, 8, &temp); - BOOST_CHECK(error == 251); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_toolkit.cpp b/Hydraulic/Hydro.HydraulicCore/tests/test_toolkit.cpp deleted file mode 100644 index 110460a..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_toolkit.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_toolkit.cpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#define BOOST_TEST_MODULE toolkit - -#include <math.h> - -#include <boost/test/included/unit_test.hpp> - -#include "test_toolkit.hpp" - - -// Custom test to check the minimum number of correct decimal digits between -// the test and the ref vectors. -boost::test_tools::predicate_result check_cdd_double(std::vector<double>& test, - std::vector<double>& ref, long cdd_tol){ - double tmp, min_cdd = 10.0; - - // TODO: What if the vectors aren't the same length? - - std::vector<double>::iterator test_it; - std::vector<double>::iterator ref_it; - - for (test_it = test.begin(), ref_it = ref.begin(); - (test_it < test.end()) && (ref_it < ref.end()); - ++test_it, ++ref_it) - { - if (*test_it != *ref_it) { - // Compute log absolute error - tmp = abs(*test_it - *ref_it); - if (tmp < 1.0e-7) - tmp = 1.0e-7; - - else if (tmp > 2.0) - tmp = 1.0; - - tmp = -log10(tmp); - if (tmp < 0.0) - tmp = 0.0; - - if (tmp < min_cdd) - min_cdd = tmp; - } - } - - return floor(min_cdd) >= cdd_tol; -} - -boost::test_tools::predicate_result check_string(std::string test, std::string ref) -{ - if (ref.compare(test) == 0) - return true; - else - return false; -} diff --git a/Hydraulic/Hydro.HydraulicCore/tests/test_toolkit.hpp b/Hydraulic/Hydro.HydraulicCore/tests/test_toolkit.hpp deleted file mode 100644 index 3d6c49e..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/test_toolkit.hpp +++ /dev/null @@ -1,130 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_toolkit.hpp - Description: Tests EPANET toolkit api functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 03/21/2019 - ****************************************************************************** -*/ - -#ifndef TEST_TOOLKIT_HPP -#define TEST_TOOLKIT_HPP - -#include "epanet2_2.h" - - -#define DATA_PATH_NET1 "./net1.inp" -#define DATA_PATH_TMP "./tmp.inp" -#define DATA_PATH_RPT "./test.rpt" -#define DATA_PATH_OUT "./test.out" - -struct FixtureOpenClose{ - FixtureOpenClose() { - error = 0; - ph = NULL; - - EN_createproject(&ph); - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, DATA_PATH_OUT); - } - - ~FixtureOpenClose() { - error = EN_close(ph); - EN_deleteproject(ph); - } - - int error; - EN_Project ph; -}; - - -struct FixtureInitClose { - FixtureInitClose() { - error = 0; - ph = NULL; - - EN_createproject(&ph); - EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW); - } - - ~FixtureInitClose() { - EN_close(ph); - EN_deleteproject(ph); - } - int error; - EN_Project ph; -}; - - -struct FixtureAfterStep{ - FixtureAfterStep() { - error = 0; - ph = NULL; - - flag = 0; - tstop = 10800; - - EN_createproject(&ph); - error = EN_open(ph, DATA_PATH_NET1, DATA_PATH_RPT, DATA_PATH_OUT); - - error = EN_solveH(ph); - BOOST_REQUIRE(error == 0); - - error = EN_openQ(ph); - BOOST_REQUIRE(error == 0); - - error = EN_initQ(ph, flag); - BOOST_REQUIRE(error == 0); - - do { - error = EN_runQ(ph, &t); - BOOST_REQUIRE(error == 0); - - error = EN_stepQ(ph, &tstep); - BOOST_REQUIRE(error == 0); - - } while (tstep > 0 && t < tstop); - } - - ~FixtureAfterStep() { - error = EN_closeQ(ph); - BOOST_REQUIRE(error == 0); - - error = EN_close(ph); - EN_deleteproject(ph); - } - - int error, flag; - long t, tstep, tstop; - EN_Project ph; -}; - -struct FixtureSingleNode { - FixtureSingleNode() { - error = 0; - ph = NULL; - - EN_createproject(&ph); - EN_init(ph, DATA_PATH_RPT, DATA_PATH_OUT, EN_GPM, EN_HW); - - EN_addnode(ph, (char *)"CUB_SCOUT_QUONSET_HUT", EN_JUNCTION, &node_qhut); - } - - ~FixtureSingleNode() { - EN_close(ph); - EN_deleteproject(ph); - } - int error, index, node_qhut; - EN_Project ph; -}; - - -boost::test_tools::predicate_result check_cdd_double(std::vector<double>& test, - std::vector<double>& ref, long cdd_tol); -boost::test_tools::predicate_result check_string(std::string test, std::string ref); - - -#endif //TEST_TOOLKIT_HPP diff --git a/Hydraulic/Hydro.HydraulicCore/tests/util/CMakeLists.txt b/Hydraulic/Hydro.HydraulicCore/tests/util/CMakeLists.txt deleted file mode 100644 index 7072f35..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/util/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ - -if(UNIX) - set(CMAKE_CXX_FLAGS "-std=c++11") -endif(UNIX) - -# Sets for output directory for executables and libraries -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) - - -add_executable(test_cstrhelper ./test_cstrhelper.cpp - ../../src/util/cstr_helper.c) -target_include_directories(test_cstrhelper PUBLIC ../../src/) -target_link_libraries(test_cstrhelper ${Boost_LIBRARIES}) - - -add_executable(test_errormanager ./test_errormanager.cpp - ../../src/util/errormanager.c) -target_include_directories(test_errormanager PUBLIC ../../src/) -target_link_libraries(test_errormanager ${Boost_LIBRARIES}) - - -add_executable(test_filemanager ./test_filemanager.cpp - ../../src/util/filemanager.c - ../../src/util/cstr_helper.c) -target_include_directories(test_filemanager PUBLIC ../../src/) -target_link_libraries(test_filemanager ${Boost_LIBRARIES}) diff --git a/Hydraulic/Hydro.HydraulicCore/tests/util/test_cstrhelper.cpp b/Hydraulic/Hydro.HydraulicCore/tests/util/test_cstrhelper.cpp deleted file mode 100644 index 2688a74..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/util/test_cstrhelper.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: test_cstrhelper.cpp - Description: tests for C string helper functions - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 04/16/2019 - ****************************************************************************** -*/ - -#include <string> - -#define BOOST_TEST_MODULE cstr_helper -#include <boost/test/unit_test.hpp> - -#include "util/cstr_helper.h" - - -boost::test_tools::predicate_result check_string(std::string test, std::string ref) -{ - if (ref.compare(test) == 0) - return true; - else - return false; -} - - -BOOST_AUTO_TEST_SUITE(test_cstrhelper) - - -BOOST_AUTO_TEST_CASE(test_duplicate) { - - std::string source = "I will be rewarded for good behavior."; - char *dest = NULL; - - cstr_duplicate(&dest, source.c_str()); - BOOST_CHECK(check_string(dest, source)); - BOOST_CHECK(cstr_isnullterm(dest) == true); - - free(dest); -} - - -BOOST_AUTO_TEST_CASE(test_isvalid) { - - BOOST_CHECK(cstr_isvalid("big tank") == false); - BOOST_CHECK(cstr_isvalid("big\"tank") == false); - BOOST_CHECK(cstr_isvalid("big;tank") == false); - - BOOST_CHECK(cstr_isvalid("big-tank") == true); -} - - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/util/test_errormanager.cpp b/Hydraulic/Hydro.HydraulicCore/tests/util/test_errormanager.cpp deleted file mode 100644 index 8e70774..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/util/test_errormanager.cpp +++ /dev/null @@ -1,81 +0,0 @@ - - -#define BOOST_TEST_MODULE errormanager - -#include <boost/test/unit_test.hpp> - -#include "util/errormanager.h" - - -#define MESSAGE_STRING "This is unit testing!" - - -void mock_lookup(int errcode, char *errmsg, int len) -{ - char *msg = NULL; - - if (errcode == 100) { - msg = (char *)MESSAGE_STRING; - } - else { - msg = (char *)""; - } - strncpy(errmsg, msg, len); -} - -boost::test_tools::predicate_result check_string(std::string test, std::string ref) -{ - if (ref.compare(test) == 0) - return true; - else - return false; -} - - -BOOST_AUTO_TEST_SUITE(test_errormanager) - -BOOST_AUTO_TEST_CASE (test_create_destroy) -{ - error_handle_t *error_handle = NULL; - error_handle = create_error_manager(&mock_lookup); - - delete_error_manager(error_handle); -} - - -struct Fixture{ - Fixture() { - error_message = NULL; - error_handle = create_error_manager(&mock_lookup); - } - ~Fixture() { - delete_error_manager(error_handle); - free(error_message); - } - int error; - error_handle_t *error_handle; - char *error_message; -}; - - -BOOST_FIXTURE_TEST_CASE (test_set_clear, Fixture) -{ - error = set_error(error_handle, 100); - BOOST_CHECK(error == 100); - - clear_error(error_handle); - error = check_error(error_handle, &error_message); - BOOST_CHECK(error == 0); - BOOST_CHECK(error_message == NULL); -} - -BOOST_FIXTURE_TEST_CASE(test_set_check, Fixture) -{ - error = set_error(error_handle, 100); - BOOST_CHECK(error == 100); - - error = check_error(error_handle, &error_message); - BOOST_CHECK(check_string(error_message, MESSAGE_STRING)); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicCore/tests/util/test_filemanager.cpp b/Hydraulic/Hydro.HydraulicCore/tests/util/test_filemanager.cpp deleted file mode 100644 index 7e17577..0000000 --- a/Hydraulic/Hydro.HydraulicCore/tests/util/test_filemanager.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - ****************************************************************************** - Project: OWA EPANET - Version: 2.2 - Module: util/test_filemanager.cpp - Description: Tests for util/filemanager.c - Authors: see AUTHORS - Copyright: see AUTHORS - License: see LICENSE - Last Updated: 04/01/2019 - ****************************************************************************** -*/ - -#define BOOST_TEST_MODULE filemanager - -#include <boost/test/unit_test.hpp> -#include <boost/filesystem.hpp> - -#include "util/filemanager.h" - - -#define DATA_PATH_OUTPUT "./example1.out" - - -boost::test_tools::predicate_result check_string(std::string test, std::string ref) -{ - if (ref.compare(test) == 0) - return true; - else - return false; -} - - -BOOST_AUTO_TEST_SUITE(test_filemanager) - - -BOOST_AUTO_TEST_CASE (test_create_destroy) -{ - file_handle_t *file_handle = NULL; - - file_handle = create_file_manager(); - BOOST_CHECK(file_handle != NULL); - BOOST_CHECK(is_valid(file_handle) == true); - - delete_file_manager(file_handle); -} - -BOOST_AUTO_TEST_CASE(test_open_close) -{ - int error = 0; - file_handle_t *file_handle = NULL; - - file_handle = create_file_manager(); - BOOST_CHECK(file_handle != NULL); - - error = open_file(file_handle, DATA_PATH_OUTPUT, "rb"); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(is_valid(file_handle) == true); - - error = close_file(file_handle); - BOOST_REQUIRE(error == 0); - - delete_file_manager(file_handle); -} - -struct Fixture{ - Fixture() { - error = 0; - file_handle = NULL; - - file_handle = create_file_manager(); - open_file(file_handle, NULL, "wt"); - } - ~Fixture() { - close_file(file_handle); - delete_file_manager(file_handle); - } - int error; - file_handle_t *file_handle; -}; - -BOOST_FIXTURE_TEST_CASE(test_temp_file, Fixture) -{ - char *filename; - - printf_file(file_handle, "%s", "This is a test."); - - error = get_filename(file_handle, &filename); - BOOST_REQUIRE(error == 0); - BOOST_CHECK(is_valid(file_handle) == true); - - BOOST_CHECK(boost::filesystem::exists(filename) == true); - - free(filename); -} - -BOOST_AUTO_TEST_SUITE_END() diff --git a/Hydraulic/Hydro.HydraulicModel/Hydro.HydraulicModel.csproj b/Hydraulic/Hydro.HydraulicModel/Hydro.HydraulicModel.csproj index 8541b13..63816ba 100644 --- a/Hydraulic/Hydro.HydraulicModel/Hydro.HydraulicModel.csproj +++ b/Hydraulic/Hydro.HydraulicModel/Hydro.HydraulicModel.csproj @@ -17,17 +17,17 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <UseVSHostingProcess>false</UseVSHostingProcess> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydraulic/Hydro.HydraulicOptimizer/Hydro.HydraulicOptimizer.csproj b/Hydraulic/Hydro.HydraulicOptimizer/Hydro.HydraulicOptimizer.csproj index 05fc7d0..0a174ee 100644 --- a/Hydraulic/Hydro.HydraulicOptimizer/Hydro.HydraulicOptimizer.csproj +++ b/Hydraulic/Hydro.HydraulicOptimizer/Hydro.HydraulicOptimizer.csproj @@ -17,17 +17,17 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <UseVSHostingProcess>false</UseVSHostingProcess> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydraulic/Hydro.HydraulicOptimizer/WDNModelOptimizer.cs b/Hydraulic/Hydro.HydraulicOptimizer/WDNModelOptimizer.cs index f1e3242..58caf21 100644 --- a/Hydraulic/Hydro.HydraulicOptimizer/WDNModelOptimizer.cs +++ b/Hydraulic/Hydro.HydraulicOptimizer/WDNModelOptimizer.cs @@ -758,7 +758,7 @@ private string loadLogicParam() { - string result = null; + //string result = null; //(LogicPoint)((LogicTile)sender).Tag; param = new LogicModelParams(); @@ -769,7 +769,7 @@ $"SELECT {LogicPoint.selectColumn} FROM RemoteHost"); - double d=0; + //double d=0; foreach (var host in hosts.Where(x => x.LogicType == "鍒濆鏉′欢" && x.ParentId != -1 && x.Ext.Enable).OrderBy(x=>x.Sort)) @@ -1022,7 +1022,7 @@ private string loadGeneticParam(FinishEvent onFinished, FinishEvent onError, FinishEvent onReportProgress, SetEvent SetVarsMethod) { - string result = null; + //string result = null; //DLengths.ForEach(m => chromosomeLength += m); diff --git a/Hydraulic/Hydro.Inp2.2/Hydro.Inp2.2.csproj b/Hydraulic/Hydro.Inp2.2/Hydro.Inp2.2.csproj index 80d1292..99a17b8 100644 --- a/Hydraulic/Hydro.Inp2.2/Hydro.Inp2.2.csproj +++ b/Hydraulic/Hydro.Inp2.2/Hydro.Inp2.2.csproj @@ -17,17 +17,17 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> <UseVSHostingProcess>false</UseVSHostingProcess> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj b/Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj index 0292793..4b27c12 100644 --- a/Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj +++ b/Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj @@ -17,11 +17,11 @@ </NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> @@ -32,7 +32,7 @@ <PlatformTarget>AnyCPU</PlatformTarget> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs b/Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs index f225372..2d9ab48 100644 --- a/Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs +++ b/Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs @@ -79,8 +79,9 @@ this.label_center = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabel_rotation = new System.Windows.Forms.ToolStripStatusLabel(); this.label_zoom = new System.Windows.Forms.ToolStripStatusLabel(); - this.toolStripStatusLabel_split1 = new System.Windows.Forms.ToolStripStatusLabel(); this.label_mouse = new System.Windows.Forms.ToolStripStatusLabel(); + this.toolStripStatusLabel_split1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.label_ZZ = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabel_split2 = new System.Windows.Forms.ToolStripStatusLabel(); this.label_file = new System.Windows.Forms.ToolStripStatusLabel(); this.panel1 = new System.Windows.Forms.Panel(); @@ -230,6 +231,11 @@ this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); this.鍏ㄩ�塗oolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.鍙嶉�塗oolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.timer_draw = new System.Windows.Forms.Timer(this.components); + this.toolStripSeparator22 = new System.Windows.Forms.ToolStripSeparator(); + this.妤煎眰绠$悊ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator23 = new System.Windows.Forms.ToolStripSeparator(); + this.榛樿瑙嗚ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.statusStrip1.SuspendLayout(); this.panel1.SuspendLayout(); this.toolStrip1.SuspendLayout(); @@ -242,8 +248,9 @@ this.label_center, this.toolStripStatusLabel_rotation, this.label_zoom, - this.toolStripStatusLabel_split1, this.label_mouse, + this.toolStripStatusLabel_split1, + this.label_ZZ, this.toolStripStatusLabel_split2, this.label_file}); this.statusStrip1.Location = new System.Drawing.Point(0, 578); @@ -272,17 +279,24 @@ this.label_zoom.Text = "Zoom锛�1"; this.label_zoom.Click += new System.EventHandler(this.label_zoom_Click); // + // label_mouse + // + this.label_mouse.Name = "label_mouse"; + this.label_mouse.Size = new System.Drawing.Size(65, 17); + this.label_mouse.Text = "X锛�0 Y锛�0"; + // // toolStripStatusLabel_split1 // this.toolStripStatusLabel_split1.Name = "toolStripStatusLabel_split1"; this.toolStripStatusLabel_split1.Size = new System.Drawing.Size(11, 17); this.toolStripStatusLabel_split1.Text = "|"; // - // label_mouse + // label_ZZ // - this.label_mouse.Name = "label_mouse"; - this.label_mouse.Size = new System.Drawing.Size(65, 17); - this.label_mouse.Text = "X锛�0 Y锛�0"; + this.label_ZZ.Name = "label_ZZ"; + this.label_ZZ.Size = new System.Drawing.Size(71, 17); + this.label_ZZ.Text = "姝d氦妯″紡:寮�"; + this.label_ZZ.Click += new System.EventHandler(this.label_ZZ_Click); // // toolStripStatusLabel_split2 // @@ -616,7 +630,9 @@ this.鍒犻櫎ToolStripMenuItem1, this.toolStripSeparator15, this.瀵归綈ToolStripMenuItem, - this.鎺掑垪ToolStripMenuItem}); + this.鎺掑垪ToolStripMenuItem, + this.toolStripSeparator22, + this.妤煎眰绠$悊ToolStripMenuItem}); this.toolStripDropDownButton_宸ュ叿.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton_宸ュ叿.Image"))); this.toolStripDropDownButton_宸ュ叿.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripDropDownButton_宸ュ叿.Name = "toolStripDropDownButton_宸ュ叿"; @@ -629,7 +645,7 @@ this.toolStripTextBox_姘村钩鏃嬭浆瑙掑害}); this.姘村钩鏃嬭浆ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("姘村钩鏃嬭浆ToolStripMenuItem.Image"))); this.姘村钩鏃嬭浆ToolStripMenuItem.Name = "姘村钩鏃嬭浆ToolStripMenuItem"; - this.姘村钩鏃嬭浆ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.姘村钩鏃嬭浆ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.姘村钩鏃嬭浆ToolStripMenuItem.Text = "姘村钩鏃嬭浆"; this.姘村钩鏃嬭浆ToolStripMenuItem.Click += new System.EventHandler(this.姘村钩鏃嬭浆ToolStripMenuItem_Click); // @@ -644,20 +660,20 @@ // this.杞存棆杞琓oolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("杞存棆杞琓oolStripMenuItem.Image"))); this.杞存棆杞琓oolStripMenuItem.Name = "杞存棆杞琓oolStripMenuItem"; - this.杞存棆杞琓oolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.杞存棆杞琓oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.杞存棆杞琓oolStripMenuItem.Text = "杞存棆杞�"; // // 杞撮暅鍍廡oolStripMenuItem // this.杞撮暅鍍廡oolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("杞撮暅鍍廡oolStripMenuItem.Image"))); this.杞撮暅鍍廡oolStripMenuItem.Name = "杞撮暅鍍廡oolStripMenuItem"; - this.杞撮暅鍍廡oolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.杞撮暅鍍廡oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.杞撮暅鍍廡oolStripMenuItem.Text = "杞撮暅鍍�"; // // toolStripSeparator7 // this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(145, 6); + this.toolStripSeparator7.Size = new System.Drawing.Size(177, 6); // // 缂╂斁ToolStripMenuItem // @@ -667,7 +683,7 @@ this.toolStripMenuItem_缂╁皬2鍊峿); this.缂╂斁ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("缂╂斁ToolStripMenuItem.Image"))); this.缂╂斁ToolStripMenuItem.Name = "缂╂斁ToolStripMenuItem"; - this.缂╂斁ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.缂╂斁ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.缂╂斁ToolStripMenuItem.Text = "缂╂斁"; this.缂╂斁ToolStripMenuItem.Click += new System.EventHandler(this.缂╂斁ToolStripMenuItem_Click); // @@ -698,7 +714,7 @@ this.鍏抽榾鍒嗘瀽涓嶈�冭檻姘存簮ToolStripMenuItem}); this.鍏抽榾鍒嗘瀽ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("鍏抽榾鍒嗘瀽ToolStripMenuItem.Image"))); this.鍏抽榾鍒嗘瀽ToolStripMenuItem.Name = "鍏抽榾鍒嗘瀽ToolStripMenuItem"; - this.鍏抽榾鍒嗘瀽ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鍏抽榾鍒嗘瀽ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鍏抽榾鍒嗘瀽ToolStripMenuItem.Text = "鍏抽榾鍒嗘瀽"; this.鍏抽榾鍒嗘瀽ToolStripMenuItem.Click += new System.EventHandler(this.鍏抽榾鎼滅储鑰冭檻姘存簮ToolStripMenuItem_Click); // @@ -713,7 +729,7 @@ // this.杩為�氭�ф鏌oolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("杩為�氭�ф鏌oolStripMenuItem1.Image"))); this.杩為�氭�ф鏌oolStripMenuItem1.Name = "杩為�氭�ф鏌oolStripMenuItem1"; - this.杩為�氭�ф鏌oolStripMenuItem1.Size = new System.Drawing.Size(148, 22); + this.杩為�氭�ф鏌oolStripMenuItem1.Size = new System.Drawing.Size(180, 22); this.杩為�氭�ф鏌oolStripMenuItem1.Text = "杩為�氭�ф鏌�"; this.杩為�氭�ф鏌oolStripMenuItem1.Click += new System.EventHandler(this.杩為�氭�ф鏌oolStripMenuItem1_Click); // @@ -721,7 +737,7 @@ // this.涓嬫父杩為�氭�oolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("涓嬫父杩為�氭�oolStripMenuItem.Image"))); this.涓嬫父杩為�氭�oolStripMenuItem.Name = "涓嬫父杩為�氭�oolStripMenuItem"; - this.涓嬫父杩為�氭�oolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.涓嬫父杩為�氭�oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.涓嬫父杩為�氭�oolStripMenuItem.Text = "涓嬫父杩為�氭��"; this.涓嬫父杩為�氭�oolStripMenuItem.Click += new System.EventHandler(this.涓嬫父杩為�氭�oolStripMenuItem_Click); // @@ -729,14 +745,14 @@ // this.涓婃父杩為�氭�oolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("涓婃父杩為�氭�oolStripMenuItem.Image"))); this.涓婃父杩為�氭�oolStripMenuItem.Name = "涓婃父杩為�氭�oolStripMenuItem"; - this.涓婃父杩為�氭�oolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.涓婃父杩為�氭�oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.涓婃父杩為�氭�oolStripMenuItem.Text = "涓婃父杩為�氭��"; // // 鏍囬珮鎺ㄦ祴ToolStripMenuItem // this.鏍囬珮鎺ㄦ祴ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("鏍囬珮鎺ㄦ祴ToolStripMenuItem.Image"))); this.鏍囬珮鎺ㄦ祴ToolStripMenuItem.Name = "鏍囬珮鎺ㄦ祴ToolStripMenuItem"; - this.鏍囬珮鎺ㄦ祴ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鏍囬珮鎺ㄦ祴ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏍囬珮鎺ㄦ祴ToolStripMenuItem.Text = "鏍囬珮鎺ㄦ祴"; this.鏍囬珮鎺ㄦ祴ToolStripMenuItem.Click += new System.EventHandler(this.鏍囬珮鎺ㄦ祴ToolStripMenuItem_Click); // @@ -744,7 +760,7 @@ // this.鏍囬珮瀵煎嚭ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("鏍囬珮瀵煎嚭ToolStripMenuItem.Image"))); this.鏍囬珮瀵煎嚭ToolStripMenuItem.Name = "鏍囬珮瀵煎嚭ToolStripMenuItem"; - this.鏍囬珮瀵煎嚭ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鏍囬珮瀵煎嚭ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏍囬珮瀵煎嚭ToolStripMenuItem.Text = "鏍囬珮瀵煎嚭"; this.鏍囬珮瀵煎嚭ToolStripMenuItem.Click += new System.EventHandler(this.鏍囬珮瀵煎嚭ToolStripMenuItem_Click); // @@ -752,28 +768,28 @@ // this.鏄剧ず姘存祦ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("鏄剧ず姘存祦ToolStripMenuItem.Image"))); this.鏄剧ず姘存祦ToolStripMenuItem.Name = "鏄剧ず姘存祦ToolStripMenuItem"; - this.鏄剧ず姘存祦ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鏄剧ず姘存祦ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏄剧ず姘存祦ToolStripMenuItem.Text = "鏄剧ず姘存祦璺嚎"; this.鏄剧ず姘存祦ToolStripMenuItem.Click += new System.EventHandler(this.鏄剧ず姘存祦ToolStripMenuItem_Click); // // 鏂瑰悜淇ToolStripMenuItem // this.鏂瑰悜淇ToolStripMenuItem.Name = "鏂瑰悜淇ToolStripMenuItem"; - this.鏂瑰悜淇ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鏂瑰悜淇ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏂瑰悜淇ToolStripMenuItem.Text = "鏂瑰悜淇"; this.鏂瑰悜淇ToolStripMenuItem.Click += new System.EventHandler(this.鏂瑰悜淇ToolStripMenuItem_Click); // // toolStripSeparator12 // this.toolStripSeparator12.Name = "toolStripSeparator12"; - this.toolStripSeparator12.Size = new System.Drawing.Size(145, 6); + this.toolStripSeparator12.Size = new System.Drawing.Size(177, 6); // // 澶嶅埗ToolStripMenuItem // this.澶嶅埗ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("澶嶅埗ToolStripMenuItem.Image"))); this.澶嶅埗ToolStripMenuItem.Name = "澶嶅埗ToolStripMenuItem"; this.澶嶅埗ToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+C"; - this.澶嶅埗ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.澶嶅埗ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.澶嶅埗ToolStripMenuItem.Text = "澶嶅埗"; this.澶嶅埗ToolStripMenuItem.Click += new System.EventHandler(this.澶嶅埗ToolStripMenuItem_Click); // @@ -782,21 +798,21 @@ this.绮樿创ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("绮樿创ToolStripMenuItem.Image"))); this.绮樿创ToolStripMenuItem.Name = "绮樿创ToolStripMenuItem"; this.绮樿创ToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+V"; - this.绮樿创ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.绮樿创ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.绮樿创ToolStripMenuItem.Text = "绮樿创"; this.绮樿创ToolStripMenuItem.Click += new System.EventHandler(this.绮樿创ToolStripMenuItem1_Click); // // 鍒犻櫎ToolStripMenuItem1 // this.鍒犻櫎ToolStripMenuItem1.Name = "鍒犻櫎ToolStripMenuItem1"; - this.鍒犻櫎ToolStripMenuItem1.Size = new System.Drawing.Size(148, 22); + this.鍒犻櫎ToolStripMenuItem1.Size = new System.Drawing.Size(180, 22); this.鍒犻櫎ToolStripMenuItem1.Text = "鍒犻櫎"; this.鍒犻櫎ToolStripMenuItem1.Click += new System.EventHandler(this.鍒犻櫎ToolStripMenuItem_Click); // // toolStripSeparator15 // this.toolStripSeparator15.Name = "toolStripSeparator15"; - this.toolStripSeparator15.Size = new System.Drawing.Size(145, 6); + this.toolStripSeparator15.Size = new System.Drawing.Size(177, 6); // // 瀵归綈ToolStripMenuItem // @@ -807,7 +823,7 @@ this.绔栫洿瀵归綈ToolStripMenuItem, this.鑷姩瀵归綈ToolStripMenuItem}); this.瀵归綈ToolStripMenuItem.Name = "瀵归綈ToolStripMenuItem"; - this.瀵归綈ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.瀵归綈ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.瀵归綈ToolStripMenuItem.Text = "瀵归綈"; // // toolStripSeparator16 @@ -850,7 +866,7 @@ // 鎺掑垪ToolStripMenuItem // this.鎺掑垪ToolStripMenuItem.Name = "鎺掑垪ToolStripMenuItem"; - this.鎺掑垪ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鎺掑垪ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鎺掑垪ToolStripMenuItem.Text = "鎺掑垪"; // // toolStripSeparator8 @@ -886,55 +902,55 @@ // this.閲嶇疆ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("閲嶇疆ToolStripMenuItem.Image"))); this.閲嶇疆ToolStripMenuItem.Name = "閲嶇疆ToolStripMenuItem"; - this.閲嶇疆ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.閲嶇疆ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.閲嶇疆ToolStripMenuItem.Text = "閲嶇疆"; this.閲嶇疆ToolStripMenuItem.Click += new System.EventHandler(this.閲嶇疆瑙嗚ToolStripMenuItem_Click); // // toolStripSeparator14 // this.toolStripSeparator14.Name = "toolStripSeparator14"; - this.toolStripSeparator14.Size = new System.Drawing.Size(145, 6); + this.toolStripSeparator14.Size = new System.Drawing.Size(177, 6); // // toolStripMenuItem8 // this.toolStripMenuItem8.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem8.Image"))); this.toolStripMenuItem8.Name = "toolStripMenuItem8"; - this.toolStripMenuItem8.Size = new System.Drawing.Size(148, 22); + this.toolStripMenuItem8.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem8.Text = "90"; this.toolStripMenuItem8.Click += new System.EventHandler(this.tool璁剧疆淇瑙掑害_Click); // // toolStripMenuItem7 // this.toolStripMenuItem7.Name = "toolStripMenuItem7"; - this.toolStripMenuItem7.Size = new System.Drawing.Size(148, 22); + this.toolStripMenuItem7.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem7.Text = "75"; this.toolStripMenuItem7.Click += new System.EventHandler(this.tool璁剧疆淇瑙掑害_Click); // // toolStripMenuItem6 // this.toolStripMenuItem6.Name = "toolStripMenuItem6"; - this.toolStripMenuItem6.Size = new System.Drawing.Size(148, 22); + this.toolStripMenuItem6.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem6.Text = "60"; this.toolStripMenuItem6.Click += new System.EventHandler(this.tool璁剧疆淇瑙掑害_Click); // // toolStripMenuItem5 // this.toolStripMenuItem5.Name = "toolStripMenuItem5"; - this.toolStripMenuItem5.Size = new System.Drawing.Size(148, 22); + this.toolStripMenuItem5.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem5.Text = "45"; this.toolStripMenuItem5.Click += new System.EventHandler(this.tool璁剧疆淇瑙掑害_Click); // // toolStripMenuItem4 // this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(148, 22); + this.toolStripMenuItem4.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem4.Text = "30"; this.toolStripMenuItem4.Click += new System.EventHandler(this.tool璁剧疆淇瑙掑害_Click); // // toolStripMenuItem3 // this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(148, 22); + this.toolStripMenuItem3.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem3.Text = "15"; this.toolStripMenuItem3.Click += new System.EventHandler(this.tool璁剧疆淇瑙掑害_Click); // @@ -942,39 +958,39 @@ // this.toolStripMenuItem2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripMenuItem2.Image"))); this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(148, 22); + this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem2.Text = "0"; this.toolStripMenuItem2.Click += new System.EventHandler(this.tool璁剧疆淇瑙掑害_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(145, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(177, 6); // // ToolStripMenuItem_Floor // this.ToolStripMenuItem_Floor.Name = "ToolStripMenuItem_Floor"; - this.ToolStripMenuItem_Floor.Size = new System.Drawing.Size(148, 22); + this.ToolStripMenuItem_Floor.Size = new System.Drawing.Size(180, 22); this.ToolStripMenuItem_Floor.Text = "妤煎眰"; // // 鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem // this.鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem.Name = "鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem"; - this.鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem.Text = "鏄剧ず鍏ㄩ儴妤煎眰"; this.鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem.Click += new System.EventHandler(this.鏄剧ず鍏ㄩ儴妤煎眰ToolStripMenuItem_Click); // // 淇濆瓨妤煎眰瑙嗚ToolStripMenuItem // this.淇濆瓨妤煎眰瑙嗚ToolStripMenuItem.Name = "淇濆瓨妤煎眰瑙嗚ToolStripMenuItem"; - this.淇濆瓨妤煎眰瑙嗚ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.淇濆瓨妤煎眰瑙嗚ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.淇濆瓨妤煎眰瑙嗚ToolStripMenuItem.Text = "淇濆瓨妤煎眰瑙嗚"; this.淇濆瓨妤煎眰瑙嗚ToolStripMenuItem.Click += new System.EventHandler(this.淇濆瓨妤煎眰瑙嗚ToolStripMenuItem_Click); // // 鍒锋柊妤煎眰ToolStripMenuItem // this.鍒锋柊妤煎眰ToolStripMenuItem.Name = "鍒锋柊妤煎眰ToolStripMenuItem"; - this.鍒锋柊妤煎眰ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.鍒锋柊妤煎眰ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鍒锋柊妤煎眰ToolStripMenuItem.Text = "鍒锋柊妤煎眰"; this.鍒锋柊妤煎眰ToolStripMenuItem.Click += new System.EventHandler(this.鍒锋柊妤煎眰ToolStripMenuItem_Click); // @@ -1041,14 +1057,14 @@ // 鏄剧ず鑺傜偣ToolStripMenuItem // this.鏄剧ず鑺傜偣ToolStripMenuItem.Name = "鏄剧ず鑺傜偣ToolStripMenuItem"; - this.鏄剧ず鑺傜偣ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.鏄剧ず鑺傜偣ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏄剧ず鑺傜偣ToolStripMenuItem.Text = "鏄剧ず鑺傜偣"; this.鏄剧ず鑺傜偣ToolStripMenuItem.Click += new System.EventHandler(this.鏄剧ず鑺傜偣ToolStripMenuItem_Click); // // 闅愯棌鑺傜偣ToolStripMenuItem // this.闅愯棌鑺傜偣ToolStripMenuItem.Name = "闅愯棌鑺傜偣ToolStripMenuItem"; - this.闅愯棌鑺傜偣ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.闅愯棌鑺傜偣ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.闅愯棌鑺傜偣ToolStripMenuItem.Text = "闅愯棌鑺傜偣"; this.闅愯棌鑺傜偣ToolStripMenuItem.Click += new System.EventHandler(this.闅愯棌鑺傜偣ToolStripMenuItem_Click); // @@ -1059,7 +1075,7 @@ this.涓璗oolStripMenuItem, this.灏廡oolStripMenuItem}); this.鑺傜偣澶у皬ToolStripMenuItem.Name = "鑺傜偣澶у皬ToolStripMenuItem"; - this.鑺傜偣澶у皬ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.鑺傜偣澶у皬ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鑺傜偣澶у皬ToolStripMenuItem.Text = "鑺傜偣澶у皬"; // // 澶oolStripMenuItem @@ -1086,19 +1102,19 @@ // toolStripSeparator10 // this.toolStripSeparator10.Name = "toolStripSeparator10"; - this.toolStripSeparator10.Size = new System.Drawing.Size(150, 6); + this.toolStripSeparator10.Size = new System.Drawing.Size(177, 6); // // 鏄剧ず闃�闂═oolStripMenuItem // this.鏄剧ず闃�闂═oolStripMenuItem.Name = "鏄剧ず闃�闂═oolStripMenuItem"; - this.鏄剧ず闃�闂═oolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.鏄剧ず闃�闂═oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏄剧ず闃�闂═oolStripMenuItem.Text = "鏄剧ず闃�闂�"; this.鏄剧ず闃�闂═oolStripMenuItem.Click += new System.EventHandler(this.鏄剧ず闃�闂═oolStripMenuItem_Click); // // 闅愯棌闃�闂═oolStripMenuItem // this.闅愯棌闃�闂═oolStripMenuItem.Name = "闅愯棌闃�闂═oolStripMenuItem"; - this.闅愯棌闃�闂═oolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.闅愯棌闃�闂═oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.闅愯棌闃�闂═oolStripMenuItem.Text = "闅愯棌闃�闂�"; this.闅愯棌闃�闂═oolStripMenuItem.Click += new System.EventHandler(this.闅愯棌闃�闂═oolStripMenuItem_Click); // @@ -1109,7 +1125,7 @@ this.涓璗oolStripMenuItem1, this.灏廡oolStripMenuItem1}); this.绠$嚎绮楃粏ToolStripMenuItem.Name = "绠$嚎绮楃粏ToolStripMenuItem"; - this.绠$嚎绮楃粏ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.绠$嚎绮楃粏ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.绠$嚎绮楃粏ToolStripMenuItem.Text = "绠$嚎绮楃粏"; // // 澶oolStripMenuItem1 @@ -1136,7 +1152,7 @@ // toolStripSeparator13 // this.toolStripSeparator13.Name = "toolStripSeparator13"; - this.toolStripSeparator13.Size = new System.Drawing.Size(150, 6); + this.toolStripSeparator13.Size = new System.Drawing.Size(177, 6); // // 缂╂斁绾у埆ToolStripMenuItem // @@ -1145,7 +1161,7 @@ this.姝e父ToolStripMenuItem, this.缂╁皬ToolStripMenuItem}); this.缂╂斁绾у埆ToolStripMenuItem.Name = "缂╂斁绾у埆ToolStripMenuItem"; - this.缂╂斁绾у埆ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.缂╂斁绾у埆ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.缂╂斁绾у埆ToolStripMenuItem.Text = "缂╂斁绾у埆"; // // 鏀惧ぇToolStripMenuItem2 @@ -1169,7 +1185,7 @@ // toolStripSeparator5 // this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(150, 6); + this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6); // // 闅愯棌鍐呭ToolStripMenuItem // @@ -1177,7 +1193,7 @@ this.鏄剧ず鎵�鏈夐殣钘忓唴瀹筎oolStripMenuItem, this.闅愯棌ToolStripMenuItem}); this.闅愯棌鍐呭ToolStripMenuItem.Name = "闅愯棌鍐呭ToolStripMenuItem"; - this.闅愯棌鍐呭ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.闅愯棌鍐呭ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.闅愯棌鍐呭ToolStripMenuItem.Text = "闅愯棌鍐呭"; // // 鏄剧ず鎵�鏈夐殣钘忓唴瀹筎oolStripMenuItem @@ -1196,83 +1212,83 @@ // toolStripSeparator17 // this.toolStripSeparator17.Name = "toolStripSeparator17"; - this.toolStripSeparator17.Size = new System.Drawing.Size(150, 6); + this.toolStripSeparator17.Size = new System.Drawing.Size(177, 6); // // 娣诲姞搴曞浘ToolStripMenuItem // this.娣诲姞搴曞浘ToolStripMenuItem.Name = "娣诲姞搴曞浘ToolStripMenuItem"; - this.娣诲姞搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.娣诲姞搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.娣诲姞搴曞浘ToolStripMenuItem.Text = "娣诲姞搴曞浘"; this.娣诲姞搴曞浘ToolStripMenuItem.Click += new System.EventHandler(this.娣诲姞搴曞浘ToolStripMenuItem_Click); // // 璁剧疆搴曞浘ToolStripMenuItem // this.璁剧疆搴曞浘ToolStripMenuItem.Name = "璁剧疆搴曞浘ToolStripMenuItem"; - this.璁剧疆搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.璁剧疆搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.璁剧疆搴曞浘ToolStripMenuItem.Text = "璁剧疆搴曞浘"; this.璁剧疆搴曞浘ToolStripMenuItem.Click += new System.EventHandler(this.璁剧疆搴曞浘ToolStripMenuItem_Click); // // 鏄剧ず闅愯棌搴曞浘ToolStripMenuItem // this.鏄剧ず闅愯棌搴曞浘ToolStripMenuItem.Name = "鏄剧ず闅愯棌搴曞浘ToolStripMenuItem"; - this.鏄剧ず闅愯棌搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.鏄剧ず闅愯棌搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏄剧ず闅愯棌搴曞浘ToolStripMenuItem.Text = "鏄剧ず/闅愯棌搴曞浘"; this.鏄剧ず闅愯棌搴曞浘ToolStripMenuItem.Click += new System.EventHandler(this.鏄剧ず闅愯棌搴曞浘ToolStripMenuItem_Click); // // 娓呴櫎搴曞浘ToolStripMenuItem // this.娓呴櫎搴曞浘ToolStripMenuItem.Name = "娓呴櫎搴曞浘ToolStripMenuItem"; - this.娓呴櫎搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.娓呴櫎搴曞浘ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.娓呴櫎搴曞浘ToolStripMenuItem.Text = "娓呴櫎搴曞浘"; this.娓呴櫎搴曞浘ToolStripMenuItem.Click += new System.EventHandler(this.娓呴櫎搴曞浘ToolStripMenuItem_Click); // // toolStripSeparator18 // this.toolStripSeparator18.Name = "toolStripSeparator18"; - this.toolStripSeparator18.Size = new System.Drawing.Size(150, 6); + this.toolStripSeparator18.Size = new System.Drawing.Size(177, 6); // // 鏄剧ず鐘舵�乀oolStripMenuItem // this.鏄剧ず鐘舵�乀oolStripMenuItem.Name = "鏄剧ず鐘舵�乀oolStripMenuItem"; - this.鏄剧ず鐘舵�乀oolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.鏄剧ず鐘舵�乀oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏄剧ず鐘舵�乀oolStripMenuItem.Text = "鏄剧ず鐘舵��"; this.鏄剧ず鐘舵�乀oolStripMenuItem.Click += new System.EventHandler(this.鏄剧ず鐘舵�乀oolStripMenuItem_Click); // // 闅愯棌鐘舵�乀oolStripMenuItem // this.闅愯棌鐘舵�乀oolStripMenuItem.Name = "闅愯棌鐘舵�乀oolStripMenuItem"; - this.闅愯棌鐘舵�乀oolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.闅愯棌鐘舵�乀oolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.闅愯棌鐘舵�乀oolStripMenuItem.Text = "闅愯棌鐘舵��"; this.闅愯棌鐘舵�乀oolStripMenuItem.Click += new System.EventHandler(this.闅愯棌鐘舵�乀oolStripMenuItem_Click); // // toolStripSeparator19 // this.toolStripSeparator19.Name = "toolStripSeparator19"; - this.toolStripSeparator19.Size = new System.Drawing.Size(150, 6); + this.toolStripSeparator19.Size = new System.Drawing.Size(177, 6); // // 鏄剧ず娴佸悜ToolStripMenuItem // this.鏄剧ず娴佸悜ToolStripMenuItem.Name = "鏄剧ず娴佸悜ToolStripMenuItem"; - this.鏄剧ず娴佸悜ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.鏄剧ず娴佸悜ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.鏄剧ず娴佸悜ToolStripMenuItem.Text = "鏄剧ず娴佸悜"; this.鏄剧ず娴佸悜ToolStripMenuItem.Click += new System.EventHandler(this.鏄剧ず娴佸悜ToolStripMenuItem_Click); // // 闅愯棌娴佸悜ToolStripMenuItem // this.闅愯棌娴佸悜ToolStripMenuItem.Name = "闅愯棌娴佸悜ToolStripMenuItem"; - this.闅愯棌娴佸悜ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.闅愯棌娴佸悜ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.闅愯棌娴佸悜ToolStripMenuItem.Text = "闅愯棌娴佸悜"; this.闅愯棌娴佸悜ToolStripMenuItem.Click += new System.EventHandler(this.闅愯棌娴佸悜ToolStripMenuItem_Click); // // toolStripSeparator20 // this.toolStripSeparator20.Name = "toolStripSeparator20"; - this.toolStripSeparator20.Size = new System.Drawing.Size(150, 6); + this.toolStripSeparator20.Size = new System.Drawing.Size(177, 6); // // 棰滆壊鍒嗙骇绠$悊ToolStripMenuItem // this.棰滆壊鍒嗙骇绠$悊ToolStripMenuItem.Name = "棰滆壊鍒嗙骇绠$悊ToolStripMenuItem"; - this.棰滆壊鍒嗙骇绠$悊ToolStripMenuItem.Size = new System.Drawing.Size(153, 22); + this.棰滆壊鍒嗙骇绠$悊ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.棰滆壊鍒嗙骇绠$悊ToolStripMenuItem.Text = "棰滆壊鍒嗙骇绠$悊"; this.棰滆壊鍒嗙骇绠$悊ToolStripMenuItem.Click += new System.EventHandler(this.棰滆壊鍒嗙骇绠$悊ToolStripMenuItem_Click); // @@ -1335,11 +1351,13 @@ // 瑙嗚ToolStripMenuItem // this.瑙嗚ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.榛樿瑙嗚ToolStripMenuItem, + this.toolStripSeparator23, this.淇鍥綯oolStripMenuItem, this.姝h鍥綯oolStripMenuItem, this.閲嶇疆瑙嗚ToolStripMenuItem}); this.瑙嗚ToolStripMenuItem.Name = "瑙嗚ToolStripMenuItem"; - this.瑙嗚ToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.瑙嗚ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.瑙嗚ToolStripMenuItem.Text = "瑙嗚"; // // 淇鍥綯oolStripMenuItem @@ -1532,6 +1550,37 @@ this.鍙嶉�塗oolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.鍙嶉�塗oolStripMenuItem.Text = "鍙嶉��"; this.鍙嶉�塗oolStripMenuItem.Click += new System.EventHandler(this.鍙嶉�塗oolStripMenuItem_Click); + // + // timer_draw + // + this.timer_draw.Enabled = true; + this.timer_draw.Interval = 33; + this.timer_draw.Tick += new System.EventHandler(this.timer_draw_Tick); + // + // toolStripSeparator22 + // + this.toolStripSeparator22.Name = "toolStripSeparator22"; + this.toolStripSeparator22.Size = new System.Drawing.Size(177, 6); + // + // 妤煎眰绠$悊ToolStripMenuItem + // + this.妤煎眰绠$悊ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("妤煎眰绠$悊ToolStripMenuItem.Image"))); + this.妤煎眰绠$悊ToolStripMenuItem.Name = "妤煎眰绠$悊ToolStripMenuItem"; + this.妤煎眰绠$悊ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.妤煎眰绠$悊ToolStripMenuItem.Text = "妤煎眰绠$悊"; + this.妤煎眰绠$悊ToolStripMenuItem.Click += new System.EventHandler(this.妤煎眰绠$悊ToolStripMenuItem_Click); + // + // toolStripSeparator23 + // + this.toolStripSeparator23.Name = "toolStripSeparator23"; + this.toolStripSeparator23.Size = new System.Drawing.Size(177, 6); + // + // 榛樿瑙嗚ToolStripMenuItem + // + this.榛樿瑙嗚ToolStripMenuItem.Name = "榛樿瑙嗚ToolStripMenuItem"; + this.榛樿瑙嗚ToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.榛樿瑙嗚ToolStripMenuItem.Text = "榛樿瑙嗚"; + this.榛樿瑙嗚ToolStripMenuItem.Click += new System.EventHandler(this.榛樿瑙嗚ToolStripMenuItem_Click); // // MapViewer // @@ -1740,5 +1789,11 @@ private ToolStripMenuItem 棰滆壊鍒嗙骇绠$悊ToolStripMenuItem; private ToolStripButton tb_棰滆壊鍒嗙骇璁剧疆; private ToolStripSeparator toolStripSeparator21; + private Timer timer_draw; + private ToolStripStatusLabel label_ZZ; + private ToolStripSeparator toolStripSeparator22; + private ToolStripMenuItem 妤煎眰绠$悊ToolStripMenuItem; + private ToolStripMenuItem 榛樿瑙嗚ToolStripMenuItem; + private ToolStripSeparator toolStripSeparator23; } } diff --git a/Hydraulic/Hydro.MapUI/Map/MapViewer.Model.cs b/Hydraulic/Hydro.MapUI/Map/MapViewer.Model.cs index 242304c..6b08526 100644 --- a/Hydraulic/Hydro.MapUI/Map/MapViewer.Model.cs +++ b/Hydraulic/Hydro.MapUI/Map/MapViewer.Model.cs @@ -39,11 +39,12 @@ #region 鏂板绠$綉 [Browsable(false)] - public Template _newTemplate { get; set; } = new Template(); + public Template _newTemplate { get; set; } = null;// new Template(); MapViewNetWork _NewNet { get { + if (_newTemplate==null) _newTemplate = new Template(); if (_newTemplate.network == null) _newTemplate.network = new MapViewNetWork(); return _newTemplate.network; } @@ -189,13 +190,43 @@ private const float MaxZoom = 1000.0f; [DisplayName("缂╂斁绯绘暟")] - public float zoom { get { return mapOption.zoom; }set { mapOption.zoom = value; } } + public float zoom + { + get + { + return mapOption.zoom; + } + set + { + mapOption.zoom = value; + } + } [DisplayName("鏃嬭浆瑙掑害")] - public double Rotation { get { return mapOption.rotation; } set { mapOption.rotation = value; } } + public double Rotation + { + get + { + return mapOption.rotation; + } + set + { + mapOption.rotation = value; + } + } private double Rotation0 = 0; [Browsable(false)] - public PointF MapCenter { get { return mapOption.Center; } set { mapOption.Center = value; } } + public PointF MapCenter + { + get + { + return mapOption.Center; + } + set + { + mapOption.Center = value; + } + } private PointF MapCenter0; private bool is3Dview = false; double 淇瑙掑害_start = 90; @@ -206,13 +237,15 @@ [DisplayName("淇瑙掑害")] public double RotationF { - get { + get + { if (Lock2DView) mapOption.rotationF = 90; return mapOption.rotationF; } - set { + set + { if (Lock2DView) mapOption.rotationF = 90; diff --git a/Hydraulic/Hydro.MapUI/WindowsForm/Form_EditFloors.cs b/Hydraulic/Hydro.MapUI/WindowsForm/Form_EditFloors.cs index 783dab1..ac6ae3e 100644 --- a/Hydraulic/Hydro.MapUI/WindowsForm/Form_EditFloors.cs +++ b/Hydraulic/Hydro.MapUI/WindowsForm/Form_EditFloors.cs @@ -13,7 +13,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using static System.Windows.Forms.VisualStyles.VisualStyleElement; -using TRegion = Hydro.MapView.TRegion; +//using TRegion = Hydro.MapView.TRegion; namespace Hydro.MapUI { diff --git a/Hydraulic/Hydro.MapView/Base/AreaViewModel.cs b/Hydraulic/Hydro.MapView/Base/AreaViewModel.cs index 57a68bd..723fea0 100644 --- a/Hydraulic/Hydro.MapView/Base/AreaViewModel.cs +++ b/Hydraulic/Hydro.MapView/Base/AreaViewModel.cs @@ -32,6 +32,13 @@ [Browsable(false)] public bool Selected { get; set; } + [Category("4銆佸叾浠栧弬鏁�")] + [Description("榧犳爣鎮簬涓婃柟")] + [DisplayName("榧犳爣鎮簬涓婃柟")] + [Browsable(false)] + public bool Hovered { get; set; } + + [Category("4銆佸叾浠栧弬鏁�")] [Description("閫変腑")] diff --git a/Hydraulic/Hydro.MapView/Base/IBaseViewModel.cs b/Hydraulic/Hydro.MapView/Base/IBaseViewModel.cs index 24a0b93..ecdf2ac 100644 --- a/Hydraulic/Hydro.MapView/Base/IBaseViewModel.cs +++ b/Hydraulic/Hydro.MapView/Base/IBaseViewModel.cs @@ -25,6 +25,8 @@ [DisplayName("閫変腑")] [Browsable(false)] bool Selected { get; set; } + [Browsable(false)] + bool Hovered { get; set; } [Category("4銆佸叾浠栧弬鏁�")] @@ -104,6 +106,7 @@ MapObjectType GetTypeString(); TagList Tags { get; set; } + //string TagsString { get; set; } diff --git a/Hydraulic/Hydro.MapView/Base/LinkViewModel.cs b/Hydraulic/Hydro.MapView/Base/LinkViewModel.cs index a3b03b5..0e9f8bd 100644 --- a/Hydraulic/Hydro.MapView/Base/LinkViewModel.cs +++ b/Hydraulic/Hydro.MapView/Base/LinkViewModel.cs @@ -115,7 +115,7 @@ [Browsable(false)] - + [JsonIgnore] public List<PointF> Points { get { return new List<PointF>() { StartNode.Position, EndNode.Position }; } } public PointF[] ToArray(bool is3Dview = false) { diff --git a/Hydraulic/Hydro.MapView/Hydro.MapView.csproj b/Hydraulic/Hydro.MapView/Hydro.MapView.csproj index af47f47..23272c5 100644 --- a/Hydraulic/Hydro.MapView/Hydro.MapView.csproj +++ b/Hydraulic/Hydro.MapView/Hydro.MapView.csproj @@ -18,17 +18,17 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>0</WarningLevel> <UseVSHostingProcess>false</UseVSHostingProcess> - <PlatformTarget>x64</PlatformTarget> + <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydraulic/Hydro.MapView/MapViewNetWork.cs b/Hydraulic/Hydro.MapView/MapViewNetWork.cs index 0df3766..ecda281 100644 --- a/Hydraulic/Hydro.MapView/MapViewNetWork.cs +++ b/Hydraulic/Hydro.MapView/MapViewNetWork.cs @@ -50,8 +50,9 @@ /// 鏍稿績鎵胯浇瀛楁 /// </summary> //public new List<LinkViewModel> Links = new List<LinkViewModel>(); - + [JsonIgnore] public Dictionary<string, Dataset> dict_dataset = new Dictionary<string, Dataset>(); + [JsonIgnore] public HashSet<string> Hash_ID; [JsonIgnore] diff --git a/Hydraulic/Hydro.MapView/Template/Template.cs b/Hydraulic/Hydro.MapView/Template/Template.cs index 8bdbaaa..290dd3c 100644 --- a/Hydraulic/Hydro.MapView/Template/Template.cs +++ b/Hydraulic/Hydro.MapView/Template/Template.cs @@ -156,7 +156,7 @@ [Category("5銆佹ゼ灞�")] [DisplayName("妤煎眰")] - public List<TRegion> Regions { get; set; } = new List<TRegion>(); + public List<TRegion> Regions { get; set; } = null;// new List<TRegion>(); [Category("1銆佸熀鏈俊鎭�")] [DisplayName("鏍囬珮")] diff --git a/Hydraulic/Hydro.Revit2022/Hydro.Revit2022.csproj b/Hydraulic/Hydro.Revit2022/Hydro.Revit2022.csproj index 631feba..19c0155 100644 --- a/Hydraulic/Hydro.Revit2022/Hydro.Revit2022.csproj +++ b/Hydraulic/Hydro.Revit2022/Hydro.Revit2022.csproj @@ -17,7 +17,7 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\..\bin\debug\</OutputPath> + <OutputPath>..\..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> @@ -26,7 +26,7 @@ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>..\..\..\bin\release\</OutputPath> + <OutputPath>..\..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> diff --git a/Hydro.ClientTool/App.config b/Hydro.ClientTool/App.config index 56efbc7..4d54a72 100644 --- a/Hydro.ClientTool/App.config +++ b/Hydro.ClientTool/App.config @@ -1,6 +1,18 @@ -锘�<?xml version="1.0" encoding="utf-8" ?> +锘�<?xml version="1.0" encoding="utf-8"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> </startup> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> </configuration> \ No newline at end of file diff --git a/Hydro.ClientTool/Form1.Designer.cs b/Hydro.ClientTool/Form1.Designer.cs index 5944073..2337e9e 100644 --- a/Hydro.ClientTool/Form1.Designer.cs +++ b/Hydro.ClientTool/Form1.Designer.cs @@ -28,25 +28,38 @@ /// </summary> private void InitializeComponent() { - this.button1 = new System.Windows.Forms.Button(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + //this.mapViewer1 = new Hydro.MapUI.MapViewer(); this.SuspendLayout(); // - // button1 + // mapViewer1 // - this.button1.Location = new System.Drawing.Point(79, 95); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(75, 23); - this.button1.TabIndex = 0; - this.button1.Text = "button1"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); + //this.mapViewer1._IsEditMode = true; + //this.mapViewer1._newTemplate = null;/*((Hydro.MapView.Template)(resources.GetObject("mapViewer1._newTemplate")));*/ + //this.mapViewer1._ShowJunction = true; + //this.mapViewer1._ShowValve = true; + //this.mapViewer1._Template = null; + //this.mapViewer1.BackColor = System.Drawing.Color.Transparent; + //this.mapViewer1.Dock = System.Windows.Forms.DockStyle.Fill; + //this.mapViewer1.junction_multiply = 1F; + //this.mapViewer1.Link_multiply = 1F; + //this.mapViewer1.Location = new System.Drawing.Point(0, 0); + //this.mapViewer1.MapCenter = new System.Drawing.PointF(0,0);//((System.Drawing.PointF)(resources.GetObject("mapViewer1.MapCenter"))); + //this.mapViewer1.Name = "mapViewer1"; + //this.mapViewer1.Rotation = 0D; + //this.mapViewer1.RotationF = 90D; + //this.mapViewer1.ShowStatusBar = true; + //this.mapViewer1.showToolBar = false; + //this.mapViewer1.Size = new System.Drawing.Size(800, 450); + //this.mapViewer1.TabIndex = 1; + //this.mapViewer1.zoom = 1F; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); - this.Controls.Add(this.button1); + //this.Controls.Add(this.mapViewer1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); @@ -56,7 +69,7 @@ #endregion - private System.Windows.Forms.Button button1; + //private MapUI.MapViewer mapViewer1; } } diff --git a/Hydro.ClientTool/Form1.cs b/Hydro.ClientTool/Form1.cs index bf2cebd..6ce52b8 100644 --- a/Hydro.ClientTool/Form1.cs +++ b/Hydro.ClientTool/Form1.cs @@ -7,7 +7,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; -using Hydro.MapUI; +//using Hydro.MapUI; namespace Hydro.ClientTool { @@ -25,7 +25,7 @@ private void button1_Click(object sender, EventArgs e) { - MapViewer viwer = new MapViewer(true); + //MapViewer viwer = new MapViewer(true); //viwer.Dock = DockStyle.Fill; //viwer.Name = "MapViewer"; //this.Controls.Add(viwer); diff --git a/Hydro.ClientTool/Form1.resx b/Hydro.ClientTool/Form1.resx index 1af7de1..ecba174 100644 --- a/Hydro.ClientTool/Form1.resx +++ b/Hydro.ClientTool/Form1.resx @@ -117,4 +117,52 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> + <data name="mapViewer1._newTemplate" mimetype="application/x-microsoft.net.object.binary.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAERIeWRyby5NYXBWaWV3LCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1 + cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9u + PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwE + AAAAkwFIeWRyby5NYXBWaWV3LCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGlj + S2V5VG9rZW49bnVsbF1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWws + IFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAABZIeWRyby5NYXBWaWV3LlRlbXBsYXRl + GQAAAANfSUQVPE5hbWU+a19fQmFja2luZ0ZpZWxkGjxtYXBPcHRpb24+a19fQmFja2luZ0ZpZWxkCV9m + aWxlUGF0aBc8T2ZmU2V0PmtfX0JhY2tpbmdGaWVsZA5CYWNrR3JvdW5kRWxldg5CYWNrR3JvdW5kSW1n + WA5CYWNrR3JvdW5kSW1nWRNCYWNrR3JvdW5kSW1nSGVpZ2h0EkJhY2tHcm91bmRJbWdXaWR0aBZCYWNr + R3JvdW5kSW1nUm90YUFuZ2xlEEJhY2tHcm91bmRQb2ludDEQQmFja0dyb3VuZFBvaW50MiA8SW1wb3J0 + RXhjZWxQYXRoPmtfX0JhY2tpbmdGaWVsZCE8SW1wb3J0RXhjZWxJbmRleD5rX19CYWNraW5nRmllbGQZ + PE1heExldmVsPmtfX0JhY2tpbmdGaWVsZBU8VHlwZT5rX19CYWNraW5nRmllbGQYPFJlZ2lvbnM+a19f + QmFja2luZ0ZpZWxkFjxOb2RlMT5rX19CYWNraW5nRmllbGQWPE5vZGUyPmtfX0JhY2tpbmdGaWVsZBI8 + WD5rX19CYWNraW5nRmllbGQSPFk+a19fQmFja2luZ0ZpZWxkGDxWaXNpYmxlPmtfX0JhY2tpbmdGaWVs + ZBU8dmlldz5rX19CYWNraW5nRmllbGQYPENvbG91cnM+a19fQmFja2luZ0ZpZWxkAQEEAQQAAAAAAAAE + BAEAAAQEAQEBAQEEBBdIeWRyby5NYXBWaWV3Lk1hcE9wdGlvbgIAAAAWSHlkcm8uTWFwVmlldy5Qb2lu + dEYzRAIAAAALCwsLCwsVU3lzdGVtLkRyYXdpbmcuUG9pbnRGAwAAABVTeXN0ZW0uRHJhd2luZy5Qb2lu + dEYDAAAACAgmSHlkcm8uTWFwVmlldy5NYXBWaWV3RW51bStUZW1wbGF0ZVR5cGUCAAAAOFN5c3RlbS5D + b2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbSHlkcm8uTWFwVmlldy5UUmVnaW9uBAAAABtIeWRyby5N + YXBWaWV3Lk1hcERpbWVuc2lvbnMCAAAAN1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtb + SHlkcm8uTWFwVmlldy5Db2xvdXIEAAAAAgAAAAYFAAAAJDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAw + MDAwMDAwMDAwMAYGAAAABuS4tOaXtgkHAAAACgkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABff/ + //8VU3lzdGVtLkRyYXdpbmcuUG9pbnRGAgAAAAF4AXkAAAsLAwAAAAAAAAAAAAAAAfb////3////AAAA + AAAAAAAKAAAAAGMAAAAF9f///yZIeWRyby5NYXBWaWV3Lk1hcFZpZXdFbnVtK1RlbXBsYXRlVHlwZQEA + AAAHdmFsdWVfXwAIAgAAAAAAAAAJDAAAAAoKCgoKCgkNAAAABQcAAAAXSHlkcm8uTWFwVmlldy5NYXBP + cHRpb24GAAAAHjxMaW5rX211bHRpcGx5PmtfX0JhY2tpbmdGaWVsZCI8anVuY3Rpb25fbXVsdGlwbHk+ + a19fQmFja2luZ0ZpZWxkGzxfU2hvd1ZhbHZlPmtfX0JhY2tpbmdGaWVsZB48X1Nob3dKdW5jdGlvbj5r + X19CYWNraW5nRmllbGQcPF9TaG93U3RhdHVzPmtfX0JhY2tpbmdGaWVsZCM8X1Nob3dGbG93RGlyZWN0 + aW9uPmtfX0JhY2tpbmdGaWVsZAAAAAAAAAsLAQEBAQIAAADarCo/AACAPwEBAAAFCAAAABZIeWRyby5N + YXBWaWV3LlBvaW50RjNEAwAAABI8WD5rX19CYWNraW5nRmllbGQSPFk+a19fQmFja2luZ0ZpZWxkEjxa + PmtfX0JhY2tpbmdGaWVsZAAAAAsLCwIAAAAAAAAAAAAAAAAAAAAFDAAAADhTeXN0ZW0uQ29sbGVjdGlv + bnMuR2VuZXJpYy5MaXN0YDFbW0h5ZHJvLk1hcFZpZXcuVFJlZ2lvbgMAAAAGX2l0ZW1zBV9zaXplCF92 + ZXJzaW9uBAAAF0h5ZHJvLk1hcFZpZXcuVFJlZ2lvbltdAgAAAAgIBAAAAAkOAAAAAAAAAAAAAAAFDQAA + ADdTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW0h5ZHJvLk1hcFZpZXcuQ29sb3VyAwAA + AAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAWSHlkcm8uTWFwVmlldy5Db2xvdXJbXQIAAAAICAQAAAAJ + DwAAAAAAAAAAAAAABw4AAAAAAQAAAAAAAAAEFUh5ZHJvLk1hcFZpZXcuVFJlZ2lvbgIAAAAHDwAAAAAB + AAAAAAAAAAQUSHlkcm8uTWFwVmlldy5Db2xvdXICAAAACw== +</value> + </data> + <data name="mapViewer1.MapCenter" mimetype="application/x-microsoft.net.object.binary.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJh + d2luZy5Qb2ludEYCAAAAAXgBeQAACwsCAAAAAAAAAAAAAAAL +</value> + </data> </root> \ No newline at end of file diff --git a/Hydro.ClientTool/Form2.Designer.cs b/Hydro.ClientTool/Form2.Designer.cs new file mode 100644 index 0000000..228ac9f --- /dev/null +++ b/Hydro.ClientTool/Form2.Designer.cs @@ -0,0 +1,89 @@ +锘� +namespace Hydro.ClientTool +{ + partial class Form2 + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form2)); + this.mapViewer1 = new Hydro.MapUI.MapViewer(); + this.propertyForm1 = new Hydro.MapUI.PropertyForm(); + this.SuspendLayout(); + // + // mapViewer1 + // + this.mapViewer1._IsEditMode = true; + this.mapViewer1._newTemplate = null; + this.mapViewer1._ShowJunction = true; + this.mapViewer1._ShowValve = true; + this.mapViewer1._Template = null; + this.mapViewer1.BackColor = System.Drawing.Color.Transparent; + this.mapViewer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.mapViewer1.junction_multiply = 1F; + this.mapViewer1.Link_multiply = 1F; + this.mapViewer1.Location = new System.Drawing.Point(0, 0); + this.mapViewer1.MapCenter = ((System.Drawing.PointF)(resources.GetObject("mapViewer1.MapCenter"))); + this.mapViewer1.Name = "mapViewer1"; + this.mapViewer1.Rotation = 0D; + this.mapViewer1.RotationF = 90D; + this.mapViewer1.ShowStatusBar = true; + this.mapViewer1.showToolBar = true; + this.mapViewer1.Size = new System.Drawing.Size(1000, 666); + this.mapViewer1.TabIndex = 0; + this.mapViewer1.zoom = 1F; + // + // propertyForm1 + // + this.propertyForm1.Dock = System.Windows.Forms.DockStyle.Right; + this.propertyForm1.Location = new System.Drawing.Point(1000, 0); + this.propertyForm1.Name = "propertyForm1"; + this.propertyForm1.Size = new System.Drawing.Size(272, 666); + this.propertyForm1.TabIndex = 1; + // + // Form2 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1272, 666); + this.Controls.Add(this.mapViewer1); + this.Controls.Add(this.propertyForm1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Form2"; + this.ShowIcon = false; + this.Text = "鍦板浘娴嬭瘯"; + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.Load += new System.EventHandler(this.Form2_Load); + this.ResumeLayout(false); + + } + + #endregion + + private MapUI.MapViewer mapViewer1; + private MapUI.PropertyForm propertyForm1; + } +} \ No newline at end of file diff --git a/Hydro.ClientTool/Form2.cs b/Hydro.ClientTool/Form2.cs new file mode 100644 index 0000000..218d191 --- /dev/null +++ b/Hydro.ClientTool/Form2.cs @@ -0,0 +1,46 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Hydro.MapUI; +using Hydro.MapView; +using Hydro.MapView.Common; + +namespace Hydro.ClientTool +{ + public partial class Form2 : Form + { + public Form2() + { + + InitializeComponent(); + } + + private void 鎵撳紑OToolStripMenuItem_Click(object sender, EventArgs e) + { + 妯℃澘绠$悊 form = new 妯℃澘绠$悊(); + if(form.ShowDialog()==DialogResult.OK) + { + var temp = TemplateList.GetTemplate(form.TemplateID); + mapViewer1.SetData(temp); + } + + } + + private void Form2_Load(object sender, EventArgs e) + { + this.mapViewer1.showToolBar = true; + if(TemplateList.Inited == false) + { + TemplateList.Init(); + } + GlobalObject.map = this.mapViewer1; + GlobalObject.PropertyForm = this.propertyForm1; + } + } +} diff --git a/Test/Properties/Resources.resx b/Hydro.ClientTool/Form2.resx similarity index 63% rename from Test/Properties/Resources.resx rename to Hydro.ClientTool/Form2.resx index af7dbeb..53b2a04 100644 --- a/Test/Properties/Resources.resx +++ b/Hydro.ClientTool/Form2.resx @@ -46,7 +46,7 @@ mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with - : System.Serialization.Formatters.Binary.BinaryFormatter + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 @@ -60,6 +60,7 @@ : and then encoded with base64 encoding. --> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:element name="root" msdata:IsDataSet="true"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> @@ -68,9 +69,10 @@ <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" /> </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" /> + <xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="assembly"> @@ -85,9 +87,10 @@ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="resheader"> @@ -109,9 +112,41 @@ <value>2.0</value> </resheader> <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> + <data name="mapViewer1.MapCenter" mimetype="application/x-microsoft.net.object.binary.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJh + d2luZy5Qb2ludEYCAAAAAXgBeQAACwsCAAAAAAAAAAAAAAAL +</value> + </data> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABILAAASCwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAASD85skg/Of9IPzn/SD85/0g/Of9IPzn/SD85/0g/Of9IPzn/SD85/0g/Of9IPzn/SD85/0g/ + Of9IPzn/SD85skg/Of/t6uj/7ero/+3q6P/t6uj/d2he/+3q6P/t6uj/7ero/+3q6P93aF7/7ero/+3q + 6P/t6uj/7ero/0g/Of9IPzn/5eDc/+Xg3P/l4Nz/5eDc/3doXv/l4Nz/5eDc/+Xg3P/l4Nz/d2he/+Xg + 3P/l4Nz/5eDc/+Xg3P9IPzn/SD85//j39v/49/b/+Pf2//j39v93aF7/+Pf2//j39v/49/b/+Pf2/3do + Xv/49/b/+Pf2//j39v/49/b/SD85/0g/ObJIPzn/SD85/0g/Of9IPzn/s2EK/7NhCv+zYQr/s2EK/7Nh + Cv+zYQr/d2he/3doXv93aF7/d2he/0g/Of8AAAAAAAAAAAAAAAAAAAAAAAAAALNhCv/o1q//6Nav/+jW + r//o1q//s2EK/+3q6P/t6uj/7ero/+3q6P9IPzn/AAAAAAAAAAAAAAAAAAAAAAAAAACzYQr/5tKo/+bS + qP/m0qj/5tKo/7NhCv/l4Nz/5eDc/+Xg3P/l4Nz/SD85/wAAAAAAAAAAAAAAAAAAAACzYQr/s2EK/7Nh + Cv/69ez/+vXs//r17P+zYQr/+Pf2//j39v/49/b/+Pf2/0g/Of8AAAAAAAAAAAAAAAAAAAAAs2EK/7Nh + Cv+zYQr/s2EK/7NhCv+zYQr/s2EK/7NhCv+zYQr/s2EK/7NhCv+zYQr/AAAAAAAAAAAAAAAAAAAAALNh + Cv+zYQr/s2EK/wAAAAAAAAAAAAAAALNhCv/o1q//6Nav/+jWr//o1q//s2EK/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzYQr/5tKo/+bSqP/m0qj/5tKo/7NhCv8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzYQr/s2EK/7NhCv/69ez/+vXs//r17P+zYQr/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs2EK/7NhCv+zYQr/s2EK/7NhCv+zYQr/s2EKsgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNhCv+zYQr/s2EK/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP//AAD//wAA//8AAP//AAD//wAAB/8AAAf/AAAP/wAAD/8AAA4/MXcAPzJ3AH8AAAB/ + AAAAcAAAAAAAAA== +</value> + </data> </root> \ No newline at end of file diff --git a/Hydro.ClientTool/Hydro.ClientTool.csproj b/Hydro.ClientTool/Hydro.ClientTool.csproj index a13e147..f5a6315 100644 --- a/Hydro.ClientTool/Hydro.ClientTool.csproj +++ b/Hydro.ClientTool/Hydro.ClientTool.csproj @@ -18,23 +18,33 @@ <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> + <OutputPath>..\out\debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> + <WarningLevel>0</WarningLevel> + <Prefer32Bit>false</Prefer32Bit> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> + <OutputPath>..\out\release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> + <Reference Include="DevExpress.Data.Desktop.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> + <Reference Include="DevExpress.Data.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> + <Reference Include="DevExpress.Drawing.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> + <Reference Include="DevExpress.Printing.v22.2.Core, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> + <Reference Include="DevExpress.Utils.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> + <Reference Include="PresentationCore" /> <Reference Include="System" /> + <Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.Core" /> + <Reference Include="System.Runtime.Remoting" /> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="Microsoft.CSharp" /> @@ -44,18 +54,21 @@ <Reference Include="System.Net.Http" /> <Reference Include="System.Windows.Forms" /> <Reference Include="System.Xml" /> + <Reference Include="UIAutomationClient" /> + <Reference Include="WindowsBase" /> </ItemGroup> <ItemGroup> - <Compile Include="Form1.cs"> + <Compile Include="Form2.cs"> <SubType>Form</SubType> </Compile> - <Compile Include="Form1.Designer.cs"> - <DependentUpon>Form1.cs</DependentUpon> + <Compile Include="Form2.Designer.cs"> + <DependentUpon>Form2.cs</DependentUpon> </Compile> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> - <EmbeddedResource Include="Form1.resx"> - <DependentUpon>Form1.cs</DependentUpon> + <EmbeddedResource Include="Form2.resx"> + <DependentUpon>Form2.cs</DependentUpon> + <SubType>Designer</SubType> </EmbeddedResource> <EmbeddedResource Include="Properties\Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> @@ -80,14 +93,30 @@ <None Include="App.config" /> </ItemGroup> <ItemGroup> + <ProjectReference Include="..\Hydraulic\Hydro.CommonBase\Hydro.CommonBase.csproj"> + <Project>{84E17BA3-BA03-43C1-9D19-8CE64508F2B5}</Project> + <Name>Hydro.CommonBase</Name> + </ProjectReference> <ProjectReference Include="..\Hydraulic\Hydro.Core\Hydro.Core.csproj"> <Project>{ca211620-16a7-4953-929d-723a5f9d3239}</Project> <Name>Hydro.Core</Name> </ProjectReference> + <ProjectReference Include="..\Hydraulic\Hydro.HydraulicOptimizer\Hydro.HydraulicOptimizer.csproj"> + <Project>{0f5c43e6-97ba-457c-954d-62eab47a38a9}</Project> + <Name>Hydro.HydraulicOptimizer</Name> + </ProjectReference> + <ProjectReference Include="..\Hydraulic\Hydro.Inp2.2\Hydro.Inp2.2.csproj"> + <Project>{fffbe974-ba86-420d-aa27-6db215017c8c}</Project> + <Name>Hydro.Inp2.2</Name> + </ProjectReference> <ProjectReference Include="..\Hydraulic\Hydro.MapUI\Hydro.MapUI.csproj"> <Project>{50a0264a-17c1-4132-bf90-91e4ba593c88}</Project> <Name>Hydro.MapUI</Name> </ProjectReference> + <ProjectReference Include="..\Hydraulic\Hydro.MapView\Hydro.MapView.csproj"> + <Project>{18e2e3d7-508e-4781-a760-ba852564e409}</Project> + <Name>Hydro.MapView</Name> + </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project> \ No newline at end of file diff --git a/Hydro.ClientTool/Program.cs b/Hydro.ClientTool/Program.cs index 6b2ba78..cb3d5ff 100644 --- a/Hydro.ClientTool/Program.cs +++ b/Hydro.ClientTool/Program.cs @@ -16,7 +16,7 @@ { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); + Application.Run(new Form2()); } } } diff --git a/HydroV1.1.sln b/HydroV1.1.sln index 2716a90..97b9922 100644 --- a/HydroV1.1.sln +++ b/HydroV1.1.sln @@ -29,413 +29,156 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hydro.HydraulicOptimizer", "Hydraulic\Hydro.HydraulicOptimizer\Hydro.HydraulicOptimizer.csproj", "{0F5C43E6-97BA-457C-954D-62EAB47A38A9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{AB9E43B0-B848-417E-85C3-B350062F1B20}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hydro.ClientTool", "Hydro.ClientTool\Hydro.ClientTool.csproj", "{A87A91DE-3A66-4305-8C4D-61927C4F2D4F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug_new|Any CPU = Debug_new|Any CPU - Debug_new|x64 = Debug_new|x64 - Debug_new|x86 = Debug_new|x86 Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 - Debug1|Any CPU = Debug1|Any CPU - Debug1|x64 = Debug1|x64 - Debug1|x86 = Debug1|x86 - dll_test|Any CPU = dll_test|Any CPU - dll_test|x64 = dll_test|x64 - dll_test|x86 = dll_test|x86 Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug_new|x64.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug_new|x86.Build.0 = Debug|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Debug|Any CPU.Build.0 = Debug|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Debug|x64.ActiveCfg = Debug|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Debug|x64.Build.0 = Debug|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Debug|x86.ActiveCfg = Debug|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Debug|x86.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug1|x64.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug1|x64.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug1|x86.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.Debug1|x86.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.dll_test|x64.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.dll_test|x64.Build.0 = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.dll_test|x86.ActiveCfg = Debug|Any CPU - {CA211620-16A7-4953-929D-723A5F9D3239}.dll_test|x86.Build.0 = Debug|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Release|Any CPU.ActiveCfg = Release|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Release|Any CPU.Build.0 = Release|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Release|x64.ActiveCfg = Release|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Release|x64.Build.0 = Release|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Release|x86.ActiveCfg = Release|Any CPU {CA211620-16A7-4953-929D-723A5F9D3239}.Release|x86.Build.0 = Release|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug_new|x64.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug_new|x86.Build.0 = Debug|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug|Any CPU.Build.0 = Debug|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug|x64.ActiveCfg = Debug|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug|x64.Build.0 = Debug|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug|x86.ActiveCfg = Debug|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug|x86.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug1|x64.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug1|x64.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug1|x86.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Debug1|x86.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.dll_test|x64.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.dll_test|x64.Build.0 = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.dll_test|x86.ActiveCfg = Debug|Any CPU - {FFFBE974-BA86-420D-AA27-6DB215017C8C}.dll_test|x86.Build.0 = Debug|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Release|Any CPU.ActiveCfg = Release|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Release|Any CPU.Build.0 = Release|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Release|x64.ActiveCfg = Release|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Release|x64.Build.0 = Release|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Release|x86.ActiveCfg = Release|Any CPU {FFFBE974-BA86-420D-AA27-6DB215017C8C}.Release|x86.Build.0 = Release|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug_new|Any CPU.ActiveCfg = Debug_new|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug_new|Any CPU.Build.0 = Debug_new|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug_new|x64.ActiveCfg = Debug_new|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug_new|x64.Build.0 = Debug_new|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug_new|x86.ActiveCfg = Debug_new|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug_new|x86.Build.0 = Debug_new|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug|Any CPU.Build.0 = Debug|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug|x64.ActiveCfg = Debug|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug|x64.Build.0 = Debug|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug|x86.ActiveCfg = Debug|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug|x86.Build.0 = Debug|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug1|Any CPU.ActiveCfg = Debug1|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug1|Any CPU.Build.0 = Debug1|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug1|x64.ActiveCfg = Debug1|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug1|x64.Build.0 = Debug1|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug1|x86.ActiveCfg = Debug1|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.Debug1|x86.Build.0 = Debug1|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.dll_test|x64.ActiveCfg = Debug|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.dll_test|x64.Build.0 = Debug|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.dll_test|x86.ActiveCfg = Debug|Any CPU - {50A0264A-17C1-4132-BF90-91E4BA593C88}.dll_test|x86.Build.0 = Debug|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Release|Any CPU.ActiveCfg = Release|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Release|Any CPU.Build.0 = Release|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Release|x64.ActiveCfg = Release|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Release|x64.Build.0 = Release|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Release|x86.ActiveCfg = Release|Any CPU {50A0264A-17C1-4132-BF90-91E4BA593C88}.Release|x86.Build.0 = Release|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug_new|x64.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug_new|x86.Build.0 = Debug|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Debug|Any CPU.Build.0 = Debug|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Debug|x64.ActiveCfg = Debug|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Debug|x64.Build.0 = Debug|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Debug|x86.ActiveCfg = Debug|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Debug|x86.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug1|x64.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug1|x64.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug1|x86.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.Debug1|x86.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.dll_test|x64.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.dll_test|x64.Build.0 = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.dll_test|x86.ActiveCfg = Debug|Any CPU - {18E2E3D7-508E-4781-A760-BA852564E409}.dll_test|x86.Build.0 = Debug|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Release|Any CPU.ActiveCfg = Release|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Release|Any CPU.Build.0 = Release|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Release|x64.ActiveCfg = Release|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Release|x64.Build.0 = Release|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Release|x86.ActiveCfg = Release|Any CPU {18E2E3D7-508E-4781-A760-BA852564E409}.Release|x86.Build.0 = Release|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug_new|x64.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug_new|x86.Build.0 = Debug|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Debug|Any CPU.Build.0 = Debug|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Debug|x64.ActiveCfg = Debug|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Debug|x64.Build.0 = Debug|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Debug|x86.ActiveCfg = Debug|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Debug|x86.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug1|x64.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug1|x64.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug1|x86.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.Debug1|x86.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.dll_test|x64.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.dll_test|x64.Build.0 = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.dll_test|x86.ActiveCfg = Debug|Any CPU - {78653BED-368A-470D-A021-929F2E583313}.dll_test|x86.Build.0 = Debug|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Release|Any CPU.ActiveCfg = Release|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Release|Any CPU.Build.0 = Release|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Release|x64.ActiveCfg = Release|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Release|x64.Build.0 = Release|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Release|x86.ActiveCfg = Release|Any CPU {78653BED-368A-470D-A021-929F2E583313}.Release|x86.Build.0 = Release|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug_new|x64.Build.0 = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug_new|x86.Build.0 = Debug|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Debug|Any CPU.Build.0 = Debug|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Debug|x64.ActiveCfg = Debug|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Debug|x64.Build.0 = Debug|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Debug|x86.ActiveCfg = Debug|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Debug|x86.Build.0 = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug1|x64.ActiveCfg = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug1|x64.Build.0 = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug1|x86.ActiveCfg = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.Debug1|x86.Build.0 = Debug|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.dll_test|Any CPU.ActiveCfg = dll_test|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.dll_test|Any CPU.Build.0 = dll_test|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.dll_test|x64.ActiveCfg = dll_test|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.dll_test|x64.Build.0 = dll_test|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.dll_test|x86.ActiveCfg = dll_test|Any CPU - {791F7359-A30D-4401-B712-0E8E841840D9}.dll_test|x86.Build.0 = dll_test|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Release|Any CPU.ActiveCfg = Release|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Release|Any CPU.Build.0 = Release|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Release|x64.ActiveCfg = Release|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Release|x64.Build.0 = Release|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Release|x86.ActiveCfg = Release|Any CPU {791F7359-A30D-4401-B712-0E8E841840D9}.Release|x86.Build.0 = Release|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug_new|x64.ActiveCfg = Debug|x64 - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug_new|x64.Build.0 = Debug|x64 - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug_new|x86.Build.0 = Debug|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug|Any CPU.Build.0 = Debug|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug|x64.ActiveCfg = Debug|x64 {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug|x64.Build.0 = Debug|x64 {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug|x86.ActiveCfg = Debug|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug|x86.Build.0 = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug1|x64.ActiveCfg = Debug|x64 - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug1|x64.Build.0 = Debug|x64 - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug1|x86.ActiveCfg = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Debug1|x86.Build.0 = Debug|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.dll_test|Any CPU.ActiveCfg = dll_test|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.dll_test|Any CPU.Build.0 = dll_test|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.dll_test|x64.ActiveCfg = dll_test|x64 - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.dll_test|x64.Build.0 = dll_test|x64 - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.dll_test|x86.ActiveCfg = dll_test|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.dll_test|x86.Build.0 = dll_test|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|Any CPU.Build.0 = Release|Any CPU - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|x64.ActiveCfg = Release|x64 - {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|x64.Build.0 = Release|x64 + {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|x64.ActiveCfg = Release|Any CPU + {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|x64.Build.0 = Release|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|x86.ActiveCfg = Release|Any CPU {84E17BA3-BA03-43C1-9D19-8CE64508F2B5}.Release|x86.Build.0 = Release|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug_new|x64.ActiveCfg = Debug|x64 - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug_new|x64.Build.0 = Debug|x64 - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug_new|x86.Build.0 = Debug|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug|Any CPU.Build.0 = Debug|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug|x64.ActiveCfg = Debug|x64 {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug|x64.Build.0 = Debug|x64 {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug|x86.ActiveCfg = Debug|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug|x86.Build.0 = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug1|x64.ActiveCfg = Debug|x64 - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug1|x64.Build.0 = Debug|x64 - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug1|x86.ActiveCfg = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Debug1|x86.Build.0 = Debug|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.dll_test|Any CPU.ActiveCfg = dll_test|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.dll_test|Any CPU.Build.0 = dll_test|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.dll_test|x64.ActiveCfg = dll_test|x64 - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.dll_test|x64.Build.0 = dll_test|x64 - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.dll_test|x86.ActiveCfg = dll_test|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.dll_test|x86.Build.0 = dll_test|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|Any CPU.ActiveCfg = Release|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|Any CPU.Build.0 = Release|Any CPU - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|x64.ActiveCfg = Release|x64 - {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|x64.Build.0 = Release|x64 + {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|x64.ActiveCfg = Release|Any CPU + {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|x64.Build.0 = Release|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|x86.ActiveCfg = Release|Any CPU {5F33CE64-2329-422C-9DDA-903CEEF25A6E}.Release|x86.Build.0 = Release|Any CPU - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug_new|Any CPU.ActiveCfg = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug_new|Any CPU.Build.0 = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug_new|x64.ActiveCfg = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug_new|x64.Build.0 = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug_new|x86.ActiveCfg = Debug|Win32 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug_new|x86.Build.0 = Debug|Win32 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug|Any CPU.ActiveCfg = Debug|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug|Any CPU.Build.0 = Debug|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug|x64.ActiveCfg = Debug|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug|x64.Build.0 = Debug|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug|x86.ActiveCfg = Debug|Win32 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug|x86.Build.0 = Debug|Win32 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug1|Any CPU.ActiveCfg = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug1|Any CPU.Build.0 = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug1|x64.ActiveCfg = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug1|x64.Build.0 = Debug|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug1|x86.ActiveCfg = Debug|Win32 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Debug1|x86.Build.0 = Debug|Win32 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.dll_test|Any CPU.ActiveCfg = dll_test|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.dll_test|Any CPU.Build.0 = dll_test|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.dll_test|x64.ActiveCfg = dll_test|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.dll_test|x64.Build.0 = dll_test|x64 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.dll_test|x86.ActiveCfg = dll_test|Win32 - {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.dll_test|x86.Build.0 = dll_test|Win32 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Release|Any CPU.ActiveCfg = Release|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Release|Any CPU.Build.0 = Release|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Release|x64.ActiveCfg = Release|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Release|x64.Build.0 = Release|x64 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Release|x86.ActiveCfg = Release|Win32 {D2B8356F-0EA6-4167-8119-57B3E49A55CF}.Release|x86.Build.0 = Release|Win32 - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug_new|x64.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug_new|x86.Build.0 = Debug|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug|Any CPU.Build.0 = Debug|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug|x64.ActiveCfg = Debug|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug|x64.Build.0 = Debug|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug|x86.ActiveCfg = Debug|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug|x86.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug1|x64.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug1|x64.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug1|x86.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Debug1|x86.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.dll_test|x64.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.dll_test|x64.Build.0 = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.dll_test|x86.ActiveCfg = Debug|Any CPU - {D66081C0-21B2-4B2A-A4AD-DAE293271972}.dll_test|x86.Build.0 = Debug|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Release|Any CPU.ActiveCfg = Release|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Release|Any CPU.Build.0 = Release|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Release|x64.ActiveCfg = Release|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Release|x64.Build.0 = Release|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Release|x86.ActiveCfg = Release|Any CPU {D66081C0-21B2-4B2A-A4AD-DAE293271972}.Release|x86.Build.0 = Release|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug_new|x64.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug_new|x86.Build.0 = Debug|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug|Any CPU.Build.0 = Debug|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug|x64.ActiveCfg = Debug|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug|x64.Build.0 = Debug|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug|x86.ActiveCfg = Debug|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug|x86.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug1|x64.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug1|x64.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug1|x86.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Debug1|x86.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.dll_test|x64.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.dll_test|x64.Build.0 = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.dll_test|x86.ActiveCfg = Debug|Any CPU - {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.dll_test|x86.Build.0 = Debug|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Release|Any CPU.ActiveCfg = Release|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Release|Any CPU.Build.0 = Release|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Release|x64.ActiveCfg = Release|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Release|x64.Build.0 = Release|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Release|x86.ActiveCfg = Release|Any CPU {0F5C43E6-97BA-457C-954D-62EAB47A38A9}.Release|x86.Build.0 = Release|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug_new|x64.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug_new|x86.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug|x64.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug|x64.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug|x86.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug|x86.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug1|x64.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug1|x64.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug1|x86.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Debug1|x86.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.dll_test|x64.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.dll_test|x64.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.dll_test|x86.ActiveCfg = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.dll_test|x86.Build.0 = Debug|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Release|Any CPU.Build.0 = Release|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Release|x64.ActiveCfg = Release|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Release|x64.Build.0 = Release|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Release|x86.ActiveCfg = Release|Any CPU - {AB9E43B0-B848-417E-85C3-B350062F1B20}.Release|x86.Build.0 = Release|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug_new|Any CPU.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug_new|Any CPU.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug_new|x64.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug_new|x64.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug_new|x86.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug_new|x86.Build.0 = Debug|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug|Any CPU.Build.0 = Debug|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug|x64.ActiveCfg = Debug|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug|x64.Build.0 = Debug|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug|x86.ActiveCfg = Debug|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug|x86.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug1|Any CPU.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug1|Any CPU.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug1|x64.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug1|x64.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug1|x86.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Debug1|x86.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.dll_test|Any CPU.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.dll_test|x64.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.dll_test|x64.Build.0 = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.dll_test|x86.ActiveCfg = Debug|Any CPU - {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.dll_test|x86.Build.0 = Debug|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Release|Any CPU.ActiveCfg = Release|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Release|Any CPU.Build.0 = Release|Any CPU {A87A91DE-3A66-4305-8C4D-61927C4F2D4F}.Release|x64.ActiveCfg = Release|Any CPU @@ -458,7 +201,6 @@ {D2B8356F-0EA6-4167-8119-57B3E49A55CF} = {F976F42E-15B8-40BB-8132-80FBE0CAAD43} {D66081C0-21B2-4B2A-A4AD-DAE293271972} = {F976F42E-15B8-40BB-8132-80FBE0CAAD43} {0F5C43E6-97BA-457C-954D-62EAB47A38A9} = {F976F42E-15B8-40BB-8132-80FBE0CAAD43} - {AB9E43B0-B848-417E-85C3-B350062F1B20} = {5B5DE24F-D205-4B5A-A439-8EA61C1B23C7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {04D92980-B7F3-4AC8-B744-D6A674322C27} diff --git a/Test/App.config b/Test/App.config deleted file mode 100644 index 56efbc7..0000000 --- a/Test/App.config +++ /dev/null @@ -1,6 +0,0 @@ -锘�<?xml version="1.0" encoding="utf-8" ?> -<configuration> - <startup> - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> - </startup> -</configuration> \ No newline at end of file diff --git a/Test/Form1.Designer.cs b/Test/Form1.Designer.cs deleted file mode 100644 index 083a352..0000000 --- a/Test/Form1.Designer.cs +++ /dev/null @@ -1,75 +0,0 @@ -锘縩amespace Test -{ - partial class Form1 - { - /// <summary> - /// 蹇呴渶鐨勮璁″櫒鍙橀噺銆� - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// 娓呯悊鎵�鏈夋鍦ㄤ娇鐢ㄧ殑璧勬簮銆� - /// </summary> - /// <param name="disposing">濡傛灉搴旈噴鏀炬墭绠¤祫婧愶紝涓� true锛涘惁鍒欎负 false銆�</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows 绐椾綋璁捐鍣ㄧ敓鎴愮殑浠g爜 - - /// <summary> - /// 璁捐鍣ㄦ敮鎸佹墍闇�鐨勬柟娉� - 涓嶈淇敼 - /// 浣跨敤浠g爜缂栬緫鍣ㄤ慨鏀规鏂规硶鐨勫唴瀹广�� - /// </summary> - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); - this.mapViewer2 = new Hydro.MapUI.MapViewer(); - this.SuspendLayout(); - // - // mapViewer2 - // - this.mapViewer2._IsEditMode = true; - this.mapViewer2._newTemplate = ((Hydro.MapView.Template)(resources.GetObject("mapViewer2._newTemplate"))); - this.mapViewer2._ShowJunction = true; - this.mapViewer2._ShowValve = true; - this.mapViewer2._Template = null; - this.mapViewer2.BackColor = System.Drawing.Color.Transparent; - this.mapViewer2.Dock = System.Windows.Forms.DockStyle.Fill; - this.mapViewer2.junction_multiply = 1F; - this.mapViewer2.Link_multiply = 1F; - this.mapViewer2.Location = new System.Drawing.Point(0, 0); - this.mapViewer2.MapCenter = ((System.Drawing.PointF)(resources.GetObject("mapViewer2.MapCenter"))); - this.mapViewer2.Name = "mapViewer2"; - this.mapViewer2.Rotation = 0D; - this.mapViewer2.RotationF = 90D; - this.mapViewer2.ShowStatusBar = true; - this.mapViewer2.showToolBar = false; - this.mapViewer2.Size = new System.Drawing.Size(800, 450); - this.mapViewer2.TabIndex = 0; - this.mapViewer2.zoom = 1F; - // - // Form1 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Controls.Add(this.mapViewer2); - this.Name = "Form1"; - this.Text = "Form1"; - this.ResumeLayout(false); - - } - - #endregion - - private Hydro.MapUI.MapViewer mapViewer1; - private Hydro.MapUI.MapViewer mapViewer2; - } -} - diff --git a/Test/Form1.cs b/Test/Form1.cs deleted file mode 100644 index d1be11e..0000000 --- a/Test/Form1.cs +++ /dev/null @@ -1,20 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace Test -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} diff --git a/Test/Form1.resx b/Test/Form1.resx deleted file mode 100644 index 1274c78..0000000 --- a/Test/Form1.resx +++ /dev/null @@ -1,168 +0,0 @@ -锘�<?xml version="1.0" encoding="utf-8"?> -<root> - <!-- - Microsoft ResX Schema - - Version 2.0 - - The primary goals of this format is to allow a simple XML format - that is mostly human readable. The generation and parsing of the - various data types are done through the TypeConverter classes - associated with the data types. - - Example: - - ... ado.net/XML headers & schema ... - <resheader name="resmimetype">text/microsoft-resx</resheader> - <resheader name="version">2.0</resheader> - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> - <value>[base64 mime encoded serialized .NET Framework object]</value> - </data> - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> - <comment>This is a comment</comment> - </data> - - There are any number of "resheader" rows that contain simple - name/value pairs. - - Each data row contains a name, and value. The row also contains a - type or mimetype. Type corresponds to a .NET class that support - text/value conversion through the TypeConverter architecture. - Classes that don't support this are serialized and stored with the - mimetype set. - - The mimetype is used for serialized objects, and tells the - ResXResourceReader how to depersist the object. This is currently not - extensible. For a given mimetype the value must be set accordingly: - - Note - application/x-microsoft.net.object.binary.base64 is the format - that the ResXResourceWriter will generate, however the reader can - read any of the formats listed below. - - mimetype: application/x-microsoft.net.object.binary.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.soap.base64 - value : The object must be serialized with - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter - : and then encoded with base64 encoding. - - mimetype: application/x-microsoft.net.object.bytearray.base64 - value : The object must be serialized into a byte array - : using a System.ComponentModel.TypeConverter - : and then encoded with base64 encoding. - --> - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> - <xsd:element name="root" msdata:IsDataSet="true"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded"> - <xsd:element name="metadata"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="name" use="required" type="xsd:string" /> - <xsd:attribute name="type" type="xsd:string" /> - <xsd:attribute name="mimetype" type="xsd:string" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="assembly"> - <xsd:complexType> - <xsd:attribute name="alias" type="xsd:string" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="data"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> - <xsd:attribute ref="xml:space" /> - </xsd:complexType> - </xsd:element> - <xsd:element name="resheader"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required" /> - </xsd:complexType> - </xsd:element> - </xsd:choice> - </xsd:complexType> - </xsd:element> - </xsd:schema> - <resheader name="resmimetype"> - <value>text/microsoft-resx</value> - </resheader> - <resheader name="version"> - <value>2.0</value> - </resheader> - <resheader name="reader"> - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <resheader name="writer"> - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> - </resheader> - <data name="mapViewer2._newTemplate" mimetype="application/x-microsoft.net.object.binary.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAERIeWRyby5NYXBWaWV3LCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1 - cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9u - PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQwE - AAAAkwFIeWRyby5NYXBWaWV3LCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGlj - S2V5VG9rZW49bnVsbF1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWws - IFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAABZIeWRyby5NYXBWaWV3LlRlbXBsYXRl - GQAAAANfSUQVPE5hbWU+a19fQmFja2luZ0ZpZWxkGjxtYXBPcHRpb24+a19fQmFja2luZ0ZpZWxkCV9m - aWxlUGF0aBc8T2ZmU2V0PmtfX0JhY2tpbmdGaWVsZA5CYWNrR3JvdW5kRWxldg5CYWNrR3JvdW5kSW1n - WA5CYWNrR3JvdW5kSW1nWRNCYWNrR3JvdW5kSW1nSGVpZ2h0EkJhY2tHcm91bmRJbWdXaWR0aBZCYWNr - R3JvdW5kSW1nUm90YUFuZ2xlEEJhY2tHcm91bmRQb2ludDEQQmFja0dyb3VuZFBvaW50MiA8SW1wb3J0 - RXhjZWxQYXRoPmtfX0JhY2tpbmdGaWVsZCE8SW1wb3J0RXhjZWxJbmRleD5rX19CYWNraW5nRmllbGQZ - PE1heExldmVsPmtfX0JhY2tpbmdGaWVsZBU8VHlwZT5rX19CYWNraW5nRmllbGQYPFJlZ2lvbnM+a19f - QmFja2luZ0ZpZWxkFjxOb2RlMT5rX19CYWNraW5nRmllbGQWPE5vZGUyPmtfX0JhY2tpbmdGaWVsZBI8 - WD5rX19CYWNraW5nRmllbGQSPFk+a19fQmFja2luZ0ZpZWxkGDxWaXNpYmxlPmtfX0JhY2tpbmdGaWVs - ZBU8dmlldz5rX19CYWNraW5nRmllbGQYPENvbG91cnM+a19fQmFja2luZ0ZpZWxkAQEEAQQAAAAAAAAE - BAEAAAQEAQEBAQEEBBdIeWRyby5NYXBWaWV3Lk1hcE9wdGlvbgIAAAAWSHlkcm8uTWFwVmlldy5Qb2lu - dEYzRAIAAAALCwsLCwsVU3lzdGVtLkRyYXdpbmcuUG9pbnRGAwAAABVTeXN0ZW0uRHJhd2luZy5Qb2lu - dEYDAAAACAgmSHlkcm8uTWFwVmlldy5NYXBWaWV3RW51bStUZW1wbGF0ZVR5cGUCAAAAOFN5c3RlbS5D - b2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbSHlkcm8uTWFwVmlldy5UUmVnaW9uBAAAABtIeWRyby5N - YXBWaWV3Lk1hcERpbWVuc2lvbnMCAAAAN1N5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtb - SHlkcm8uTWFwVmlldy5Db2xvdXIEAAAAAgAAAAYFAAAAJDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAw - MDAwMDAwMDAwMAYGAAAABuS4tOaXtgkHAAAACgkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABff/ - //8VU3lzdGVtLkRyYXdpbmcuUG9pbnRGAgAAAAF4AXkAAAsLAwAAAAAAAAAAAAAAAfb////3////AAAA - AAAAAAAKAAAAAGMAAAAF9f///yZIeWRyby5NYXBWaWV3Lk1hcFZpZXdFbnVtK1RlbXBsYXRlVHlwZQEA - AAAHdmFsdWVfXwAIAgAAAAAAAAAJDAAAAAoKCgoKCgkNAAAABQcAAAAXSHlkcm8uTWFwVmlldy5NYXBP - cHRpb24GAAAAHjxMaW5rX211bHRpcGx5PmtfX0JhY2tpbmdGaWVsZCI8anVuY3Rpb25fbXVsdGlwbHk+ - a19fQmFja2luZ0ZpZWxkGzxfU2hvd1ZhbHZlPmtfX0JhY2tpbmdGaWVsZB48X1Nob3dKdW5jdGlvbj5r - X19CYWNraW5nRmllbGQcPF9TaG93U3RhdHVzPmtfX0JhY2tpbmdGaWVsZCM8X1Nob3dGbG93RGlyZWN0 - aW9uPmtfX0JhY2tpbmdGaWVsZAAAAAAAAAsLAQEBAQIAAADarCo/AACAPwEBAAAFCAAAABZIeWRyby5N - YXBWaWV3LlBvaW50RjNEAwAAABI8WD5rX19CYWNraW5nRmllbGQSPFk+a19fQmFja2luZ0ZpZWxkEjxa - PmtfX0JhY2tpbmdGaWVsZAAAAAsLCwIAAAAAAAAAAAAAAAAAAAAFDAAAADhTeXN0ZW0uQ29sbGVjdGlv - bnMuR2VuZXJpYy5MaXN0YDFbW0h5ZHJvLk1hcFZpZXcuVFJlZ2lvbgMAAAAGX2l0ZW1zBV9zaXplCF92 - ZXJzaW9uBAAAF0h5ZHJvLk1hcFZpZXcuVFJlZ2lvbltdAgAAAAgIBAAAAAkOAAAAAAAAAAAAAAAFDQAA - ADdTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW0h5ZHJvLk1hcFZpZXcuQ29sb3VyAwAA - AAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAWSHlkcm8uTWFwVmlldy5Db2xvdXJbXQIAAAAICAQAAAAJ - DwAAAAAAAAAAAAAABw4AAAAAAQAAAAAAAAAEFUh5ZHJvLk1hcFZpZXcuVFJlZ2lvbgIAAAAHDwAAAAAB - AAAAAAAAAAQUSHlkcm8uTWFwVmlldy5Db2xvdXICAAAACw== -</value> - </data> - <data name="mapViewer2.MapCenter" mimetype="application/x-microsoft.net.object.binary.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 - dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJh - d2luZy5Qb2ludEYCAAAAAXgBeQAACwsCAAAAAAAAAAAAAAAL -</value> - </data> -</root> \ No newline at end of file diff --git a/Test/Program.cs b/Test/Program.cs deleted file mode 100644 index 0037453..0000000 --- a/Test/Program.cs +++ /dev/null @@ -1,22 +0,0 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace Test -{ - internal static class Program - { - /// <summary> - /// 搴旂敤绋嬪簭鐨勪富鍏ュ彛鐐广�� - /// </summary> - [STAThread] - static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); - } - } -} diff --git a/Test/Properties/AssemblyInfo.cs b/Test/Properties/AssemblyInfo.cs deleted file mode 100644 index f429eb4..0000000 --- a/Test/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -锘縰sing System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// 鏈夊叧绋嬪簭闆嗙殑涓�鑸俊鎭敱浠ヤ笅 -// 鎺у埗銆傛洿鏀硅繖浜涚壒鎬у�煎彲淇敼 -// 涓庣▼搴忛泦鍏宠仈鐨勪俊鎭�� -[assembly: AssemblyTitle("Test")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Test")] -[assembly: AssemblyCopyright("Copyright 漏 2024")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// 灏� ComVisible 璁剧疆涓� false 浼氫娇姝ょ▼搴忛泦涓殑绫诲瀷 -//瀵� COM 缁勪欢涓嶅彲瑙併�傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷 -//璇峰皢姝ょ被鍨嬬殑 ComVisible 鐗规�ц缃负 true銆� -[assembly: ComVisible(false)] - -// 濡傛灉姝ら」鐩悜 COM 鍏紑锛屽垯涓嬪垪 GUID 鐢ㄤ簬绫诲瀷搴撶殑 ID -[assembly: Guid("ab9e43b0-b848-417e-85c3-b350062f1b20")] - -// 绋嬪簭闆嗙殑鐗堟湰淇℃伅鐢变笅鍒楀洓涓�肩粍鎴�: -// -// 涓荤増鏈� -// 娆$増鏈� -// 鐢熸垚鍙� -// 淇鍙� -// -//鍙互鎸囧畾鎵�鏈夎繖浜涘�硷紝涔熷彲浠ヤ娇鐢ㄢ�滅敓鎴愬彿鈥濆拰鈥滀慨璁㈠彿鈥濈殑榛樿鍊� -//閫氳繃浣跨敤 "*"锛屽涓嬫墍绀�: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Test/Properties/Resources.Designer.cs b/Test/Properties/Resources.Designer.cs deleted file mode 100644 index 9f136fa..0000000 --- a/Test/Properties/Resources.Designer.cs +++ /dev/null @@ -1,71 +0,0 @@ -锘�//------------------------------------------------------------------------------ -// <auto-generated> -// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆� -// 杩愯鏃剁増鏈�: 4.0.30319.42000 -// -// 瀵规鏂囦欢鐨勬洿鏀瑰彲鑳藉鑷翠笉姝g‘鐨勮涓猴紝濡傛灉 -// 閲嶆柊鐢熸垚浠g爜锛屽垯鎵�鍋氭洿鏀瑰皢涓㈠け銆� -// </auto-generated> -//------------------------------------------------------------------------------ - -namespace Test.Properties -{ - - - /// <summary> - /// 寮虹被鍨嬭祫婧愮被锛岀敤浜庢煡鎵炬湰鍦板寲瀛楃涓茬瓑銆� - /// </summary> - // 姝ょ被鏄敱 StronglyTypedResourceBuilder - // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆� - // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen - // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆� - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { - } - - /// <summary> - /// 杩斿洖姝ょ被浣跨敤鐨勭紦瀛� ResourceManager 瀹炰緥銆� - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Test.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// <summary> - /// 閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵� - /// 浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍�� - /// </summary> - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { - return resourceCulture; - } - set - { - resourceCulture = value; - } - } - } -} diff --git a/Test/Properties/Settings.Designer.cs b/Test/Properties/Settings.Designer.cs deleted file mode 100644 index a8cf573..0000000 --- a/Test/Properties/Settings.Designer.cs +++ /dev/null @@ -1,30 +0,0 @@ -锘�//------------------------------------------------------------------------------ -// <auto-generated> -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// </auto-generated> -//------------------------------------------------------------------------------ - -namespace Test.Properties -{ - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { - return defaultInstance; - } - } - } -} diff --git a/Test/Properties/Settings.settings b/Test/Properties/Settings.settings deleted file mode 100644 index 3964565..0000000 --- a/Test/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ -锘�<?xml version='1.0' encoding='utf-8'?> -<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> - <Profiles> - <Profile Name="(Default)" /> - </Profiles> - <Settings /> -</SettingsFile> diff --git a/Test/Test.csproj b/Test/Test.csproj deleted file mode 100644 index afcc0b5..0000000 --- a/Test/Test.csproj +++ /dev/null @@ -1,131 +0,0 @@ -锘�<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{AB9E43B0-B848-417E-85C3-B350062F1B20}</ProjectGuid> - <OutputType>WinExe</OutputType> - <RootNamespace>Test</RootNamespace> - <AssemblyName>Test</AssemblyName> - <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> - <Deterministic>true</Deterministic> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <PlatformTarget>AnyCPU</PlatformTarget> - <DebugSymbols>true</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <Prefer32Bit>false</Prefer32Bit> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <PlatformTarget>AnyCPU</PlatformTarget> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>..\..\bin\release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Deployment" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Net.Http" /> - <Reference Include="System.Windows.Forms" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="Form1.cs"> - <SubType>Form</SubType> - </Compile> - <Compile Include="Form1.Designer.cs"> - <DependentUpon>Form1.cs</DependentUpon> - </Compile> - <Compile Include="Program.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <EmbeddedResource Include="Form1.resx"> - <DependentUpon>Form1.cs</DependentUpon> - <SubType>Designer</SubType> - </EmbeddedResource> - <EmbeddedResource Include="Properties\Resources.resx"> - <Generator>ResXFileCodeGenerator</Generator> - <LastGenOutput>Resources.Designer.cs</LastGenOutput> - <SubType>Designer</SubType> - </EmbeddedResource> - <Compile Include="Properties\Resources.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Resources.resx</DependentUpon> - </Compile> - <None Include="Properties\Settings.settings"> - <Generator>SettingsSingleFileGenerator</Generator> - <LastGenOutput>Settings.Designer.cs</LastGenOutput> - </None> - <Compile Include="Properties\Settings.Designer.cs"> - <AutoGen>True</AutoGen> - <DependentUpon>Settings.settings</DependentUpon> - <DesignTimeSharedInput>True</DesignTimeSharedInput> - </Compile> - </ItemGroup> - <ItemGroup> - <None Include="App.config" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\Hydraulic\Hydro.CodeProvider\Hydro.CodeProvider.csproj"> - <Project>{791f7359-a30d-4401-b712-0e8e841840d9}</Project> - <Name>Hydro.CodeProvider</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.CommonBase\Hydro.CommonBase.csproj"> - <Project>{84e17ba3-ba03-43c1-9d19-8ce64508f2b5}</Project> - <Name>Hydro.CommonBase</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.ConfigModel\Hydro.ConfigModel.csproj"> - <Project>{5f33ce64-2329-422c-9dda-903ceef25a6e}</Project> - <Name>Hydro.ConfigModel</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.Core\Hydro.Core.csproj"> - <Project>{ca211620-16a7-4953-929d-723a5f9d3239}</Project> - <Name>Hydro.Core</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.HydraulicCore\HydraulicCore.vcxproj"> - <Project>{d2b8356f-0ea6-4167-8119-57b3e49a55cf}</Project> - <Name>Hydro.HydraulicCore</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.HydraulicModel\Hydro.HydraulicModel.csproj"> - <Project>{d66081c0-21b2-4b2a-a4ad-dae293271972}</Project> - <Name>Hydro.HydraulicModel</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.HydraulicOptimizer\Hydro.HydraulicOptimizer.csproj"> - <Project>{0f5c43e6-97ba-457c-954d-62eab47a38a9}</Project> - <Name>Hydro.HydraulicOptimizer</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.Inp2.2\Hydro.Inp2.2.csproj"> - <Project>{fffbe974-ba86-420d-aa27-6db215017c8c}</Project> - <Name>Hydro.Inp2.2</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.MapUI\Hydro.MapUI.csproj"> - <Project>{50a0264a-17c1-4132-bf90-91e4ba593c88}</Project> - <Name>Hydro.MapUI</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.MapView\Hydro.MapView.csproj"> - <Project>{18e2e3d7-508e-4781-a760-ba852564e409}</Project> - <Name>Hydro.MapView</Name> - </ProjectReference> - <ProjectReference Include="..\Hydraulic\Hydro.Revit2022\Hydro.Revit2022.csproj"> - <Project>{78653bed-368a-470d-a021-929f2e583313}</Project> - <Name>Hydro.Revit2022</Name> - </ProjectReference> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -</Project> \ No newline at end of file -- Gitblit v1.9.3