From 70f3e458d40fcbfdfc0a9a36d2711599d0d5d83d Mon Sep 17 00:00:00 2001 From: josephroy99 Date: Tue, 6 Jun 2023 23:56:56 +0100 Subject: [PATCH] Initial commit --- .idea/.idea.LensSimulator/.idea/.gitignore | 13 ++ .../.idea.LensSimulator/.idea/indexLayout.xml | 8 ++ .idea/.idea.LensSimulator/.idea/vcs.xml | 6 + ImplementationTest/ImplementationTest.csproj | 14 ++ ImplementationTest/Program.cs | 46 ++++++ .../Debug/net7.0/ImplementationTest.deps.json | 36 +++++ .../bin/Debug/net7.0/ImplementationTest.dll | Bin 0 -> 6656 bytes .../bin/Debug/net7.0/ImplementationTest.exe | Bin 0 -> 154112 bytes .../bin/Debug/net7.0/ImplementationTest.pdb | Bin 0 -> 11272 bytes .../ImplementationTest.runtimeconfig.json | 9 ++ .../bin/Debug/net7.0/LensSimulatorCore.dll | Bin 0 -> 17408 bytes .../bin/Debug/net7.0/LensSimulatorCore.pdb | Bin 0 -> 17876 bytes ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 + .../net7.0/ImplementationTest.AssemblyInfo.cs | 22 +++ ...mplementationTest.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 11 ++ .../ImplementationTest.GlobalUsings.g.cs | 8 ++ .../net7.0/ImplementationTest.assets.cache | Bin 0 -> 228 bytes ...ntationTest.csproj.AssemblyReference.cache | Bin 0 -> 93849 bytes .../ImplementationTest.csproj.CopyComplete | 0 ...ntationTest.csproj.CoreCompileInputs.cache | 1 + ...ementationTest.csproj.FileListAbsolute.txt | 18 +++ .../obj/Debug/net7.0/ImplementationTest.dll | Bin 0 -> 6656 bytes .../ImplementationTest.genruntimeconfig.cache | 1 + .../obj/Debug/net7.0/ImplementationTest.pdb | Bin 0 -> 11272 bytes .../obj/Debug/net7.0/apphost.exe | Bin 0 -> 154112 bytes .../Debug/net7.0/ref/ImplementationTest.dll | Bin 0 -> 6144 bytes .../net7.0/refint/ImplementationTest.dll | Bin 0 -> 6144 bytes ...mplementationTest.csproj.nuget.dgspec.json | 132 ++++++++++++++++++ .../ImplementationTest.csproj.nuget.g.props | 16 +++ .../ImplementationTest.csproj.nuget.g.targets | 2 + ImplementationTest/obj/project.assets.json | 97 +++++++++++++ ImplementationTest/obj/project.nuget.cache | 8 ++ .../obj/project.packagespec.json | 1 + .../obj/rider.project.restore.info | 1 + LensSimulator.sln | 28 ++++ LensSimulator.sln.DotSettings.user | 3 + LensSimulatorCore/Class1.cs | 15 ++ LensSimulatorCore/LensSimulatorCore.csproj | 9 ++ LensSimulatorCore/LightPathProperties.cs | 6 + LensSimulatorCore/LightPathSection.cs | 23 +++ LensSimulatorCore/MathsLib/CoreMaths.cs | 53 +++++++ LensSimulatorCore/Optical/Element.cs | 66 +++++++++ LensSimulatorCore/Optical/FlatRefractive.cs | 44 ++++++ LensSimulatorCore/Optical/FlatSurface.cs | 65 +++++++++ LensSimulatorCore/Optical/Material.cs | 68 +++++++++ LensSimulatorCore/Optical/Optical.cs | 16 +++ LensSimulatorCore/Optical/Ray.cs | 46 ++++++ .../Optical/SellmeierCoefficients.cs | 35 +++++ .../Optical/SphericalRefractive.cs | 46 ++++++ LensSimulatorCore/Optical/SphericalSurface.cs | 64 +++++++++ LensSimulatorCore/Optical/Surface.cs | 48 +++++++ LensSimulatorCore/Shapes/Circle.cs | 13 ++ LensSimulatorCore/Shapes/Ellipse.cs | 57 ++++++++ LensSimulatorCore/Shapes/Shapes.cs | 74 ++++++++++ LensSimulatorCore/Workspace/LightSource.cs | 11 ++ LensSimulatorCore/Workspace/Workspace.cs | 9 ++ .../Debug/net7.0/LensSimulatorCore.deps.json | 23 +++ .../bin/Debug/net7.0/LensSimulatorCore.dll | Bin 0 -> 17408 bytes .../bin/Debug/net7.0/LensSimulatorCore.pdb | Bin 0 -> 17876 bytes ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 + .../net7.0/LensSimulatorCore.AssemblyInfo.cs | 23 +++ ...LensSimulatorCore.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 11 ++ .../LensSimulatorCore.GlobalUsings.g.cs | 8 ++ .../net7.0/LensSimulatorCore.assets.cache | Bin 0 -> 228 bytes ...mulatorCore.csproj.AssemblyReference.cache | Bin 0 -> 93295 bytes ...mulatorCore.csproj.CoreCompileInputs.cache | 1 + ...sSimulatorCore.csproj.FileListAbsolute.txt | 12 ++ .../obj/Debug/net7.0/LensSimulatorCore.dll | Bin 0 -> 17408 bytes .../obj/Debug/net7.0/LensSimulatorCore.pdb | Bin 0 -> 17876 bytes .../Debug/net7.0/ref/LensSimulatorCore.dll | Bin 0 -> 10752 bytes .../Debug/net7.0/refint/LensSimulatorCore.dll | Bin 0 -> 10752 bytes ...LensSimulatorCore.csproj.nuget.dgspec.json | 68 +++++++++ .../LensSimulatorCore.csproj.nuget.g.props | 16 +++ .../LensSimulatorCore.csproj.nuget.g.targets | 2 + LensSimulatorCore/obj/project.assets.json | 74 ++++++++++ LensSimulatorCore/obj/project.nuget.cache | 8 ++ .../obj/project.packagespec.json | 1 + .../obj/rider.project.restore.info | 1 + LensSimulatorWindows/App.xaml | 9 ++ LensSimulatorWindows/App.xaml.cs | 17 +++ LensSimulatorWindows/AssemblyInfo.cs | 10 ++ .../LensSimulatorWindows.csproj | 10 ++ LensSimulatorWindows/MainWindow.xaml | 11 ++ LensSimulatorWindows/MainWindow.xaml.cs | 28 ++++ ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 + .../obj/Debug/net7.0-windows/App.g.cs | 70 ++++++++++ .../LensSimulatorWindows.AssemblyInfo.cs | 24 ++++ ...sSimulatorWindows.AssemblyInfoInputs.cache | 1 + ....GeneratedMSBuildEditorConfig.editorconfig | 11 ++ .../LensSimulatorWindows.assets.cache | Bin 0 -> 228 bytes ...atorWindows.csproj.AssemblyReference.cache | Bin 0 -> 109294 bytes .../LensSimulatorWindows_MarkupCompile.cache | 20 +++ .../LensSimulatorWindows_MarkupCompile.lref | 4 + .../obj/Debug/net7.0-windows/MainWindow.g.cs | 75 ++++++++++ ...sSimulatorWindows.csproj.nuget.dgspec.json | 71 ++++++++++ .../LensSimulatorWindows.csproj.nuget.g.props | 16 +++ ...ensSimulatorWindows.csproj.nuget.g.targets | 2 + LensSimulatorWindows/obj/project.assets.json | 77 ++++++++++ LensSimulatorWindows/obj/project.nuget.cache | 8 ++ .../obj/project.packagespec.json | 1 + .../obj/rider.project.restore.info | 1 + 103 files changed, 1977 insertions(+) create mode 100644 .idea/.idea.LensSimulator/.idea/.gitignore create mode 100644 .idea/.idea.LensSimulator/.idea/indexLayout.xml create mode 100644 .idea/.idea.LensSimulator/.idea/vcs.xml create mode 100644 ImplementationTest/ImplementationTest.csproj create mode 100644 ImplementationTest/Program.cs create mode 100644 ImplementationTest/bin/Debug/net7.0/ImplementationTest.deps.json create mode 100644 ImplementationTest/bin/Debug/net7.0/ImplementationTest.dll create mode 100644 ImplementationTest/bin/Debug/net7.0/ImplementationTest.exe create mode 100644 ImplementationTest/bin/Debug/net7.0/ImplementationTest.pdb create mode 100644 ImplementationTest/bin/Debug/net7.0/ImplementationTest.runtimeconfig.json create mode 100644 ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.dll create mode 100644 ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.pdb create mode 100644 ImplementationTest/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfo.cs create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfoInputs.cache create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.GlobalUsings.g.cs create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.assets.cache create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.AssemblyReference.cache create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.CopyComplete create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.CoreCompileInputs.cache create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.FileListAbsolute.txt create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.dll create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.genruntimeconfig.cache create mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.pdb create mode 100644 ImplementationTest/obj/Debug/net7.0/apphost.exe create mode 100644 ImplementationTest/obj/Debug/net7.0/ref/ImplementationTest.dll create mode 100644 ImplementationTest/obj/Debug/net7.0/refint/ImplementationTest.dll create mode 100644 ImplementationTest/obj/ImplementationTest.csproj.nuget.dgspec.json create mode 100644 ImplementationTest/obj/ImplementationTest.csproj.nuget.g.props create mode 100644 ImplementationTest/obj/ImplementationTest.csproj.nuget.g.targets create mode 100644 ImplementationTest/obj/project.assets.json create mode 100644 ImplementationTest/obj/project.nuget.cache create mode 100644 ImplementationTest/obj/project.packagespec.json create mode 100644 ImplementationTest/obj/rider.project.restore.info create mode 100644 LensSimulator.sln create mode 100644 LensSimulator.sln.DotSettings.user create mode 100644 LensSimulatorCore/Class1.cs create mode 100644 LensSimulatorCore/LensSimulatorCore.csproj create mode 100644 LensSimulatorCore/LightPathProperties.cs create mode 100644 LensSimulatorCore/LightPathSection.cs create mode 100644 LensSimulatorCore/MathsLib/CoreMaths.cs create mode 100644 LensSimulatorCore/Optical/Element.cs create mode 100644 LensSimulatorCore/Optical/FlatRefractive.cs create mode 100644 LensSimulatorCore/Optical/FlatSurface.cs create mode 100644 LensSimulatorCore/Optical/Material.cs create mode 100644 LensSimulatorCore/Optical/Optical.cs create mode 100644 LensSimulatorCore/Optical/Ray.cs create mode 100644 LensSimulatorCore/Optical/SellmeierCoefficients.cs create mode 100644 LensSimulatorCore/Optical/SphericalRefractive.cs create mode 100644 LensSimulatorCore/Optical/SphericalSurface.cs create mode 100644 LensSimulatorCore/Optical/Surface.cs create mode 100644 LensSimulatorCore/Shapes/Circle.cs create mode 100644 LensSimulatorCore/Shapes/Ellipse.cs create mode 100644 LensSimulatorCore/Shapes/Shapes.cs create mode 100644 LensSimulatorCore/Workspace/LightSource.cs create mode 100644 LensSimulatorCore/Workspace/Workspace.cs create mode 100644 LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.deps.json create mode 100644 LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.dll create mode 100644 LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.pdb create mode 100644 LensSimulatorCore/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfo.cs create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfoInputs.cache create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GlobalUsings.g.cs create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.assets.cache create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.AssemblyReference.cache create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.CoreCompileInputs.cache create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.FileListAbsolute.txt create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.dll create mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.pdb create mode 100644 LensSimulatorCore/obj/Debug/net7.0/ref/LensSimulatorCore.dll create mode 100644 LensSimulatorCore/obj/Debug/net7.0/refint/LensSimulatorCore.dll create mode 100644 LensSimulatorCore/obj/LensSimulatorCore.csproj.nuget.dgspec.json create mode 100644 LensSimulatorCore/obj/LensSimulatorCore.csproj.nuget.g.props create mode 100644 LensSimulatorCore/obj/LensSimulatorCore.csproj.nuget.g.targets create mode 100644 LensSimulatorCore/obj/project.assets.json create mode 100644 LensSimulatorCore/obj/project.nuget.cache create mode 100644 LensSimulatorCore/obj/project.packagespec.json create mode 100644 LensSimulatorCore/obj/rider.project.restore.info create mode 100644 LensSimulatorWindows/App.xaml create mode 100644 LensSimulatorWindows/App.xaml.cs create mode 100644 LensSimulatorWindows/AssemblyInfo.cs create mode 100644 LensSimulatorWindows/LensSimulatorWindows.csproj create mode 100644 LensSimulatorWindows/MainWindow.xaml create mode 100644 LensSimulatorWindows/MainWindow.xaml.cs create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/App.g.cs create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfo.cs create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfoInputs.cache create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.GeneratedMSBuildEditorConfig.editorconfig create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.assets.cache create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.csproj.AssemblyReference.cache create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.cache create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.lref create mode 100644 LensSimulatorWindows/obj/Debug/net7.0-windows/MainWindow.g.cs create mode 100644 LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.dgspec.json create mode 100644 LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.props create mode 100644 LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.targets create mode 100644 LensSimulatorWindows/obj/project.assets.json create mode 100644 LensSimulatorWindows/obj/project.nuget.cache create mode 100644 LensSimulatorWindows/obj/project.packagespec.json create mode 100644 LensSimulatorWindows/obj/rider.project.restore.info diff --git a/.idea/.idea.LensSimulator/.idea/.gitignore b/.idea/.idea.LensSimulator/.idea/.gitignore new file mode 100644 index 0000000..bd68886 --- /dev/null +++ b/.idea/.idea.LensSimulator/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.LensSimulator.iml +/contentModel.xml +/projectSettingsUpdater.xml +/modules.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.LensSimulator/.idea/indexLayout.xml b/.idea/.idea.LensSimulator/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.LensSimulator/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.LensSimulator/.idea/vcs.xml b/.idea/.idea.LensSimulator/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.LensSimulator/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ImplementationTest/ImplementationTest.csproj b/ImplementationTest/ImplementationTest.csproj new file mode 100644 index 0000000..fede340 --- /dev/null +++ b/ImplementationTest/ImplementationTest.csproj @@ -0,0 +1,14 @@ + + + + Exe + net7.0 + enable + enable + + + + + + + diff --git a/ImplementationTest/Program.cs b/ImplementationTest/Program.cs new file mode 100644 index 0000000..9c46ad1 --- /dev/null +++ b/ImplementationTest/Program.cs @@ -0,0 +1,46 @@ +// See https://aka.ms/new-console-template for more information + +using System.Diagnostics; +using LensSimulatorCore; +using LensSimulatorCore.Optical; +using LensSimulatorCore.Shapes; +using LensSimulatorCore.Workspace; + + +var ellipse = new Ellipse(0.2,3,4,new Point(1,3)); +var result = ellipse.GetIntersectionPoints(new Line(-2, 3)); + +var ListOfPointsOnCircle = (double n) => +{ + List points = new List(); + + for (int i = 0; i < n; i++) + { + var radians = Math.PI * 2 / n * i; + + var x = Math.Cos(radians); + var y = Math.Sin(radians); + + points.Add(new Point(x, y)); + } + + return points; +}; + +var test = ListOfPointsOnCircle(8); + +var sellmeier = new SellmeierCoefficients(1.03961212, 0.00600069867, 0.231792344, 0.0200179144, 0, 103); + +var material = new Material(sellmeier); + +var s = new Stopwatch(); s.Start(); + +var reflectivity = material.Reflectivity(45, 1.00027717, 450); +var transmissivity = material.Transmissivity(45, 1.00027717, 450); + +s.Stop(); +var time = s.ElapsedMilliseconds; + + + +Console.Write("F"); \ No newline at end of file diff --git a/ImplementationTest/bin/Debug/net7.0/ImplementationTest.deps.json b/ImplementationTest/bin/Debug/net7.0/ImplementationTest.deps.json new file mode 100644 index 0000000..07da912 --- /dev/null +++ b/ImplementationTest/bin/Debug/net7.0/ImplementationTest.deps.json @@ -0,0 +1,36 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v7.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v7.0": { + "ImplementationTest/1.0.0": { + "dependencies": { + "LensSimulatorCore": "1.0.0" + }, + "runtime": { + "ImplementationTest.dll": {} + } + }, + "LensSimulatorCore/1.0.0": { + "runtime": { + "LensSimulatorCore.dll": {} + } + } + } + }, + "libraries": { + "ImplementationTest/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "LensSimulatorCore/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/ImplementationTest/bin/Debug/net7.0/ImplementationTest.dll b/ImplementationTest/bin/Debug/net7.0/ImplementationTest.dll new file mode 100644 index 0000000000000000000000000000000000000000..8d1a11d5dd1a8327532ee4a2111e4d6d7f4ad266 GIT binary patch literal 6656 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 c73#!df7(U!ewS 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

