diff --git a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin index 544f3bdf..be87a193 100644 Binary files a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin and b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.metadata.v7.bin differ diff --git a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin index e3342c70..118d8bd4 100644 Binary files a/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin and b/源代码/.vs/ProjectEvaluation/stgsharpdevelop.projects.v7.bin differ diff --git a/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 b/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 index 6e566c5f..9ab204d5 100644 Binary files a/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 and b/源代码/.vs/StgSharpDevelop/DesignTimeBuild/.dtbcache.v2 differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/09af57cc-309a-4f71-bcb0-1d5f61778d9f.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/09af57cc-309a-4f71-bcb0-1d5f61778d9f.vsidx deleted file mode 100644 index 301d1e5b..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/09af57cc-309a-4f71-bcb0-1d5f61778d9f.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/9b2ed1a1-78d0-4fdd-a939-b4f56782e152.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/9b2ed1a1-78d0-4fdd-a939-b4f56782e152.vsidx new file mode 100644 index 00000000..776e4526 Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/9b2ed1a1-78d0-4fdd-a939-b4f56782e152.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/9c92e083-2162-4881-a68a-2ea2b9f35f59.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/9c92e083-2162-4881-a68a-2ea2b9f35f59.vsidx deleted file mode 100644 index 698ad8cc..00000000 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/9c92e083-2162-4881-a68a-2ea2b9f35f59.vsidx and /dev/null differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/93719fce-ba59-485f-88a5-aef8b309864c.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/b88abf6d-467b-4170-ab98-1478b28907aa.vsidx similarity index 50% rename from 源代码/.vs/StgSharpDevelop/FileContentIndex/93719fce-ba59-485f-88a5-aef8b309864c.vsidx rename to 源代码/.vs/StgSharpDevelop/FileContentIndex/b88abf6d-467b-4170-ab98-1478b28907aa.vsidx index cc1adade..e0975837 100644 Binary files a/源代码/.vs/StgSharpDevelop/FileContentIndex/93719fce-ba59-485f-88a5-aef8b309864c.vsidx and b/源代码/.vs/StgSharpDevelop/FileContentIndex/b88abf6d-467b-4170-ab98-1478b28907aa.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/FileContentIndex/eaef42fe-afa4-4a5d-a572-cbdeed38cbef.vsidx b/源代码/.vs/StgSharpDevelop/FileContentIndex/eaef42fe-afa4-4a5d-a572-cbdeed38cbef.vsidx new file mode 100644 index 00000000..0e78750f Binary files /dev/null and b/源代码/.vs/StgSharpDevelop/FileContentIndex/eaef42fe-afa4-4a5d-a572-cbdeed38cbef.vsidx differ diff --git a/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 b/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 index b0f60788..e6d490e1 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 and b/源代码/.vs/StgSharpDevelop/v17/.futdcache.v2 differ diff --git a/源代码/.vs/StgSharpDevelop/v17/.suo b/源代码/.vs/StgSharpDevelop/v17/.suo index b7b13d27..6223f75e 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/.suo and b/源代码/.vs/StgSharpDevelop/v17/.suo differ diff --git a/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json b/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json index 6cebb047..c4b6ffd0 100644 --- a/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json +++ b/源代码/.vs/StgSharpDevelop/v17/DocumentLayout.json @@ -3,17 +3,17 @@ "WorkspaceRootPath": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\logic\\bluepaint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\bluepaint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\logic\\blueprint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\blueprint.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\logic\\blueprintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\blueprintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { "AbsoluteMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharp\\data\\ssd\\ssd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\data\\ssd\\ssd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharp\\logic\\bluepaintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3EAF2EE6-FA9E-4F57-951F-7E6F8125DFBF}|StgSharp\\StgSharp.csproj|solutionrelative:stgsharp\\logic\\bluepaintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\test\\mainrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\test\\mainrenderstream.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -42,10 +42,6 @@ "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\data\\globaldata\\idprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\data\\globaldata\\idprovider.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\logic\\bluepaintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\logic\\bluepaintnode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|d:\\nitloadindustry\\\u7814\u7A76\u9879\u76EE\\1-flagship\\th2020\\projectfile\\\u6E90\u4EE3\u7801\\stgsharpdebug\\graphics\\gl\\shaderedit\\shader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{610B992B-BB34-49C3-9993-676C595FC12E}|StgSharpDebug\\StgSharpDebug.csproj|solutionrelative:stgsharpdebug\\graphics\\gl\\shaderedit\\shader.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -210,24 +206,11 @@ "DocumentGroups": [ { "DockedWidth": 197, - "SelectedChildIndex": 8, + "SelectedChildIndex": 7, "Children": [ { "$type": "Document", "DocumentIndex": 2, - "Title": "BluePaintNode.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Logic\\BluePaintNode.cs", - "RelativeDocumentMoniker": "StgSharp\\Logic\\BluePaintNode.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Logic\\BluePaintNode.cs", - "RelativeToolTip": "StgSharp\\Logic\\BluePaintNode.cs", - "ViewState": "AQIAAE0AAAAAAAAAAIAzwF0AAAAWAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-27T17:53:16.369Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 1, "Title": "SSD.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Data\\SSD\\SSD.cs", "RelativeDocumentMoniker": "StgSharp\\Data\\SSD\\SSD.cs", @@ -235,8 +218,7 @@ "RelativeToolTip": "StgSharp\\Data\\SSD\\SSD.cs", "ViewState": "AQIAABMAAAAAAAAAAIAzwCIAAAAQAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-27T17:53:00.869Z", - "EditorCaption": "" + "WhenOpened": "2024-04-27T17:53:00.869Z" }, { "$type": "Document", @@ -248,8 +230,7 @@ "RelativeToolTip": "StgSharpDebug\\Data\\SSD\\Area.cs", "ViewState": "AQIAAAUAAAAAAAAAAIA0wBUAAAAxAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-27T17:35:18.56Z", - "EditorCaption": "" + "WhenOpened": "2024-04-27T17:35:18.56Z" }, { "$type": "Document", @@ -261,8 +242,7 @@ "RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSD.cs", "ViewState": "AQIAACMAAAAAAAAAAAAWwD0AAAAeAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-27T17:37:00.277Z", - "EditorCaption": "" + "WhenOpened": "2024-04-27T17:37:00.277Z" }, { "$type": "Document", @@ -274,8 +254,7 @@ "RelativeToolTip": "StgSharpDebug\\Data\\GlobalData\\idProvider.cs", "ViewState": "AQIAABoAAAAAAAAAAAAWwCYAAAAPAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-27T17:35:00.506Z", - "EditorCaption": "" + "WhenOpened": "2024-04-27T17:35:00.506Z" }, { "$type": "Document", @@ -287,12 +266,11 @@ "RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSDVirtualFolder.cs", "ViewState": "AQIAAFkAAAAAAAAAAAAMwGkAAAANAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-27T17:33:22.495Z", - "EditorCaption": "" + "WhenOpened": "2024-04-27T17:33:22.495Z" }, { "$type": "Document", - "DocumentIndex": 12, + "DocumentIndex": 11, "Title": "MainForm.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\OEM\\MainForm.cs", "RelativeDocumentMoniker": "OEM\\MainForm.cs", @@ -304,7 +282,7 @@ }, { "$type": "Document", - "DocumentIndex": 13, + "DocumentIndex": 12, "Title": "glRenderStream.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\glRenderStream.cs", "RelativeDocumentMoniker": "StgSharp\\Graphics\\GL\\glRenderStream.cs", @@ -317,32 +295,32 @@ { "$type": "Document", "DocumentIndex": 0, - "Title": "BluePaint.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaint.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\BluePaint.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaint.cs", - "RelativeToolTip": "StgSharpDebug\\Logic\\BluePaint.cs", - "ViewState": "AQIAACEAAAAAAAAAAAAAADMAAAAJAAAA", + "Title": "Blueprint.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\Blueprint.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\Blueprint.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\Blueprint.cs", + "RelativeToolTip": "StgSharpDebug\\Logic\\Blueprint.cs", + "ViewState": "AQIAAHoAAAAAAAAAAAAwwIkAAAAaAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-04-26T20:20:31.076Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 10, - "Title": "BluePaintNode.cs", - "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaintNode.cs", - "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\BluePaintNode.cs", - "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BluePaintNode.cs", - "RelativeToolTip": "StgSharpDebug\\Logic\\BluePaintNode.cs", - "ViewState": "AQIAACAAAAAAAAAAAAAQwDYAAAAdAAAA", + "DocumentIndex": 1, + "Title": "BlueprintNode.cs", + "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BlueprintNode.cs", + "RelativeDocumentMoniker": "StgSharpDebug\\Logic\\BlueprintNode.cs", + "ToolTip": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Logic\\BlueprintNode.cs", + "RelativeToolTip": "StgSharpDebug\\Logic\\BlueprintNode.cs", + "ViewState": "AQIAAEUAAAAAAAAAAAAmwIwAAAAJAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-04-26T20:15:50.576Z", "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 16, + "DocumentIndex": 15, "Title": "Camera.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Graphic\\Camera.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Graphic\\Camera.cs", @@ -354,7 +332,7 @@ }, { "$type": "Document", - "DocumentIndex": 22, + "DocumentIndex": 21, "Title": "FormThreading.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\Form\\FormThreading.cs", "RelativeDocumentMoniker": "StgSharp\\Graphics\\Form\\FormThreading.cs", @@ -366,7 +344,7 @@ }, { "$type": "Document", - "DocumentIndex": 23, + "DocumentIndex": 22, "Title": "Area.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Data\\SSD\\Area.cs", "RelativeDocumentMoniker": "StgSharp\\Data\\SSD\\Area.cs", @@ -386,12 +364,11 @@ "RelativeToolTip": "StgSharpDebug\\Data\\SSD\\SSDraw.cs", "ViewState": "AQIAAEsAAAAAAAAAAIAzwGYAAAAXAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T19:33:32.378Z", - "EditorCaption": "" + "WhenOpened": "2024-04-25T19:33:32.378Z" }, { "$type": "Document", - "DocumentIndex": 26, + "DocumentIndex": 25, "Title": "Program.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgsharpEnvDebug\\Program.cs", "RelativeDocumentMoniker": "StgsharpEnvDebug\\Program.cs", @@ -403,7 +380,7 @@ }, { "$type": "Document", - "DocumentIndex": 28, + "DocumentIndex": 27, "Title": "Polygon4.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Polygon4.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Polygon4.cs", @@ -415,7 +392,7 @@ }, { "$type": "Document", - "DocumentIndex": 11, + "DocumentIndex": 10, "Title": "Shader.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs", @@ -423,8 +400,7 @@ "RelativeToolTip": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Shader.cs", "ViewState": "AQIAAF8AAAAAAAAAAIAwwHEAAAAJAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T19:16:18.922Z", - "EditorCaption": "" + "WhenOpened": "2024-04-25T19:16:18.922Z" }, { "$type": "Document", @@ -436,12 +412,11 @@ "RelativeToolTip": "StgSharpDebug\\Graphics\\Form\\FormThreading.cs", "ViewState": "AQIAADMAAAAAAAAAAIA7wEsAAAASAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T19:29:47.069Z", - "EditorCaption": "" + "WhenOpened": "2024-04-25T19:29:47.069Z" }, { "$type": "Document", - "DocumentIndex": 29, + "DocumentIndex": 28, "Title": "Uniform.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Uniform.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\ShaderEdit\\Uniform.cs", @@ -461,12 +436,11 @@ "RelativeToolTip": "StgSharpDebug\\Test\\MainRenderStream.cs", "ViewState": "AQIAAH4AAAAAAAAAAIAzwI4AAAA7AAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-04-25T19:10:03.206Z", - "EditorCaption": "" + "WhenOpened": "2024-04-25T19:10:03.206Z" }, { "$type": "Document", - "DocumentIndex": 19, + "DocumentIndex": 18, "Title": "Program.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Test\\Program.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Test\\Program.cs", @@ -478,7 +452,7 @@ }, { "$type": "Document", - "DocumentIndex": 21, + "DocumentIndex": 20, "Title": "glApiManager.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Graphics\\GL\\glApiManager.cs", "RelativeDocumentMoniker": "StgSharp\\Graphics\\GL\\glApiManager.cs", @@ -490,7 +464,7 @@ }, { "$type": "Document", - "DocumentIndex": 30, + "DocumentIndex": 29, "Title": "PlainGeometry.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharp\\Geometries\\PlainGeometry\\PlainGeometry.cs", "RelativeDocumentMoniker": "StgSharp\\Geometries\\PlainGeometry\\PlainGeometry.cs", @@ -502,7 +476,7 @@ }, { "$type": "Document", - "DocumentIndex": 20, + "DocumentIndex": 19, "Title": "glApiManager.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\glApiManager.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\glApiManager.cs", @@ -514,7 +488,7 @@ }, { "$type": "Document", - "DocumentIndex": 32, + "DocumentIndex": 31, "Title": "Arc.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\Arc.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\Arc.cs", @@ -526,7 +500,7 @@ }, { "$type": "Document", - "DocumentIndex": 33, + "DocumentIndex": 32, "Title": "Vec4d.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Vec4d.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Vec4d.cs", @@ -538,7 +512,7 @@ }, { "$type": "Document", - "DocumentIndex": 37, + "DocumentIndex": 36, "Title": "PlainGeometry.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\PlainGeometry\\PlainGeometry.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\PlainGeometry\\PlainGeometry.cs", @@ -550,7 +524,7 @@ }, { "$type": "Document", - "DocumentIndex": 36, + "DocumentIndex": 35, "Title": "IGeometry.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\IGeometry.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\IGeometry.cs", @@ -562,7 +536,7 @@ }, { "$type": "Document", - "DocumentIndex": 24, + "DocumentIndex": 23, "Title": "StreamLocalCoordinate.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\Coordination\\StreamLocalCoordinate.cs", @@ -574,7 +548,7 @@ }, { "$type": "Document", - "DocumentIndex": 31, + "DocumentIndex": 30, "Title": "ICoord.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Geometries\\Coordination\\ICoord.cs", @@ -586,7 +560,7 @@ }, { "$type": "Document", - "DocumentIndex": 34, + "DocumentIndex": 33, "Title": "vec3d.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\vec3d.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\vec3d.cs", @@ -598,7 +572,7 @@ }, { "$type": "Document", - "DocumentIndex": 38, + "DocumentIndex": 37, "Title": "Monitors.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\Monitors.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Environment\\Monitors.cs", @@ -610,7 +584,7 @@ }, { "$type": "Document", - "DocumentIndex": 39, + "DocumentIndex": 38, "Title": "ProcessInput.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Control\\ProcessInput.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Control\\ProcessInput.cs", @@ -622,7 +596,7 @@ }, { "$type": "Document", - "DocumentIndex": 35, + "DocumentIndex": 34, "Title": "Matrix44.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Matrix44.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Matrix44.cs", @@ -634,7 +608,7 @@ }, { "$type": "Document", - "DocumentIndex": 40, + "DocumentIndex": 39, "Title": "M128.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\M128.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Data\\M128.cs", @@ -646,7 +620,7 @@ }, { "$type": "Document", - "DocumentIndex": 41, + "DocumentIndex": 40, "Title": "IMemoryType.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\IMemoryType.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Data\\IMemoryType.cs", @@ -658,7 +632,7 @@ }, { "$type": "Document", - "DocumentIndex": 43, + "DocumentIndex": 42, "Title": "Cordination.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Math\\Linear\\Cordination.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Math\\Linear\\Cordination.cs", @@ -670,7 +644,7 @@ }, { "$type": "Document", - "DocumentIndex": 42, + "DocumentIndex": 41, "Title": "M256.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Data\\M256.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Data\\M256.cs", @@ -682,7 +656,7 @@ }, { "$type": "Document", - "DocumentIndex": 44, + "DocumentIndex": 43, "Title": "globalKeyStat.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Environment\\globalKeyStat.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Environment\\globalKeyStat.cs", @@ -694,7 +668,7 @@ }, { "$type": "Document", - "DocumentIndex": 18, + "DocumentIndex": 17, "Title": "StructDefine.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\StructDefine.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Define\\StructDefine.cs", @@ -706,7 +680,7 @@ }, { "$type": "Document", - "DocumentIndex": 27, + "DocumentIndex": 26, "Title": "glType.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Define\\glType.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Define\\glType.cs", @@ -718,7 +692,7 @@ }, { "$type": "Document", - "DocumentIndex": 45, + "DocumentIndex": 44, "Title": "VBO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\VBO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\VBO.cs", @@ -730,7 +704,7 @@ }, { "$type": "Document", - "DocumentIndex": 46, + "DocumentIndex": 45, "Title": "VAO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\VAO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\VAO.cs", @@ -742,7 +716,7 @@ }, { "$type": "Document", - "DocumentIndex": 47, + "DocumentIndex": 46, "Title": "texture.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\texture.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\texture.cs", @@ -754,7 +728,7 @@ }, { "$type": "Document", - "DocumentIndex": 49, + "DocumentIndex": 48, "Title": "FBO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\FBO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\FBO.cs", @@ -766,7 +740,7 @@ }, { "$type": "Document", - "DocumentIndex": 48, + "DocumentIndex": 47, "Title": "EBO.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\Buffer\\EBO.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\Buffer\\EBO.cs", @@ -778,7 +752,7 @@ }, { "$type": "Document", - "DocumentIndex": 17, + "DocumentIndex": 16, "Title": "GLresourceGenrator.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\GLresourceGenrator.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\GLresourceGenrator.cs", @@ -790,7 +764,7 @@ }, { "$type": "Document", - "DocumentIndex": 25, + "DocumentIndex": 24, "Title": "Form.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\Form\\Form.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\Form\\Form.cs", @@ -802,7 +776,7 @@ }, { "$type": "Document", - "DocumentIndex": 15, + "DocumentIndex": 14, "Title": "glRenderStream.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\GL\\glRenderStream.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\GL\\glRenderStream.cs", @@ -814,7 +788,7 @@ }, { "$type": "Document", - "DocumentIndex": 14, + "DocumentIndex": 13, "Title": "RenderStream.cs", "DocumentMoniker": "D:\\NitloadIndustry\\\u7814\u7A76\u9879\u76EE\\1-Flagship\\TH2020\\ProjectFile\\\u6E90\u4EE3\u7801\\StgSharpDebug\\Graphics\\RenderStream.cs", "RelativeDocumentMoniker": "StgSharpDebug\\Graphics\\RenderStream.cs", diff --git a/源代码/.vs/StgSharpDevelop/v17/fileList.bin b/源代码/.vs/StgSharpDevelop/v17/fileList.bin index a8808792..1ffd4348 100644 Binary files a/源代码/.vs/StgSharpDevelop/v17/fileList.bin and b/源代码/.vs/StgSharpDevelop/v17/fileList.bin differ diff --git a/源代码/StgSharp/Graphics/Form/FormThreading.cs b/源代码/StgSharp/Graphics/Form/FormThreading.cs index 1faf38c8..5f206be7 100644 --- a/源代码/StgSharp/Graphics/Form/FormThreading.cs +++ b/源代码/StgSharp/Graphics/Form/FormThreading.cs @@ -44,7 +44,7 @@ namespace StgSharp.Graphics { public abstract partial class Form { - private BluePaint renderLogic; + private Blueprint renderLogic; /// /// Init this form and render it on screen, and respond with operation diff --git a/源代码/StgSharp/Logic/Blueprint.cs b/源代码/StgSharp/Logic/Blueprint.cs new file mode 100644 index 00000000..71082163 --- /dev/null +++ b/源代码/StgSharp/Logic/Blueprint.cs @@ -0,0 +1,167 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="Blueprint.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.Logic; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace StgSharpDebug.Logic +{ + public class Blueprint + { + + private BlueprintNode beginNode; + private Dictionary allNode; + private Func terminate; + + private int currentNodeIndex = 0; + private List allThread; + private List nativeNodeList; + private List nodeList; + + public Blueprint() + { + allThread = new List(); + nodeList = new List(); + nativeNodeList = new List(); + terminate = () => false; + } + + public bool IsRunning => allThread.Any(t => t.Status == TaskStatus.Running); + + public void Init(int threadCount) + { + foreach (var item in allNode) + { + if (item.Value.IsNative) + { + nativeNodeList.Add(item.Value); + } + else + { + nodeList.Add(item.Value); + } + } + nativeNodeList.Sort(); + nodeList.Sort(); + if (threadCount > nodeList.Count) + { + InternalIO.InternalWriteLog( + "Thread setting error: amount of threads of this blueprint is larger than amount of nodes.", LogType.Warning); + threadCount = nodeList.Count; + } + for (int i = 0; i < threadCount; i++) + { + allThread.Add(new Task( + + () => + { + while (true) + { + try + { + while (true) + { + RequestNextNode().Run(); + } + } + catch (NodeClearException) { } + if (terminate()) + { + return; + } + } + } + + )); + } + } + + /// + /// Run all nodes in current blueprint once. + /// + public void Run() + { + foreach (var t in allThread) + { + t.Start(); + } + foreach (var node in nativeNodeList) + { + node.Run(); + } + Task.WaitAll(allThread.ToArray()); + } + + /// + /// Run all nodes repeatedly until it is instructed to terminate. + /// + /// Instructor to terminate all tasks. Returns if tasks should terminate + public void RunRepeatedly(Func terminateInstructor) + { + terminate = terminateInstructor; + foreach (var t in allThread) + { + t.Start(); + } + foreach (var node in nativeNodeList) + { + node.Run(); + } + foreach (var node in nativeNodeList) + { + node.Run(); + } + } + + private BlueprintNode RequestNextNode() + { + if (currentNodeIndex < nodeList.Count) + { + BlueprintNode ret = nodeList[currentNodeIndex]; + Interlocked.Increment(ref currentNodeIndex); + return ret; + } + throw new NodeClearException(); + } + + } + + internal class NodeClearException : Exception + { + + } +} diff --git a/源代码/StgSharp/Logic/BlueprintNode.cs b/源代码/StgSharp/Logic/BlueprintNode.cs new file mode 100644 index 00000000..e510cc24 --- /dev/null +++ b/源代码/StgSharp/Logic/BlueprintNode.cs @@ -0,0 +1,186 @@ +//----------------------------------------------------------------------- +//----------------------------------------------------------------------- +// file="BlueprintNode.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 StgSharpDebug.Logic; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace StgSharp.Logic +{ + public delegate void BlueprintNodeAction( + in Dictionary inpput, + in Dictionary output); + + public abstract class BlueprintNode:IComparable + { + + private Blueprint local; + private BlueprintNodeAction mainOperation; + + private bool levelAvailabel, nativeRequested; + + private Dictionary inputInterfaces; + private Dictionary outputInterface; + private int level; + private string name; + + protected BlueprintNode(string name, BlueprintNodeAction operation) + { + this.levelAvailabel = false; + this.name = name; + mainOperation = operation; + inputInterfaces = new Dictionary(); + outputInterface = new Dictionary(); + } + + internal BlueprintNode(string name, bool isNative) + { + this.levelAvailabel = false; + this.name = name; + nativeRequested = isNative; + inputInterfaces = new Dictionary(); + outputInterface = new Dictionary(); + } + + public bool IsNative => nativeRequested; + + public int Level + { + get + { + if (levelAvailabel) + { + return level; + } + level = 0; + foreach (var item in inputInterfaces) + { + if (level <= item.Value.Level) + { + level = item.Value.Level; + } + } + level += 1; + return level; + } + } + + internal Dictionary InputInterfaces => inputInterfaces; + internal Dictionary OutputInterface => outputInterface; + + + public void AddAfter( + BlueprintNode former, + string formerOutputPortName, + string thisInputPortName) + { + this.levelAvailabel = false; + BlueprintPipeline pipeline = new BlueprintPipeline(former,this); + + } + + public void Run() + { + try + { + foreach (var item in inputInterfaces) + { + item.Value.WaitForStart(); + } + mainOperation(in inputInterfaces, in outputInterface); + } + catch (Exception) + { + throw; + } + } + + int IComparable.CompareTo(BlueprintNode other) + { + return this.Level.CompareTo(other.Level); + } + }//--------------------------------- end of class ----------------------------- + + public class BlueprintNodeRunException : Exception + { + private Exception realException; + + public BlueprintNodeRunException(string message, Exception ex) : base(message, ex) + { + } + + public BlueprintNodeRunException(Exception ex):base("",ex) + { + } + } + + public class BlueprintPipeline + { + + private BlueprintNode former; + private BlueprintNode after; + private BlueprintPipelineArgs args; + private SemaphoreSlim formerCompleteSemaphore; + + public BlueprintPipeline(BlueprintNode former, BlueprintNode after) + { + this.former = former; + this.after = after; + formerCompleteSemaphore = new SemaphoreSlim(initialCount: 0, maxCount: 1); + } + + public BlueprintNode Former => former; + + public BlueprintNode After => after; + + public int Level => former.Level; + + public void CompleteAndWriteData(BlueprintPipelineArgs args) + { + formerCompleteSemaphore.Release(); + this.args = args; + } + + public void WaitForStart() + { + formerCompleteSemaphore.Release(); + } + + } + + public abstract class BlueprintPipelineArgs + { + } +} diff --git a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs index b1a6d966..88e0f606 100644 --- a/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs +++ b/源代码/StgSharp/obj/Debug/netstandard2.1/StgSharp.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("StgSharp")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f83a130074f9a4a253b83ad3df194f5811b18e95")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0e01d99e1e84e75ad10fb2549531cf2a303a1304")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharp")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharp")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs b/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs index 88173a2e..15d3a277 100644 --- a/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs +++ b/源代码/StgSharpDebug/obj/Debug/net6.0/StgSharpDebug.AssemblyInfo.cs @@ -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+f83a130074f9a4a253b83ad3df194f5811b18e95")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0e01d99e1e84e75ad10fb2549531cf2a303a1304")] [assembly: System.Reflection.AssemblyProductAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDebug")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]