daily update on 20250109 by nitload youmu, building STEP file reader

This commit is contained in:
Nitload
2025-01-09 07:28:07 +08:00
parent 63c3cd17e2
commit 6cfaa42ff3
84 changed files with 6688 additions and 922 deletions
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("BenchMark")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+592ad55d57752262ac1a710ef11425da83ef4676")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+63c3cd17e2188771886daeb4046edf28633fa949")]
[assembly: System.Reflection.AssemblyProductAttribute("BenchMark")]
[assembly: System.Reflection.AssemblyTitleAttribute("BenchMark")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -9,12 +9,15 @@
"StgSharpDebug/1.0.0": {
"dependencies": {
"Microsoft.Windows.CsWin32": "0.3.49-beta",
"StgSharp": "1.0.0",
"StgSharp.Modeling": "1.0.0",
"System.Collections.Concurrent": "4.3.0"
},
"runtime": {
"StgSharpDebug.dll": {}
}
},
"Microsoft.CSharp/4.7.0": {},
"Microsoft.NETCore.Platforms/1.1.0": {},
"Microsoft.NETCore.Targets/1.1.0": {},
"Microsoft.Windows.CsWin32/0.3.49-beta": {
@@ -143,6 +146,28 @@
"Microsoft.NETCore.Targets": "1.1.0",
"System.Runtime": "4.3.0"
}
},
"StgSharp/1.0.0": {
"dependencies": {
"Microsoft.CSharp": "4.7.0"
},
"runtime": {
"StgSharp.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StgSharp.Modeling/1.0.0": {
"dependencies": {
"StgSharp": "1.0.0"
},
"runtime": {
"StgSharp.Modeling.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
@@ -152,6 +177,13 @@
"serviceable": false,
"sha512": ""
},
"Microsoft.CSharp/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"path": "microsoft.csharp/4.7.0",
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
},
"Microsoft.NETCore.Platforms/1.1.0": {
"type": "package",
"serviceable": true,
@@ -305,6 +337,16 @@
"sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==",
"path": "system.threading.tasks/4.3.0",
"hashPath": "system.threading.tasks.4.3.0.nupkg.sha512"
},
"StgSharp/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StgSharp.Modeling/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
@@ -0,0 +1,29 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>preview</LangVersion>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\StgSharp.Modeling\StgSharp.Modeling.csproj" />
<ProjectReference Include="..\StgSharpTerminalDialogue\StgSharpTerminalDialogue.csproj" />
<ProjectReference Include="..\StgSharp\StgSharp.csproj" />
</ItemGroup>
<ItemGroup>
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
</ItemGroup>
</Project>
+71
View File
@@ -0,0 +1,71 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="UnitTest1.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the ¡°Software¡±), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED ¡°AS IS¡±,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp;
using StgSharp.Modeling.STEP;
using System.Collections.Concurrent;
using System.Text.RegularExpressions;
namespace STgSharpTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void RegexTest()
{
string sample = "FILE_DESCRIPTION(('CATIA V5 STEP Exchange'),'2;1');";
foreach( var match in Regex.Match(
sample, @"^(?<CALLER>[A-Z_]+)\s?\((?<PARAM>.+)\)\;" )
.Groups ) {
Console.WriteLine( $"{match.ToString()}" );
Console.WriteLine( "\t\t\t" );
}
}
[TestMethod]
public void TestMethod()
{
if (!STEPReader.FromFile("D:\\NitloadIndustry\\Ñо¿ÏîÄ¿\\1-Flagship\\TH2020\\ProjectFile\\_NPart#8299.stp", out STEPReader reader))
{
throw new Exception();
}
var info = reader.GetInfo();
var t0 = reader.ReadDataSection(out ConcurrentQueue<STEPExpression> queue);
var t1 = reader.AnalyseDataSection(queue);
Task.WaitAll(t0, t1);
Console.WriteLine("OK");
}
}
}
@@ -0,0 +1,149 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"StgSharpTerminalDialogue/1.0.0": {
"dependencies": {
"Terminal.Gui": "2.0.0-v2-develop.2329"
},
"runtime": {
"StgSharpTerminalDialogue.dll": {}
}
},
"ColorHelper/1.8.1": {
"runtime": {
"lib/netstandard2.0/ColorHelper.dll": {
"assemblyVersion": "1.8.1.0",
"fileVersion": "1.8.1.0"
}
}
},
"System.IO.Abstractions/21.0.22": {
"dependencies": {
"TestableIO.System.IO.Abstractions": "21.0.22",
"TestableIO.System.IO.Abstractions.Wrappers": "21.0.22"
},
"runtime": {
"lib/net8.0/System.IO.Abstractions.dll": {
"assemblyVersion": "21.0.0.0",
"fileVersion": "21.0.22.62509"
}
}
},
"System.Text.Encodings.Web/8.0.0": {},
"System.Text.Json/8.0.4": {
"dependencies": {
"System.Text.Encodings.Web": "8.0.0"
}
},
"Terminal.Gui/2.0.0-v2-develop.2329": {
"dependencies": {
"ColorHelper": "1.8.1",
"System.IO.Abstractions": "21.0.22",
"System.Text.Json": "8.0.4",
"Wcwidth": "2.0.0"
},
"runtime": {
"lib/net8.0/Terminal.Gui.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
}
},
"TestableIO.System.IO.Abstractions/21.0.22": {
"runtime": {
"lib/net8.0/TestableIO.System.IO.Abstractions.dll": {
"assemblyVersion": "21.0.0.0",
"fileVersion": "21.0.22.62509"
}
}
},
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
"dependencies": {
"TestableIO.System.IO.Abstractions": "21.0.22"
},
"runtime": {
"lib/net8.0/TestableIO.System.IO.Abstractions.Wrappers.dll": {
"assemblyVersion": "21.0.0.0",
"fileVersion": "21.0.22.62509"
}
}
},
"Wcwidth/2.0.0": {
"runtime": {
"lib/net8.0/Wcwidth.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
}
}
}
},
"libraries": {
"StgSharpTerminalDialogue/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"ColorHelper/1.8.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rblWXd/02TfwJjX53xEfQnbnDRKxCm09VtavV8JaIcmIFWt9efNf6xTQ3WeXgy/she5R31eRTtnizFoUoDrs5w==",
"path": "colorhelper/1.8.1",
"hashPath": "colorhelper.1.8.1.nupkg.sha512"
},
"System.IO.Abstractions/21.0.22": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DRnFyMIjO1KG9fqUPKV7XDPgECEwrNpsb3OLD0mImViVpRZ5747o7vqrOYbn9AMaQ8eajLeKH0fXQglgH7v42A==",
"path": "system.io.abstractions/21.0.22",
"hashPath": "system.io.abstractions.21.0.22.nupkg.sha512"
},
"System.Text.Encodings.Web/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
"path": "system.text.encodings.web/8.0.0",
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
},
"System.Text.Json/8.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
"path": "system.text.json/8.0.4",
"hashPath": "system.text.json.8.0.4.nupkg.sha512"
},
"Terminal.Gui/2.0.0-v2-develop.2329": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1WRHeZKN5tnF8DUu0vHz5pGZIY9ETwufKbUHCoH3UTcIeOlduhRCpBhTyJWri/fePsUkij2euFMGX2yHfk4h/A==",
"path": "terminal.gui/2.0.0-v2-develop.2329",
"hashPath": "terminal.gui.2.0.0-v2-develop.2329.nupkg.sha512"
},
"TestableIO.System.IO.Abstractions/21.0.22": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yq3I8rUjNoo4JTOT3jbGfTM5VfowaSYiooDO2bfvQe6XGVyZiSIzaKyCmSnuUEyuktw6zzuVE1lJnUeDhJWtyQ==",
"path": "testableio.system.io.abstractions/21.0.22",
"hashPath": "testableio.system.io.abstractions.21.0.22.nupkg.sha512"
},
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ETpw1B6VOsQ5zbfqxqLKjITnMvB9M0K5/bK8qJc6jih+tnlKQmtnnOPSS+OeKCqsZDYeHxPNp4ytQPJS3R+WXA==",
"path": "testableio.system.io.abstractions.wrappers/21.0.22",
"hashPath": "testableio.system.io.abstractions.wrappers.21.0.22.nupkg.sha512"
},
"Wcwidth/2.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eGZYH/V+X1DwEXrPUlUcAp8pU5a38d8IvaQzq4pclJxF1x8bizssIo4uWc3qxmS64BNGK5WnDxyBYJz84+Msqg==",
"path": "wcwidth/2.0.0",
"hashPath": "wcwidth.2.0.0.nupkg.sha512"
}
}
}
@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}
@@ -0,0 +1,638 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"StgSharpTest/1.0.0": {
"dependencies": {
"MSTest.TestAdapter": "3.1.1",
"MSTest.TestFramework": "3.1.1",
"Microsoft.NET.Test.Sdk": "17.8.0",
"StgSharp": "1.0.0",
"StgSharp.Modeling": "1.0.0",
"StgSharpTerminalDialogue": "1.0.0",
"coverlet.collector": "6.0.0",
"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions": "14.0.0.0"
},
"runtime": {
"StgSharpTest.dll": {}
}
},
"ColorHelper/1.8.1": {
"runtime": {
"lib/netstandard2.0/ColorHelper.dll": {
"assemblyVersion": "1.8.1.0",
"fileVersion": "1.8.1.0"
}
}
},
"coverlet.collector/6.0.0": {},
"Microsoft.CodeCoverage/17.8.0": {
"runtime": {
"lib/netcoreapp3.1/Microsoft.VisualStudio.CodeCoverage.Shim.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.623.45702"
}
}
},
"Microsoft.CSharp/4.7.0": {},
"Microsoft.NET.Test.Sdk/17.8.0": {
"dependencies": {
"Microsoft.CodeCoverage": "17.8.0",
"Microsoft.TestPlatform.TestHost": "17.8.0"
}
},
"Microsoft.TestPlatform.ObjectModel/17.8.0": {
"dependencies": {
"NuGet.Frameworks": "6.5.0",
"System.Reflection.Metadata": "1.6.0"
},
"runtime": {
"lib/netcoreapp3.1/Microsoft.TestPlatform.CoreUtilities.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
},
"lib/netcoreapp3.1/Microsoft.TestPlatform.PlatformAbstractions.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
},
"lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.ObjectModel.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
}
},
"resources": {
"lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "cs"
},
"lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "cs"
},
"lib/netcoreapp3.1/de/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "de"
},
"lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "de"
},
"lib/netcoreapp3.1/es/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "es"
},
"lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "es"
},
"lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "fr"
},
"lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "fr"
},
"lib/netcoreapp3.1/it/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "it"
},
"lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "it"
},
"lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "ja"
},
"lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "ja"
},
"lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "ko"
},
"lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "ko"
},
"lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "pl"
},
"lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "pl"
},
"lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "pt-BR"
},
"lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "pt-BR"
},
"lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "ru"
},
"lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "ru"
},
"lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "tr"
},
"lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "tr"
},
"lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "zh-Hans"
},
"lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "zh-Hans"
},
"lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CoreUtilities.resources.dll": {
"locale": "zh-Hant"
},
"lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll": {
"locale": "zh-Hant"
}
}
},
"Microsoft.TestPlatform.TestHost/17.8.0": {
"dependencies": {
"Microsoft.TestPlatform.ObjectModel": "17.8.0",
"Newtonsoft.Json": "13.0.1"
},
"runtime": {
"lib/netcoreapp3.1/Microsoft.TestPlatform.CommunicationUtilities.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
},
"lib/netcoreapp3.1/Microsoft.TestPlatform.CrossPlatEngine.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
},
"lib/netcoreapp3.1/Microsoft.TestPlatform.Utilities.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
},
"lib/netcoreapp3.1/Microsoft.VisualStudio.TestPlatform.Common.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
},
"lib/netcoreapp3.1/testhost.dll": {
"assemblyVersion": "15.0.0.0",
"fileVersion": "17.800.23.55801"
}
},
"resources": {
"lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "cs"
},
"lib/netcoreapp3.1/cs/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "cs"
},
"lib/netcoreapp3.1/cs/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "cs"
},
"lib/netcoreapp3.1/de/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "de"
},
"lib/netcoreapp3.1/de/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "de"
},
"lib/netcoreapp3.1/de/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "de"
},
"lib/netcoreapp3.1/es/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "es"
},
"lib/netcoreapp3.1/es/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "es"
},
"lib/netcoreapp3.1/es/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "es"
},
"lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "fr"
},
"lib/netcoreapp3.1/fr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "fr"
},
"lib/netcoreapp3.1/fr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "fr"
},
"lib/netcoreapp3.1/it/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "it"
},
"lib/netcoreapp3.1/it/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "it"
},
"lib/netcoreapp3.1/it/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "it"
},
"lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "ja"
},
"lib/netcoreapp3.1/ja/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "ja"
},
"lib/netcoreapp3.1/ja/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "ja"
},
"lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "ko"
},
"lib/netcoreapp3.1/ko/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "ko"
},
"lib/netcoreapp3.1/ko/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "ko"
},
"lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "pl"
},
"lib/netcoreapp3.1/pl/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "pl"
},
"lib/netcoreapp3.1/pl/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "pl"
},
"lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "pt-BR"
},
"lib/netcoreapp3.1/pt-BR/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "pt-BR"
},
"lib/netcoreapp3.1/pt-BR/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "pt-BR"
},
"lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "ru"
},
"lib/netcoreapp3.1/ru/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "ru"
},
"lib/netcoreapp3.1/ru/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "ru"
},
"lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "tr"
},
"lib/netcoreapp3.1/tr/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "tr"
},
"lib/netcoreapp3.1/tr/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "tr"
},
"lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "zh-Hans"
},
"lib/netcoreapp3.1/zh-Hans/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "zh-Hans"
},
"lib/netcoreapp3.1/zh-Hans/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "zh-Hans"
},
"lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CommunicationUtilities.resources.dll": {
"locale": "zh-Hant"
},
"lib/netcoreapp3.1/zh-Hant/Microsoft.TestPlatform.CrossPlatEngine.resources.dll": {
"locale": "zh-Hant"
},
"lib/netcoreapp3.1/zh-Hant/Microsoft.VisualStudio.TestPlatform.Common.resources.dll": {
"locale": "zh-Hant"
}
}
},
"MSTest.TestAdapter/3.1.1": {},
"MSTest.TestFramework/3.1.1": {
"runtime": {
"lib/net6.0/Microsoft.VisualStudio.TestPlatform.TestFramework.dll": {
"assemblyVersion": "14.0.0.0",
"fileVersion": "3.100.123.36306"
}
},
"resources": {
"lib/net6.0/cs/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "cs"
},
"lib/net6.0/de/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "de"
},
"lib/net6.0/es/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "es"
},
"lib/net6.0/fr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "fr"
},
"lib/net6.0/it/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "it"
},
"lib/net6.0/ja/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ja"
},
"lib/net6.0/ko/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ko"
},
"lib/net6.0/pl/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "pl"
},
"lib/net6.0/pt-BR/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "pt-BR"
},
"lib/net6.0/ru/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "ru"
},
"lib/net6.0/tr/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "tr"
},
"lib/net6.0/zh-Hans/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "zh-Hans"
},
"lib/net6.0/zh-Hant/Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll": {
"locale": "zh-Hant"
}
}
},
"Newtonsoft.Json/13.0.1": {
"runtime": {
"lib/netstandard2.0/Newtonsoft.Json.dll": {
"assemblyVersion": "13.0.0.0",
"fileVersion": "13.0.1.25517"
}
}
},
"NuGet.Frameworks/6.5.0": {
"runtime": {
"lib/netstandard2.0/NuGet.Frameworks.dll": {
"assemblyVersion": "6.5.0.154",
"fileVersion": "6.5.0.154"
}
}
},
"System.IO.Abstractions/21.0.22": {
"dependencies": {
"TestableIO.System.IO.Abstractions": "21.0.22",
"TestableIO.System.IO.Abstractions.Wrappers": "21.0.22"
},
"runtime": {
"lib/net8.0/System.IO.Abstractions.dll": {
"assemblyVersion": "21.0.0.0",
"fileVersion": "21.0.22.62509"
}
}
},
"System.Reflection.Metadata/1.6.0": {},
"System.Text.Encodings.Web/8.0.0": {},
"System.Text.Json/8.0.4": {
"dependencies": {
"System.Text.Encodings.Web": "8.0.0"
}
},
"Terminal.Gui/2.0.0-v2-develop.2329": {
"dependencies": {
"ColorHelper": "1.8.1",
"System.IO.Abstractions": "21.0.22",
"System.Text.Json": "8.0.4",
"Wcwidth": "2.0.0"
},
"runtime": {
"lib/net8.0/Terminal.Gui.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
},
"resources": {
"lib/net8.0/fr-FR/Terminal.Gui.resources.dll": {
"locale": "fr-FR"
},
"lib/net8.0/ja-JP/Terminal.Gui.resources.dll": {
"locale": "ja-JP"
},
"lib/net8.0/pt-PT/Terminal.Gui.resources.dll": {
"locale": "pt-PT"
},
"lib/net8.0/zh-Hans/Terminal.Gui.resources.dll": {
"locale": "zh-Hans"
}
}
},
"TestableIO.System.IO.Abstractions/21.0.22": {
"runtime": {
"lib/net8.0/TestableIO.System.IO.Abstractions.dll": {
"assemblyVersion": "21.0.0.0",
"fileVersion": "21.0.22.62509"
}
}
},
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
"dependencies": {
"TestableIO.System.IO.Abstractions": "21.0.22"
},
"runtime": {
"lib/net8.0/TestableIO.System.IO.Abstractions.Wrappers.dll": {
"assemblyVersion": "21.0.0.0",
"fileVersion": "21.0.22.62509"
}
}
},
"Wcwidth/2.0.0": {
"runtime": {
"lib/net8.0/Wcwidth.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.0.0.0"
}
}
},
"StgSharp/1.0.0": {
"dependencies": {
"Microsoft.CSharp": "4.7.0"
},
"runtime": {
"StgSharp.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StgSharp.Modeling/1.0.0": {
"dependencies": {
"StgSharp": "1.0.0"
},
"runtime": {
"StgSharp.Modeling.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"StgSharpTerminalDialogue/1.0.0": {
"dependencies": {
"Terminal.Gui": "2.0.0-v2-develop.2329"
},
"runtime": {
"StgSharpTerminalDialogue.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
},
"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions/14.0.0.0": {
"runtime": {
"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll": {
"assemblyVersion": "14.0.0.0",
"fileVersion": "3.100.123.36306"
}
}
}
}
},
"libraries": {
"StgSharpTest/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"ColorHelper/1.8.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-rblWXd/02TfwJjX53xEfQnbnDRKxCm09VtavV8JaIcmIFWt9efNf6xTQ3WeXgy/she5R31eRTtnizFoUoDrs5w==",
"path": "colorhelper/1.8.1",
"hashPath": "colorhelper.1.8.1.nupkg.sha512"
},
"coverlet.collector/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-tW3lsNS+dAEII6YGUX/VMoJjBS1QvsxqJeqLaJXub08y1FSjasFPtQ4UBUsudE9PNrzLjooClMsPtY2cZLdXpQ==",
"path": "coverlet.collector/6.0.0",
"hashPath": "coverlet.collector.6.0.0.nupkg.sha512"
},
"Microsoft.CodeCoverage/17.8.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-KC8SXWbGIdoFVdlxKk9WHccm0llm9HypcHMLUUFabRiTS3SO2fQXNZfdiF3qkEdTJhbRrxhdRxjL4jbtwPq4Ew==",
"path": "microsoft.codecoverage/17.8.0",
"hashPath": "microsoft.codecoverage.17.8.0.nupkg.sha512"
},
"Microsoft.CSharp/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"path": "microsoft.csharp/4.7.0",
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
},
"Microsoft.NET.Test.Sdk/17.8.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-BmTYGbD/YuDHmApIENdoyN1jCk0Rj1fJB0+B/fVekyTdVidr91IlzhqzytiUgaEAzL1ZJcYCme0MeBMYvJVzvw==",
"path": "microsoft.net.test.sdk/17.8.0",
"hashPath": "microsoft.net.test.sdk.17.8.0.nupkg.sha512"
},
"Microsoft.TestPlatform.ObjectModel/17.8.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-AYy6vlpGMfz5kOFq99L93RGbqftW/8eQTqjT9iGXW6s9MRP3UdtY8idJ8rJcjeSja8A18IhIro5YnH3uv1nz4g==",
"path": "microsoft.testplatform.objectmodel/17.8.0",
"hashPath": "microsoft.testplatform.objectmodel.17.8.0.nupkg.sha512"
},
"Microsoft.TestPlatform.TestHost/17.8.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9ivcl/7SGRmOT0YYrHQGohWiT5YCpkmy/UEzldfVisLm6QxbLaK3FAJqZXI34rnRLmqqDCeMQxKINwmKwAPiDw==",
"path": "microsoft.testplatform.testhost/17.8.0",
"hashPath": "microsoft.testplatform.testhost.17.8.0.nupkg.sha512"
},
"MSTest.TestAdapter/3.1.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-kMvdO5dhrUR3o1qk0fzS0St0prlKyMQAfz1ChVAUdGGobTU5ehR60szOFto0+Q7rFG5iXMvTlVIthXM9EcNYnw==",
"path": "mstest.testadapter/3.1.1",
"hashPath": "mstest.testadapter.3.1.1.nupkg.sha512"
},
"MSTest.TestFramework/3.1.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3rjkGxciNHHmPW8cl1/QVIYjOpfptjmAH5JrLBw+dnMTYDoweg3I579N7OIbar3Zd3q9dfWFrCy2LEV/AmPn3A==",
"path": "mstest.testframework/3.1.1",
"hashPath": "mstest.testframework.3.1.1.nupkg.sha512"
},
"Newtonsoft.Json/13.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==",
"path": "newtonsoft.json/13.0.1",
"hashPath": "newtonsoft.json.13.0.1.nupkg.sha512"
},
"NuGet.Frameworks/6.5.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-QWINE2x3MbTODsWT1Gh71GaGb5icBz4chS8VYvTgsBnsi8esgN6wtHhydd7fvToWECYGq7T4cgBBDiKD/363fg==",
"path": "nuget.frameworks/6.5.0",
"hashPath": "nuget.frameworks.6.5.0.nupkg.sha512"
},
"System.IO.Abstractions/21.0.22": {
"type": "package",
"serviceable": true,
"sha512": "sha512-DRnFyMIjO1KG9fqUPKV7XDPgECEwrNpsb3OLD0mImViVpRZ5747o7vqrOYbn9AMaQ8eajLeKH0fXQglgH7v42A==",
"path": "system.io.abstractions/21.0.22",
"hashPath": "system.io.abstractions.21.0.22.nupkg.sha512"
},
"System.Reflection.Metadata/1.6.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==",
"path": "system.reflection.metadata/1.6.0",
"hashPath": "system.reflection.metadata.1.6.0.nupkg.sha512"
},
"System.Text.Encodings.Web/8.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
"path": "system.text.encodings.web/8.0.0",
"hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
},
"System.Text.Json/8.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==",
"path": "system.text.json/8.0.4",
"hashPath": "system.text.json.8.0.4.nupkg.sha512"
},
"Terminal.Gui/2.0.0-v2-develop.2329": {
"type": "package",
"serviceable": true,
"sha512": "sha512-1WRHeZKN5tnF8DUu0vHz5pGZIY9ETwufKbUHCoH3UTcIeOlduhRCpBhTyJWri/fePsUkij2euFMGX2yHfk4h/A==",
"path": "terminal.gui/2.0.0-v2-develop.2329",
"hashPath": "terminal.gui.2.0.0-v2-develop.2329.nupkg.sha512"
},
"TestableIO.System.IO.Abstractions/21.0.22": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yq3I8rUjNoo4JTOT3jbGfTM5VfowaSYiooDO2bfvQe6XGVyZiSIzaKyCmSnuUEyuktw6zzuVE1lJnUeDhJWtyQ==",
"path": "testableio.system.io.abstractions/21.0.22",
"hashPath": "testableio.system.io.abstractions.21.0.22.nupkg.sha512"
},
"TestableIO.System.IO.Abstractions.Wrappers/21.0.22": {
"type": "package",
"serviceable": true,
"sha512": "sha512-ETpw1B6VOsQ5zbfqxqLKjITnMvB9M0K5/bK8qJc6jih+tnlKQmtnnOPSS+OeKCqsZDYeHxPNp4ytQPJS3R+WXA==",
"path": "testableio.system.io.abstractions.wrappers/21.0.22",
"hashPath": "testableio.system.io.abstractions.wrappers.21.0.22.nupkg.sha512"
},
"Wcwidth/2.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eGZYH/V+X1DwEXrPUlUcAp8pU5a38d8IvaQzq4pclJxF1x8bizssIo4uWc3qxmS64BNGK5WnDxyBYJz84+Msqg==",
"path": "wcwidth/2.0.0",
"hashPath": "wcwidth.2.0.0.nupkg.sha512"
},
"StgSharp/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StgSharp.Modeling/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"StgSharpTerminalDialogue/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions/14.0.0.0": {
"type": "reference",
"serviceable": false,
"sha512": ""
}
}
}
@@ -0,0 +1,12 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpTest")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+63c3cd17e2188771886daeb4046edf28633fa949")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpTest")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpTest")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
@@ -0,0 +1,9 @@
// <auto-generated/>
global using global::Microsoft.VisualStudio.TestTools.UnitTesting;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
@@ -0,0 +1,132 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\CoverletSourceRootsMapping_StgSharpTest
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\testhost.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTerminalDialogue.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTerminalDialogue.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTerminalDialogue.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\testhost.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.TestPlatform.AdapterUtilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTest.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTest.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTest.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTest.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ColorHelper.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.CodeCoverage.Shim.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.TestPlatform.CoreUtilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.TestPlatform.PlatformAbstractions.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.TestPlatform.CommunicationUtilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.TestPlatform.CrossPlatEngine.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.TestPlatform.Utilities.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.Common.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Newtonsoft.Json.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\NuGet.Frameworks.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\System.IO.Abstractions.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Terminal.Gui.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\TestableIO.System.IO.Abstractions.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\TestableIO.System.IO.Abstractions.Wrappers.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Wcwidth.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\de\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\es\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\it\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CoreUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.ObjectModel.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\cs\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\de\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\de\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\es\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\es\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\fr\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\it\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\it\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ja\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ko\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pl\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pt-BR\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ru\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\tr\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hans\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CommunicationUtilities.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hant\Microsoft.TestPlatform.CrossPlatEngine.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.Common.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\cs\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\de\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\es\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\fr\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\it\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ja\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ko\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pl\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pt-BR\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ru\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\tr\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hans\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hant\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\fr-FR\Terminal.Gui.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\ja-JP\Terminal.Gui.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\pt-PT\Terminal.Gui.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\zh-Hans\Terminal.Gui.resources.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharp.Modeling.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTerminalDialogue.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharp.Modeling.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharpTerminalDialogue.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\StgSharp.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\bin\Debug\net8.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharp.94BD3098.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\refint\StgSharpTest.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\StgSharpTest.genruntimeconfig.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\STgSharpTest\obj\Debug\net8.0\ref\StgSharpTest.dll
@@ -0,0 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/63c3cd17e2188771886daeb4046edf28633fa949/*"}}
@@ -0,0 +1,321 @@
{
"format": 1,
"restore": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\STgSharpTest\\StgSharpTest.csproj": {}
},
"projects": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"projectName": "StgSharp.Modeling",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpTerminalDialogue\\StgSharpTerminalDialogue.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpTerminalDialogue\\StgSharpTerminalDialogue.csproj",
"projectName": "StgSharpTerminalDialogue",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpTerminalDialogue\\StgSharpTerminalDialogue.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpTerminalDialogue\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"Terminal.Gui": {
"target": "Package",
"version": "[2.0.0-v2-develop.2329, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
}
}
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\STgSharpTest\\StgSharpTest.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\STgSharpTest\\StgSharpTest.csproj",
"projectName": "StgSharpTest",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\STgSharpTest\\StgSharpTest.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\STgSharpTest\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net8.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj"
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpTerminalDialogue\\StgSharpTerminalDialogue.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpTerminalDialogue\\StgSharpTerminalDialogue.csproj"
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0": {
"targetAlias": "net8.0",
"dependencies": {
"MSTest.TestAdapter": {
"target": "Package",
"version": "[3.1.1, )"
},
"MSTest.TestFramework": {
"target": "Package",
"version": "[3.1.1, )"
},
"Microsoft.NET.Test.Sdk": {
"target": "Package",
"version": "[17.8.0, )"
},
"coverlet.collector": {
"target": "Package",
"version": "[6.0.0, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
}
}
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj",
"projectName": "StgSharp",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"dependencies": {
"Microsoft.CSharp": {
"target": "Package",
"version": "[4.7.0, )"
},
"Microsoft.Windows.CsWin32": {
"suppressParent": "All",
"target": "Package",
"version": "[0.3.49-beta, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,47 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="STEP.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Modeling.STEP
{
public class STEP
{
private ConcurrentDictionary<int, STEPExpression> _node = new ConcurrentDictionary<int, STEPExpression>(
);
private STEPInfo
_header;
}
}
@@ -0,0 +1,77 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="STEPDataNode.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace StgSharp.Modeling.STEP
{
public static class STEPDataParser
{
private static Regex _stringParser = new Regex(
@"(\(\s?'|')\s*(?<value>.+)\s*('\s*\)|')", RegexOptions.Compiled );
public static DateTime ToDateTime( string source )
{
Match match = _stringParser.Match( source );
if( match.Success ) {
return DateTime.Parse( match.Groups[ "value" ].Value );
}
throw new InvalidCastException();
}
public static string ToString( string source )
{
Match match = _stringParser.Match( source );
if( match.Success ) {
return match.Groups[ "value" ].Value;
}
return string.Empty;
}
public static (int, int?) ToVersion( string source )
{
Match match = _stringParser.Match( source );
if( match.Success ) {
string data = match.Groups[ "value" ].Value;
if( data.Contains( ';' ) ) {
string[] subdata = data.Split( ';' );
return (int.Parse( subdata[ 0 ] ), int.Parse( subdata[ 1 ] ));
}
return (int.Parse( data ), null);
}
return (-1,-1);
}
}
}
@@ -0,0 +1,153 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="STEPDataReader.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.IO.MemoryMappedFiles;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace StgSharp.Modeling.STEP
{
public partial class STEPReader
{
private static Regex _expressionSplitterWithID = new Regex(
@"^#(?<ID>[0-9]+)\s*=\s*(?<CALLER>[A-Z_]+)\s?\(\s?(?<PARAMS>.+?)\s*\)\s*;",
RegexOptions.Compiled );
private ConcurrentDictionary<int, STEPExpression> cache = new ConcurrentDictionary<int, STEPExpression>(
);
private int _readCount = 0, _analyseCount = 0;
public Task AnalyseDataSection( ConcurrentQueue<STEPExpression> index )
{
return Task.Run(
() => {
if( _analyseCount == 1 ) {
throw new InvalidOperationException(
"Cannot read a STEP file while an other thread is reading" );
}
Interlocked.Exchange( ref _analyseCount, 1 );
STEPExpression exp = null;
while( exp != null && exp.Caller != "ENDSEC" ) {
if( index.TryDequeue( out exp ) ) {
//TODO 写一个Token向几何构造器的转换方法
}
}
;
Interlocked.Exchange( ref _analyseCount, 0 );
} );
}
public Task ReadDataSection( out ConcurrentQueue<STEPExpression> queue )
{
ConcurrentQueue<STEPExpression> expressionQueue = new ConcurrentQueue<STEPExpression>(
);
queue = expressionQueue;
return Task.Run(
() => {
if( _readCount == 1 ) {
throw new InvalidOperationException(
"Cannot read a STEP file while an other thread is reading" );
}
Interlocked.Exchange( ref _readCount, 1 );
using( MemoryMappedViewStream ms = _memoryFile.CreateViewStream(
0, _size, MemoryMappedFileAccess.Read ) ) {
using( StreamReader reader = new StreamReader( ms ) ) {
string line = string.Empty;
long pos = _dataStart;
reader.BaseStream.Seek( pos, SeekOrigin.Begin );
do {
line = ReadToken( reader, ref pos );
if( line == "DATA;" ) {
continue;
}
if( line == "ENDSEC;" ) {
expressionQueue.Enqueue(
new STEPExpression(
-1, "ENDSEC", string.Empty ) );
break;
}
Match match = _expressionSplitterWithID.Match(
line );
if( match.Success ) {
int id = int.Parse(
match.Groups[ "ID" ].Value );
STEPExpression exp = new STEPExpression(
id, match.Groups[ "CALLER" ].Value,
match.Groups[ "PARAMS" ].Value );
AddExpressionToCache(id, exp);
expressionQueue.Enqueue( exp );
}
} while (true);
}
}
Interlocked.Exchange( ref _readCount, 0 );
} );
}
private void AddExpressionToCache( int id, STEPExpression expression )
{
if( expression == null ) {
throw new ArgumentNullException( nameof( expression ) );
}
if( cache.TryGetValue( id,
out STEPExpression exp ) && exp.Caller !=
STEPExpression.TempCallerName ) {
throw new InvalidOperationException(
"Cannot add an expression to cache with the same id" );
}
cache.AddOrUpdate( id, expression, ( _, _ ) => expression );
}
private STEPExpression GetExpressionFromCache( int id )
{
if( cache.TryGetValue( id, out STEPExpression expression ) ) {
return expression;
}
STEPExpression tempCaller = STEPExpression.CreateTempExpression(id);
cache.AddOrUpdate(id, tempCaller, (_, newExpression) =>
{
tempCaller = newExpression;
return newExpression;
});
return tempCaller;
}
}
}
@@ -0,0 +1,102 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="STEPExpression.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
namespace StgSharp.Modeling.STEP
{
public class STEPExpression
{
private static Regex regex = new Regex(
@"(?<param1>.+?(\)|'\s?\)|'))\s?(?<sepcomma>,)\s?(?<other>(.|\(|\(\s?').+)",
RegexOptions.Compiled );
private readonly int _id;
private readonly List<string> _paramList;
private string _caller;
public static string TempCallerName
{
get => "TEMPCALLER";
}
public STEPExpression( int id, string caller, string parameters )
{
_caller = caller;
_paramList = new List<string>();
SplitParameter( parameters );
}
public string this[ int paramIndex ]
{
get => _paramList[ paramIndex ];
}
public ReadOnlyCollection<string> ParamList
{
get => _paramList.AsReadOnly();
}
public string Caller
{
get => _caller;
internal set => _caller = value;
}
public static STEPExpression CreateTempExpression( int id )
{
return new STEPExpression( id, "TEMPCALLER", string.Empty );
}
private void SplitParameter( string parameters )
{
if( string.IsNullOrEmpty( parameters ) || string.IsNullOrWhiteSpace(
parameters ) ) {
return;
}
Match match = regex.Match( parameters );
while( match.Success ) {
_paramList.Add( match.Groups[ "param1" ].Value );
parameters = match.Groups[ "other" ].Value;
match = regex.Match( parameters );
}
_paramList.Add( parameters );
}
}
}
@@ -0,0 +1,116 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="STEPHeadReader.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the ¡°Software¡±), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED ¡°AS IS¡±,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.MemoryMappedFiles;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace StgSharp.Modeling.STEP
{
public partial class STEPReader
{
/**/
private static Regex expressionSplitter = new Regex(
@"^(?<CALLER>[A-Z_]+)\s?\((?<PARAM>.+)\)\;",
RegexOptions.Compiled );
public Task<STEPInfo> GetInfo()
{
return Task<STEPInfo>.Run<STEPInfo>(
() => {
STEPInfo info = new STEPInfo();
List<STEPExpression> expressionList = new List<STEPExpression>(
);
using( MemoryMappedViewStream ms = _memoryFile.CreateViewStream(
0, _size, MemoryMappedFileAccess.Read ) ) {
using( StreamReader sr = new StreamReader( ms ) ) {
long pos = _headStart;
ms.Seek( _headStart, SeekOrigin.Begin );
while( pos <= _headEnd ) {
string token = ReadToken( sr, ref pos );
if( token == "HEADER;" ) {
continue;
}
if( token == "ENDSEC;" ) {
break;
}
GroupCollection match = expressionSplitter.Match(
token )
.Groups;
expressionList.Add(
new STEPExpression(
0, match[ "CALLER" ].ToString(),
match[ "PARAM" ].ToString() ) );
}
foreach( STEPExpression expression in expressionList ) {
switch( expression.Caller ) {
case "FILE_DESCRIPTION":
info.Description = STEPDataParser.ToString(
expression[ 0 ] );
info.Level = STEPDataParser.ToVersion(
expression[ 1 ] );
break;
case "FILE_NAME":
info.Name = STEPDataParser.ToString(
expression[ 0 ] );
info.TimeStamp = STEPDataParser.ToDateTime(
expression[ 1 ] );
info.Author = STEPDataParser.ToString(
expression[ 2 ] );
info.Organization = STEPDataParser.ToString(
expression[ 3 ] );
info.PreprocessorVersion = STEPDataParser.ToString(
expression[ 4 ] );
info.OriginatingSystem = STEPDataParser.ToString(
expression[ 5 ] );
info.Authorization = STEPDataParser.ToString(
expression[ 6 ] );
break;
default:
break;
}
}
}
}
return info;
} );
}
/**/
}
}
@@ -0,0 +1,227 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="STEPHeader.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Modeling.STEP
{
/// <summary>
/// C# implementation of HEADER part in STEP file.
/// </summary>
public struct STEPInfo
{
private STEPFileDescriptor _header;
private STEPFileName _name;
private STEPSchema _schema;
public (int mainLevel, int? subLevel) Level
{
get => _header.Level;
internal set => _header.Level = value;
}
public DateTime TimeStamp
{
get => _name.TimeStamp;
internal set => _name.TimeStamp = value;
}
public STEPFileDescriptor Descriptor
{
get => _header;
internal set => _header = value;
}
public STEPFileName FileName
{
get => _name;
internal set => _name = value;
}
public STEPSchema Schema
{
get => _schema;
internal set => _schema = value;
}
public string Description
{
get => _header.Description;
internal set => _header.Description = value;
}
public string Name
{
get => _name.Name;
internal set => _name.Name = value;
}
public string Author
{
get => _name.Author;
internal set => _name.Author = value;
}
public string Organization
{
get => _name.Organization;
internal set => _name.Organization = value;
}
public string OriginatingSystem
{
get => _name.OriginatingSystem;
internal set => _name.OriginatingSystem = value;
}
public string Authorization
{
get => _name.Authorization;
internal set => _name.Authorization = value;
}
public string PreprocessorVersion
{
get => _name.PreprocessorVersion;
internal set => _name.PreprocessorVersion = value;
}
public string Version
{
get => _name.Version;
internal set => _name.Version = value;
}
public string SchemaString
{
get => _schema.Data;
internal set => _schema.Data = value;
}
}
/// <summary>
/// C# implementation of FILE_NAME part in header of STEP file.
/// </summary>
public struct STEPFileName
{
public DateTime TimeStamp
{
get;
internal set;
}
public string Name
{
get;
internal set;
}
public string Author
{
get;
internal set;
}
public string Description
{
get;
internal set;
}
public string PreprocessorVersion
{
get;
internal set;
}
public string Version
{
get;
internal set;
}
public string Organization
{
get;
internal set;
}
public string OriginatingSystem
{
get;
internal set;
}
public string Authorization
{
get;
internal set;
}
}
public struct STEPSchema
{
private List<string> _schema;
public string Data
{
get;
internal set;
}
}
/// <summary>
/// C# implementation of FILE_NAME part in header of STEP file.
/// </summary>
public struct STEPFileDescriptor
{
public (int mainLevel,int? subLevel) Level
{
get;
internal set;
}
public string Description
{
get;
internal set;
}
}
}
@@ -0,0 +1,158 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="STEPReader.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp;
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.MemoryMappedFiles;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace StgSharp.Modeling.STEP
{
public partial class STEPReader : IDisposable
{
private const string fileLabel = "ISO-10303-21;";
private bool disposedValue;
private FileStream _fileStream;
private long _headStart = -1, _headEnd = -1, _dataStart = -1, _size;
private MemoryMappedFile _memoryFile;
private STEPReader() { }
private STEPReader( FileStream stream, long size )
{
_fileStream = stream;
_size = size;
_memoryFile = MemoryMappedFile.CreateFromFile(
stream, mapName: null, size, MemoryMappedFileAccess.Read,
HandleInheritability.None, leaveOpen: true );
}
// ~STEPReader()
// {
// Dispose(disposing: false);
// }
public void Dispose()
{
Dispose( disposing: true );
GC.SuppressFinalize( this );
}
public static bool FromFile( string path, out STEPReader reader )
{
FileInfo info = new FileInfo( path );
if( !info.Exists ) {
reader = null!;
return false;
}
FileStream stream = new FileStream(
path, FileMode.Open, FileAccess.Read, FileShare.Read,
bufferSize: 4096, useAsync: true );
byte[] fileHead = new byte[40];
stream.Read( fileHead, 0, fileLabel.Length );
if( !Encoding.UTF8.GetString( fileHead ).Contains( fileLabel ) ) {
throw new InvalidDataException(
"The given file is not a STEP file" );
}
reader = new STEPReader( stream, info.Length );
reader.LocateSection();
return reader != null;
}
private void LocateSection()
{
long startPos = 0;
byte[] buffer = new byte[1024];
Span<byte> bufferSpan = buffer,
headerSec = Encoding.UTF8.GetBytes( "HEADER;" ),
endsecSec = Encoding.UTF8.GetBytes( "ENDSEC;" ),
dataSec = Encoding.UTF8.GetBytes( "DATA;" );
_fileStream.Position = 0;
for( ; startPos < _size; startPos += 1000 ) {
_fileStream.Read( buffer );
if( _headStart == -1 ) {
long pos = bufferSpan.IndexOf( headerSec );
if( pos >= 0 ) {
_headStart = startPos + pos;
}
}
if( _headEnd == -1 ) {
long pos = bufferSpan.IndexOf( endsecSec );
if( pos >= 0 ) {
_headEnd = startPos + pos;
}
}
if( _dataStart == -1 ) {
long pos = bufferSpan.IndexOf( dataSec );
if( pos >= 0 ) {
_dataStart = startPos + pos;
}
} else {
break;
}
_fileStream.Seek( 1000, SeekOrigin.Current );
}
}
private string ReadToken( StreamReader reader, ref long posCache )
{
StringBuilder token = new StringBuilder( 100 );
while( token.Length == 0 || token[ token.Length - 1 ] != ';' ) {
string subString = reader.ReadLine();
if( subString == null ) {
break;
}
token.Append( subString.TrimStart() );
}
posCache += token.Length;
return token.ToString();
}
private protected virtual void Dispose( bool disposing )
{
if( !disposedValue ) {
if( disposing ) {
_fileStream.Dispose();
_memoryFile.Dispose();
}
disposedValue = true;
}
}
}
}
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>preview</LangVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\StgSharp\StgSharp.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,58 @@
{
"runtimeTarget": {
"name": ".NETStandard,Version=v2.1/",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETStandard,Version=v2.1": {},
".NETStandard,Version=v2.1/": {
"StgSharp.Modeling/1.0.0": {
"dependencies": {
"StgSharp": "1.0.0"
},
"runtime": {
"StgSharp.Modeling.dll": {}
}
},
"Microsoft.CSharp/4.7.0": {
"runtime": {
"lib/netstandard2.0/Microsoft.CSharp.dll": {
"assemblyVersion": "4.0.5.0",
"fileVersion": "4.700.19.56404"
}
}
},
"StgSharp/1.0.0": {
"dependencies": {
"Microsoft.CSharp": "4.7.0"
},
"runtime": {
"StgSharp.dll": {
"assemblyVersion": "1.0.0",
"fileVersion": "1.0.0.0"
}
}
}
}
},
"libraries": {
"StgSharp.Modeling/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Microsoft.CSharp/4.7.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"path": "microsoft.csharp/4.7.0",
"hashPath": "microsoft.csharp.4.7.0.nupkg.sha512"
},
"StgSharp/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
@@ -0,0 +1,36 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file=".NETStandard,Version=v2.1.AssemblyAttributes.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the ¡°Software¡±), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED ¡°AS IS¡±,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(
".NETStandard,Version=v2.1",
FrameworkDisplayName = ".NET Standard 2.1" )]
@@ -0,0 +1,54 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="StgSharp.Modeling.AssemblyInfo.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute( "StgSharp.Modeling" )]
[assembly: System.Reflection.AssemblyConfigurationAttribute( "Debug" )]
[assembly: System.Reflection.AssemblyFileVersionAttribute( "1.0.0.0" )]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute(
"1.0.0+63c3cd17e2188771886daeb4046edf28633fa949" )]
[assembly: System.Reflection.AssemblyProductAttribute( "StgSharp.Modeling" )]
[assembly: System.Reflection.AssemblyTitleAttribute( "StgSharp.Modeling" )]
[assembly: System.Reflection.AssemblyVersionAttribute( "1.0.0.0" )]
// 由 MSBuild WriteCodeFragment 类生成。
@@ -0,0 +1,14 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\bin\Debug\netstandard2.1\StgSharp.Modeling.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\bin\Debug\netstandard2.1\StgSharp.Modeling.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\bin\Debug\netstandard2.1\StgSharp.Modeling.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\bin\Debug\netstandard2.1\StgSharp.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\bin\Debug\netstandard2.1\StgSharp.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.249DEFA0.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharp.Modeling\obj\Debug\netstandard2.1\StgSharp.Modeling.pdb
@@ -0,0 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/63c3cd17e2188771886daeb4046edf28633fa949/*"}}
@@ -0,0 +1,155 @@
{
"format": 1,
"restore": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj": {}
},
"projects": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"projectName": "StgSharp.Modeling",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj",
"projectName": "StgSharp",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"dependencies": {
"Microsoft.CSharp": {
"target": "Package",
"version": "[4.7.0, )"
},
"Microsoft.Windows.CsWin32": {
"suppressParent": "All",
"target": "Package",
"version": "[0.3.49-beta, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}
}
}
@@ -0,0 +1,188 @@
{
"version": 3,
"targets": {
".NETStandard,Version=v2.1": {
"Microsoft.CSharp/4.7.0": {
"type": "package",
"compile": {
"ref/netstandard2.0/Microsoft.CSharp.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.0/Microsoft.CSharp.dll": {
"related": ".xml"
}
}
},
"StgSharp/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.1",
"dependencies": {
"Microsoft.CSharp": "4.7.0"
},
"compile": {
"bin/placeholder/StgSharp.dll": {}
},
"runtime": {
"bin/placeholder/StgSharp.dll": {}
}
}
}
},
"libraries": {
"Microsoft.CSharp/4.7.0": {
"sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"type": "package",
"path": "microsoft.csharp/4.7.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/Microsoft.CSharp.dll",
"lib/netcoreapp2.0/_._",
"lib/netstandard1.3/Microsoft.CSharp.dll",
"lib/netstandard2.0/Microsoft.CSharp.dll",
"lib/netstandard2.0/Microsoft.CSharp.xml",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/uap10.0.16299/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"microsoft.csharp.4.7.0.nupkg.sha512",
"microsoft.csharp.nuspec",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/Microsoft.CSharp.dll",
"ref/netcore50/Microsoft.CSharp.xml",
"ref/netcore50/de/Microsoft.CSharp.xml",
"ref/netcore50/es/Microsoft.CSharp.xml",
"ref/netcore50/fr/Microsoft.CSharp.xml",
"ref/netcore50/it/Microsoft.CSharp.xml",
"ref/netcore50/ja/Microsoft.CSharp.xml",
"ref/netcore50/ko/Microsoft.CSharp.xml",
"ref/netcore50/ru/Microsoft.CSharp.xml",
"ref/netcore50/zh-hans/Microsoft.CSharp.xml",
"ref/netcore50/zh-hant/Microsoft.CSharp.xml",
"ref/netcoreapp2.0/_._",
"ref/netstandard1.0/Microsoft.CSharp.dll",
"ref/netstandard1.0/Microsoft.CSharp.xml",
"ref/netstandard1.0/de/Microsoft.CSharp.xml",
"ref/netstandard1.0/es/Microsoft.CSharp.xml",
"ref/netstandard1.0/fr/Microsoft.CSharp.xml",
"ref/netstandard1.0/it/Microsoft.CSharp.xml",
"ref/netstandard1.0/ja/Microsoft.CSharp.xml",
"ref/netstandard1.0/ko/Microsoft.CSharp.xml",
"ref/netstandard1.0/ru/Microsoft.CSharp.xml",
"ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml",
"ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml",
"ref/netstandard2.0/Microsoft.CSharp.dll",
"ref/netstandard2.0/Microsoft.CSharp.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/uap10.0.16299/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"StgSharp/1.0.0": {
"type": "project",
"path": "../StgSharp/StgSharp.csproj",
"msbuildProject": "../StgSharp/StgSharp.csproj"
}
},
"projectFileDependencyGroups": {
".NETStandard,Version=v2.1": [
"StgSharp >= 1.0.0"
]
},
"packageFolders": {
"C:\\Users\\Youmu\\.nuget\\packages\\": {},
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"projectName": "StgSharp.Modeling",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}
}
@@ -53,6 +53,7 @@ namespace StgSharp.Data.Intrinsic
public delegate* unmanaged[Cdecl]<ColumnSet3*, Vector4*, Vector4*, void> dot_32;
public delegate* unmanaged[Cdecl]<ColumnSet4*, Vector4*, Vector4*, void> dot_41;
public delegate* unmanaged[Cdecl]<ColumnSet4*, Vector4*, Vector4*, void> dot_42;
public delegate* unmanaged[Cdecl]<ColumnSet4*, Vector4*, Vector4*, void> dot_43;
public delegate* unmanaged[Cdecl]<M128*, M128*, void> normalize_v3;
public delegate* unmanaged[Cdecl]<char*, int, int> string_quickHash;
public delegate* unmanaged[Cdecl]<ColumnSet2*, ColumnSet3*, void> transpose23;
@@ -91,7 +91,7 @@ namespace StgSharp.Math
internal float _degree;
internal Degree( float dgree )
public Degree( float dgree )
{
_degree = dgree;
}
@@ -202,7 +202,7 @@ namespace StgSharp.MVVM.View
);
}
protected internal abstract void Show();
protected abstract void Show();
}
}
+1 -1
View File
@@ -70,7 +70,7 @@ namespace StgSharp.MVVM
_handleToViewPortIndex.TryAdd( ViewPortID, this );
}
internal ViewPort(int width, int height, string name, IntPtr monitor )
public ViewPort(int width, int height, string name, IntPtr monitor )
{
_newWidth = width;
_newHeight = height;
@@ -250,48 +250,34 @@ namespace StgSharp.Math
return ans;
}
[Obsolete("The operand may cause performance loss, use Matrix.Multiple() method instead.",false)]
[MethodImpl( MethodImplOptions.AggressiveInlining )]
public static unsafe Matrix42 operator *(
Matrix44 left,
Matrix42 right )
{
left.InternalTranspose();
return new Matrix42(
Vector4.Dot( left.transpose.colum0, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum0, right.mat.colum1 ),
Vector4.Dot( left.transpose.colum1, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum1, right.mat.colum1 ),
Vector4.Dot( left.transpose.colum2, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum2, right.mat.colum1 ),
Vector4.Dot( left.transpose.colum3, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum3, right.mat.colum1 ) );
return left.Multiple(right);
}
public unsafe Matrix43 Multiple(in Matrix43 right)
{
InternalTranspose();
Matrix43 ans = new Matrix43();
fixed(Vector4* rptr = &right.mat.colum0)
fixed (ColumnSet4* lptr = &transpose)
{
InternalIO.Intrinsic.dot_43(lptr,rptr,&ans.mat.colum0);
}
return ans;
}
[Obsolete("The operand may cause performance loss, use Matrix.Multiple() method instead.", false)]
[MethodImpl( MethodImplOptions.AggressiveInlining )]
public static Matrix43 operator *( Matrix44 left, Matrix43 right )
{
left.InternalTranspose();
return new Matrix43(
Vector4.Dot( left.transpose.colum0, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum0, right.mat.colum1 ),
Vector4.Dot( left.transpose.colum0, right.mat.colum2 ),
Vector4.Dot( left.transpose.colum1, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum1, right.mat.colum1 ),
Vector4.Dot( left.transpose.colum1, right.mat.colum2 ),
Vector4.Dot( left.transpose.colum2, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum2, right.mat.colum1 ),
Vector4.Dot( left.transpose.colum2, right.mat.colum2 ),
Vector4.Dot( left.transpose.colum3, right.mat.colum0 ),
Vector4.Dot( left.transpose.colum3, right.mat.colum1 ),
Vector4.Dot( left.transpose.colum3, right.mat.colum2 ) );
return left.Multiple(in right);
}
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+592ad55d57752262ac1a710ef11425da83ef4676")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+63c3cd17e2188771886daeb4046edf28633fa949")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharp")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+9 -4
View File
@@ -81,6 +81,7 @@ void load_intrinsic_sse(ssc_intrinsic *context)
context->dot_32 = dot_32_sse;
context->dot_41 = dot_41_sse;
context->dot_42 = dot_42_sse;
context->dot_43 = dot_43_sse;
context->string_quick_hash = quick_string_hash;
}
@@ -100,10 +101,11 @@ void load_intrinsic_avx(ssc_intrinsic *context)
context->normalize_3 = normalize;
context->det_matrix33 = det_mat3;
context->det_matrix44 = det_mat4;
context->dot_31 = dot_31_sse;
context->dot_31 = dot_31_avx;
context->dot_32 = dot_32_avx;
context->dot_41 = dot_41_sse;
context->dot_41 = dot_41_avx;
context->dot_42 = dot_42_avx;
context->dot_43 = dot_43_avx;
context->string_quick_hash = quick_string_hash;
}
@@ -123,7 +125,10 @@ void load_intrinsic_512(ssc_intrinsic *context)
context->normalize_3 = normalize;
context->det_matrix33 = det_mat3;
context->det_matrix44 = det_mat4;
context->dot_31 = dot_31_sse;
context->dot_41 = dot_41_sse;
context->dot_31 = dot_31_avx;
context->dot_32 = dot_32_avx;
context->dot_41 = dot_41_avx;
context->dot_42 = dot_42_avx;
context->dot_43 = dot_43_avx;
context->string_quick_hash = quick_string_hash;
}
+7 -7
View File
@@ -8,9 +8,9 @@ INTERNAL void __cdecl transpose23(__2_columnset *source, __3_columnset *target)
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
_MM_SHUFFLE(3, 2, 3, 2));
target->column[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
target->column[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
target->column[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
target->column[0] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(2, 0, 2, 0));
target->column[1] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(3, 1, 3, 1));
target->column[2] = _mm_shuffle_ps(t1, zero_vec, _MM_SHUFFLE(2, 0, 2, 0));
}
INTERNAL void __cdecl transpose24(__2_columnset *source, __4_columnset *target)
@@ -20,10 +20,10 @@ INTERNAL void __cdecl transpose24(__2_columnset *source, __4_columnset *target)
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
_MM_SHUFFLE(3, 2, 3, 2));
target->column[0] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
target->column[1] = _mm_shuffle_ps(t0, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
target->column[2] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(2, 0, 2, 0));
target->column[3] = _mm_shuffle_ps(t1, zeroVec, _MM_SHUFFLE(3, 1, 3, 1));
target->column[0] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(2, 0, 2, 0));
target->column[1] = _mm_shuffle_ps(t0, zero_vec, _MM_SHUFFLE(3, 1, 3, 1));
target->column[2] = _mm_shuffle_ps(t1, zero_vec, _MM_SHUFFLE(2, 0, 2, 0));
target->column[3] = _mm_shuffle_ps(t1, zero_vec, _MM_SHUFFLE(3, 1, 3, 1));
}
INTERNAL void __cdecl addmatrix2_sse(__2_columnset *left, __2_columnset *right, __2_columnset *ans)
+5 -5
View File
@@ -6,7 +6,7 @@ INTERNAL void _cdecl transpose32(__3_columnset *source, __2_columnset *target)
{
__m128 t0 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
_MM_SHUFFLE(1, 0, 1, 0));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(1, 0, 1, 0));
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
@@ -18,8 +18,8 @@ INTERNAL void _cdecl transpose33(__3_columnset *source, __3_columnset *target)
_MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
_MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(3, 2, 3, 2));
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
@@ -32,8 +32,8 @@ INTERNAL void _cdecl transpose34(__3_columnset *source, __4_columnset *target)
_MM_SHUFFLE(1, 0, 1, 0));
__m128 t1 = _mm_shuffle_ps(ALIGN(source->column[0]), ALIGN(source->column[1]),
_MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zeroVec, _MM_SHUFFLE(3, 2, 3, 2));
__m128 t2 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(1, 0, 1, 0));
__m128 t3 = _mm_shuffle_ps(ALIGN(source->column[2]), zero_vec, _MM_SHUFFLE(3, 2, 3, 2));
target->column[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
target->column[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1));
+9 -12
View File
@@ -12,26 +12,23 @@
#ifndef SSC_INTERNAL
#define SSC_INTERNAL
#ifdef _WIN32
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS 1
#define WIN32_LEAN_AND_MEAN
#define SSCDECL __cdecl
#define SSCAPI __declspec(dllexport)
#define FORCEINLINE __forceinline
#include <windows.h>
#elif defined _LINUX_
#elif defined(__clang__) || defined(__GNUC__)
#define SSCDECL __attribute__((cdecl))
#define SSCAPI __attribute__((dllexport))
#elif defined _APPLE_
#define SSCAPI __attribute__((visibility("default")))
#define FORCEINLINE __attribute__((always_inline))
#else
#define SSCAPI
#define SSCDECL
#define FORCEINLINE
#endif
#ifdef _WIN32
#define _CRT_SECURE_NO_WARNINGS 1
#endif
#define SSCDECL __cdecl
#define zeroVec _mm_setzero_ps()
#define SSCAPI_DEFINE
#define PRIVATE static
+16 -8
View File
@@ -19,18 +19,19 @@
#define SSE_INSERT(source, target, reset3, reset2, reset1, reset0) \
(LASTTWO(source - 1) << 6) | (LASTTWO(target - 1) << 4) | (LAST(reset3) << 3) | \
(LAST(reset2) << 2) | (LAST(reset1) << 1) | LAST(reset0)
#define SSE_INSERT_SIMPLE(source, target) SSE_INSERT(source, target, 0, 0, 0, 0)
#define M256_PERMUTE(s3, s2, s1, s0) (LASTTWO(s3) << 6) | (LASTTWO(s2) << 4) | (LASTTWO(s1) << 2) | (LASTTWO(s0)
#define zero_vec _mm_setzero_ps()
#define zero_vec_256 _mm256_setzero_ps()
typedef union column_2 {
__m256 stream[1];
__m256 stream;
__m128 column[2];
float m[4][2];
} __2_columnset;
typedef struct column_3 {
typedef union column_3 {
__m256 part;
__m128 column[3];
float m[4][3];
@@ -79,13 +80,19 @@ INTERNAL float SSCDECL det_mat4(__4_columnset *matrix, __4_columnset *transpose)
#pragma region dot
INTERNAL void SSCDECL dot_41_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_31_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void FORCEINLINE SSCDECL dot_41_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void FORCEINLINE SSCDECL dot_31_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void FORCEINLINE SSCDECL dot_41_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void FORCEINLINE SSCDECL dot_31_avx(__3_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_42_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_32_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_42_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_32_avx(__3_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_42_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_42_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_43_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_43_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans);
INTERNAL void SSCDECL dot_43_512(__4_columnset *transpose, __m128 *vector, __m128 *ans);
#pragma endregion
@@ -105,6 +112,7 @@ typedef struct ssc_intrinsic {
DOTPROC dot_32;
DOTPROC dot_41;
DOTPROC dot_42;
DOTPROC dot_43;
VECTORNORMALIZEPROC normalize_3;
int (*string_quick_hash)(char *str, int length);
MATRIXTRANSPOSEPROC transpose_23;
+96 -42
View File
@@ -1,93 +1,147 @@
#include "ssc_intrinsic.h"
#include "SSC_internal.h"
INTERNAL void __inline SSCDECL dot_41_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans)
static const int avxdot_indices[] = { 0, 4, 1, 5, 2, 3, 6, 7 };
INTERNAL void FORCEINLINE SSCDECL dot_41_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans)
{
*ans = _mm_dp_ps(transpose->column[0], *vector, 0B00011111);
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], *vector, 0B00011111),
*ans = _mm_dp_ps(transpose->column[0], *vector, 0B11110001);
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], *vector, 0B11110001),
SSE_INSERT_SIMPLE(1, 1));
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B00011111),
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B11110001),
SSE_INSERT_SIMPLE(1, 3));
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], *vector, 0B00011111),
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], *vector, 0B11110001),
SSE_INSERT_SIMPLE(1, 4));
}
INTERNAL void SSCDECL dot_31_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans)
INTERNAL void SSCDECL dot_41_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans)
{
*ans = _mm_dp_ps(transpose->column[0], *vector, 0B00011111);
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], *vector, 0B00011111),
SSE_INSERT_SIMPLE(1, 1));
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B00011111),
__m256 _double = _mm256_set_m128(vector[0], vector[0]);
__m256 tmp = _mm256_dp_ps(transpose->half[0], _double, 0B11110001);
tmp = _mm256_blend_ps(tmp, _mm256_dp_ps(transpose->half[0], _double, 0B11110010),
0B00100010);
*ans = _mm256_castps256_ps128(
_mm256_permutevar8x32_ps(tmp, _mm256_loadu_epi32(avxdot_indices)));
}
INTERNAL void FORCEINLINE SSCDECL dot_31_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans)
{
*ans = _mm_dp_ps(transpose->column[0], *vector, 0B11110001);
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], *vector, 0B11110001),
SSE_INSERT_SIMPLE(1, 2));
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B11110001),
SSE_INSERT_SIMPLE(1, 3));
}
INTERNAL void FORCEINLINE SSCDECL dot_31_avx(__3_columnset *transpose, __m128 *vector, __m128 *ans)
{
__m256 _double = _mm256_set_m128(vector[0], vector[0]);
__m256 tmp = _mm256_dp_ps(transpose->part, _double, 0B11110001);
*ans = _mm256_castps256_ps128(
_mm256_permutevar8x32_ps(tmp, _mm256_loadu_epi32(avxdot_indices)));
*ans = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], *vector, 0B11110001),
SSE_INSERT_SIMPLE(1, 3));
}
INTERNAL void SSCDECL dot_42_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans)
{
ans[0] = _mm_dp_ps(transpose->column[0], vector[0], 0B00011111);
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[0], 0B00011111),
SSE_INSERT_SIMPLE(1, 1));
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[0], 0B00011111),
ans[0] = _mm_dp_ps(transpose->column[0], vector[0], 0B11110001);
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[0], 0B11110001),
SSE_INSERT_SIMPLE(1, 2));
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[0], 0B11110001),
SSE_INSERT_SIMPLE(1, 3));
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], vector[0], 0B00011111),
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], vector[0], 0B11110001),
SSE_INSERT_SIMPLE(1, 4));
ans[1] = _mm_dp_ps(transpose->column[0], vector[1], 0B00011111);
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[1], 0B00011111),
SSE_INSERT_SIMPLE(1, 1));
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[1], 0B00011111),
ans[1] = _mm_dp_ps(transpose->column[0], vector[1], 0B11110001);
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[1], 0B11110001),
SSE_INSERT_SIMPLE(1, 2));
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[1], 0B11110001),
SSE_INSERT_SIMPLE(1, 3));
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], vector[1], 0B00011111),
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[3], vector[1], 0B11110001),
SSE_INSERT_SIMPLE(1, 4));
}
INTERNAL void SSCDECL dot_32_sse(__3_columnset *transpose, __m128 *vector, __m128 *ans)
{
ans[0] = _mm_dp_ps(transpose->column[0], vector[0], 0B00011111);
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[0], 0B00011111),
SSE_INSERT_SIMPLE(1, 1));
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[0], 0B00011111),
ans[0] = _mm_dp_ps(transpose->column[0], vector[0], 0B11110001);
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[0], 0B11110001),
SSE_INSERT_SIMPLE(1, 2));
ans[0] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[0], 0B11110001),
SSE_INSERT_SIMPLE(1, 3));
ans[1] = _mm_dp_ps(transpose->column[0], vector[1], 0B00011111);
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[1], 0B00011111),
SSE_INSERT_SIMPLE(1, 1));
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[1], 0B00011111),
ans[1] = _mm_dp_ps(transpose->column[0], vector[1], 0B11110001);
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[1], vector[1], 0B11110001),
SSE_INSERT_SIMPLE(1, 2));
ans[1] = _mm_insert_ps(*ans, _mm_dp_ps(transpose->column[2], vector[1], 0B11110001),
SSE_INSERT_SIMPLE(1, 3));
}
INTERNAL void SSCDECL dot_42_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans)
{
__2_columnset *ansPtr = (__2_columnset *)ans;
__2_columnset *ans_ptr = (__2_columnset *)ans, *right_ptr = (__2_columnset *)vector;
__m256 temp = ALIGN256(transpose->half[0]);
ansPtr->stream[0] = _mm256_dp_ps(temp, *(__m256 *)vector, 0B11110001);
ans_ptr->stream = _mm256_dp_ps(temp, right_ptr->stream, 0B11110001);
temp = _mm256_permute2f128_ps(temp, temp, 0B00000001);
ansPtr->stream[0] = _mm256_blend_ps(
ansPtr->stream[0], _mm256_dp_ps(temp, *(__m256 *)vector, 0B11110010), 0B001000010);
ans_ptr->stream = _mm256_blend_ps(
ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110010), 0B00100010);
temp = ALIGN256(transpose->half[1]);
ansPtr->stream[0] = _mm256_blend_ps(
ansPtr->stream[0], _mm256_dp_ps(temp, *(__m256 *)vector, 0B11110100), 0B01000100);
ans_ptr->stream = _mm256_blend_ps(
ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110100), 0B01000100);
temp = _mm256_permute2f128_ps(temp, temp, 0B00000001);
ansPtr->stream[0] = _mm256_blend_ps(
ansPtr->stream[0], _mm256_dp_ps(temp, *(__m256 *)vector, 0B11111000), 0B10001000);
ans_ptr->stream = _mm256_blend_ps(
ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11111000), 0B10001000);
ans[1] = _mm_shuffle_ps(ALIGN(ans[1]), ALIGN(ans[1]), _MM_SHUFFLE(2, 3, 0, 1));
}
INTERNAL void SSCDECL dot_32_avx(__3_columnset *transpose, __m128 *vector, __m128 *ans)
{
__2_columnset *ansPtr = (__2_columnset *)ans;
__2_columnset *ans_ptr = (__2_columnset *)ans, *right_ptr = (__2_columnset *)vector;
__m256 temp = transpose->part;
ansPtr->stream[0] = _mm256_dp_ps(temp, *(__m256 *)vector, 0B11110001);
ans_ptr->stream = _mm256_dp_ps(temp, right_ptr->stream, 0B11110001);
temp = _mm256_permute2f128_ps(temp, temp, 0B00000001);
ansPtr->stream[0] = _mm256_blend_ps(
ansPtr->stream[0], _mm256_dp_ps(temp, *(__m256 *)vector, 0B11110010), 0B001000010);
ans_ptr->stream = _mm256_blend_ps(
ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110010), 0B00100010);
temp = _mm256_set_m128(transpose->column[2], transpose->column[2]);
ansPtr->stream[0] = _mm256_blend_ps(
ansPtr->stream[0], _mm256_dp_ps(temp, *(__m256 *)vector, 0B11110100), 0B01000100);
ans_ptr->stream = _mm256_blend_ps(
ans_ptr->stream, _mm256_dp_ps(temp, right_ptr->stream, 0B11110100), 0B01000100);
ans[1] = _mm_shuffle_ps(ALIGN(ans[1]), ALIGN(ans[1]), _MM_SHUFFLE(2, 2, 0, 1));
}
INTERNAL void SSCDECL dot_43_sse(__4_columnset *transpose, __m128 *vector, __m128 *ans)
{
dot_41_sse(transpose, vector, ans);
dot_41_sse(transpose, vector + 1, ans + 1);
dot_41_sse(transpose, vector + 2, ans + 2);
}
INTERNAL void SSCDECL dot_43_avx(__4_columnset *transpose, __m128 *vector, __m128 *ans)
{
__3_columnset *ans_ptr = (__3_columnset *)ans, *right_ptr = (__3_columnset *)vector;
__m256 temp = ALIGN256(transpose->half[0]);
__m256 third = _mm256_set_m128(right_ptr->column[2], right_ptr->column[2]);
ans_ptr->part = _mm256_dp_ps(temp, right_ptr->part, 0B11110001);
__m256 ans_third = _mm256_dp_ps(temp, third, 0B11110001);
temp = _mm256_permute2f128_ps(temp, temp, 0B00000001);
ans_ptr->part = _mm256_blend_ps(
ans_ptr->part, _mm256_dp_ps(temp, right_ptr->part, 0B11110010), 0B00100010);
temp = ALIGN256(transpose->half[1]);
ans_ptr->part = _mm256_blend_ps(
ans_ptr->part, _mm256_dp_ps(temp, right_ptr->part, 0B11110100), 0B01000100);
ans_third = _mm256_blend_ps(ans_third, _mm256_dp_ps(temp, third, 0B11110010), 0B00100010);
temp = _mm256_permute2f128_ps(temp, temp, 0B00000001);
ans_ptr->part = _mm256_blend_ps(
ans_ptr->part, _mm256_dp_ps(temp, right_ptr->part, 0B11111000), 0B10001000);
ans[1] = _mm_shuffle_ps(ALIGN(ans[1]), ALIGN(ans[1]), _MM_SHUFFLE(2, 3, 0, 1));
ans[2] = _mm256_castps256_ps128(
_mm256_permutevar8x32_ps(ans_third, _mm256_loadu_epi32(avxdot_indices)));
}
+103
View File
@@ -0,0 +1,103 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="Program.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Controlling.UsrActivity;
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Math;
using StgSharp.Modeling.STEP;
using StgSharp.MVVM;
using StgSharp.MVVM.ViewModel;
using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
using System.Xml.XPath;
namespace StgSharp
{
internal static class Program
{
internal static unsafe void Main( string[] args )
{
try {
/**/
StgSharp.Init();
StgSharp.InitGL( 4, 6 );
StgSharp.GlobalSetting.VSyncActivated = false;
if (!STEPReader.FromFile("D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\_NPart#8299.stp", out STEPReader reader))
{
throw new Exception();
}
var info = reader.GetInfo();
Console.WriteLine("OK");
Matrix44 m1 = new Matrix44(
1, 0, 0, 1,
0, 2, 0, 0,
0, 0, 3, 0,
0, 0, 0, 4
);
Matrix43 m2 = new Matrix43(
1,3, 5,
5,7, 10,
2,4,6,
6,8,0
);
var ans = m1.Multiple( m2 );
ViewPort vp = new ViewPort(800,600,"Hello StgSharp!",IntPtr.Zero);
//throw new NotImplementedException();
ViewModelBase mainModel = new ViewModelMain( vp );
mainModel.CreateAndBindView<ViewMain>( "MainView", (1, 1, 1) );
mainModel.UseViewModel( "MainView" );
StgSharp.Terminate();
/**/
}
catch( Exception ex ) {
StgSharp.WriteLog($"{ex}", LogType.Error);
if( true ) { }
Dialogue.PostError( ex );
Environment.Exit(-1);
}
}
}
}
@@ -0,0 +1,428 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="Partical.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Controls;
using StgSharp.Geometries;
using StgSharp.Graphics;
using StgSharp.Graphics.OpenGL;
using StgSharp.Math;
using StgSharp.Timing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp
{
public class ParticleRenderStream : glRender
{
private AutoTextureGL autoT;
private ElementBuffer ebo;
private ElementBuffer f_ebo;
private FrameBuffer fbo;
private Image i;
private int temp = 0;
private PlainInstancingBuffer<ParticleOnPlain> buffer;
private RenderBuffer rbo;
private ShaderProgram frameMainShader;
private ShaderProgram s;
private TextureGL f_t;
private TextureGL t;
private Uniform<int> texUniform;
private Uniform<float> time;
private VertexArray f_vao;
private VertexArray vao;
private VertexBuffer f_vbo;
private VertexBuffer vbo;
public ParticleRenderStream() { }
public override bool IsContextSharable => true;
public Rectangle ButtonBounding
{
get;
private set;
}
public TextureProvider ButtonTextureProvider
{
get;
private set;
}
//render a controlling item
public void ButtonMain( IEnumerable<PlainGeometryMesh> items )
{
//Console.WriteLine("Render Button Itself");
GL.BindFrameBuffer( FrameBufferTarget.All, GlHandle.Zero ); /*GL.Assert(true);/**/
GL.ClearColor( 0.4f, TimePassed % 1.0f, 0f, 1.0f ); /*GL.Assert(true);/**/
GL.Clear( MaskBufferBit.COLOR /**/ | MaskBufferBit.DEPTH/**/ ); /*GL.Assert(true);/**/
f_vao.Bind( 0 ); //GL.Assert(true);
foreach( PlainGeometryMesh mesh in items ) {
//autoT.SelectTextureAndBind(mesh.TextureImage);
f_t.LoadTexture( 0, mesh.TextureImage );
//GL.Assert(true);
frameMainShader.Use(); //GL.Assert(true);
GL.DrawElements(
GeometryType.TRIANGLES, 6, TypeCode.UInt32, IntPtr.Zero );
}
//GL.ClearError();
//GL.Assert(true);
}
public void Main()
{
temp++;
//GL.ClearError();
GL.Viewport( 0, 0, ( uint )Width, ( uint )Height );
//Console.Clear();
buffer.UpdateAllParticles();
//Console.WriteLine(GL.CheckFrameBufferStatus(FrameBufferTarget.All));
fbo.Bind( 0 ); //GL.Assert(true);
vao.Bind( 0 ); //GL.Assert(true);
t.Bind2D( 0 ); //GL.Assert(false);
GL.Viewport( 0, 0, ( uint )Width, ( uint )Height );
/**/
GL.TextureImage2d<byte>(
Texture2DTarget.Texture2D, 0, ImageChannel.WithAlphaChannel,
( uint )Width, ( uint )Height, ImageChannel.WithAlphaChannel,
PixelChannelLayout.Byte, null );
/**/
//GL.Assert(false);
//Console.WriteLine(GL.CheckFrameBufferStatus(FrameBufferTarget.All));
GL.ClearColor( ( 0.6f + TimePassed ) % 1.0f, 0.1f, 0.3f, 1 );
//GL.Assert( false );
//Console.WriteLine(GL.CheckFrameBufferStatus(FrameBufferTarget.All));
GL.Clear( MaskBufferBit.COLOR /**/ | MaskBufferBit.DEPTH /**/ );
//GL.Assert(false);
vbo.Bind( 1 );
vbo.WriteVectorData<Vec4>(
1, buffer.CoordAndRotationSpan, BufferUsage.StreamDraw );
s.Use();
NativeCamera.SetAllUniforms();
GL.SetUniformValue( time, TimePassed );
GL.DrawElementsInstanced(
GeometryType.TRIANGLES, 6, TypeCode.UInt32, IntPtr.Zero, 100 );
//Console.WriteLine(TimePassed);
//GL.Assert(true);
GL.WaitAccomplishment();
GL.BindVertexArray( GlHandle.Zero );
/**/
//GL.Assert(true);
ImageHelper.Resize( i, Width, Height, ImageMovement.Discard );
//GL.ClearError();
//Console.Write($"size set to {Height},{Width}");
//Console.WriteLine($"Image resized to {i.Height} {i.Width}");
GL.GetTextureImage(
Texture2DTarget.Texture2D, 0, ImageChannel.WithAlphaChannel,
PixelChannelLayout.Byte, i.PixelBuffer );
/*
for (int num = 0; num < i.PixelBuffer.Length; num+=10000)
{
Console.Write($"{i.PixelBuffer[num]}\t");
}
/**/
//GL.Assert(true);
//Array.Fill<byte>(i.PixelBuffer, 24);
GL.BindFrameBuffer( FrameBufferTarget.All, GlHandle.Zero );
//GL.Assert(true);
/**/
}
public void NothingMain()
{
GL.ClearError();
//GL.BindFrameBuffer(FrameBufferTarget.All, GlHandle.Zero);
GL.ClearColor( 0.5f, 0.2f, 0.3f, 1.0f );
GL.Assert( false );
}
public void RenderButton(
ButtonStatus status,
float statusBegin,
in TextureProvider provider )
{
provider.UpdateFromImage( i );
}
internal static Vec3 DefaultRotation(
TimeSpanProvider provider,
out float rotation )
{
rotation = provider.SpanLengthLowPrecession;
float angle = provider.CurrentSecond * 2;
return ( new Vec3( Scaler.Cos( angle ), Scaler.Sin( angle ),
0 ) ) * provider.SpanLengthLowPrecession;
}
protected override void CustomizeDeinit() { }
protected override void CustomizeInit()
{
//GL.ClearError();
//GL.Assert(true);
buffer = new PlainInstancingBuffer<ParticleOnPlain>();
for( int i = 0; i < 10; i++ ) {
float ai = Scaler.Abs( i - 5.0f );
for( int t = 0; t < 10; t++ ) {
float at = Scaler.Abs( t - 5.0f );
ParticleOnPlain p = new ParticleOnPlain( buffer );
( ( IInstancing )p ).Coord = new Vec3(
( ( ( -5 ) + i ) * 0.2f ) + 0.1f,
( ( ( -5 ) + t ) * 0.2f ) + 0.1f, 0 );
( ( IInstancing )p ).Scale =
Scaler.MinOf( i, t ) * 0.15f;
( ( IInstancing )p ).Motion = new GeometryMotion(
true, TimeProvider, DefaultRotation );
}
}
//GL.Assert(true);
//SetSizeLimit(800, 800, 800, 800);
s = CreateShaderProgram();
frameMainShader = CreateShaderProgram();
Shader pvs = CreateShaderSegment( ShaderType.Vertex, 2 );
Shader pfs = CreateShaderSegment( ShaderType.Fragment, 2 );
//GL.Assert(true);
pvs.Compile( 0, Shader.FromCodeFile( "Shader\\particle.vert" ) );
//GL.Assert(true);
pvs.AttachTo( 0, s );
//GL.Assert(true);
pfs.Compile( 0, Shader.FromCodeFile( "Shader\\particle.frag" ) );
pfs.AttachTo( 0, s );
s.Link();
//GL.Assert(true);
pvs.Compile( 1, Shader.FromCodeFile( "Shader\\fbo.vert" ) );
pvs.AttachTo( 1, frameMainShader );
pfs.Compile( 1, Shader.FromCodeFile( "Shader\\fbo.frag" ) );
pfs.AttachTo( 1, frameMainShader );
frameMainShader.Link();
//GL.Assert(true);
vbo = CreateVertexBuffer( 3 );
vao = CreateVertexArray( 1 );
ebo = CreateElementBuffer( 1 );
vbo.Bind( 0 );
Rectangle rec = new Rectangle(
0.05f, 0.05f, 0.05f, -0.05f, -0.05f, -0.05f, -0.05f, 0.05f );
//GL.Assert(true);
vao.Bind( 0 );
vbo.WriteVectorData( 0, rec.VertexStream, BufferUsage.StaticDraw );
ebo.SetValue( 0, rec.VertexIndices, BufferUsage.StaticDraw );
vao.SetVertexAttribute(
0, 3, TypeCode.Single, false, 4 * sizeof( float ), 0 );
vbo.WriteVectorData<Vec4>(
1, buffer.CoordAndRotationSpan, BufferUsage.StreamDraw );
vao.SetVertexAttribute(
1, 3, TypeCode.Single, false, 4 * sizeof( float ), 0 );
vao.SetVertexAttribute(
2, 1, TypeCode.Single, false, 4 * sizeof( float ),
3 * sizeof( float ) );
GL.VertexAttributeDivisor( 1, 1 );
GL.VertexAttributeDivisor( 2, 1 );
vbo.WriteScalerData<float>(
2, buffer.ScalingSpan, BufferUsage.StaticDraw );
vao.SetVertexAttribute(
3, 1, TypeCode.Single, false, sizeof( float ), 0 );
GL.VertexAttributeDivisor( 3, 1 );
vbo.Unbind();
GL.BindVertexArray( GlHandle.Zero );
NativeCameraViewTarget( (0, 0, -100), (0, 0, 0), (0, 1, 0) );
NativeCameraViewRange( new Degree( 1.5f ), Vec2.Zero, (50, 50) );
NativeCameraUniform( s, "Camera" );
s.Use();
fbo = CreateFrameBuffer( 1 );
rbo = CreateRenderBuffer( 1 );
fbo.Bind( 0 );
rbo.Bind( 0 );
//GL.Assert(true);
t = CreateTexture( 1 );
t.Bind2D( 0 );
GL.TextureImage2d<byte>(
Texture2DTarget.Texture2D, 0, ImageChannel.WithAlphaChannel,
( uint )Width, ( uint )Height, ImageChannel.WithAlphaChannel,
PixelChannelLayout.Byte, null );
t.Set2dWrapProperty( 0, TextureWrap.Repeat, TextureWrap.Repeat );
t.Set2dFilterProperty(
0, TextureFilter.Linear, TextureFilter.Linear );
//GL.Assert(true);
GL.FrameBufferTexture2d(
FrameBufferTarget.All, glAttachment.Color( 0 ),
Texture2DTarget.Texture2D, t[ 0 ], 0 );
GL.SetRenderBufferStorage(
RenderBufferInternalFormat.Depth24_Stencil8, this.Size );
GL.CombineFrameBufferRenderBuffer(
FrameBufferAttachment.DepthAndStencil, rbo[ 0 ] );
Console.WriteLine(
GL.CheckFrameBufferStatus( FrameBufferTarget.All ) );
FrameBuffer.BindNull();
//GL.Assert(true);
int streamLength = this.Width * this.Height * 4;
byte[] imageStream = new byte[streamLength];
i = Image.FromMemory(
this.Size, ImageChannel.WithAlphaChannel, imageStream );
time = s.GetUniform<float>( "time" );
Vec2[] buttonTextureCoordArray = {
(0f, 1f),
(1f, 1f),
(1f, 0f),
(0f, 0f)
};
ButtonBounding = new Rectangle(
-0.9f, 0.9f, 0.9f, 0.9f, 0.9f, -0.9f, -0.9f, -0.9f );
//GL.Assert(true);
ButtonTextureProvider = new TextureProvider(
i, buttonTextureCoordArray );
f_vao = CreateVertexArray( 1 );
f_vbo = CreateVertexBuffer( 2 );
f_ebo = CreateElementBuffer( 1 );
//GL.Assert(true);
f_vao.Bind( 0 );
f_ebo.Bind( 0 );
f_ebo.SetValue(
0, ButtonBounding.VertexIndices, BufferUsage.StaticDraw );
//GL.Assert(true);
f_vbo.Bind( 0 );
f_vbo.WriteVectorData(
0, ButtonBounding.VertexStream, BufferUsage.StaticDraw );
f_vao.SetVertexAttribute(
0, 3, TypeCode.Single, false, 4 * sizeof( float ), 0 );
//GL.Assert(true);
f_vbo.Bind( 1 );
f_vbo.WriteVectorData(
1, buttonTextureCoordArray, BufferUsage.StaticDraw );
f_vao.SetVertexAttribute(
1, 3, TypeCode.Single, false, 4 * sizeof( float ), 0 );
//GL.Assert(true);
autoT = CreateAutoTexture( 4 );
autoT.DefaultTextureProperty = new TextureProperty(
TextureFilter.Nearest, TextureFilter.Nearest,
TextureWrap.Repeat, TextureWrap.Repeat );
f_t = CreateTexture( 1 );
f_t.Bind2D( 0 );
f_t.Set2dWrapProperty( 0, TextureWrap.Repeat, TextureWrap.Repeat );
f_t.Set2dFilterProperty(
0, TextureFilter.Nearest, TextureFilter.Nearest );
//GL.Assert(true);
f_t.ActivateAs( TextureUnit.Unit1 );
//GL.Assert(true);
frameMainShader.Use();
texUniform = frameMainShader.GetUniform<int>( "tex" );
//GL.Assert(true);
GL.SetUniformValue( texUniform, 1 );
//GL.Assert(true);
GL.ClearError();
GL.Assert( true );
}
}
}
@@ -87,16 +87,23 @@
<PropertyGroup Condition="'$(IsLinux)'=='true'">
<DefineConstants>Linux</DefineConstants>
</PropertyGroup>
<ItemGroup>
<None Remove="SSG_errorlog.log" />
<Compile Remove="Entities\**" />
<Compile Remove="Geometries\**" />
<Compile Remove="Math\**" />
<Compile Remove="MVVM\**" />
<EmbeddedResource Remove="Entities\**" />
<EmbeddedResource Remove="Geometries\**" />
<EmbeddedResource Remove="Math\**" />
<EmbeddedResource Remove="MVVM\**" />
<None Remove="Entities\**" />
<None Remove="Geometries\**" />
<None Remove="Math\**" />
<None Remove="MVVM\**" />
</ItemGroup>
<ItemGroup>
<Folder Include="Entities\" />
<Folder Include="Geometries\SpaceGeometry\" />
<Folder Include="Math\LinearHP\" />
<Folder Include="MVVM\DataBinding\" />
<None Remove="SSG_errorlog.log" />
</ItemGroup>
<ItemGroup>
@@ -106,6 +113,11 @@
<PackageReference Include="System.Collections.Concurrent" Version="4.3.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\StgSharp.Modeling\StgSharp.Modeling.csproj" />
<ProjectReference Include="..\StgSharp\StgSharp.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="Shader\awesomeface.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -0,0 +1,61 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="Control.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Controlling.UsrActivity;
using StgSharp.MVVM.View;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp
{
public partial class ViewMain
{
protected class Control : ViewResponder<ViewMain>
{
public Control( ViewMain view ) : base( view ) { }
public override void CustomizedInitialize(
Func<IClickTrigger, string, Action> keyRegister ) { }
public override bool ValidateInitializing()
{
return true;
}
}
}
}
@@ -0,0 +1,100 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="Design.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Controlling;
using StgSharp.Controlling.UsrActivity;
using StgSharp.Controls;
using StgSharp.Geometries;
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace StgSharp
{
public partial class ViewMain
{
internal DemoButtonGroup Group
{
get;
set;
}
internal TriggerButton OnlyButton
{
get;
set;
}
internal class Design : ViewDesigner<ViewMain>
{
public Design( ViewMain view ) : base( view ) { }
public override sealed void CustomizedInitialize()
{
Binding.Group = CreateKeyboardButtonGroup<DemoButtonGroup>(
new KeyTrigger( KeyboardKey.Left, KeyStatus.PRESS ),
new KeyTrigger( KeyboardKey.Right, KeyStatus.PRESS ),
new KeyTrigger( KeyboardKey.Up, KeyStatus.PRESS ),
new KeyTrigger( KeyboardKey.Down, KeyStatus.PRESS ),
new KeyTrigger( KeyboardKey.Enter, KeyStatus.PRESS ) );
Binding.OnlyButton = CreateKeyboardButton(
Binding.Stream.ButtonBounding,
Binding.Stream.ButtonTextureProvider, true );
Binding.OnlyButton.RenderButtonTexture += Binding.Stream.RenderButton;
}
public override bool ValidateInitializing()
{
return true;
}
}
}
public class DemoButtonGroup : KeyboardButtonGroup
{
public override sealed void Confirm()
{
return;
}
}
}
@@ -0,0 +1,70 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="NewRender.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Data;
using StgSharp.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp
{
public partial class ViewMain
{
public ParticleRenderStream Stream
{
get;
set;
}
private class NewRender : ViewRender<ViewMain>
{
public NewRender( ViewMain view ) : base( view ) { }
public override void CustomizedInitialize()
{
Binding.Stream = CreateRenderStream<ParticleRenderStream>( );
Render[ "only".AsLabel() ] = Binding.Stream;
}
public override bool ValidateInitializing()
{
return Binding.Stream != null;
}
}
}
}
@@ -0,0 +1,100 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="ViewMain.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Graphics;
using StgSharp.MVVM;
using StgSharp.MVVM.View;
using StgSharp.MVVM.ViewModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp
{
public partial class ViewMain : ViewBase
{
private Dictionary<string, DataBindingEntry> _databindingIndexMap;
public ViewMain()
{
_databindingIndexMap = new Dictionary<string, DataBindingEntry>();
}
public override void CustomizedInitialize(
[NotNull]ViewModelBase viewModelBinding )
{
Designer = new Design( this );
Responder = new Control( this );
Render = new NewRender( this );
Render.Initialize();
Designer.Initialize();
Responder.Initialize( viewModelBinding.MethodLookup );
}
public override bool TryGetObjectReference(
string name,
out DataBindingEntry entry )
{
if( _databindingIndexMap.TryGetValue( name, out entry ) ) {
return true;
}
try {
entry = name switch
{
_ => default( DataBindingEntry ),
};
return !entry.ExactEqual( default( DataBindingEntry ) );
}
catch( Exception ) {
entry = default( DataBindingEntry );
return false;
}
}
protected override void Show()
{
Stream.RenderStart();
//Stream.NothingMain();
Stream.Main();
Stream.ButtonMain( OnlyButton );
Stream.RenderEnd();
}
}
}
@@ -0,0 +1,78 @@
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// file="ViewModelMain.cs"
// Project: StgSharp
// AuthorGroup: Nitload Space
// Copyright (c) Nitload Space. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the “Software”), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software,
// and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and
// this permission notice shall be included in all copies
// or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED “AS IS”,
// WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
using StgSharp.Graphics;
using StgSharp.MVVM;
using StgSharp.MVVM.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StgSharp
{
public class ViewModelMain : ViewModelBase
{
private Dictionary<string, DataBindingEntry> dataBindingEntryIndexmap;
public ViewModelMain( ViewPort vp )
: base( vp, 60 )
{
dataBindingEntryIndexmap = new Dictionary<string, DataBindingEntry>(
);
}
public override void CustomizeInitialize() { }
public override bool TryGetObjectReference(
string name,
out DataBindingEntry entry )
{
if( dataBindingEntryIndexmap.TryGetValue( name, out entry ) ) {
return true;
}
entry = name switch
{
_ => DataBindingEntry.NullBinding,
};
if( entry.ExactEqual( DataBindingEntry.NullBinding ) ) {
return false;
}
dataBindingEntryIndexmap.Add( name, entry );
return true;
}
}//------------------------------------- End of Class ------------------------------------------
}
@@ -4,6 +4,76 @@
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpDebug\\StgSharpDebug.csproj": {}
},
"projects": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"projectName": "StgSharp.Modeling",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharpDebug\\StgSharpDebug.csproj": {
"version": "1.0.0",
"restore": {
@@ -33,7 +103,14 @@
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj"
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj"
}
}
}
},
"warningProperties": {
@@ -80,6 +157,83 @@
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj",
"projectName": "StgSharp",
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj",
"packagesPath": "C:\\Users\\Youmu\\.nuget\\packages\\",
"outputPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\Youmu\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"netstandard2.1"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\library-packs": {},
"D:\\Programmer\\NugetLocal": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"netstandard2.1": {
"targetAlias": "netstandard2.1",
"dependencies": {
"Microsoft.CSharp": {
"target": "Package",
"version": "[4.7.0, )"
},
"Microsoft.Windows.CsWin32": {
"suppressParent": "All",
"target": "Package",
"version": "[0.3.49-beta, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"NETStandard.Library": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400\\RuntimeIdentifierGraph.json"
}
}
}
}
}
@@ -2,6 +2,15 @@
"version": 3,
"targets": {
"net6.0": {
"Microsoft.CSharp/4.7.0": {
"type": "package",
"compile": {
"ref/netcoreapp2.0/_._": {}
},
"runtime": {
"lib/netcoreapp2.0/_._": {}
}
},
"Microsoft.NETCore.Platforms/1.1.0": {
"type": "package",
"compile": {
@@ -287,10 +296,105 @@
"related": ".xml"
}
}
},
"StgSharp/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.1",
"dependencies": {
"Microsoft.CSharp": "4.7.0"
},
"compile": {
"bin/placeholder/StgSharp.dll": {}
},
"runtime": {
"bin/placeholder/StgSharp.dll": {}
}
},
"StgSharp.Modeling/1.0.0": {
"type": "project",
"framework": ".NETStandard,Version=v2.1",
"dependencies": {
"StgSharp": "1.0.0"
},
"compile": {
"bin/placeholder/StgSharp.Modeling.dll": {}
},
"runtime": {
"bin/placeholder/StgSharp.Modeling.dll": {}
}
}
}
},
"libraries": {
"Microsoft.CSharp/4.7.0": {
"sha512": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==",
"type": "package",
"path": "microsoft.csharp/4.7.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net45/_._",
"lib/netcore50/Microsoft.CSharp.dll",
"lib/netcoreapp2.0/_._",
"lib/netstandard1.3/Microsoft.CSharp.dll",
"lib/netstandard2.0/Microsoft.CSharp.dll",
"lib/netstandard2.0/Microsoft.CSharp.xml",
"lib/portable-net45+win8+wp8+wpa81/_._",
"lib/uap10.0.16299/_._",
"lib/win8/_._",
"lib/wp80/_._",
"lib/wpa81/_._",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"microsoft.csharp.4.7.0.nupkg.sha512",
"microsoft.csharp.nuspec",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net45/_._",
"ref/netcore50/Microsoft.CSharp.dll",
"ref/netcore50/Microsoft.CSharp.xml",
"ref/netcore50/de/Microsoft.CSharp.xml",
"ref/netcore50/es/Microsoft.CSharp.xml",
"ref/netcore50/fr/Microsoft.CSharp.xml",
"ref/netcore50/it/Microsoft.CSharp.xml",
"ref/netcore50/ja/Microsoft.CSharp.xml",
"ref/netcore50/ko/Microsoft.CSharp.xml",
"ref/netcore50/ru/Microsoft.CSharp.xml",
"ref/netcore50/zh-hans/Microsoft.CSharp.xml",
"ref/netcore50/zh-hant/Microsoft.CSharp.xml",
"ref/netcoreapp2.0/_._",
"ref/netstandard1.0/Microsoft.CSharp.dll",
"ref/netstandard1.0/Microsoft.CSharp.xml",
"ref/netstandard1.0/de/Microsoft.CSharp.xml",
"ref/netstandard1.0/es/Microsoft.CSharp.xml",
"ref/netstandard1.0/fr/Microsoft.CSharp.xml",
"ref/netstandard1.0/it/Microsoft.CSharp.xml",
"ref/netstandard1.0/ja/Microsoft.CSharp.xml",
"ref/netstandard1.0/ko/Microsoft.CSharp.xml",
"ref/netstandard1.0/ru/Microsoft.CSharp.xml",
"ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml",
"ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml",
"ref/netstandard2.0/Microsoft.CSharp.dll",
"ref/netstandard2.0/Microsoft.CSharp.xml",
"ref/portable-net45+win8+wp8+wpa81/_._",
"ref/uap10.0.16299/_._",
"ref/win8/_._",
"ref/wp80/_._",
"ref/wpa81/_._",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"Microsoft.NETCore.Platforms/1.1.0": {
"sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
"type": "package",
@@ -1471,11 +1575,23 @@
"system.threading.tasks.4.3.0.nupkg.sha512",
"system.threading.tasks.nuspec"
]
},
"StgSharp/1.0.0": {
"type": "project",
"path": "../StgSharp/StgSharp.csproj",
"msbuildProject": "../StgSharp/StgSharp.csproj"
},
"StgSharp.Modeling/1.0.0": {
"type": "project",
"path": "../StgSharp.Modeling/StgSharp.Modeling.csproj",
"msbuildProject": "../StgSharp.Modeling/StgSharp.Modeling.csproj"
}
},
"projectFileDependencyGroups": {
"net6.0": [
"Microsoft.Windows.CsWin32 >= 0.3.49-beta",
"StgSharp >= 1.0.0",
"StgSharp.Modeling >= 1.0.0",
"System.Collections.Concurrent >= 4.3.0"
]
},
@@ -1512,7 +1628,14 @@
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
"projectReferences": {
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp.Modeling\\StgSharp.Modeling.csproj"
},
"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj": {
"projectPath": "D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\内核源代码\\StgSharp\\StgSharp.csproj"
}
}
}
},
"warningProperties": {
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+592ad55d57752262ac1a710ef11425da83ef4676")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+63c3cd17e2188771886daeb4046edf28633fa949")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -35,3 +35,5 @@ D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\游戏源代码\Ou
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\游戏源代码\Output\x64\Debug\net6.0\StgSharpDebug.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\游戏源代码\Output\x64\Debug\net6.0\StgSharpDebug.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\游戏源代码\Output\x64\Debug\net6.0\StgSharpDebug.xml
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\obj\x64\Debug\net6.0\StgSharpDebug.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\内核源代码\StgSharpDebug\obj\x64\Debug\net6.0\StgSharp.D6C465D7.Up2Date
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/592ad55d57752262ac1a710ef11425da83ef4676/*"}}
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/63c3cd17e2188771886daeb4046edf28633fa949/*"}}
+65 -33
View File
@@ -15,13 +15,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharpDebug", "StgSharpDe
{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF} = {3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SSClib", "SSClib", "{9F023D4F-3977-495B-BE63-2DF8EA9AA849}"
ProjectSection(SolutionItems) = preProject
StgSharpC.dll = StgSharpC.dll
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BenchMark", "BenchMark\BenchMark.csproj", "{63382F83-D04E-45B6-BDE6-443273F6D010}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StgSharpC", "StgSharpC\StgSharpC.vcxproj", "{20CBFF26-6746-402E-992C-7B643E9423EB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0961B2BE-415C-45EA-8607-5B83623B2EF7}"
@@ -29,7 +22,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StgSharpTerminalDialogue", "StgSharpTerminalDialogue\StgSharpTerminalDialogue.csproj", "{10B5819F-2A62-41B6-980A-EB9E76A0E95C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharpTerminalDialogue", "StgSharpTerminalDialogue\StgSharpTerminalDialogue.csproj", "{10B5819F-2A62-41B6-980A-EB9E76A0E95C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StgSharp.Modeling", "StgSharp.Modeling\StgSharp.Modeling.csproj", "{5B51F5EA-138C-46B5-B36F-1D389968B6CF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StgSharpTest", "STgSharpTest\StgSharpTest.csproj", "{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -102,31 +99,6 @@ Global
{610B992B-BB34-49C3-9993-676C595FC12E}.Toollist|x64.ActiveCfg = Toollist|x64
{610B992B-BB34-49C3-9993-676C595FC12E}.Toollist|x86.ActiveCfg = Toollist|Any CPU
{610B992B-BB34-49C3-9993-676C595FC12E}.Toollist|x86.Build.0 = Toollist|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Benchmark|Any CPU.ActiveCfg = Benchmark|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Benchmark|x64.ActiveCfg = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Benchmark|x64.Build.0 = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Benchmark|x86.ActiveCfg = Benchmark|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Benchmark|x86.Build.0 = Benchmark|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Debug|Any CPU.Build.0 = Debug|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Debug|x64.ActiveCfg = Debug|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Debug|x86.ActiveCfg = Debug|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Debug|x86.Build.0 = Debug|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.RealDebug|Any CPU.ActiveCfg = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.RealDebug|Any CPU.Build.0 = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.RealDebug|x64.ActiveCfg = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.RealDebug|x86.ActiveCfg = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.RealDebug|x86.Build.0 = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Release|Any CPU.Build.0 = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Release|x64.ActiveCfg = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Release|x86.ActiveCfg = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Release|x86.Build.0 = Release|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Toollist|Any CPU.ActiveCfg = Toollist|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Toollist|Any CPU.Build.0 = Toollist|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Toollist|x64.ActiveCfg = Toollist|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Toollist|x86.ActiveCfg = Toollist|Any CPU
{63382F83-D04E-45B6-BDE6-443273F6D010}.Toollist|x86.Build.0 = Toollist|Any CPU
{20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|Any CPU.ActiveCfg = Debug|x64
{20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|Any CPU.Build.0 = Debug|x64
{20CBFF26-6746-402E-992C-7B643E9423EB}.Benchmark|x64.ActiveCfg = Debug|x64
@@ -186,6 +158,66 @@ Global
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|x64.Build.0 = Debug|Any CPU
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|x86.ActiveCfg = Debug|Any CPU
{10B5819F-2A62-41B6-980A-EB9E76A0E95C}.Toollist|x86.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Benchmark|Any CPU.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Benchmark|Any CPU.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Benchmark|x64.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Benchmark|x64.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Benchmark|x86.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Benchmark|x86.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|x64.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|x64.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|x86.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Debug|x86.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.RealDebug|Any CPU.ActiveCfg = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.RealDebug|Any CPU.Build.0 = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.RealDebug|x64.ActiveCfg = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.RealDebug|x64.Build.0 = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.RealDebug|x86.ActiveCfg = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.RealDebug|x86.Build.0 = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|Any CPU.Build.0 = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|x64.ActiveCfg = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|x64.Build.0 = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|x86.ActiveCfg = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Release|x86.Build.0 = Release|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Toollist|Any CPU.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Toollist|Any CPU.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Toollist|x64.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Toollist|x64.Build.0 = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Toollist|x86.ActiveCfg = Debug|Any CPU
{5B51F5EA-138C-46B5-B36F-1D389968B6CF}.Toollist|x86.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Benchmark|Any CPU.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Benchmark|Any CPU.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Benchmark|x64.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Benchmark|x64.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Benchmark|x86.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Benchmark|x86.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Debug|x64.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Debug|x64.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Debug|x86.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Debug|x86.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.RealDebug|Any CPU.ActiveCfg = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.RealDebug|Any CPU.Build.0 = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.RealDebug|x64.ActiveCfg = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.RealDebug|x64.Build.0 = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.RealDebug|x86.ActiveCfg = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.RealDebug|x86.Build.0 = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Release|Any CPU.Build.0 = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Release|x64.ActiveCfg = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Release|x64.Build.0 = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Release|x86.ActiveCfg = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Release|x86.Build.0 = Release|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Toollist|Any CPU.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Toollist|Any CPU.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Toollist|x64.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Toollist|x64.Build.0 = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Toollist|x86.ActiveCfg = Debug|Any CPU
{A74EABDE-B94D-4F8B-9305-F9D3850D4C70}.Toollist|x86.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpTerminalDialogue")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+592ad55d57752262ac1a710ef11425da83ef4676")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+63c3cd17e2188771886daeb4046edf28633fa949")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpTerminalDialogue")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpTerminalDialogue")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
@@ -1 +1 @@
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/7c8d462ca5da46abdfb0e7278f81d25abe890887/*"}}
{"documents":{"D:\\NitloadIndustry\\研究项目\\1-Flagship\\TH2020\\ProjectFile\\*":"https://raw.githubusercontent.com/Nitload-NSI/CCD_Github/63c3cd17e2188771886daeb4046edf28633fa949/*"}}