!(SB 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 literal 0 HcmV?d00001 diff --git a/ImplementationTest/bin/Debug/net7.0/ImplementationTest.runtimeconfig.json b/ImplementationTest/bin/Debug/net7.0/ImplementationTest.runtimeconfig.json new file mode 100644 index 0000000..184be8b --- /dev/null +++ b/ImplementationTest/bin/Debug/net7.0/ImplementationTest.runtimeconfig.json @@ -0,0 +1,9 @@ +{ + "runtimeOptions": { + "tfm": "net7.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "7.0.0" + } + } +} \ No newline at end of file diff --git a/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.dll b/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.dll new file mode 100644 index 0000000000000000000000000000000000000000..00e85546c3d7b947b57812746a9e7e7b80ebedfe GIT binary patch literal 17408 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 R$G80__VNF__8%63{{#LIH1z-g literal 0 HcmV?d00001 diff --git a/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.pdb b/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8831f5ce5eabc4f4a35e1fb20d41426940858dae GIT binary patch literal 17876 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")] diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfo.cs b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfo.cs new file mode 100644 index 0000000..9f2e734 --- /dev/null +++ b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("ImplementationTest")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("ImplementationTest")] +[assembly: System.Reflection.AssemblyTitleAttribute("ImplementationTest")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfoInputs.cache b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfoInputs.cache new file mode 100644 index 0000000..1e5d289 --- /dev/null +++ b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +8975356774c8b6d47099d5dcc7ee8414b0c2c371 diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.GeneratedMSBuildEditorConfig.editorconfig b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..2b86776 --- /dev/null +++ b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,11 @@ +is_global = true +build_property.TargetFramework = net7.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = ImplementationTest +build_property.ProjectDir = C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\ diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.GlobalUsings.g.cs b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +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; diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.assets.cache b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..6153bd92138a22086ebf1d99839864b0e5230bde GIT binary patch literal 228 zcmWIWc6a1qU|>-HygaI*eAa93hk7kKZzf4!IwUX3-Sw%!x5lT|{Zp*U1E3mW0TWQ6 zyt7qIXmM&$aZE{KUV46vUS4T>YDr8%Vsdt3dTMbD$SilDnt-DG^rFOE1-Hzc)M5oy zBZ~?PGgTwY7~jm~qWt3gv=W7|%;M6-9EISL(v-~nnBa`WqSTZazf$+qk^rb-gxm!H DM%p&H literal 0 HcmV?d00001 diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.AssemblyReference.cache b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..2876ce97356fed998fa13c4c15846035c6ee70f2 GIT binary patch literal 93849 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 Uatrx+IP5r_=)->>e&xFUA4!IYxBvhE literal 0 HcmV?d00001 diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.CopyComplete b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.CoreCompileInputs.cache b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..eaa1720 --- /dev/null +++ b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +ae7ec3cd86a909b8f9ba49744000515440fee29c diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.FileListAbsolute.txt b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..1716a5a --- /dev/null +++ b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.FileListAbsolute.txt @@ -0,0 +1,18 @@ +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\bin\Debug\net7.0\ImplementationTest.exe +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\bin\Debug\net7.0\ImplementationTest.deps.json +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\bin\Debug\net7.0\ImplementationTest.runtimeconfig.json +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\bin\Debug\net7.0\ImplementationTest.dll +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\bin\Debug\net7.0\ImplementationTest.pdb +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\bin\Debug\net7.0\LensSimulatorCore.dll +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\bin\Debug\net7.0\LensSimulatorCore.pdb +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.csproj.AssemblyReference.cache +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.AssemblyInfoInputs.cache +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.AssemblyInfo.cs +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.csproj.CoreCompileInputs.cache +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.csproj.CopyComplete +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.dll +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\refint\ImplementationTest.dll +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.pdb +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ImplementationTest.genruntimeconfig.cache +C:\Users\tango\RiderProjects\LensSimulator\ImplementationTest\obj\Debug\net7.0\ref\ImplementationTest.dll diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.dll b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.dll new file mode 100644 index 0000000000000000000000000000000000000000..8d1a11d5dd1a8327532ee4a2111e4d6d7f4ad266 GIT binary patch literal 6656 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 literal 0 HcmV?d00001 diff --git a/ImplementationTest/obj/Debug/net7.0/apphost.exe b/ImplementationTest/obj/Debug/net7.0/apphost.exe new file mode 100644 index 0000000000000000000000000000000000000000..d758b9d4e2e57c013d928d5bc41121d299eb272e GIT binary patch literal 154112 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

!(SB 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�z^;ZgwkjQy6Q?3N2oz9H5*Wl%Us#RZUcXVagkVr@UYH-QV@&vo?OsF<3~;mXMAC|CR% zZu8mP^~&;v=W@CXO|ND;z9(jLEg^H4=LY%*`e)3zeAA)Ale4*I;9Zi|ws1{(!A&mr z3zqL*GNo(mPUdvi^z1FvCCS~V)`K!#Z!0U-P{5$zIbajtX*u1)g*cmAZQ=HGY)ch6 zhS_N3CL#@C(3Bxpf5)`vnVfnKYfE7@aq+cc8k|6Us|h=1Jl(l)ARgLuL?bAdb;iDi`UA!>(_)aFwj39t1c}Ot!Ul!UhDa{lhuAt zIXa=`iTc6ej`qs)00nd%oe>^0k=?+Q{XEk5(AgQZF53JK(UAJIB(0S;+#`q@D zot~JP9`=bI20aA1&!_qK!wW>cDVbi->_XBEch|0gfOTzO61x+b0?`#C6nh~Uw^n)` z!|+XF*w@8y7Pt=~)`3rx6m3Ca6?^2)#bK0Xwu5HFJQPKR~e^ zpY$AS>7xxqa2PO4p9N&k7@q_jqG<)^6)Y6YT(Qv6%ALr-bnSDc?K*u9@*2*-@uX(SC^jdpvKI3w@n{ZZ{`lv9alSs_{M zlWH?_(;FN4jXbT`GTfY`<)&wCK0{#B%&K2&I${olMdg+Zg=;MMjw7tl_C0A_6`ly} z_SAaQ3vE}>ituFFcAJhF`oV%92wHNhqE-{N`4BHwwHXRp@ZE;(h(M_@!}L^J=(;rP zqD|4Fs5a|$v+AUHYfZ;F$eEW?xK*cBvBR`r#SH2qTt+Dv4kmLvqjB|tx3ptSR7j3id`7*REnXr;2lYA(PVAr;UjCUI*AO}Gn z$|<9~Z8k8GWWcgx;=o?Dt-zQ5R){>UiFxc+OWN(lQn^d*&_tOb>00%h$ZIP3wih1Z zcJlTds!_UiP3!H_N$UYJJj~>vLT7v5xxDe}@NfGsb!E@uxbE%Bj*LE>JvCCy44fKS z)ka=m*&dcX+taJX75W$Wh^u5yzZjT}HQ!s>vqXdQuCg8YH>C!-ht%ub&2UzuQDbeX z!Y|o;qj5gohuPgP8F^?KJlRh8MO!u;v$cl&@8u_SNSx7Ve5n&(i0lp-r)4H$hzZyQGh-fw~!A4c~RgM%lM zSf|H(J|C!(`hf8mFQlbAcv4eDoDD>3X-}-0wnwhC5H_LmnP=}lPK81w_5l75L?EMT zEgfHmqp+qFeIcgoQZ)%ZcLbk>_EVA(8p&@Tnu>16JGf8Z*d!X~Vk~asT^E7fz)ijZ zxJ2u~iugib16>4Mj=t9EC*2?aGrFIXn>HFR$9lLvN@ik~x~(;6H7S4|8+E9FPLH-w zUvL{IeyW056I_XTlS0V(prZCp_iemT8f*$7WrJToLer*_$y4&XNLAnj$w%<)0`$4m zP;0c{kqJsD^+m;JtC-_qjn4WNa3na~)|8&agGDuCDSH|R>^-i&JkCL_?Z*x13$Rwl z?@3fv`F7{^&p@6d7b;l~b~-6fjoH9W�z^;ZgwkjQy6Q?3N2oz9H5*Wl%Us#RZUcXVagkVr@UYH-QV@&vo?OsF<3~;mXMAC|CR% zZu8mP^~&;v=W@CXO|ND;z9(jLEg^H4=LY%*`e)3zeAA)Ale4*I;9Zi|ws1{(!A&mr z3zqL*GNo(mPUdvi^z1FvCCS~V)`K!#Z!0U-P{5$zIbajtX*u1)g*cmAZQ=HGY)ch6 zhS_N3CL#@C(3Bxpf5)`vnVfnKYfE7@aq+cc8k|6Us|h + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\tango\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.5.0 + + + + + + \ No newline at end of file diff --git a/ImplementationTest/obj/ImplementationTest.csproj.nuget.g.targets b/ImplementationTest/obj/ImplementationTest.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/ImplementationTest/obj/ImplementationTest.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/ImplementationTest/obj/project.assets.json b/ImplementationTest/obj/project.assets.json new file mode 100644 index 0000000..38aa9d8 --- /dev/null +++ b/ImplementationTest/obj/project.assets.json @@ -0,0 +1,97 @@ +{ + "version": 3, + "targets": { + "net7.0": { + "LensSimulatorCore/1.0.0": { + "type": "project", + "framework": ".NETCoreApp,Version=v7.0", + "compile": { + "bin/placeholder/LensSimulatorCore.dll": {} + }, + "runtime": { + "bin/placeholder/LensSimulatorCore.dll": {} + } + } + } + }, + "libraries": { + "LensSimulatorCore/1.0.0": { + "type": "project", + "path": "../LensSimulatorCore/LensSimulatorCore.csproj", + "msbuildProject": "../LensSimulatorCore/LensSimulatorCore.csproj" + } + }, + "projectFileDependencyGroups": { + "net7.0": [ + "LensSimulatorCore >= 1.0.0" + ] + }, + "packageFolders": { + "C:\\Users\\tango\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\ImplementationTest\\ImplementationTest.csproj", + "projectName": "ImplementationTest", + "projectPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\ImplementationTest\\ImplementationTest.csproj", + "packagesPath": "C:\\Users\\tango\\.nuget\\packages\\", + "outputPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\ImplementationTest\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\tango\\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": [ + "net7.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net7.0": { + "targetAlias": "net7.0", + "projectReferences": { + "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj": { + "projectPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj" + } + } + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net7.0": { + "targetAlias": "net7.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\\7.0.201\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/ImplementationTest/obj/project.nuget.cache b/ImplementationTest/obj/project.nuget.cache new file mode 100644 index 0000000..6610d58 --- /dev/null +++ b/ImplementationTest/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "zzfWPpLxovBUeUaIeRuHv1gdRHaxAE9iflB77E2K2wNSPVTM2JgQIGd4I5550BR8+2tEI2pOQ7mS0QVnFHrFjw==", + "success": true, + "projectFilePath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\ImplementationTest\\ImplementationTest.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/ImplementationTest/obj/project.packagespec.json b/ImplementationTest/obj/project.packagespec.json new file mode 100644 index 0000000..718561d --- /dev/null +++ b/ImplementationTest/obj/project.packagespec.json @@ -0,0 +1 @@ +"restore":{"projectUniqueName":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\ImplementationTest\\ImplementationTest.csproj","projectName":"ImplementationTest","projectPath":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\ImplementationTest\\ImplementationTest.csproj","outputPath":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\ImplementationTest\\obj\\","projectStyle":"PackageReference","fallbackFolders":["C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"],"originalTargetFrameworks":["net7.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"C:\\Program Files\\dotnet\\library-packs":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net7.0":{"targetAlias":"net7.0","projectReferences":{"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj":{"projectPath":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net7.0":{"targetAlias":"net7.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\\7.0.201\\RuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/ImplementationTest/obj/rider.project.restore.info b/ImplementationTest/obj/rider.project.restore.info new file mode 100644 index 0000000..b8f3184 --- /dev/null +++ b/ImplementationTest/obj/rider.project.restore.info @@ -0,0 +1 @@ +16859980894694798 \ No newline at end of file diff --git a/LensSimulator.sln b/LensSimulator.sln new file mode 100644 index 0000000..7b76e17 --- /dev/null +++ b/LensSimulator.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LensSimulatorCore", "LensSimulatorCore\LensSimulatorCore.csproj", "{D40A259B-E5C3-4735-8363-F59539DF4146}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImplementationTest", "ImplementationTest\ImplementationTest.csproj", "{CA24EDE5-4FDA-482A-A2D4-6670CB420124}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LensSimulatorWindows", "LensSimulatorWindows\LensSimulatorWindows.csproj", "{ACDB5AA7-0C3D-4923-9843-E850C3807041}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D40A259B-E5C3-4735-8363-F59539DF4146}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D40A259B-E5C3-4735-8363-F59539DF4146}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D40A259B-E5C3-4735-8363-F59539DF4146}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D40A259B-E5C3-4735-8363-F59539DF4146}.Release|Any CPU.Build.0 = Release|Any CPU + {CA24EDE5-4FDA-482A-A2D4-6670CB420124}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CA24EDE5-4FDA-482A-A2D4-6670CB420124}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CA24EDE5-4FDA-482A-A2D4-6670CB420124}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CA24EDE5-4FDA-482A-A2D4-6670CB420124}.Release|Any CPU.Build.0 = Release|Any CPU + {ACDB5AA7-0C3D-4923-9843-E850C3807041}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ACDB5AA7-0C3D-4923-9843-E850C3807041}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ACDB5AA7-0C3D-4923-9843-E850C3807041}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ACDB5AA7-0C3D-4923-9843-E850C3807041}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/LensSimulator.sln.DotSettings.user b/LensSimulator.sln.DotSettings.user new file mode 100644 index 0000000..65b33a1 --- /dev/null +++ b/LensSimulator.sln.DotSettings.user @@ -0,0 +1,3 @@ + + INFO + True \ No newline at end of file diff --git a/LensSimulatorCore/Class1.cs b/LensSimulatorCore/Class1.cs new file mode 100644 index 0000000..27583e0 --- /dev/null +++ b/LensSimulatorCore/Class1.cs @@ -0,0 +1,15 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore; + +public class RayCastHitInfo +{ + public RayCastHitInfo(Point? hitPosition, double angleOfIncidence) + { + HitPosition = hitPosition; + AngleOfIncidence = angleOfIncidence; + } + + public Point? HitPosition { get; } + public double AngleOfIncidence { get; } +} \ No newline at end of file diff --git a/LensSimulatorCore/LensSimulatorCore.csproj b/LensSimulatorCore/LensSimulatorCore.csproj new file mode 100644 index 0000000..6836c68 --- /dev/null +++ b/LensSimulatorCore/LensSimulatorCore.csproj @@ -0,0 +1,9 @@ + + + + net7.0 + enable + enable + + + diff --git a/LensSimulatorCore/LightPathProperties.cs b/LensSimulatorCore/LightPathProperties.cs new file mode 100644 index 0000000..561adea --- /dev/null +++ b/LensSimulatorCore/LightPathProperties.cs @@ -0,0 +1,6 @@ +namespace LensSimulatorCore; + +public class LightPathProperties +{ + public double WaveLength { get; set; } +} \ No newline at end of file diff --git a/LensSimulatorCore/LightPathSection.cs b/LensSimulatorCore/LightPathSection.cs new file mode 100644 index 0000000..5f8b12a --- /dev/null +++ b/LensSimulatorCore/LightPathSection.cs @@ -0,0 +1,23 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore; + +public class LightPathSection +{ + public LightPathSection(PointVector initialPointVector, LightPathProperties properties) + { + _properties = properties; + _initialPointVector = initialPointVector; + } + + private readonly LightPathProperties _properties; + private readonly PointVector _initialPointVector; + + public Point Begin => _initialPointVector.Point; + public Point? End => GetRayCastHitInfo().HitPosition; + + private RayCastHitInfo GetRayCastHitInfo() + { + return true ? new RayCastHitInfo(new (4,5), 3) : null; + } +} \ No newline at end of file diff --git a/LensSimulatorCore/MathsLib/CoreMaths.cs b/LensSimulatorCore/MathsLib/CoreMaths.cs new file mode 100644 index 0000000..a057052 --- /dev/null +++ b/LensSimulatorCore/MathsLib/CoreMaths.cs @@ -0,0 +1,53 @@ +namespace LensSimulatorCore.MathsLib; + +public static class CoreMaths +{ + public static double CalculateLCM(double num1, double num2) + { + // Find the greater and lesser numbers + double greaterNum = Math.Max(num1, num2); + double lesserNum = Math.Min(num1, num2); + + // Calculate LCM using the formula: LCM = (num1 * num2) / GCD(num1, num2) + double lcm = (greaterNum * lesserNum) / CalculateGCD(greaterNum, lesserNum); + + // Return the LCM + return lcm; + } + + public static double CalculateGCD(double num1, double num2) + { + // Euclidean algorithm to calculate GCD + while (num2 != 0) + { + double temp = num2; + num2 = num1 % num2; + num1 = temp; + } + + // Return the GCD + return num1; + } + + public static List SolveQuadratic(double a, double b, double c) + { + var solutions = new List(); + + double discriminant = b * b - 4 * a * c; + if (discriminant < 0) + { + // If the discriminant is less than zero, then there are no real solutions + return solutions; + } + else + { + // Calculate both solutions + double sqrtDiscriminant = Math.Sqrt(discriminant); + double solution1 = (-b + sqrtDiscriminant) / (2 * a); + double solution2 = (-b - sqrtDiscriminant) / (2 * a); + solutions.Add(solution1); + solutions.Add(solution2); + return solutions; + } + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/Element.cs b/LensSimulatorCore/Optical/Element.cs new file mode 100644 index 0000000..9c8379e --- /dev/null +++ b/LensSimulatorCore/Optical/Element.cs @@ -0,0 +1,66 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Optical; + +/// +/// An Element contains two surfaces and material coefficients. +/// +public class Element +{ + //This section is for display and rendering + public List Polygon { get; set; } + + + //This section is for calculation + + private Material _material; + private readonly Surface[] _surfaces = new Surface[2]; + + + public Surface[] Surfaces => _surfaces; + + public Point Position { get; set; } + + public bool IsValid => !(Polygon[(Polygon.Count / 2) - 1].X > Polygon[(Polygon.Count / 2)].X); + public double Depth { get; } + public double Diameter { get; } + + public Element(Material material) + { + + } + + /// + /// + /// + /// Element Position + /// Total Element depth at the centre. + /// Diameter of the lens + /// + /// + /// + public Element(Point position, double depth, double diameter, Surface frontSurface, Surface rearSurface, Material material) + { + Polygon = new List(); + Surfaces[0] = frontSurface; + Surfaces[0].Parent = this; + Surfaces[0].IsFront = true; + + Surfaces[1] = rearSurface; + Surfaces[1].Parent = this; + Surfaces[1].IsFront = false; + + Depth = depth; + Diameter = diameter; + _material = material; + Position = position; + + foreach (var surface in Surfaces) + { + surface.UpdateSurfacePositions(); + surface.GeneratePolyLine(); + + Polygon.AddRange(surface.PolyLine); + } + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/FlatRefractive.cs b/LensSimulatorCore/Optical/FlatRefractive.cs new file mode 100644 index 0000000..ab43209 --- /dev/null +++ b/LensSimulatorCore/Optical/FlatRefractive.cs @@ -0,0 +1,44 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Optical; + +class FlatRefractive : SphericalSurface +{ + public FlatRefractive(Element parent) : base(parent) + { + + } + + public override void Calculate(Point hitPosition, Ray ray, SellmeierCoefficients s) + { + double n1, n2; + switch (IsFront) + { + case true: + n1 = s.AirRefractiveIndex(ray.Wavelength); + n2 = s.CalculateRefractiveIndex(ray.Wavelength); + break; + case false: + n1 = s.CalculateRefractiveIndex(ray.Wavelength); + n2 = s.AirRefractiveIndex(ray.Wavelength); + break; + default: + n1 = 0; + n2 = 0; + break; + } + + //need to convert vector to angle correctly + var count = ray.PointVectors.Count - 1; + var lineAngle = -Math.Atan2(ray.PointVectors[count].Vector.Y, ray.PointVectors[count].Vector.X); + const double normalAngle = 0; //Math.Asin(hitPosition.Y / (QuadraticSign * face.Radius)); + var angleOfIncidence = normalAngle + lineAngle; + var angleOfRefractionFromCentreline = Math.Asin((n1 * Math.Sin(angleOfIncidence)) / n2); + + var b = Math.Tan(angleOfRefractionFromCentreline); + var c = hitPosition.Y - (hitPosition.X * b); + + ray.PointVectors.Add(new PointVector(new Point(hitPosition.X, hitPosition.Y), Point.AngleToVector(angleOfRefractionFromCentreline))); + ray.Lines.Add(new Line(b, c)); + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/FlatSurface.cs b/LensSimulatorCore/Optical/FlatSurface.cs new file mode 100644 index 0000000..3d01daf --- /dev/null +++ b/LensSimulatorCore/Optical/FlatSurface.cs @@ -0,0 +1,65 @@ +using LensSimulatorCore.Shapes; +using static System.Double; + +namespace LensSimulatorCore.Optical; + +/// +/// Contains the function to find intersection of two Lines. +/// +class FlatSurface : Surface +{ + public override void UpdateSurfacePositions() + { + SideSign = IsFront ? -1 : 1; + _face = new Line(0, SideSign * Parent.Depth / 2); + } + + //This line is defined as x = by+c. It will need converting to y = bx+c. + private Line _face; + + /// + /// This function takes a PointVector and checks if there a collision between itself and a Line. + /// + /// A PointVector where (1,0) is 0 rad. + /// + public override Point FindIntersection(PointVector pointVector) + { + //Converts point vector to a line. + Line line = pointVector.ToLine(); + //This is where the conversion takes place to make it y = bx + c. + Line surfaceLine = new Line(1 / _face.B, (1 / _face.B) * _face.C); + + double x, y, t, u; + + //If C is infinity it means the line is vertical and can be solved by inserting x into the equation. + if (IsInfinity(surfaceLine.C)) + { + y = (line.B * _face.C) + line.C; + x = _face.C; + } + else //If not it means it is angled and therefore needs solving by substitution. + { + t = line.B + surfaceLine.B; + u = line.C + surfaceLine.C; + + x = t / u; + y = (line.B * x) + line.C; + } + + return new Point(x, y); + } + + /// + /// Generates a PolyLine, which can be merged with another to make a full element shape. + /// + public override void GeneratePolyLine() + { + PolyLine.Add(new Point(-SideSign * Parent.Depth / 2, SideSign * -Parent.Diameter / 2)); + PolyLine.Add(new Point(-SideSign * Parent.Depth / 2, SideSign * Parent.Diameter / 2)); + } + + protected FlatSurface(Element parent) : base(parent) + { + + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/Material.cs b/LensSimulatorCore/Optical/Material.cs new file mode 100644 index 0000000..118f4ae --- /dev/null +++ b/LensSimulatorCore/Optical/Material.cs @@ -0,0 +1,68 @@ +namespace LensSimulatorCore.Optical; + +public class Material +{ + public SellmeierCoefficients Sellmeier { get; set; } + + public double RefractiveIndex(double wavelength) + { + return Sellmeier.CalculateRefractiveIndex(wavelength); + } + + private readonly Func _reflectivity; + private readonly Func _transmissivity; + + public Material(SellmeierCoefficients sellmeierCoefficients) + { + Sellmeier = sellmeierCoefficients; + _reflectivity = ComputeReflectivity; + _transmissivity = (angle, n1, wavelength) => 1.0 - Reflectivity(angle, n1, wavelength); + } + + private double ComputeReflectivity(double angleDegrees, double n1, double wavelength) + { + // Convert angle to radians + var angleRadians = angleDegrees * Math.PI / 180.0; + + // Check for total internal reflection + var criticalAngle = Math.Asin(RefractiveIndex(wavelength) / n1); + if (angleRadians > criticalAngle) + { + return 1.0; + } + + var rs = ComputeFresnelCoefficient(angleRadians, n1, wavelength, isSPolarized: true); + var rp = ComputeFresnelCoefficient(angleRadians, n1, wavelength, isSPolarized: false); + return (rs + rp) / 2.0; + } + + private double ComputeFresnelCoefficient(double angle, double n1, double wavelength, bool isSPolarized) + { + double numerator; + double denominator; + + if (isSPolarized) + { + numerator = n1 * Math.Cos(angle) - RefractiveIndex(wavelength) * Math.Sqrt(1 - Math.Pow((n1 / RefractiveIndex(wavelength) * Math.Sin(angle)), 2)); + denominator = n1 * Math.Cos(angle) + RefractiveIndex(wavelength) * Math.Sqrt(1 - Math.Pow((n1 / RefractiveIndex(wavelength) * Math.Sin(angle)), 2)); + } + else + { + numerator = n1 * Math.Sqrt(1 - Math.Pow((n1 / RefractiveIndex(wavelength) * Math.Sin(angle)), 2)) - RefractiveIndex(wavelength) * Math.Cos(angle); + denominator = n1 * Math.Sqrt(1 - Math.Pow((n1 / RefractiveIndex(wavelength) * Math.Sin(angle)), 2)) + RefractiveIndex(wavelength) * Math.Cos(angle); + } + + return Math.Pow(numerator / denominator, 2); + } + + // ReSharper disable once MemberCanBePrivate.Global + public double Reflectivity(double angle, double n1, double wavelength) + { + return _reflectivity(angle, n1, wavelength); + } + + public double Transmissivity(double angle, double n1, double wavelength) + { + return _transmissivity(angle, n1, wavelength); + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/Optical.cs b/LensSimulatorCore/Optical/Optical.cs new file mode 100644 index 0000000..e774abb --- /dev/null +++ b/LensSimulatorCore/Optical/Optical.cs @@ -0,0 +1,16 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Optical +{ + public struct ElementHit + { + public Point hitPosition; + public Surface hitSurface; + + ElementHit(Point position, Surface surface) + { + hitPosition = position; + hitSurface = surface; + } + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/Ray.cs b/LensSimulatorCore/Optical/Ray.cs new file mode 100644 index 0000000..ada2324 --- /dev/null +++ b/LensSimulatorCore/Optical/Ray.cs @@ -0,0 +1,46 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Optical; + +/// +/// A Ray contains a Wavelength, a list of hit points and a list of lines. +/// +public struct Ray +{ + /// + /// + /// + /// Wavelength in µm + /// Angle in Radians + /// + public Ray(double wavelength, double angle, Point startPosition) + { + Wavelength = wavelength; + Lines = new List(); + PointVectors = new List(); + + Lines.Add(new Line(Math.Tan(-angle), startPosition.Y - (startPosition.X * Math.Tan(-angle)))); + PointVectors.Add(new PointVector(startPosition, new Point(Math.Cos(-angle),Math.Sin(-angle)))); + } + + public double Wavelength { get; } + + public List Lines { get; } + + public List PointVectors { get; set; } + + public ElementHit Cast(List elements) + { + List allSurfaces = elements[0].Surfaces.ToList(); + Point hitPosition; + ElementHit hit = new ElementHit(); + + foreach (Element element in elements) + { + + } + + return hit; + } + +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/SellmeierCoefficients.cs b/LensSimulatorCore/Optical/SellmeierCoefficients.cs new file mode 100644 index 0000000..1120d2c --- /dev/null +++ b/LensSimulatorCore/Optical/SellmeierCoefficients.cs @@ -0,0 +1,35 @@ +namespace LensSimulatorCore.Optical; + +public struct SellmeierCoefficients +{ + double _B1, _B2, _B3, _C1, _C2, _C3; + + public SellmeierCoefficients(double B1, double C1, double B2, double C2, double B3, double C3) + { + _B1 = B1; + _B2 = B2; + _B3 = B3; + _C1 = C1; + _C2 = C2; + _C3 = C3; + } + + public double CalculateRefractiveIndex(double Wavelength) + { + double wavelenths2 = Math.Pow(Wavelength, 2); + double A1 = _C1 != 0 ? _B1 / (1 - _C1 / wavelenths2) : 0; + double A2 = _C2 != 0 ? _B2 / (1 - _C2 / wavelenths2) : 0; + double A3 = _C3 != 0 ? _B3 / (1 - _C3 / wavelenths2) : 0; + + return Math.Sqrt(1 + A1 + A2 + A3); + } + + public double AirRefractiveIndex(double Wavelength) + { + double wavelenths2 = Math.Pow(Wavelength, 2); + double A1 = 238.0185 != 0 ? 0.05792105 / (1 - 238.0185 / wavelenths2) : 0; + double A2 = 57.362 != 0 ? 0.00167917 / (1 - 57.362 / wavelenths2) : 0; + + return Math.Sqrt(1 + A1 + A2); + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/SphericalRefractive.cs b/LensSimulatorCore/Optical/SphericalRefractive.cs new file mode 100644 index 0000000..9d2f5b3 --- /dev/null +++ b/LensSimulatorCore/Optical/SphericalRefractive.cs @@ -0,0 +1,46 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Optical; + +class SphericalRefractive : SphericalSurface +{ + public SphericalRefractive(double radius, Element parent) : base(parent) + { + face.Radius = radius; + } + + public override void Calculate(Point hitPosition, Ray ray, SellmeierCoefficients s) + { + double n1, n2; + switch (IsFront) + { + case true: + n1 = s.AirRefractiveIndex(ray.Wavelength); + n2 = s.CalculateRefractiveIndex(ray.Wavelength); + break; + case false: + n1 = s.CalculateRefractiveIndex(ray.Wavelength); + n2 = s.AirRefractiveIndex(ray.Wavelength); + break; + default: + n1 = 0; + n2 = 0; + break; + } + + //need to convert vector to angle correctly + var count = ray.PointVectors.Count - 1; + var lineAngle = -Math.Atan2(ray.PointVectors[count].Vector.Y, ray.PointVectors[count].Vector.X); + var normalAngle = Math.Asin(hitPosition.Y / (QuadraticSign * face.Radius)); + var angleOfIncidence = normalAngle + lineAngle; + var angleOfRefraction = Math.Asin((n1 * Math.Sin(angleOfIncidence)) / n2); + var angleOfRefractionFromCentreline = angleOfRefraction - normalAngle; + + double b, c; + b = Math.Tan(angleOfRefractionFromCentreline); + c = hitPosition.Y - (hitPosition.X * b); + + ray.PointVectors.Add(new PointVector(new Point(hitPosition.X, hitPosition.Y), Point.AngleToVector(angleOfRefractionFromCentreline))); + ray.Lines.Add(new Line(b, c)); + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/SphericalSurface.cs b/LensSimulatorCore/Optical/SphericalSurface.cs new file mode 100644 index 0000000..28f220d --- /dev/null +++ b/LensSimulatorCore/Optical/SphericalSurface.cs @@ -0,0 +1,64 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Optical; + +internal abstract class SphericalSurface : Surface +{ + protected Circle face; + + public override void UpdateSurfacePositions() + { + SideSign = IsFront ? -1 : 1; + QuadraticSign = IsFront ? -1 * Math.Sign(face.Radius) : 1 * Math.Sign(face.Radius); + face.Position = new Point((IsFront ? 1 : -1) * (face.Radius - (Parent.Depth / 2)), 0); + } + + public override Point FindIntersection(PointVector pointVector) + { + //Convert point vector to a line. + + var line = pointVector.ToLine(); + + var xs2 = (face.Position.X * -2); + var ys2 = (face.Position.Y * -2); + + double a, b, c; + + //Creates a quadratic formula via substitution of a Line and a Circle equation. + a = 1 + (Math.Pow(line.B, 2)); + b = xs2 + (ys2 * line.B) + (line.B * line.C * 2); + c = Math.Pow(line.C, 2) + (line.C * ys2) + Math.Pow(face.Position.X * -1, 2) + Math.Pow(face.Position.Y * -1, 2) - Math.Pow(face.Radius, 2); + + var x = (-b + QuadraticSign * Math.Sqrt(Math.Pow(b, 2) - 4 * a * c)) / (2 * a); + var y = (x * line.B) + line.C; + + return new Point(x, y); + } + + /// + /// Generates a PolyLine, which can be merged with another to make a full element shape. + /// + public override void GeneratePolyLine() + { + const int resolution = 80; + + var arcTotalSweep = Math.Asin((Parent.Diameter / 2) / face.Radius) * 2; + var arcResolutionSweep = arcTotalSweep / (resolution - 1); + + var arcCentre = new Point(face.Position.X, face.Position.Y); + + for (var i = 0; i < resolution; i++) + { + var currentAngle = (SideSign * arcTotalSweep / 2) + -SideSign * (arcResolutionSweep * i); + + var x = Math.Cos(currentAngle) * SideSign * face.Radius + arcCentre.X; + var y = Math.Sin(currentAngle) * face.Radius; + + PolyLine.Add(new Point(x, y)); + } + } + + protected SphericalSurface(Element parent) : base(parent) + { + } +} \ No newline at end of file diff --git a/LensSimulatorCore/Optical/Surface.cs b/LensSimulatorCore/Optical/Surface.cs new file mode 100644 index 0000000..7818df6 --- /dev/null +++ b/LensSimulatorCore/Optical/Surface.cs @@ -0,0 +1,48 @@ +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Optical; + +public abstract class Surface +{ + protected Surface(Element parent) + { + Parent = parent; + } + + public bool IsFront { get; set; } + protected int SideSign { get; set; } + + //This is the sign for front or rear. 1 if it is the front, -1 if it is the rear. + protected double QuadraticSign; + + /// + /// Parent Element of the Surface. + /// + public Element Parent { get; set; } + /// + /// All points go clockwise from the element centre. + /// + public List PolyLine { get; } = new(); + + /// + /// This function calculates the lines and points through a reflective element and applies this to the Ray given the glass properties. + /// + /// This defines if it is the front or rear surface, -1 if it is the front, 1 if it is the rear. + /// The Ray that will contain the results + public virtual void Calculate(int sign, Ray ray) { } + + /// + /// This function calculates the lines and points through a refractive element and applies this to the Ray given the glass properties. + /// + /// + /// This is the Ray that will contain the results + /// Sellmeier Coefficients + public virtual void Calculate(Point hitPosition, Ray ray, SellmeierCoefficients sellmeierCoefficients) { } + + //Functions + public abstract Point FindIntersection(PointVector pointVector); + + public abstract void UpdateSurfacePositions(); + + public abstract void GeneratePolyLine(); +} \ No newline at end of file diff --git a/LensSimulatorCore/Shapes/Circle.cs b/LensSimulatorCore/Shapes/Circle.cs new file mode 100644 index 0000000..fcef737 --- /dev/null +++ b/LensSimulatorCore/Shapes/Circle.cs @@ -0,0 +1,13 @@ +namespace LensSimulatorCore.Shapes; + +public class Circle : Ellipse +{ + public Circle(double radius, Point position) : base(0, radius, radius, position) + { + Radius = radius; + Position = position; + } + + public double Radius { get; set; } + public Point Position { get; set; } +} \ No newline at end of file diff --git a/LensSimulatorCore/Shapes/Ellipse.cs b/LensSimulatorCore/Shapes/Ellipse.cs new file mode 100644 index 0000000..7818a23 --- /dev/null +++ b/LensSimulatorCore/Shapes/Ellipse.cs @@ -0,0 +1,57 @@ +using LensSimulatorCore.MathsLib; +using LensSimulatorCore.Shapes; + +namespace LensSimulatorCore.Shapes; + +public class Ellipse +{ + public Ellipse(double angle, double semiMajorAxis, double semiMinorAxis, Point position) + { + _radianAngle = angle;//* (180 / Math.PI); + _semiMajorAxis = semiMajorAxis; + _semiMinorAxis = semiMinorAxis; + _position = position; + } + + private readonly double _semiMajorAxis; + private readonly double _semiMinorAxis; + private readonly Point _position; + private readonly double _radianAngle = 0; + + public List GetIntersectionPoints(Line line) + { + var cosTheta = Math.Cos(_radianAngle); + var sinTheta = Math.Sin(_radianAngle); + + var majorSquared = _semiMajorAxis * _semiMajorAxis; + var minorSquared = _semiMinorAxis * _semiMinorAxis; + + var LCM = CoreMaths.CalculateLCM(majorSquared, minorSquared); + + var intersectionMinusXpos = line.C - _position.X; + + var intersectionMinusXposCosTheta = (intersectionMinusXpos * cosTheta); + var intersectionMinusXposSinTheta = (intersectionMinusXpos * sinTheta); + var ySinTheta = _position.Y * sinTheta; + var yCosTheta = _position.Y * cosTheta; + var slopeCosTheta = line.B * cosTheta; + var slopeSinTheta = line.B * sinTheta; + + var a1 = minorSquared * Math.Pow(slopeCosTheta - sinTheta, 2); + var b1 = minorSquared * (slopeCosTheta - sinTheta) * (intersectionMinusXposCosTheta + ySinTheta) * 2; + var c1 = minorSquared * Math.Pow(intersectionMinusXposCosTheta + ySinTheta, 2); + + var a2 = majorSquared * Math.Pow(slopeSinTheta + cosTheta, 2); + var b2 = majorSquared * (slopeSinTheta + cosTheta) * (intersectionMinusXposSinTheta - yCosTheta) * 2; + var c2 = majorSquared * Math.Pow(intersectionMinusXposSinTheta - yCosTheta, 2); + + var a = a1 + a2; + var b = b1 + b2; + var c = c1 + c2 - LCM; + + var y = CoreMaths.SolveQuadratic(a, b, c); + + return y.Select(y => new Point(line.B * y!.Value + line.C, y.Value)).ToList(); + } +} + diff --git a/LensSimulatorCore/Shapes/Shapes.cs b/LensSimulatorCore/Shapes/Shapes.cs new file mode 100644 index 0000000..2aa4479 --- /dev/null +++ b/LensSimulatorCore/Shapes/Shapes.cs @@ -0,0 +1,74 @@ +namespace LensSimulatorCore.Shapes; + +public struct Line +{ + public double B { get; set; } + public double C { get; set; } + + public Line(double b, double c) + { + B = b; + C = c; + } +} + +public class Point +{ + public Point(double x, double y) + { + X = x; + Y = y; + } + + public double X { get; set; } + + public double Y { get; set; } + + /// + /// Converts an angle in Radians to a Vector. + /// + /// + /// + public static Point AngleToVector(double angle) + { + return new(Math.Cos(-angle), Math.Sin(-angle)); + } +} + +public struct PointVector +{ + public PointVector(Point point, Point vector) + { + Point = point; + Vector = vector; + } + + public Point Point { get; set; } + public Point Vector { get; set; } + + public Line ToLine() + { + var angle = -Math.Atan2(this.Vector.Y, this.Vector.X); + + var b = Math.Tan(angle); + var c = this.Point.Y - (this.Point.X * b); + + return new Line(b, c); + } +} + +/// +/// A circle as defined by (x - a)² + (y - b)² = r². +/// +//public struct Circle +//{ +// public double Radius { get; set; } +// +// public Point Position { get; set; } +// +// public Circle(double radius, Point position) +// { +// Radius = radius; +// Position = position; +// } +//} diff --git a/LensSimulatorCore/Workspace/LightSource.cs b/LensSimulatorCore/Workspace/LightSource.cs new file mode 100644 index 0000000..0c2f46e --- /dev/null +++ b/LensSimulatorCore/Workspace/LightSource.cs @@ -0,0 +1,11 @@ +namespace LensSimulatorCore.Workspace; + +public class LightSource +{ + public LightSource(LightPathSection section) + { + Section = section; + } + + private LightPathSection Section { get; set; } +} \ No newline at end of file diff --git a/LensSimulatorCore/Workspace/Workspace.cs b/LensSimulatorCore/Workspace/Workspace.cs new file mode 100644 index 0000000..5ffcec5 --- /dev/null +++ b/LensSimulatorCore/Workspace/Workspace.cs @@ -0,0 +1,9 @@ +using LensSimulatorCore.Optical; + +namespace LensSimulatorCore.Workspace; + +public class Workspace +{ + public List Elements = new List(); + public List LightSources = new List(); +} \ No newline at end of file diff --git a/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.deps.json b/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.deps.json new file mode 100644 index 0000000..e3882d3 --- /dev/null +++ b/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v7.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v7.0": { + "LensSimulatorCore/1.0.0": { + "runtime": { + "LensSimulatorCore.dll": {} + } + } + } + }, + "libraries": { + "LensSimulatorCore/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.dll b/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.dll new file mode 100644 index 0000000000000000000000000000000000000000..00e85546c3d7b947b57812746a9e7e7b80ebedfe GIT binary patch literal 17408 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 R$G80__VNF__8%63{{#LIH1z-g literal 0 HcmV?d00001 diff --git a/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.pdb b/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8831f5ce5eabc4f4a35e1fb20d41426940858dae GIT binary patch literal 17876 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")] diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfo.cs b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfo.cs new file mode 100644 index 0000000..8202f59 --- /dev/null +++ b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("LensSimulatorCore")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("LensSimulatorCore")] +[assembly: System.Reflection.AssemblyTitleAttribute("LensSimulatorCore")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfoInputs.cache b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfoInputs.cache new file mode 100644 index 0000000..84ef80a --- /dev/null +++ b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +a4b71101a57db2e7cc53aa3368d6967e1ad39701 diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GeneratedMSBuildEditorConfig.editorconfig b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..26e8333 --- /dev/null +++ b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,11 @@ +is_global = true +build_property.TargetFramework = net7.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = LensSimulatorCore +build_property.ProjectDir = C:\Users\tango\RiderProjects\LensSimulator\LensSimulatorCore\ diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GlobalUsings.g.cs b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +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; diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.assets.cache b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..8b65f9f1504d17bd060ca8908b4c2267d89800d7 GIT binary patch literal 228 zcmWIWc6a1qU|`tTytey}J=31pTPwMh?f&P=Wv;Hc?*GX1bzU~_VksU8ZsrAhXeiPV}dghi&9f!{7T(ZO9G&V5pov* D+|xIF literal 0 HcmV?d00001 diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.AssemblyReference.cache b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..1bd3aabc21d603a1e523a4bdf948e38653e51def GIT binary patch literal 93295 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 R$G80__VNF__8%63{{#LIH1z-g literal 0 HcmV?d00001 diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.pdb b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.pdb new file mode 100644 index 0000000000000000000000000000000000000000..8831f5ce5eabc4f4a35e1fb20d41426940858dae GIT binary patch literal 17876 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 + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\tango\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.5.0 + + + + + + \ No newline at end of file diff --git a/LensSimulatorCore/obj/LensSimulatorCore.csproj.nuget.g.targets b/LensSimulatorCore/obj/LensSimulatorCore.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/LensSimulatorCore/obj/LensSimulatorCore.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/LensSimulatorCore/obj/project.assets.json b/LensSimulatorCore/obj/project.assets.json new file mode 100644 index 0000000..15ddd6a --- /dev/null +++ b/LensSimulatorCore/obj/project.assets.json @@ -0,0 +1,74 @@ +{ + "version": 3, + "targets": { + "net7.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net7.0": [] + }, + "packageFolders": { + "C:\\Users\\tango\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj", + "projectName": "LensSimulatorCore", + "projectPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj", + "packagesPath": "C:\\Users\\tango\\.nuget\\packages\\", + "outputPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\tango\\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": [ + "net7.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net7.0": { + "targetAlias": "net7.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net7.0": { + "targetAlias": "net7.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\\7.0.201\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/LensSimulatorCore/obj/project.nuget.cache b/LensSimulatorCore/obj/project.nuget.cache new file mode 100644 index 0000000..13e0de6 --- /dev/null +++ b/LensSimulatorCore/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "ELXZaLHeA3IsTYCqQkwLGNYurz6FePlxzL+hJrsoVI5FAJX5EGuAHPzCTYS/GslziBFyO44dObttce2pZ+NFkQ==", + "success": true, + "projectFilePath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/LensSimulatorCore/obj/project.packagespec.json b/LensSimulatorCore/obj/project.packagespec.json new file mode 100644 index 0000000..1e8287e --- /dev/null +++ b/LensSimulatorCore/obj/project.packagespec.json @@ -0,0 +1 @@ +"restore":{"projectUniqueName":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj","projectName":"LensSimulatorCore","projectPath":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\LensSimulatorCore.csproj","outputPath":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorCore\\obj\\","projectStyle":"PackageReference","fallbackFolders":["C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"],"originalTargetFrameworks":["net7.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"C:\\Program Files\\dotnet\\library-packs":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net7.0":{"targetAlias":"net7.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net7.0":{"targetAlias":"net7.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\\7.0.201\\RuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/LensSimulatorCore/obj/rider.project.restore.info b/LensSimulatorCore/obj/rider.project.restore.info new file mode 100644 index 0000000..9500d05 --- /dev/null +++ b/LensSimulatorCore/obj/rider.project.restore.info @@ -0,0 +1 @@ +16859882528181098 \ No newline at end of file diff --git a/LensSimulatorWindows/App.xaml b/LensSimulatorWindows/App.xaml new file mode 100644 index 0000000..fd2fb88 --- /dev/null +++ b/LensSimulatorWindows/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/LensSimulatorWindows/App.xaml.cs b/LensSimulatorWindows/App.xaml.cs new file mode 100644 index 0000000..6687d46 --- /dev/null +++ b/LensSimulatorWindows/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace LensSimulatorWindows +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} \ No newline at end of file diff --git a/LensSimulatorWindows/AssemblyInfo.cs b/LensSimulatorWindows/AssemblyInfo.cs new file mode 100644 index 0000000..4a05c7d --- /dev/null +++ b/LensSimulatorWindows/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] \ No newline at end of file diff --git a/LensSimulatorWindows/LensSimulatorWindows.csproj b/LensSimulatorWindows/LensSimulatorWindows.csproj new file mode 100644 index 0000000..02bf8e8 --- /dev/null +++ b/LensSimulatorWindows/LensSimulatorWindows.csproj @@ -0,0 +1,10 @@ + + + + WinExe + net7.0-windows + enable + true + + + diff --git a/LensSimulatorWindows/MainWindow.xaml b/LensSimulatorWindows/MainWindow.xaml new file mode 100644 index 0000000..e7a5b3c --- /dev/null +++ b/LensSimulatorWindows/MainWindow.xaml @@ -0,0 +1,11 @@ + + + + diff --git a/LensSimulatorWindows/MainWindow.xaml.cs b/LensSimulatorWindows/MainWindow.xaml.cs new file mode 100644 index 0000000..0d617e9 --- /dev/null +++ b/LensSimulatorWindows/MainWindow.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace LensSimulatorWindows +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : Window + { + public MainWindow() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs b/LensSimulatorWindows/obj/Debug/net7.0-windows/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs new file mode 100644 index 0000000..4257f4b --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")] diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/App.g.cs b/LensSimulatorWindows/obj/Debug/net7.0-windows/App.g.cs new file mode 100644 index 0000000..f5c1458 --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/App.g.cs @@ -0,0 +1,70 @@ +#pragma checksum "..\..\..\App.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "3E425E4B3F42BB166D9FF4C8B28F728A93B55702" +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using LensSimulatorWindows; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Controls.Ribbon; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace LensSimulatorWindows { + + + /// + /// App + /// + public partial class App : System.Windows.Application { + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.3.0")] + public void InitializeComponent() { + + #line 5 "..\..\..\App.xaml" + this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); + + #line default + #line hidden + } + + /// + /// Application Entry Point. + /// + [System.STAThreadAttribute()] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.3.0")] + public static void Main() { + LensSimulatorWindows.App app = new LensSimulatorWindows.App(); + app.InitializeComponent(); + app.Run(); + } + } +} + diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfo.cs b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfo.cs new file mode 100644 index 0000000..3a8bc8b --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfo.cs @@ -0,0 +1,24 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("LensSimulatorWindows")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("LensSimulatorWindows")] +[assembly: System.Reflection.AssemblyTitleAttribute("LensSimulatorWindows")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] +[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] +[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfoInputs.cache b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfoInputs.cache new file mode 100644 index 0000000..903f6c6 --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +8d237d588aa3da25c5cc632e575a7f1756530966 diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.GeneratedMSBuildEditorConfig.editorconfig b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..4de8cb0 --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,11 @@ +is_global = true +build_property.TargetFramework = net7.0-windows +build_property.TargetPlatformMinVersion = 7.0 +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = LensSimulatorWindows +build_property.ProjectDir = C:\Users\tango\RiderProjects\LensSimulator\LensSimulatorWindows\ diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.assets.cache b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..2e84d119fc8fb6152227143071eb04b663b3ebdb GIT binary patch literal 228 zcmWIWc6a1qU|{fU=l{<8aKV3t;28~v)|jn5-LqrT@oC#T*K?E!9c0;ZRF+H_724t2yP)$HletJ=2u7X=;PHM4& zs*y#7g_)|6WsGlTa#4P9ep-n_SY~l)Vva&^Noh)EeoSyiVo_>Jj9;mHYDoapFhcGE E0LaletpET3 literal 0 HcmV?d00001 diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.csproj.AssemblyReference.cache b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..71ef5dda13a9b28538cd74149726f0d565bad94f GIT binary patch literal 109294 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 RwLtj!>^0vOK}#CL{Xbm5EL{Kq literal 0 HcmV?d00001 diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.cache b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.cache new file mode 100644 index 0000000..ad5b056 --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.cache @@ -0,0 +1,20 @@ +LensSimulatorWindows + + +winexe +C# +.cs +C:\Users\tango\RiderProjects\LensSimulator\LensSimulatorWindows\obj\Debug\net7.0-windows\ +LensSimulatorWindows +none +false +TRACE;DEBUG;NET;NET7_0;NETCOREAPP +C:\Users\tango\RiderProjects\LensSimulator\LensSimulatorWindows\App.xaml +11407045341 + +3-1233169557 +1981462702791 +MainWindow.xaml; + +True + diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.lref b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.lref new file mode 100644 index 0000000..7f57c08 --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/LensSimulatorWindows_MarkupCompile.lref @@ -0,0 +1,4 @@ + + +FC:\Users\tango\RiderProjects\LensSimulator\LensSimulatorWindows\MainWindow.xaml;; + diff --git a/LensSimulatorWindows/obj/Debug/net7.0-windows/MainWindow.g.cs b/LensSimulatorWindows/obj/Debug/net7.0-windows/MainWindow.g.cs new file mode 100644 index 0000000..cc5ef0e --- /dev/null +++ b/LensSimulatorWindows/obj/Debug/net7.0-windows/MainWindow.g.cs @@ -0,0 +1,75 @@ +#pragma checksum "..\..\..\MainWindow.xaml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "F00A131DD7A3DD8BE845A0DF7A7CAC5E61751361" +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using LensSimulatorWindows; +using System; +using System.Diagnostics; +using System.Windows; +using System.Windows.Automation; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Controls.Ribbon; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Ink; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Media; +using System.Windows.Media.Animation; +using System.Windows.Media.Effects; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; +using System.Windows.Media.TextFormatting; +using System.Windows.Navigation; +using System.Windows.Shapes; +using System.Windows.Shell; + + +namespace LensSimulatorWindows { + + + /// + /// MainWindow + /// + public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector { + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.3.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/LensSimulatorWindows;component/mainwindow.xaml", System.UriKind.Relative); + + #line 1 "..\..\..\MainWindow.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.3.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + this._contentLoaded = true; + } + } +} + diff --git a/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.dgspec.json b/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.dgspec.json new file mode 100644 index 0000000..3aa70a6 --- /dev/null +++ b/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.dgspec.json @@ -0,0 +1,71 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj": {} + }, + "projects": { + "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj", + "projectName": "LensSimulatorWindows", + "projectPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj", + "packagesPath": "C:\\Users\\tango\\.nuget\\packages\\", + "outputPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\tango\\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": [ + "net7.0-windows" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net7.0-windows7.0": { + "targetAlias": "net7.0-windows", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net7.0-windows7.0": { + "targetAlias": "net7.0-windows", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + }, + "Microsoft.WindowsDesktop.App.WPF": { + "privateAssets": "none" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.201\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.props b/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.props new file mode 100644 index 0000000..4f8cd19 --- /dev/null +++ b/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.props @@ -0,0 +1,16 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\tango\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + PackageReference + 6.5.0 + + + + + + \ No newline at end of file diff --git a/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.targets b/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/LensSimulatorWindows/obj/LensSimulatorWindows.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/LensSimulatorWindows/obj/project.assets.json b/LensSimulatorWindows/obj/project.assets.json new file mode 100644 index 0000000..73980a8 --- /dev/null +++ b/LensSimulatorWindows/obj/project.assets.json @@ -0,0 +1,77 @@ +{ + "version": 3, + "targets": { + "net7.0-windows7.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net7.0-windows7.0": [] + }, + "packageFolders": { + "C:\\Users\\tango\\.nuget\\packages\\": {}, + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj", + "projectName": "LensSimulatorWindows", + "projectPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj", + "packagesPath": "C:\\Users\\tango\\.nuget\\packages\\", + "outputPath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" + ], + "configFilePaths": [ + "C:\\Users\\tango\\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": [ + "net7.0-windows" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "C:\\Program Files\\dotnet\\library-packs": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net7.0-windows7.0": { + "targetAlias": "net7.0-windows", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net7.0-windows7.0": { + "targetAlias": "net7.0-windows", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + }, + "Microsoft.WindowsDesktop.App.WPF": { + "privateAssets": "none" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.201\\RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/LensSimulatorWindows/obj/project.nuget.cache b/LensSimulatorWindows/obj/project.nuget.cache new file mode 100644 index 0000000..5421c7a --- /dev/null +++ b/LensSimulatorWindows/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "tMx/si8Azo8pLQQZ1y8LDLWgnL97KtIKP+QPux+NFbt94iuR3k9hdSwUFibdUVx1ZGCRbMScMdzjrA/JWDxs3w==", + "success": true, + "projectFilePath": "C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/LensSimulatorWindows/obj/project.packagespec.json b/LensSimulatorWindows/obj/project.packagespec.json new file mode 100644 index 0000000..a8d1c42 --- /dev/null +++ b/LensSimulatorWindows/obj/project.packagespec.json @@ -0,0 +1 @@ +"restore":{"projectUniqueName":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj","projectName":"LensSimulatorWindows","projectPath":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\LensSimulatorWindows.csproj","outputPath":"C:\\Users\\tango\\RiderProjects\\LensSimulator\\LensSimulatorWindows\\obj\\","projectStyle":"PackageReference","fallbackFolders":["C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"],"originalTargetFrameworks":["net7.0-windows"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"C:\\Program Files\\dotnet\\library-packs":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net7.0-windows7.0":{"targetAlias":"net7.0-windows","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net7.0-windows7.0":{"targetAlias":"net7.0-windows","imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"},"Microsoft.WindowsDesktop.App.WPF":{"privateAssets":"none"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\7.0.201\\RuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/LensSimulatorWindows/obj/rider.project.restore.info b/LensSimulatorWindows/obj/rider.project.restore.info new file mode 100644 index 0000000..d8b654d --- /dev/null +++ b/LensSimulatorWindows/obj/rider.project.restore.info @@ -0,0 +1 @@ +16860059086001956 \ No newline at end of file