From 01e6f97429680354303443e557ec00377dccb2d7 Mon Sep 17 00:00:00 2001 From: Evgeny Redikultsev Date: Sun, 26 Nov 2023 20:33:48 +0500 Subject: [PATCH] Icons for force result were added --- .../UI/Icons/Graphs/32px_crack.png | Bin 0 -> 4146 bytes .../UI/Icons/Graphs/32px_fire.png | Bin 0 -> 4430 bytes .../UI/Icons/Graphs/32px_graph_1.png | Bin 0 -> 3943 bytes .../UI/Icons/Graphs/32px_graph_2.png | Bin 0 -> 3736 bytes .../Icons/Graphs/32px_interpolation_1_1.png | Bin 0 -> 4260 bytes .../Icons/Graphs/32px_interpolation_2_1.png | Bin 0 -> 4195 bytes .../Icons/Graphs/32px_interpolation_3_1.png | Bin 0 -> 4269 bytes StructureHelper/StructureHelper.csproj | 8 ++ .../ForceCalculatorViews/32px_crack.png | Bin 0 -> 4146 bytes .../ForceCalculatorViews/32px_graph_1.png | Bin 0 -> 3943 bytes .../ForceCalculatorViews/32px_graph_2.png | Bin 0 -> 3736 bytes .../32px_interpolation_1_1.png | Bin 0 -> 4260 bytes .../InteractionDiagramLogic.cs | 125 ++++++++++++++++++ .../ForceResultLogic/ShowCrackResultLogic.cs | 13 +- .../ForceResultLogic/ShowCrackWidthLogic.cs | 2 +- .../ForceResultLogic/ShowDiagramLogic.cs | 4 +- .../ForceResultLogic/ShowProgressLogic.cs | 4 +- .../ForcesResultsView.xaml | 22 +-- .../ForcesResultsView.xaml.cs | 3 +- .../ForcesResultsViewModel.cs | 45 +++++-- .../Analyses/ByForces/ForceTupleCalculator.cs | 16 +-- .../ByForces/LimitCurve/ILimitCurveLogic.cs | 14 ++ .../LimitCurve/ILimitCurveParameterLogic.cs | 15 +++ .../ByForces/LimitCurve/ISurroundProc.cs | 15 +++ .../LimitCurve/LimitCurveCalculator.cs | 63 +++++++++ .../ByForces/LimitCurve/LimitCurveLogic.cs | 55 ++++++++ .../LimitCurve/LimitCurveParameterLogic.cs | 45 +++++++ .../ByForces/LimitCurve/LimitCurveResult.cs | 21 +++ .../ByForces/LimitCurve/PredicateFactory.cs | 28 ++++ .../ByForces/LimitCurve/RectSurroundProc.cs | 53 ++++++++ .../ByForces/LimitCurve/RoundSurroundProc.cs | 41 ++++++ .../LimitCurve/StabLimitCurveLogic.cs | 22 +++ .../ByForces/LimitCurve/SurroundData.cs | 17 +++ .../ForceCalculatorTests/RCSectionsTest.cs | 7 +- .../Ndms/RCSections/RCSectionTest.cs | 106 --------------- .../Ndms/SteelSections/ReinforcementTest.cs | 91 ------------- .../Ndms/RCSections/RCSectionTest.cs | 18 +-- .../StructureHelperTests.csproj | 1 + .../UnitTests/Calcuators/FindParameterTest.cs | 3 - .../Calcuators/LimitCurveCalculatorTest.cs | 28 ++++ .../Calcuators/LimitCurveLogicTest.cs | 66 +++++++++ 41 files changed, 678 insertions(+), 273 deletions(-) create mode 100644 StructureHelper/Infrastructure/UI/Icons/Graphs/32px_crack.png create mode 100644 StructureHelper/Infrastructure/UI/Icons/Graphs/32px_fire.png create mode 100644 StructureHelper/Infrastructure/UI/Icons/Graphs/32px_graph_1.png create mode 100644 StructureHelper/Infrastructure/UI/Icons/Graphs/32px_graph_2.png create mode 100644 StructureHelper/Infrastructure/UI/Icons/Graphs/32px_interpolation_1_1.png create mode 100644 StructureHelper/Infrastructure/UI/Icons/Graphs/32px_interpolation_2_1.png create mode 100644 StructureHelper/Infrastructure/UI/Icons/Graphs/32px_interpolation_3_1.png create mode 100644 StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_crack.png create mode 100644 StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_graph_1.png create mode 100644 StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_graph_2.png create mode 100644 StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_interpolation_1_1.png create mode 100644 StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/InteractionDiagramLogic.cs rename StructureHelper/Windows/{ViewModels/Calculations/Calculators => CalculationWindows/CalculatorsViews/ForceCalculatorViews}/ForceResultLogic/ShowCrackResultLogic.cs (87%) rename StructureHelper/Windows/{ViewModels/Calculations/Calculators => CalculationWindows/CalculatorsViews/ForceCalculatorViews}/ForceResultLogic/ShowCrackWidthLogic.cs (92%) rename StructureHelper/Windows/{ViewModels/Calculations/Calculators => CalculationWindows/CalculatorsViews/ForceCalculatorViews}/ForceResultLogic/ShowDiagramLogic.cs (96%) rename StructureHelper/Windows/{ViewModels/Calculations/Calculators => CalculationWindows/CalculatorsViews/ForceCalculatorViews}/ForceResultLogic/ShowProgressLogic.cs (94%) rename StructureHelper/Windows/{ViewModels/Calculations/Calculators => CalculationWindows/CalculatorsViews/ForceCalculatorViews}/ForcesResultsViewModel.cs (90%) create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/ILimitCurveLogic.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/ILimitCurveParameterLogic.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/ISurroundProc.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/LimitCurveCalculator.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/LimitCurveLogic.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/LimitCurveParameterLogic.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/LimitCurveResult.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/PredicateFactory.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/RectSurroundProc.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/RoundSurroundProc.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/StabLimitCurveLogic.cs create mode 100644 StructureHelperLogics/NdmCalculations/Analyses/ByForces/LimitCurve/SurroundData.cs delete mode 100644 StructureHelperTests/FunctionalTests/Ndms/RCSections/RCSectionTest.cs delete mode 100644 StructureHelperTests/FunctionalTests/Ndms/SteelSections/ReinforcementTest.cs create mode 100644 StructureHelperTests/UnitTests/Calcuators/LimitCurveCalculatorTest.cs create mode 100644 StructureHelperTests/UnitTests/Calcuators/LimitCurveLogicTest.cs diff --git a/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_crack.png b/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_crack.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b453b99834d2eb9bd6da9efab078b7e888ce3d GIT binary patch literal 4146 zcmcgv4OkTA79Nxo1oJ0UP|;zrL~V9wXMfloKw?=CP>gUz>_Ry^GYgZuJL~KK3tkYB zQk4A3j1WbXtjwz>1!g{oL`FsiT*NfuF|d2htc!*Dm+1XwcUhoEuioeW>^`$I^L_7k z&Uemv&pF=~B`lmbder1m5Cn~mjnO88J1krt!@%zy-=8ZX$PH&ABNHMhR!_r;^E7af zRIOIcf}o%++cwq3H7xU)*F4F6gXVzmr}bTB+6bx1-{+mTkf^bLX%9Gc_O0D<%=p)u z!*f069eG^*kGZS2R<5bI>3)25_nG5f=zToKZ{5%t z8@H9_P78z%-`SC-z8l5e+OOHa@KCRRHclISX}U&T>*siNfc?p*9={Fwr~# z+e}8Y6}N?n>~eANEDTFTupPoL4-+|JnjD`1N3t9ZE5u5Kl*%zUSS^++Q8gxi8pcp* zumla3NM#5r#Ze_LQ^U@W2x#Ld1D>djcIpCeVWM=Nx8M>fz+0~A zAwJ_7!vhowGee-Xjd=i6m~lZZcqB&?Jgo&+mbnZa4eNU(p;EGNCzXF0EiuB2DwMWNi=5_*ok3c6ny1UOaxOTZeTeR0m99g zh%{PaF{jx#7$1+vnyoxxCh1shmmRHzaQR>%-aP00{~mdg;8OsYp@m|CS$ z)0mW^<^AimESVutQCROtUy3Dx3|9=~cgG`DjF;b4`F*yZ(C<;-?QDrb`kg1iy zbicG`IR;ok7zaxgc0~b+C@EJ_D5gXRMX(f+Ddh^VHB^C6z;AlFUT#ntq#}4gZzOAE zIS>I5TG`<7SkNOl*1#CSgrlwu^a>Fya0v(7045Panum#iQ2SuAkO;;M$Dj&SHA2O6|RiAXZwy?@glQb7`Of>t7Gg_K5UyyEDiCm~D=C zt;3noLU`Qi^QbjHL)zo%a~vyB&yDF*r+(OBI?|DwnORd^y)AAp^j&v%_qA)U-#&EkVBS*| zS8lhqj;sFq?Ac#$-Dzlu44t+qx)N&nIa30T)tQ;)<>lPb6wwx-wf&{mJ4FYB%1*!c zUYx0L^PZrdo}MntM@jqL^7jN4z;L1Vxj$!Td#-JGgFc)!b3E#O@$TJekgdG#*s=LD z#?PENb4!f&4SM56=oz1r9UUFE(7e37x#8i>y{ks7`RnCtZ%X{gFTW@)ExpX+QyWiJ z{q$Q-M(QMYH^@EWhu?A_I5rU;`>t;GwW#71Pi?(r7+E+rX<^-kk{O;*PVEZ^lD5*N zxBVM;t7}Y4_P5vnI@7_}d#syAK13Jpv|wajAE2V$nBK zrcAjO2<4}UmxxQ;@-KeW*_nEzaN%mFa^6JSeQ&Ljix>T<@b2X>dYPHH=9jj>` z0qtphH)#DDV_k?Z)ta&M{7HT5rQTWVHAUVH6?vH@P{M(v(!T50Cl+bt@l$+Gd^mhW zd|N?1{AzAq-o#Ol{dnl>D}`gv#vM(0JFlc^!iJOQe7#=Q9OmoD8c zN#7pbxAEfp4I}d#8|Ssj_pM@>S=-`@_QbrS_3-n#`SF^FLQTM?#>mP7c*fRKiTlo^ z%b^oBrlzVNRt-@dF+@ zHRrx^t7yBdt!(YO)9Ro6#)MHXM~mO?GzS*y7Wa+cxpSxgw69(adB#J%QC2mzP2Op~ zVbS@V+;Xcj#CLd`d~MV8O}jjo72i{?zZVU>J^k>#w51c6Ta9RL6T literal 0 HcmV?d00001 diff --git a/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_fire.png b/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..fbfba9cb26a08455da4df7b43ffdc53bc8ec50eb GIT binary patch literal 4430 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 literal 0 HcmV?d00001 diff --git a/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_graph_1.png b/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_graph_1.png new file mode 100644 index 0000000000000000000000000000000000000000..568ed9e864ad8a49d0afc6a3137e62b1fc7f1584 GIT binary patch literal 3943 zcmc&%2~-s49UpH&jcD-2GY;z!M29){9$6LGRZ-UvSQYd&b#@LI-Q8Jd2UxIDLA zqaY~q<4x;NPN|q1KIzgsoma>0@Bi89o4+*1;`Slodv_zIu;121oWHVr#}vNrhD+lY zb)R(ft>_2i@;2^TQry(JJnz=!(-CpY@++0wzdK%d;Y9HO?)tp+5&a9IcrC(@E#0$I<5tb^RwiTg9@L*KvW%H0+@x2NS;?7bz};^s}O`mN|w zyzoUzo*Vk+PT5a7J?b33u;^q56WY+bc+20`^|;l;v+&66{F#u1Hq4kX>-6D{zcD?+ z^bfa>O2vD|Z@vC`k2~kF8K>b*-F6HevEUby#na``cTma~UA^Y1rG<^(W@?+CHd<`w zHWe*;cNlc=`L;BDvq^kf5?3<)K*Nw-{dC8c7cKZzeeJ31BgfR&Gak|L#;r;)T^kEY}hN4xD#fQF!$@opzY z&u1mr%BJxSgW}=wlM0w;42oH5GiG+iv+4Zg9Fa}VnQozT=F@scF@78z<0gRsJ1bGJ z+ir8XNVh@ZlS_hUc^Fl|K8Q5mpz!B3#heJo3nB}vqcsSPs|Z-DkH$5ao=}Z}2@Kbw zm=?vA2!@lGhE(d|z()bJi3~?387BsGfj5I9U6Pz6ie_bHMQ16a1u+c;e9@yAff57) z5Qr<=AyIC`;TqN=!N|I3k#|bG;DBX`lvT)(3<_YW-vzrfDAwT$gb4%;byH3hkH%z| zd_ZR#{q2BY0sxgkAVUWQIx|F@&q{_ySsQC-9g+)R@gNq2(`*jH+lg(_Z?^~0F3FS$ zOb-O%rD&HW+sUFytV_rcY1WhpG!AR=z$GQItucIq`WIV!Idt&B3i-eb}^H9 z?iC8EOs&yn_+4T%-JJ%mTx6*=@w*xGbK)NVS$!D%*-T1I9CyM7eiB#3AXd{sE1fEk+P1kp}`bn|v9jYXY~ zG@pTHGnwFUNtA{O%5cQmKiOG zfsU8VE(ko?_;H?Jd&)h>tJZjqg8L!Q@2c`WhvoMeRBmMe0Q;Z(i_mt$z>CC7HZ~wF z)+Pnz$}NqwQI0e~AcSE#D#Ioz#+evi`e`h~z#>Znf~DEmXqpj!sLC%#R@EZi&x6Ul z3pkM-(9zZl*w?p6iuUKhMP;&#A~49mgv)Qn8o$u2bQT1;eIHPP4iM}Eewa((q%2Bg zW77ahS~&DCdx3u)oetu_f^891psmsSH~rz197Aw=4MJd6Jz~|UXoRxrm54@(gF@0; zty&h)=STj$yz%_+{hGAFJNbeiG~nuiGWGG^eI<0#RCZYJ|g8dPGNa45CqMHCh7GfljZIc`Zv5{?lDTrjaiU zZO(HoL*S4oKL$^y;3aszWgVb;MR0npIzMF}1a&M=FveOYuRJl+JeBw$ygaLPU}SPc ze$gV&;=d~@%}FIa*KW=mr0r|>mZjHEOut&1;pqI%(l3WPOGeKrC{ZM>31y>p_wH7A zyS&HE%(`-A?un=4N)~c|*;W@*r&soj(dnS-f-X?l`g40NCoEA5lB3LXBldc|bM{sz z#HDU#Q;&G--wuD#)D+e^Z^W0`%}q^P3Jx4Nuru=6i{_B-L{U%u{fWC1o1Q-(6CT>w z*!btBQ~ft?9UqFF-M4Q;SVY;OLt<|3yP-?JZEQ?SOMCC5oym)F?pXJ(OTLl@Mo2k1 zvp==u#^&ve9B!F0qq?l9sK}`3^VV_{MS+fu=kNR>NeZ=uuG;xg!@Ya=&YxfDtsggb zY)Q?$d)S(N#qY;Axt*DPy>!-iD_?i`pdW23Hv79{JqUsq4p+KdWo#x4QDiH;YeSxpL*|)mgi$ zu!d7{zpuJu%)7Rt`=34(N@^avW0qx^PnwqH^m^3XTwYdYOq<@cbHJ@fj~><6U%dZh zE8F~b?1>N2!V6xn7lKIF@GeWPmR)z;sI8UA?c28xIqEeOuOHemb+hS%;Wrx_vyOTX zr$}=a?0A#O!oc3*LDw}?C0dp=3xb2|SVLZ@Y2-BrEniTo!n!8F}i8aFrp Ep97<-GXMYp literal 0 HcmV?d00001 diff --git a/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_graph_2.png b/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_graph_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0a5bce1bdfc36e085641b49b6003376ef079e6 GIT binary patch literal 3736 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 literal 0 HcmV?d00001 diff --git a/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_interpolation_2_1.png b/StructureHelper/Infrastructure/UI/Icons/Graphs/32px_interpolation_2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..de1e60f6cd4c5f3b5ebbab6b40f8194a8b8aa018 GIT binary patch literal 4195 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 + + + + @@ -86,6 +90,10 @@ + + + + diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_crack.png b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_crack.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b453b99834d2eb9bd6da9efab078b7e888ce3d GIT binary patch literal 4146 zcmcgv4OkTA79Nxo1oJ0UP|;zrL~V9wXMfloKw?=CP>gUz>_Ry^GYgZuJL~KK3tkYB zQk4A3j1WbXtjwz>1!g{oL`FsiT*NfuF|d2htc!*Dm+1XwcUhoEuioeW>^`$I^L_7k z&Uemv&pF=~B`lmbder1m5Cn~mjnO88J1krt!@%zy-=8ZX$PH&ABNHMhR!_r;^E7af zRIOIcf}o%++cwq3H7xU)*F4F6gXVzmr}bTB+6bx1-{+mTkf^bLX%9Gc_O0D<%=p)u z!*f069eG^*kGZS2R<5bI>3)25_nG5f=zToKZ{5%t z8@H9_P78z%-`SC-z8l5e+OOHa@KCRRHclISX}U&T>*siNfc?p*9={Fwr~# z+e}8Y6}N?n>~eANEDTFTupPoL4-+|JnjD`1N3t9ZE5u5Kl*%zUSS^++Q8gxi8pcp* zumla3NM#5r#Ze_LQ^U@W2x#Ld1D>djcIpCeVWM=Nx8M>fz+0~A zAwJ_7!vhowGee-Xjd=i6m~lZZcqB&?Jgo&+mbnZa4eNU(p;EGNCzXF0EiuB2DwMWNi=5_*ok3c6ny1UOaxOTZeTeR0m99g zh%{PaF{jx#7$1+vnyoxxCh1shmmRHzaQR>%-aP00{~mdg;8OsYp@m|CS$ z)0mW^<^AimESVutQCROtUy3Dx3|9=~cgG`DjF;b4`F*yZ(C<;-?QDrb`kg1iy zbicG`IR;ok7zaxgc0~b+C@EJ_D5gXRMX(f+Ddh^VHB^C6z;AlFUT#ntq#}4gZzOAE zIS>I5TG`<7SkNOl*1#CSgrlwu^a>Fya0v(7045Panum#iQ2SuAkO;;M$Dj&SHA2O6|RiAXZwy?@glQb7`Of>t7Gg_K5UyyEDiCm~D=C zt;3noLU`Qi^QbjHL)zo%a~vyB&yDF*r+(OBI?|DwnORd^y)AAp^j&v%_qA)U-#&EkVBS*| zS8lhqj;sFq?Ac#$-Dzlu44t+qx)N&nIa30T)tQ;)<>lPb6wwx-wf&{mJ4FYB%1*!c zUYx0L^PZrdo}MntM@jqL^7jN4z;L1Vxj$!Td#-JGgFc)!b3E#O@$TJekgdG#*s=LD z#?PENb4!f&4SM56=oz1r9UUFE(7e37x#8i>y{ks7`RnCtZ%X{gFTW@)ExpX+QyWiJ z{q$Q-M(QMYH^@EWhu?A_I5rU;`>t;GwW#71Pi?(r7+E+rX<^-kk{O;*PVEZ^lD5*N zxBVM;t7}Y4_P5vnI@7_}d#syAK13Jpv|wajAE2V$nBK zrcAjO2<4}UmxxQ;@-KeW*_nEzaN%mFa^6JSeQ&Ljix>T<@b2X>dYPHH=9jj>` z0qtphH)#DDV_k?Z)ta&M{7HT5rQTWVHAUVH6?vH@P{M(v(!T50Cl+bt@l$+Gd^mhW zd|N?1{AzAq-o#Ol{dnl>D}`gv#vM(0JFlc^!iJOQe7#=Q9OmoD8c zN#7pbxAEfp4I}d#8|Ssj_pM@>S=-`@_QbrS_3-n#`SF^FLQTM?#>mP7c*fRKiTlo^ z%b^oBrlzVNRt-@dF+@ zHRrx^t7yBdt!(YO)9Ro6#)MHXM~mO?GzS*y7Wa+cxpSxgw69(adB#J%QC2mzP2Op~ zVbS@V+;Xcj#CLd`d~MV8O}jjo72i{?zZVU>J^k>#w51c6Ta9RL6T literal 0 HcmV?d00001 diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_graph_1.png b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_graph_1.png new file mode 100644 index 0000000000000000000000000000000000000000..568ed9e864ad8a49d0afc6a3137e62b1fc7f1584 GIT binary patch literal 3943 zcmc&%2~-s49UpH&jcD-2GY;z!M29){9$6LGRZ-UvSQYd&b#@LI-Q8Jd2UxIDLA zqaY~q<4x;NPN|q1KIzgsoma>0@Bi89o4+*1;`Slodv_zIu;121oWHVr#}vNrhD+lY zb)R(ft>_2i@;2^TQry(JJnz=!(-CpY@++0wzdK%d;Y9HO?)tp+5&a9IcrC(@E#0$I<5tb^RwiTg9@L*KvW%H0+@x2NS;?7bz};^s}O`mN|w zyzoUzo*Vk+PT5a7J?b33u;^q56WY+bc+20`^|;l;v+&66{F#u1Hq4kX>-6D{zcD?+ z^bfa>O2vD|Z@vC`k2~kF8K>b*-F6HevEUby#na``cTma~UA^Y1rG<^(W@?+CHd<`w zHWe*;cNlc=`L;BDvq^kf5?3<)K*Nw-{dC8c7cKZzeeJ31BgfR&Gak|L#;r;)T^kEY}hN4xD#fQF!$@opzY z&u1mr%BJxSgW}=wlM0w;42oH5GiG+iv+4Zg9Fa}VnQozT=F@scF@78z<0gRsJ1bGJ z+ir8XNVh@ZlS_hUc^Fl|K8Q5mpz!B3#heJo3nB}vqcsSPs|Z-DkH$5ao=}Z}2@Kbw zm=?vA2!@lGhE(d|z()bJi3~?387BsGfj5I9U6Pz6ie_bHMQ16a1u+c;e9@yAff57) z5Qr<=AyIC`;TqN=!N|I3k#|bG;DBX`lvT)(3<_YW-vzrfDAwT$gb4%;byH3hkH%z| zd_ZR#{q2BY0sxgkAVUWQIx|F@&q{_ySsQC-9g+)R@gNq2(`*jH+lg(_Z?^~0F3FS$ zOb-O%rD&HW+sUFytV_rcY1WhpG!AR=z$GQItucIq`WIV!Idt&B3i-eb}^H9 z?iC8EOs&yn_+4T%-JJ%mTx6*=@w*xGbK)NVS$!D%*-T1I9CyM7eiB#3AXd{sE1fEk+P1kp}`bn|v9jYXY~ zG@pTHGnwFUNtA{O%5cQmKiOG zfsU8VE(ko?_;H?Jd&)h>tJZjqg8L!Q@2c`WhvoMeRBmMe0Q;Z(i_mt$z>CC7HZ~wF z)+Pnz$}NqwQI0e~AcSE#D#Ioz#+evi`e`h~z#>Znf~DEmXqpj!sLC%#R@EZi&x6Ul z3pkM-(9zZl*w?p6iuUKhMP;&#A~49mgv)Qn8o$u2bQT1;eIHPP4iM}Eewa((q%2Bg zW77ahS~&DCdx3u)oetu_f^891psmsSH~rz197Aw=4MJd6Jz~|UXoRxrm54@(gF@0; zty&h)=STj$yz%_+{hGAFJNbeiG~nuiGWGG^eI<0#RCZYJ|g8dPGNa45CqMHCh7GfljZIc`Zv5{?lDTrjaiU zZO(HoL*S4oKL$^y;3aszWgVb;MR0npIzMF}1a&M=FveOYuRJl+JeBw$ygaLPU}SPc ze$gV&;=d~@%}FIa*KW=mr0r|>mZjHEOut&1;pqI%(l3WPOGeKrC{ZM>31y>p_wH7A zyS&HE%(`-A?un=4N)~c|*;W@*r&soj(dnS-f-X?l`g40NCoEA5lB3LXBldc|bM{sz z#HDU#Q;&G--wuD#)D+e^Z^W0`%}q^P3Jx4Nuru=6i{_B-L{U%u{fWC1o1Q-(6CT>w z*!btBQ~ft?9UqFF-M4Q;SVY;OLt<|3yP-?JZEQ?SOMCC5oym)F?pXJ(OTLl@Mo2k1 zvp==u#^&ve9B!F0qq?l9sK}`3^VV_{MS+fu=kNR>NeZ=uuG;xg!@Ya=&YxfDtsggb zY)Q?$d)S(N#qY;Axt*DPy>!-iD_?i`pdW23Hv79{JqUsq4p+KdWo#x4QDiH;YeSxpL*|)mgi$ zu!d7{zpuJu%)7Rt`=34(N@^avW0qx^PnwqH^m^3XTwYdYOq<@cbHJ@fj~><6U%dZh zE8F~b?1>N2!V6xn7lKIF@GeWPmR)z;sI8UA?c28xIqEeOuOHemb+hS%;Wrx_vyOTX zr$}=a?0A#O!oc3*LDw}?C0dp=3xb2|SVLZ@Y2-BrEniTo!n!8F}i8aFrp Ep97<-GXMYp literal 0 HcmV?d00001 diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_graph_2.png b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/32px_graph_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0a5bce1bdfc36e085641b49b6003376ef079e6 GIT binary patch literal 3736 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 literal 0 HcmV?d00001 diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/InteractionDiagramLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/InteractionDiagramLogic.cs new file mode 100644 index 0000000..d54bea5 --- /dev/null +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/InteractionDiagramLogic.cs @@ -0,0 +1,125 @@ +using LoaderCalculator.Data.Ndms; +using StructureHelper.Windows.Graphs; +using StructureHelper.Windows.ViewModels.Errors; +using StructureHelperCommon.Infrastructures.Enums; +using StructureHelperCommon.Infrastructures.Interfaces; +using StructureHelperCommon.Infrastructures.Settings; +using StructureHelperCommon.Models.Forces; +using StructureHelperCommon.Models.Parameters; +using StructureHelperCommon.Models.Shapes; +using StructureHelperCommon.Services.Units; +using StructureHelperLogics.NdmCalculations.Analyses.ByForces; +using StructureHelperLogics.NdmCalculations.Primitives; +using StructureHelperLogics.NdmCalculations.Triangulations; +using StructureHelperLogics.Services.NdmPrimitives; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalculatorViews +{ + internal class InteractionDiagramLogic : ILongProcessLogic + { + const double xmax = 0.7e6d; + const double xmin = -0.7e6d; + const double ymax = 1.5e6d; + const double ymin = -9e6d; + + private ArrayParameter arrayParameter; + private static GeometryNames GeometryNames => ProgramSetting.GeometryNames; + + public int StepCount { get; } + + public Action SetProgress { get; set; } + public bool Result { get; set; } + public IEnumerable NdmPrimitives { get; set; } + public LimitStates LimitState { get; set; } + public CalcTerms CalcTerm { get; set; } + public ForceTuple ForceTuple { get; set; } + + private void Show() + { + var options = new TriangulationOptions() { LimiteState = LimitState, CalcTerm = CalcTerm }; + var ndmCollection = NdmPrimitives.SelectMany(x => x.GetNdms(options)); + //var ndmCollection = NdmPrimitivesService.GetNdms(NdmPrimitives, LimitState, CalcTerm); + + var predicateFactory = new PredicateFactory() + { + My = ForceTuple.My, + Ndms = ndmCollection + }; + Predicate predicate = predicateFactory.GetResult; + //var logic = new StabLimitCurveLogic(); + var logic = new LimitCurveLogic(predicate); + var calculator = new LimitCurveCalculator(logic); + calculator.SurroundData.XMax = xmax; + calculator.SurroundData.XMin = xmin; + calculator.SurroundData.YMax = ymax; + calculator.SurroundData.YMin = ymin; + calculator.SurroundData.PointCount = 40; + calculator.Run(); + var result = calculator.Result; + if (result.IsValid = false) { return; } + var interactionResult = result as LimitCurveResult; + var unitForce = CommonOperation.GetUnit(UnitTypes.Force, "kN"); + var unitMoment = CommonOperation.GetUnit(UnitTypes.Moment, "kNm"); + string[] labels = GetLabels(unitForce, unitMoment); + var items = interactionResult.Points; + arrayParameter = new ArrayParameter(items.Count(), labels.Count(), labels); + var data = arrayParameter.Data; + for (int i = 0; i < items.Count(); i++) + { + var valueList = new List + { + items[i].X * unitForce.Multiplyer, + items[i].Y * unitMoment.Multiplyer + }; + for (int j = 0; j < valueList.Count; j++) + { + data[i, j] = valueList[j]; + } + SetProgress?.Invoke(i); + } + } + + private static string[] GetLabels(IUnit unitForce, IUnit unitMoment) + { + return new string[] + { + $"{GeometryNames.MomFstName}, {unitMoment.Name}", + $"{GeometryNames.LongForceName}, {unitForce.Name}" + }; + } + + public void ShowWindow() + { + Show(); + Result = true; + SafetyProcessor.RunSafeProcess(() => + { + var wnd = new GraphView(arrayParameter); + wnd.ShowDialog(); + }, + "Errors appeared during showing a graph, see detailed information"); + } + + public void WorkerDoWork(object sender, DoWorkEventArgs e) + { + Show(); + Result = true; + } + + public void WorkerProgressChanged(object sender, ProgressChangedEventArgs e) + { + //nothing to do + } + + public void WorkerRunWorkCompleted(object sender, RunWorkerCompletedEventArgs e) + { + //nothing to do + } + } +} diff --git a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowCrackResultLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackResultLogic.cs similarity index 87% rename from StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowCrackResultLogic.cs rename to StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackResultLogic.cs index fe9d8e3..797ce0a 100644 --- a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowCrackResultLogic.cs +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackResultLogic.cs @@ -1,25 +1,16 @@ -using StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalculatorViews; -using StructureHelper.Windows.Errors; +using StructureHelper.Windows.Errors; using StructureHelper.Windows.Forces; using StructureHelper.Windows.ViewModels.Errors; -using StructureHelper.Windows.ViewModels.Forces; using StructureHelperCommon.Infrastructures.Enums; using StructureHelperCommon.Infrastructures.Settings; using StructureHelperCommon.Models.Forces; -using StructureHelperLogics.NdmCalculations.Analyses.ByForces; using StructureHelperLogics.NdmCalculations.Cracking; using StructureHelperLogics.NdmCalculations.Primitives; -using StructureHelperLogics.Services.NdmCalculations; using StructureHelperLogics.Services.NdmPrimitives; -using System; using System.Collections.Generic; -using System.Linq; -using System.Security.Policy; -using System.Text; -using System.Threading.Tasks; using System.Windows.Forms; -namespace StructureHelper.Windows.ViewModels.Calculations.Calculators.ForceResultLogic +namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalculatorViews { internal class ShowCrackResultLogic { diff --git a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowCrackWidthLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackWidthLogic.cs similarity index 92% rename from StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowCrackWidthLogic.cs rename to StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackWidthLogic.cs index 6c901cf..950f84c 100644 --- a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowCrackWidthLogic.cs +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowCrackWidthLogic.cs @@ -8,7 +8,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace StructureHelper.Windows.ViewModels.Calculations.Calculators +namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalculatorViews { internal class ShowCrackWidthLogic { diff --git a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowDiagramLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowDiagramLogic.cs similarity index 96% rename from StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowDiagramLogic.cs rename to StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowDiagramLogic.cs index 63cd77e..2bd33b3 100644 --- a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowDiagramLogic.cs +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowDiagramLogic.cs @@ -12,7 +12,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Linq; -namespace StructureHelper.Windows.ViewModels.Calculations.Calculators +namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalculatorViews { internal class ShowDiagramLogic : ILongProcessLogic { @@ -25,7 +25,7 @@ namespace StructureHelper.Windows.ViewModels.Calculations.Calculators public int StepCount => ValidTupleList.Count(); - public Action SetProgress { get ; set; } + public Action SetProgress { get; set; } public bool Result { get; set; } public void WorkerDoWork(object sender, DoWorkEventArgs e) diff --git a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowProgressLogic.cs b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowProgressLogic.cs similarity index 94% rename from StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowProgressLogic.cs rename to StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowProgressLogic.cs index 7dc3ed8..1d73543 100644 --- a/StructureHelper/Windows/ViewModels/Calculations/Calculators/ForceResultLogic/ShowProgressLogic.cs +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForceResultLogic/ShowProgressLogic.cs @@ -9,7 +9,7 @@ using System.Linq; using System.Windows; using System.Windows.Forms; -namespace StructureHelper.Windows.ViewModels.Calculations.Calculators +namespace StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalculatorViews { internal class ShowProgressLogic { @@ -31,7 +31,7 @@ namespace StructureHelper.Windows.ViewModels.Calculations.Calculators WindowTitle = WindowTitle }; - wndProgress =new ShowProgressView(progressViewModel); + wndProgress = new ShowProgressView(progressViewModel); wndProgress.Loaded += RunCalc; wndProgress.ShowDialog(); } diff --git a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForcesResultsView.xaml b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForcesResultsView.xaml index ce29d96..3d1cbee 100644 --- a/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForcesResultsView.xaml +++ b/StructureHelper/Windows/CalculationWindows/CalculatorsViews/ForceCalculatorViews/ForcesResultsView.xaml @@ -4,16 +4,25 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:StructureHelper.Windows.CalculationWindows.CalculatorsViews.ForceCalculatorViews" - xmlns:vm="clr-namespace:StructureHelper.Windows.ViewModels.Calculations.Calculators" - d:DataContext="{d:DesignInstance vm:ForcesResultsViewModel}" + d:DataContext="{d:DesignInstance local:ForcesResultsViewModel}" mc:Ignorable="d" Title="Calculation Results" Height="350" Width="850" MinHeight="300" MinWidth="400" WindowStartupLocation="CenterScreen"> - + + + + @@ -48,14 +57,11 @@