From 57d6e99256b4be2267767302ef32526ef89597f8 Mon Sep 17 00:00:00 2001 From: josephroy99 Date: Wed, 7 Jun 2023 20:16:35 +0100 Subject: [PATCH] Cleanup --- ImplementationTest/Program.cs | 69 +++++++++++------- .../bin/Debug/net7.0/ImplementationTest.dll | Bin 6656 -> 0 bytes .../bin/Debug/net7.0/ImplementationTest.pdb | Bin 11272 -> 0 bytes .../bin/Debug/net7.0/LensSimulatorCore.dll | Bin 17408 -> 0 bytes .../bin/Debug/net7.0/LensSimulatorCore.pdb | Bin 17876 -> 0 bytes ...ntationTest.csproj.AssemblyReference.cache | Bin 93849 -> 0 bytes .../obj/Debug/net7.0/ImplementationTest.dll | Bin 6656 -> 0 bytes .../obj/Debug/net7.0/ImplementationTest.pdb | Bin 11272 -> 0 bytes .../Debug/net7.0/ref/ImplementationTest.dll | Bin 6144 -> 0 bytes .../net7.0/refint/ImplementationTest.dll | Bin 6144 -> 0 bytes LensSimulatorCore/MathsLib/CoreMaths.cs | 4 +- LensSimulatorCore/Shapes/Ellipse.cs | 40 ++++++---- .../bin/Debug/net7.0/LensSimulatorCore.dll | Bin 17408 -> 0 bytes .../bin/Debug/net7.0/LensSimulatorCore.pdb | Bin 17876 -> 0 bytes .../net7.0/LensSimulatorCore.AssemblyInfo.cs | 1 - ...mulatorCore.csproj.CoreCompileInputs.cache | 1 - .../obj/Debug/net7.0/LensSimulatorCore.dll | Bin 17408 -> 0 bytes .../obj/Debug/net7.0/LensSimulatorCore.pdb | Bin 17876 -> 0 bytes .../Debug/net7.0/ref/LensSimulatorCore.dll | Bin 10752 -> 0 bytes .../Debug/net7.0/refint/LensSimulatorCore.dll | Bin 10752 -> 0 bytes .../obj/Debug/net7.0-windows/MainWindow.g.cs | 2 +- 21 files changed, 74 insertions(+), 43 deletions(-) delete mode 100644 ImplementationTest/bin/Debug/net7.0/ImplementationTest.dll delete mode 100644 ImplementationTest/bin/Debug/net7.0/ImplementationTest.pdb delete mode 100644 ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.dll delete mode 100644 ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.pdb delete mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.csproj.AssemblyReference.cache delete mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.dll delete mode 100644 ImplementationTest/obj/Debug/net7.0/ImplementationTest.pdb delete mode 100644 ImplementationTest/obj/Debug/net7.0/ref/ImplementationTest.dll delete mode 100644 ImplementationTest/obj/Debug/net7.0/refint/ImplementationTest.dll delete mode 100644 LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.dll delete mode 100644 LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.pdb delete mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.CoreCompileInputs.cache delete mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.dll delete mode 100644 LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.pdb delete mode 100644 LensSimulatorCore/obj/Debug/net7.0/ref/LensSimulatorCore.dll delete mode 100644 LensSimulatorCore/obj/Debug/net7.0/refint/LensSimulatorCore.dll diff --git a/ImplementationTest/Program.cs b/ImplementationTest/Program.cs index 9c46ad1..bdc1209 100644 --- a/ImplementationTest/Program.cs +++ b/ImplementationTest/Program.cs @@ -1,46 +1,65 @@ // See https://aka.ms/new-console-template for more information using System.Diagnostics; -using LensSimulatorCore; using LensSimulatorCore.Optical; using LensSimulatorCore.Shapes; -using LensSimulatorCore.Workspace; +namespace ImplementationTest; -var ellipse = new Ellipse(0.2,3,4,new Point(1,3)); -var result = ellipse.GetIntersectionPoints(new Line(-2, 3)); - -var ListOfPointsOnCircle = (double n) => +internal class Program { - List points = new List(); - - for (int i = 0; i < n; i++) + static void Main(string[] args) { - var radians = Math.PI * 2 / n * i; + var ellipse = new Ellipse(-0.6,1.8,1.4,new Point(2.1,-0.5)); + var resultEllipse = ellipse.GetIntersectionPoints(new Line(3.7, 2.8)); + + var circle = new Circle(1.4, new Point(2.1, -0.5)); + var resultCircle = circle.GetIntersectionPoints(new Line(3.7, 2.8)); - var x = Math.Cos(radians); - var y = Math.Sin(radians); - points.Add(new Point(x, y)); - } + + + + + + + + + + + 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; -}; + return points; + }; -var test = ListOfPointsOnCircle(8); + var test = ListOfPointsOnCircle(8); -var sellmeier = new SellmeierCoefficients(1.03961212, 0.00600069867, 0.231792344, 0.0200179144, 0, 103); + var sellmeier = new SellmeierCoefficients(1.03961212, 0.00600069867, 0.231792344, 0.0200179144, 0, 103); -var material = new Material(sellmeier); + var material = new Material(sellmeier); -var s = new Stopwatch(); s.Start(); + var s = new Stopwatch(); s.Start(); -var reflectivity = material.Reflectivity(45, 1.00027717, 450); -var transmissivity = material.Transmissivity(45, 1.00027717, 450); + var reflectivity = material.Reflectivity(45, 1.00027717, 450); + var transmissivity = material.Transmissivity(45, 1.00027717, 450); -s.Stop(); -var time = s.ElapsedMilliseconds; + s.Stop(); + var time = s.ElapsedMilliseconds; -Console.Write("F"); \ No newline at end of file + Console.Write("F"); + } +} \ No newline at end of file diff --git a/ImplementationTest/bin/Debug/net7.0/ImplementationTest.dll b/ImplementationTest/bin/Debug/net7.0/ImplementationTest.dll deleted file mode 100644 index 8d1a11d5dd1a8327532ee4a2111e4d6d7f4ad266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6656 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 diff --git a/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.dll b/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.dll deleted file mode 100644 index 00e85546c3d7b947b57812746a9e7e7b80ebedfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 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 R$G80__VNF__8%63{{#LIH1z-g diff --git a/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.pdb b/ImplementationTest/bin/Debug/net7.0/LensSimulatorCore.pdb deleted file mode 100644 index 8831f5ce5eabc4f4a35e1fb20d41426940858dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17876 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 Uatrx+IP5r_=)->>e&xFUA4!IYxBvhE diff --git a/ImplementationTest/obj/Debug/net7.0/ImplementationTest.dll b/ImplementationTest/obj/Debug/net7.0/ImplementationTest.dll deleted file mode 100644 index 8d1a11d5dd1a8327532ee4a2111e4d6d7f4ad266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6656 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 diff --git a/ImplementationTest/obj/Debug/net7.0/ref/ImplementationTest.dll b/ImplementationTest/obj/Debug/net7.0/ref/ImplementationTest.dll deleted file mode 100644 index 185d2c154a795e73e1c59d18a2a74bfcf6244a1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6144 zcmeHLU2G&r5w2O=8`~Ef+qoY@I5M|(LZaM_*YPRDhwWRRe=ZBQZ{yv&D1c=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=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 SolveQuadratic(double a, double b, double c) + public static List SolveQuadratic(double a, double b, double c) { - var solutions = new List(); + var solutions = new List(); double discriminant = b * b - 4 * a * c; if (discriminant < 0) diff --git a/LensSimulatorCore/Shapes/Ellipse.cs b/LensSimulatorCore/Shapes/Ellipse.cs index 7818a23..77f0044 100644 --- a/LensSimulatorCore/Shapes/Ellipse.cs +++ b/LensSimulatorCore/Shapes/Ellipse.cs @@ -1,3 +1,4 @@ +using System.Drawing; using LensSimulatorCore.MathsLib; using LensSimulatorCore.Shapes; @@ -22,36 +23,49 @@ public class Ellipse { 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 lcm = majorSquared * minorSquared; var intersectionMinusXpos = line.C - _position.X; - var intersectionMinusXposCosTheta = (intersectionMinusXpos * cosTheta); - var intersectionMinusXposSinTheta = (intersectionMinusXpos * sinTheta); + 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 slopeCosThetaMinusSinTheta = slopeCosTheta - sinTheta; + var intersectionMinusXposCosThetaPlusYSinTheta = intersectionMinusXposCosTheta + ySinTheta; - 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 slopeCosThetaMinusSinThetaPow2 = Math.Pow(slopeCosThetaMinusSinTheta, 2); + var ser = intersectionMinusXposCosThetaPlusYSinTheta * (slopeCosThetaMinusSinTheta) * 2; + var intersectionMinusXposCosThetaPow2 = Math.Pow(intersectionMinusXposCosThetaPlusYSinTheta, 2); + + var a1 = minorSquared * slopeCosThetaMinusSinThetaPow2; + var b1 = minorSquared * ser; + var c1 = minorSquared * intersectionMinusXposCosThetaPow2; + + var slopeSinThetaPlusCosTheta = slopeSinTheta + cosTheta; + var intersectionMinusXposSinThetaMinusYCosTheta = intersectionMinusXposSinTheta - yCosTheta; + + var slopeSinThetaMinusCosThetaPow2 = Math.Pow(slopeSinThetaPlusCosTheta, 2); + var se = intersectionMinusXposSinThetaMinusYCosTheta * (slopeSinThetaPlusCosTheta) * 2; + var intersectionMinusXposSinThetaMinusYCosThetaPow2 = Math.Pow(intersectionMinusXposSinThetaMinusYCosTheta, 2); + + var a2 = majorSquared * slopeSinThetaMinusCosThetaPow2; + var b2 = majorSquared * se; + var c2 = majorSquared * intersectionMinusXposSinThetaMinusYCosThetaPow2; var a = a1 + a2; var b = b1 + b2; - var c = c1 + c2 - LCM; - + 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(); + return y.Select(y => new Point(line.B * y + line.C, y)).ToList(); } } diff --git a/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.dll b/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.dll deleted file mode 100644 index 00e85546c3d7b947b57812746a9e7e7b80ebedfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 zcmeHudvsjob?-ipIdf)4BkRmq4?lphW#d7Th5Vq#*kH+$Wkh6KSh6jRoJu3jkvuS( z5i=u$V|1|#;Wi1hCC}ESw>IRq=>rxkO%oDmYM>!m&EuxcO;RT**rh8?vsi?zgnN^e z+V{8j`Q{IBz4znQ`Q%XJzM ze7+1Ce>bc0|H@sF%)+%BcK0zdPL$z5Tz;J(ssV2xK{Rx^?BAkeM0S zD}p|~4FED3tMVI^Trqgno-gDlL5XkUKzN|H;Zt>WV!GP%ZYBps_LWZH!?t$fQ+0JN z;t(C@xZ+~pbn?+(Z6T%3p5bhcC7`&;Q^FHQZs~=~Q?gM!sU6z$Nd6~l+i4mEpmsOwb7($2y%s42?sETBIt*oua|6=&lS zFp1p@l-v^JU3$U6c;+!8Q!hX%I3HqEISYNvp*IXczzCNZg4}^f#Ov9(ZpIs>lc}n1 zS18FfrS5A>tp$NOjMK9(h&NV@hf~HO-Hk`#6K+d!lX1$(q}Nr-Hb(9Z4Kw4J5(Ks} zG>;(&+cxMOux*I#_-ZuFtpw0L6sckHSb}cQiZ|dM(q%f7PK?!A$DbIf@!N$apy5^u za8waFuO~skfZHBJ5b^hV=yR0feCI|OlcysH80b?{2yyfTg0SCadHLvZBm_KWn1ejn zG}<_lgD*kx?F!{==-uTrP$$?pni!WU* znm2dML(!}vk+)@%N=uGNGH@O#Qze{7ZkNM`)hwjx8T8GIp;}YgNKF3(ix^vkQ*hy5 z&@$#Xp*iWtxtSz;Na39EHTrRJOkg6c9~W~16HznZnDGf%iTbSj*$U^Zr5|VaBo{`a z)?xwY`$*L9Ad926W7&ylKs8|r$Y2!-oscpCceqJS6$$0AV>&hVh>9b1#^GQv5v}#u z3CDJV!-=vq5nTcS^U5sMpf2Eq{foGca1*$NMyjnu0_-@Lmz#+?wT?3!UFs}xBE!*o zr_PBEJHC-#L`}`x5kzjOZ50|Fyngxf)#QP$WXPM z8C7yt5493n_W{dY2S*x5Y7}YbVxXhJNU*YLT}8wjl(&h6OVOdgaMZMrESypa|7d&_ z8}m6n+2o>@Asd__IpbIfWQVftu{^P)KAKz$`vrJs<*W(~D& zFX_Sx_lYPgO=Wf%K{g%VXpORIC(4${4oF0!ex#URjqP{K@roaYJufisRU)%6Y#X5O zR>uuHr1X8#jp3cW$jyXML4l)%JAMNnb5!gk^;*inYw7zHPUseS=m5V2) zI!A-LFOEXgGQH#uS^kT9)O5_Y+S2Cz=8mYZb)9aRzQ%YLG;0`b5HxHDDqGJe)X4E+ zueN9{)_IWotTk)wt?z~hWE!$bCscpsEW=?X4vZS!DpLZrBaXz^!BS!*`0r{y9HN^~ zh!ekDx5_o;Ih^?SG=~$GzqGp4@T3ZYV_c_TArMMP%>VHihs*TkQ1Aq$Y`aX(le<8^ zzwDR}etajUX{2Q**V@=?xYmZ;+XsA<=RoiUDONA4*Bdy6knupVo`Uf^&>UIF+mq?a zR_BwA&Lb(^+ANHEr=U$n6gZ(c0A5|?vU@?8{d(=-Z~J3R$v|MhifRA zk*^Io6iLAxmq>8~r%EuQU#y2^oeX9M!>yr+5nm51Y7zl$2fF_CSC&MKiw#&xD{?o2 zLEo`eX5u*j1+I?7ZrVnunu$KkK|qFa#e`s^V)D%+8XPf10;D+)7o?CvhbD5{B;H5E z-g;saxV*y~$3M4GGeNW|R7P8u>BqSj#lU_ms@CYpD2f*Dp{#mYD|V`?6{~V9lsD|p z)mrfos#>uswlT@x1LQW_ebb|lkwL(p#=4!PK(matJv1g=_3_^(z=*iN8oQ6d|8|9?z!6yQp=geos0 zRi4K&l3;73{&H3#GhZ2FsVu2))fzKZnpL$(DLFewDX3!4m8P8-u6BTv zK%(T|j^)x~P5VDkqu37!R%+!DG+5vRm-BN{0^ft z$LDw*dUYHH8i&Jy>jo~Gyxwj(e(BPs>T)daJ(16EA2!bTwLId({Bfg4p&^ zB4bWkYsi4|JL@zHYs4r8pDt>6ArbPgzo6H&63?SS5Ab^8HU&J=27`uCO3AuTJz*wB zLjFo?RAp^GehIUW{OS}iT*s_rkd6%UF{|>V$Sez?Eo_GQ+)V)d^ioZU|EpC9TRyIP z&(_%XEIe}j3L0P{;hXokJ*;?=7}%<4=inVXHTA}_2K3R*?H%o#IyP{Wk88K&g4Km``V?3#`!-gK6BG4-C@nz!5KM-hH622lrvnn|+{nW^xmt`O;Ai z9IAgJ5D0?!nYM}Wq=K!8P>~ZJ#tEL%6h71VzzgXcm3kWd2F%@pfW-SUB$ozK@!u_b-XHW4=GO?c7|efIu$7+`c53(BTT=FZ?vWoj5+F~u>gqa*0;Cg6xZs79d-%$SBb_=5es z*#(Iu)ISB7vhX~@vTl+25mBbrny(pMkkkqFmcdjI5f8xT$4n=9C-jzz?75H=?816l zCb9zomepb2SaVD?BeYgD?+?xTyU?mdsBf4|Ehi)}^xv{({o{14%xxWg%9!=1K;0~w z@Ab3hb$Ff6HV?tdowS;E3ALq$sWsFq)ZYb}T1Wk2^Mcr1kMAN*poddpb3NTjCqaD; zR2Q|=0XhkrHwWLKF67t*8K5{{m~!cQY#MKA*OTf0DPXhxwzi5M)h_`)t{J*Ue+RgV z{v}`m?g<3JN$9n@MP?`h_}Rd6a0WzkQs7a6?-6*|xTIU8ewbATF+1Q{L?_?*oarcCC1(AWg{$NCm%&ev=M909cG40J4d$=C(X zkJ0-o`rmpVG;57J0XvD?&I)|5z#f4`fxiK0(ksRYbPC2h0oUnoYbJf(&#iilaajAT zwi>-WWp2_3VhA2R+|-Pf06)uA3cC3+l?L@|Wr}6*FH@Z3Pn4+~WS{XU`!V~dZqSR0 zx?~&&_1B7u`Cxey8KqWny-D-bC_fuL?TkOX`<;$9Qi%XArl>G!9*KPV8MSYAO0QH2To`x(y zf2^oaKo+1s^CO5pi=%j_OhBQPihG&w$#as2c)D^`&$`QJVwLfExEG`gQY@ zdOdwg$=X84LH(towuBx4^#w)Ui}`DyuPW*x`x#K@JPN)%r#I5;N*1zT)R)nZ71d~e z5!Amb>c0lQt}iEFvo~XGb2)j>QV-i~b2&9BS&w#1TR~Hb8b^k#psb=U*-RbvDD?hq zP>+fi&U+L!gnpu5Pana9k(cF$v5r0})XVgW88G7XB~)ERFVlO2 z7QXF@aq$3Z%8nYX^tPfNH*s>%lXx;DdI&ujMjJgX)Wh~`_HtuAeNs_Bw66no)}v@$ z&03?KE_f8$U1!`#O?+HqPfORd7#;M8q9#Hcj7@YFkErmIW+B@`=M{Aas9OjQNV^7V zF>a-LkAlsuMknzXA>R19jGgoc9%c6;g1hKxMfrn$#xDA#qW*huKd8?t>XX4yP+#yU zdL!f-y>v4l(Xunl8oTL;M^OkP+Cx1k=Gf0Qp!U+U9tB_CW$dG`3gt!jPHMtaPbs=X z^sJ&dx#6f1w2)@biHQuIEdynT0?J}A_K zI2X?tTrp`l0l3CmYBK(9i{ah?bKVBjC7&~zAmi{da5c8VezvIKIo`x*pqtzO_~Gr(fa@``b|KM?hwyC=*9CF8Fls8 zt7qf~u%;8oYGK^G$arx(f_`;*o zaI3&Bfqeq+6gVO<324zVz z!}4PIY1&a!udNh(yRGwd%vrLSNu zpQG>le@{C{e)w>Xe(di>jmo|a0sag)_ccU+V->Y^sE=EG?RfkAI`;Y~y#=@eE4Llb zt=9my(kS32$^&krdBARZFW@_bKM2@Oqx2!bAmF6nlM0`tKQ~Vb=Oo=te`-D`_=6&S zkS6In<{9Cf5$ThHKPl2DAvJt|gy-N><_p4qL3Cb1C4S0$3H(1W&kLV4?%mK<(`i8F z$Aq&=LGHI%q|GAj6n?jGx`lI6I43pMJR|rS!JibJCq?HhaCjop7exA!NM91^1>s*1 z{%gX2P57G5zG*sJHgKxLLtQ)+{wf8v>gQD}G=$sb*lfrpYIA^8RS>c}-ctJsK`^BH52r-a=SB0paLC8@I|YslJT367z!wzcRu=@n;A0#wXxJ-(s}y8@m*8C%<0t&A zb6VgDoAL8DkLbMM6p+yc#E#%G!8-+>4T`=%3W<)uPJ!bBPk69~BYzeUk;k5K8@&@x zQvXPPZMk-Xwo%)v-LB1R@75mCp3t7rp4VQ)bC`y2ehoY!n0UUnu+I6JJAiL7LU@V} z<1PCVtonNVYrr0g*MsySo6kVQd@NY{A)HX~Z-9R$_$|P1hFJ5v{?`CM z5c(&;kD8x0bQzV7arsEcc>EY=5KzaM0)Vv`pN_L341NR<)d)taVVp~VH$b9MBcP6V z0#V>A0Cnu$^}w$I)F}qJMymjI>^jSUHv{T;yRZWI^?*8_{jUKY2h_2TUI)AtP{*FW z3UEDIXn5*x27V*j>C}N1sBmyj>Dbd-A-xq)r`^!i@e95i0sA1w$qT5{LF~L59Rk!* z5As`=5kS-=v<3JmpiYNrE4*2cUHy0IM>twz+Kl!c?Yo+Jg3sCN>v_})J7J zF6Z5gI^}ZSH&HzhMqEeR=yUM-ReZ+S`1ac-$Hscnh1pE0EXom(CUoEbXANof~MZdjsvA%Vd%h8FzdG_3g^e&A53* z^`{F(Fu?+V?#_+S-$=c4*~#&Z%-%>{#bg%Totq%pY>P}`R=Q7EnySuxmLiBgWGwt2EOvW2!p?$ZTb@S;-8q8&mx_8bcQ~6{OWLGLh>B8VZE|bis-{q#H zkG{geWG0=W?K^L~du(iHa`JAx+3Zcb8L+w+vxXP5Mi#TWveOxN-&9|AGM#d>lkQ>- zIB~2$oxOtOQ1YmY;Z7HiEN;cJ%vEGP?(CJC48nuK^mKNyF?L}(cLl+q7so5LD5N=$ z7E5kV7YA}z6ArqW%#53M^NZW{q?0o)5_GZTAe=xZFPak$T46C;Qrl~D1?m1|Dm`}v z{y;MCW{X#`wwT>l=*{P@pwHR8E1RORspOMG)^ zh>1CHx^pwL>5Q8%bzUVZD;+2#r`+?k2Yv7vOa+Qv{a zkNN4v@A%z&F=LDMd*SFoY|B_ni-mpJsa$>rJ60~6%v@EgJC~hGPtWnrR&8XzJ2jY` za*N0IV-GG=jC;`$<^66Zd7ofa^3q5K^4Ps6i|+Q~R=+V-;S> z3ip=GRtZ$L2)~$~NN3W;D(TK+m_N>FNfA2AiBefc7*alo^XsTfym}Ur)0gFAy9yXK zapEIF%vQEkIZ&!d?zFP0(!J&VRocmxN-5r07w2sIzF8b9$qaXc^$uhVljdQIS8ghk z5tDs5tCY($l+053bmBc)G)fz`xLP4tyeFNdL44Tjo$fTSu7V=fW-g6NxC(`5)!WlO zqY9VZVE{o=8-6*I?vy%8sW+WXRaX#VtF+Ur&b)13Bvr=%VRx%27L)l3HHN)L&Jk=B z#r>#Wl7%8#a^9C*z@BoC@>`u9%JUM%At)Ulge^)=5w@qcHJlwJwUAix4hAuyP}$Lj za*7&DXW>vXQ+0~aEEh{kepC*ll5^;HI-4tC_6wem-hN%6F|~6SN}4L|QJi>t)1aF_ znx1qE)f;m`Z9~XdR8Ek|F5cr#=iQPb&k+{pteY>U!5hOL36*e;gB*!hNYKF}$yunE zRxlP1zOv=wi5Erz*)*BY6>?KWxR-Lfu-P0dqc=$utgVZl@-G0e4r%oe?pL zA`d|VRHv)-?YZHV0OEi``DmLf(7uVgFuU9@-;_zDqZ}wWSbFnrA?s$UIxZ>6n@wjq>>P6|mem>yOb;KAA1dqzi@gQ6|TV3u(?> zgaL+RQ}A^1)f7LVQ2+M|byGj8-}@J@HlF&%$39(8cpIeIMvOEc5XWJ%R?w{icbR@I z(qz>~_Gppq-fa!D@KZl69QOOoa5(JX*AhDJp11?XY_yG%ZTpRDA}KqP3czZ8mx}X zW7zgvA`M$SW<6~9wQw+IM2#p#wW!|U_eP(JbT|X`j*DnTwmSpdf69&#bGS1Rm@zy` zBTBm8?_-;u$#A&N58U$;J-}1M7^FYoIR;^*Bjg7s(!pA~&u_qyWqyA-a$e{p7ElP3 z`95LU&+Hg`!1;Rc7Q?#6r(5`M8&;%4x5BusG%RN`?lCox?drZp-8&%bH!aL36x;9_ z4q(JyY#>T`YEGNF!<2KgZs`zh=bZ9!xUcb9n8!#*7!inYo&eFbupdlkb7UoRn^-Rr zV>HH-9uE76Td+=~gA)Pb4v3vLw#A`9bU8aayd-1H7bEy7s{P@Z1rB1C!oPkyX2K*| z1!IyYn5{O^+a8D+&~t{IVJpVSX6|E{WzI0X#3aQGw1gv)4!UwE%K|UPN+|Zj&Sv^ zL65&iAi7nfruMzNhWIe*nw@P^mCCJ0x3qV_K<(0U?W|sK?8O0ZbBh=>8t~1-q6!PY z3ew0YwK{$*gpM}gcTD)_@rA$_E!?|Len0~V0uUGc@~-POdgyNc7Gy{dcV#lUd-u#` zis@NA2o33hzAQi274hBxYW+)pAvGO#f1Wk;j&FrZ*N$rsJxto30d9FeJ|D%e13$XG zB=z1aMM18^Cx#!(#qf6t)ffN%s`}bL*fV(X=EB3jzwXrTr(Wr={a?dNWe&P;Ieegi zN07sKhclf!ydSR#@~AQREG!&e5Z#3oPubzz#9fCa)Q7Wf5i_z_rF}MqS2MSFZM^AM zNOkXDue!$&txdhp4Sj$0*0s@h?75!*_O5ijhw)g6T6i!0xvj??gC{+i%$_7F;F-cC z+;ZEw%9iWWS{S)J6br5WKd1QDR7ChIof8X9OQPZZ<6=JR-Hy-jIDQ$0x2vVA&fu?g z57How0q&yx!20m(roEv10DFP+^%v$3E_xYJN?`B4L!|t@B4^*is|Tb8t4aJtLNBH9 z`#!u8pe%lKmlMS`(rO6OB)A30lT?IW4wQF2W6r{;2A_)1N`pUr1xx*+(}8h&|2ESE z$AEh9PFTY?Svhn~!f16!9?_WvMk52xsxlD34?s-@z846T@dn`rN1Z9C7ZmG=8SM=>0N%d-E^=n>qM1hxiq% zM#1C!`SZ|$Z#D3{w*@vXk6XkMe`~Sq(fcLx9 R$G80__VNF__8%63{{#LIH1z-g diff --git a/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.pdb b/LensSimulatorCore/bin/Debug/net7.0/LensSimulatorCore.pdb deleted file mode 100644 index 8831f5ce5eabc4f4a35e1fb20d41426940858dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17876 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 // 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. diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.CoreCompileInputs.cache b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.CoreCompileInputs.cache deleted file mode 100644 index c2391db..0000000 --- a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -04bd4ca88629d5173ee0b51ca8fd93faa8aa5ffb diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.dll b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.dll deleted file mode 100644 index 00e85546c3d7b947b57812746a9e7e7b80ebedfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17408 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 R$G80__VNF__8%63{{#LIH1z-g diff --git a/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.pdb b/LensSimulatorCore/obj/Debug/net7.0/LensSimulatorCore.pdb deleted file mode 100644 index 8831f5ce5eabc4f4a35e1fb20d41426940858dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17876 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 // This code was generated by a tool.