From e8cb3e8dc3545c101513e4670362d71a162ea136 Mon Sep 17 00:00:00 2001 From: zwarenelle Date: Wed, 22 May 2024 17:05:07 +0200 Subject: [PATCH] init RoutePlanner --- .../.vs/Mapper/DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 98183 bytes ...1686291b-5121-498f-a2b2-d9153cba8a18.vsidx | Bin 0 -> 1385 bytes ...2618c0ec-83fb-4843-94b4-a7da699512e3.vsidx | Bin 0 -> 107 bytes ...625df6d9-a5e2-43f8-af3b-72dc4b7cb046.vsidx | Bin 0 -> 2667 bytes ...640ad020-6ecb-4bfc-b92c-8e0ea14c6841.vsidx | Bin 0 -> 107 bytes ...80ef5ab2-9c9c-4e69-a6fd-83984814ad82.vsidx | Bin 0 -> 10271 bytes .../Mapper/.vs/Mapper/v17/.futdcache.v2 | Bin 0 -> 433 bytes src/Client/Mapper/.vs/Mapper/v17/.suo | Bin 0 -> 16384 bytes src/Client/Mapper/.vs/Mapper/v17/.wsuo | Bin 0 -> 8192 bytes .../Mapper/.vs/Mapper/v17/DocumentLayout.json | 23 +++ .../ProjectEvaluation/mapper.metadata.v8.bin | Bin 0 -> 1192 bytes .../ProjectEvaluation/mapper.projects.v8.bin | Bin 0 -> 131313 bytes .../ProjectEvaluation/mapper.strings.v8.bin | Bin 0 -> 121088 bytes src/Client/Mapper/Map.cs | 15 ++ src/Client/Mapper/Mapper.csproj | 13 ++ src/Client/Mapper/Mapper.sln | 31 ++++ .../.vs/RobotController/v17/.futdcache.v2 | Bin 303 -> 303 bytes .../.vs/RobotController/v17/.suo | Bin 31744 -> 36864 bytes src/Client/RobotController/Coordinate.cs | 6 +- src/Client/RobotController/Mapper/Map.cs | 13 -- .../RoutePlanner/AStarPathfinding.sln | 22 --- .../AStarPathfinding/AStarPathfinding.csproj | 59 ------- .../RoutePlanner/AStarPathfinding/App.config | 6 - .../RoutePlanner/AStarPathfinding/Program.cs | 146 ------------------ .../Properties/AssemblyInfo.cs | 36 ----- .../bin/Debug/AStarPathfinding.exe | Bin 8192 -> 0 bytes .../bin/Debug/AStarPathfinding.exe.config | 6 - .../bin/Debug/AStarPathfinding.pdb | Bin 22016 -> 0 bytes src/Server/RoutePlanner/Controller.cs | 29 ++++ src/Server/RoutePlanner/Route.cs | 13 ++ src/Server/RoutePlanner/RoutePlanner.csproj | 14 ++ src/Server/RoutePlanner/RoutePlanner.sln | 39 +++++ src/Server/RoutePlanner/Routepoint.cs | 15 ++ src/Server/RoutePlanner/Routing.cs | 12 ++ 34 files changed, 207 insertions(+), 291 deletions(-) create mode 100644 src/Client/Mapper/.vs/Mapper/DesignTimeBuild/.dtbcache.v2 create mode 100644 src/Client/Mapper/.vs/Mapper/FileContentIndex/1686291b-5121-498f-a2b2-d9153cba8a18.vsidx create mode 100644 src/Client/Mapper/.vs/Mapper/FileContentIndex/2618c0ec-83fb-4843-94b4-a7da699512e3.vsidx create mode 100644 src/Client/Mapper/.vs/Mapper/FileContentIndex/625df6d9-a5e2-43f8-af3b-72dc4b7cb046.vsidx create mode 100644 src/Client/Mapper/.vs/Mapper/FileContentIndex/640ad020-6ecb-4bfc-b92c-8e0ea14c6841.vsidx create mode 100644 src/Client/Mapper/.vs/Mapper/FileContentIndex/80ef5ab2-9c9c-4e69-a6fd-83984814ad82.vsidx create mode 100644 src/Client/Mapper/.vs/Mapper/v17/.futdcache.v2 create mode 100644 src/Client/Mapper/.vs/Mapper/v17/.suo create mode 100644 src/Client/Mapper/.vs/Mapper/v17/.wsuo create mode 100644 src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json create mode 100644 src/Client/Mapper/.vs/ProjectEvaluation/mapper.metadata.v8.bin create mode 100644 src/Client/Mapper/.vs/ProjectEvaluation/mapper.projects.v8.bin create mode 100644 src/Client/Mapper/.vs/ProjectEvaluation/mapper.strings.v8.bin create mode 100644 src/Client/Mapper/Map.cs create mode 100644 src/Client/Mapper/Mapper.csproj create mode 100644 src/Client/Mapper/Mapper.sln delete mode 100644 src/Client/RobotController/Mapper/Map.cs delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding.sln delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding/AStarPathfinding.csproj delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding/App.config delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding/Program.cs delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding/Properties/AssemblyInfo.cs delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.exe delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.exe.config delete mode 100644 src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.pdb create mode 100644 src/Server/RoutePlanner/Controller.cs create mode 100644 src/Server/RoutePlanner/Route.cs create mode 100644 src/Server/RoutePlanner/RoutePlanner.csproj create mode 100644 src/Server/RoutePlanner/RoutePlanner.sln create mode 100644 src/Server/RoutePlanner/Routepoint.cs create mode 100644 src/Server/RoutePlanner/Routing.cs diff --git a/src/Client/Mapper/.vs/Mapper/DesignTimeBuild/.dtbcache.v2 b/src/Client/Mapper/.vs/Mapper/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..abcc4a30b63a9e0fb1ab119b6613425dff2fdbb3 GIT binary patch literal 98183 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 EAECFO%>V!Z literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/1686291b-5121-498f-a2b2-d9153cba8a18.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/1686291b-5121-498f-a2b2-d9153cba8a18.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..742c6bc04b4988247bfcb7a79a997e50cdb174bb GIT binary patch literal 1385 zcmXYx*>clB5Jfvc*q4NTU&59^Foc~r5X-V-yRagcr1(iM;PL}i33gfG8+hb}&!8xN z2fl`Td#*ITr>CcYHY(%YFXONKWfD96O4QXX{9nVmE{^3xU9bhc70q)3h+>sUVH?5D?mC*&F`|xu9 zwrgrFjBO)o%VRUE!_JX`{Z-dGzV|F=LqLVt{so4L5J{gr5wuK)C}75 z9k7>Rbm05Wp}~`R7M_L~3uu8^sqZ~SOdmF5sq}L^#Z5cINx})K1#+`atOS*-vo3A? zxXQqGkd^+dmi|2_K;)4Xw| literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/2618c0ec-83fb-4843-94b4-a7da699512e3.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/2618c0ec-83fb-4843-94b4-a7da699512e3.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..70aef67a00f5a48bfb0d87044cf8f151e2685b5d GIT binary patch literal 107 wcmZ>EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/625df6d9-a5e2-43f8-af3b-72dc4b7cb046.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/625df6d9-a5e2-43f8-af3b-72dc4b7cb046.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..20b295827d29dcd4ad6231df608ed4cee63f313b GIT binary patch literal 2667 zcmZ9NiFy-N7>0kKfD2l21zfjE)rTL8m_`R=b0x zv7*(z)L-lrS*O<>6j`^synLqD>-393f3b*`&UaQ;izKWBlotoRe)q!K*x7w2|N3{s z-y1^cO^%Ibm_v~}jKlN^vmvuRW=+3^yZAo+zzPgt34^T<_>THGDC{vnOjtrg@c&H_ zA=n_!Q*N_)eI>X|uRDeUpjd~(5gL1N#K$ybfg%DF(XbfI5PZ}O8nTB$hy&x`3xkmH z;q_3#40o{}YQq5agzOk2JEq7rzg|^{00VsQd%*@lf-x3hA2No>P<-#Zpq}6xEW`Fu z3Ebg`TU@y}WPV}l7XmPd|KR83>2i&xBmz6Ph&VN$GY0Qt+fF`yoIfgV6CV>F7l%bu z<@VdfCq;D3*YU_WpAnxGpA&b8JH=h%^WqEQi{eY-ZgG$JvRD#d5nmNw6JHnK5Z@Hv z65kg0itmW~#IiUdj*4UAyW)QFJ@J5eP&_1#i-*M{;``!+I4M@dqvA2KDo%-!i08%o zj|a#(Bi6(Z#947pJTBJ7MCAL3&qpdY#S7&%{OXtk@Ah7rzkCiRZ-&;ze;uTozZvuGka56#L>pToo^gm&GgMRq-qF zYw?I^kiEHAI;!onw;xFQ_;&0;b;veFl;%)JccvtLg!T{G6 z{7P2Fr(}uE`lx`8+5|Mh^HIkCwiw#NJFRSmWi|r4#5IRDtPO4YdTv$s9Ic;&>T^y8TJt)$Fv99pgaL;1InH;N(IWy z)H&C>Yw&ORxDCy10m>(q{f(hK?G`dMyp9Z6X`*&HCAAZV~F>+c;c9z_7-Ar}5gmG4LP$QR4a!=iJg+ literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/640ad020-6ecb-4bfc-b92c-8e0ea14c6841.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/640ad020-6ecb-4bfc-b92c-8e0ea14c6841.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..70aef67a00f5a48bfb0d87044cf8f151e2685b5d GIT binary patch literal 107 wcmZ>EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/80ef5ab2-9c9c-4e69-a6fd-83984814ad82.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/80ef5ab2-9c9c-4e69-a6fd-83984814ad82.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..d56414f3594ac2194c127b40544c712c0180fc29 GIT binary patch literal 10271 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 uu5)o1lvVO+dZy3;zDO1^*AXYYb2T literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/v17/.futdcache.v2 b/src/Client/Mapper/.vs/Mapper/v17/.futdcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..5c81755dc6a3a637cb0b99a87ae2cbb2829215e9 GIT binary patch literal 433 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 literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/v17/.wsuo b/src/Client/Mapper/.vs/Mapper/v17/.wsuo new file mode 100644 index 0000000000000000000000000000000000000000..08a2dd9e2cffe1d9b904fe69991e741784ad9c68 GIT binary patch literal 8192 zcmeHMTWl0n82(E|+JevuG=!%nP&EW=%cY_ujbVWV(^6VeVss#Gw^Lo%-C1X*20|-@ z@K^!~FQi}-6Jx;g0&UR93xtc2Xaq$cj7{{#2ld6v3kguZZ!X>0>2`Lvkfy+#&6#ug z&z}FxIsfJR&)odJ>bFnME&W}5sYy!Z{#dy@>*+5+eU{s<6nO@9_T3*F8)J7VGOA&E zjCP=1H2h4dkxi09smnedWx=UhW{;nFd7gh&Hl1Ja*4bZ5$}sNWYeOdu9?^VcAK9Wkm!sc5E^N>I9hgr2ukW|@e=cO_5$eCCfAmG%Z4`M^sQ(%LcO{gz zn|6SD?@tw=vEQ`?tcUvV-=)X1&9n4p$^!iYeH3Z#`TO6HKD5divk>JX3llhKhcrl|yo%=}952o%5=1c}Fwd#KgNUySoJ>Sjy6nVCnqhqy=P)9*DeTh_ z@6amQ(O8DdI`F5T;+$MVhBA4L_M+M$7h->2n|vzTAIn!VRw|S~ZPiyr@Lw0q-@?De z>_6A)+TZc}oB$p{q-4}ERsF=7t=C##skt6$3>uq@MmeBA;K`*?)^-@GzD?J<;|aA^ zF|-~%rYgFc)(oXx(~`+(I<4x8p~sX+BCe*)e}7zmacE@L1FF-2x?x=w z=n!5NEgjFaMOC17ym(0-E_uiaBniDpF1U@MABq5Xfl?SCD-g&}t;zWaIC-)Ap>@O7zj$$YVT zq-yv;&HtZ%Y+O-Bez-A0z?5a>J(hl|?#E^v`FynY=C?*K{rB#7VS*1mSWTDK*So6T zg%DZzg9|PuWst;#m6QoDUh9*0s_s*PKILg(#(9|un0MOvH;2(mmPGr;idSid*;`bfKH$+YR zro;Gy@kYvuGgN%>p=Qi&I$3ddVB|(+>yonme|Eijszdqpk1u{|`>SzaXaC!)hH}1O Vo-^~3{qpOjO-DV{|EF939{`F}U+Dk< literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json b/src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json new file mode 100644 index 0000000..cc93b40 --- /dev/null +++ b/src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json @@ -0,0 +1,23 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\tosl1\\source\\repos\\Roommapper\\src\\Client\\Mapper\\", + "Documents": [], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": -1, + "Children": [ + { + "$type": "Bookmark", + "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/Client/Mapper/.vs/ProjectEvaluation/mapper.metadata.v8.bin b/src/Client/Mapper/.vs/ProjectEvaluation/mapper.metadata.v8.bin new file mode 100644 index 0000000000000000000000000000000000000000..ea3e918951c0cbd86f0fbbe4e1d7bfc252c5360d GIT binary patch literal 1192 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 literal 0 HcmV?d00001 diff --git a/src/Client/Mapper/.vs/ProjectEvaluation/mapper.strings.v8.bin b/src/Client/Mapper/.vs/ProjectEvaluation/mapper.strings.v8.bin new file mode 100644 index 0000000000000000000000000000000000000000..9ff661dfd9f2a1f789cef58e25c8663392d8970a GIT binary patch literal 121088 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

fs7}NW5Qm>t1Jd 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 + + + net8.0 + enable + enable + + + + + + + diff --git a/src/Client/Mapper/Mapper.sln b/src/Client/Mapper/Mapper.sln new file mode 100644 index 0000000..dccd6da --- /dev/null +++ b/src/Client/Mapper/Mapper.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.10.34916.146 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mapper", "Mapper.csproj", "{52F1797E-0731-43F4-AC45-68B7CF563336}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RobotController", "..\RobotController\RobotController.csproj", "{A753DACA-164C-417C-8AFD-D53AB375A53D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {52F1797E-0731-43F4-AC45-68B7CF563336}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {52F1797E-0731-43F4-AC45-68B7CF563336}.Debug|Any CPU.Build.0 = Debug|Any CPU + {52F1797E-0731-43F4-AC45-68B7CF563336}.Release|Any CPU.ActiveCfg = Release|Any CPU + {52F1797E-0731-43F4-AC45-68B7CF563336}.Release|Any CPU.Build.0 = Release|Any CPU + {A753DACA-164C-417C-8AFD-D53AB375A53D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A753DACA-164C-417C-8AFD-D53AB375A53D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A753DACA-164C-417C-8AFD-D53AB375A53D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A753DACA-164C-417C-8AFD-D53AB375A53D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4759B206-A14D-4659-AAFE-412F937D8E4B} + EndGlobalSection +EndGlobal diff --git a/src/Client/RobotController/.vs/RobotController/v17/.futdcache.v2 b/src/Client/RobotController/.vs/RobotController/v17/.futdcache.v2 index 702500fc65c155cf28c9f4d50441f06ecbb9fef0..e73e39174521bccf8580e6ea22a3aefe12f9936f 100644 GIT binary patch delta 28 ecmZ3_w4P~$G^2>n)9Z`xh3xLjs=C9$00jV@zXDPk#QV{xd^5$8#;IQSu6hFn@fmOZ-1<9NGfk@;ZN*d&%AiM&JQfq5aatx;0usT#VDY#js9%mWf5MU$tgXCRz)X2)$L zP;2H!xue``T!;&DVf2a+H^vQfuW%zc8inuqT<~NHBH2r|2Z^3fhEvYtUnd@E$4icK zN4Np}pWxc)FgMN(!-tk^u=4_V%z{WBPsUdH(2*|+5Z%!a$MW?H5OsYxxe3wS8D@Y<>jCBM73;D{0lG`GQKHBsZj}ZtLNeT|&)4}Ih6lXBMk?X_ zQ~~6i_z?>0li_ZCp^=OW5APiRN^f0peY-Pb@5rxFST@<^Brgiq2bYpQl9b$L#v32; zn7q!T8pG>hlamgHoJBopQ{Bldu$t2d-sV!6$Zb&Mq7qx00L<^hrnHn;Li<-rq zNHA%Lv6SwnIry_^KZ(yuA+obcxlzqb#D(O-UC%`U4QMh-;-pcPUkEoei&P%+wZxSM z#Tl3xA}==*ZzAzcjzkT9o+{hY5f+Gm3Eg^1@Yv2N01Zzu>dv&Ao3}LmQ9gVp1I`)q@ z7soRzlCly1I$Hs-u3D@rhK1|RRcyX$1z;t#GSrm)v7UMhjrJdseAL zLXQW&=`m_x-Wa!o=b#>LbXLSsUdIN%jJr$eTKX99a+RDPtH~HLIg0;&6lo(CaomRE z2-1VN>gQVFxTy;odt*U9xJx3P^>UP%M>#*VWS7W(56t!&7>|=N@cDf#0p9hWDICDJ z=sCjYET}vfdD4Rz{1%W7b;4(Td6tX+V`oEh5E(p*3=E>aM^M*j4;VP)hwF!`(79ND z?RHOpl-aDKARwMvO2DNNvX+jW85u|7XaUD n&Zbg#=~?DdQzvHs1<$z5!}R0@xHa)9ej^P;s3Zt*b!zuNdn&OJ delta 2039 zcmcgtUrbw781K3CvV!-rN=uBVVMrpz zC7R3!xZk2LE-~(94>SI0VtiQUpYgB<{|sY{E*gE-WcpAHRiXaA+n%kFZ2II$em&>> zzH`n!-}n8#(}g#cg*CC*C#v7uvsDpQw4xY#dObXL@wy1wY_y+9{$FK{0a1-gLyfn7j1&;#(@cBAhD z8u<%L$JR_`6rMLJfhy*)D#4us@oKzM$qfY`A|1+0KH z8pRVf1qA%Y(m~h%6O&52*vK?h{wS7?`AjV(e3aI{pesrzrS!$yn_e|rVya-rp%hAW zU(+~)tOO1Mt@v9gwLPhE3OQ=G$Uu;M)j^H*qm&rR2Qm4!jOMEM>sHb|B}OqotJMj6 z87S6eKc!t`x~RppzGPM1UQBomH~ye(^i$ZNP_x@fe_fxs>}bhGKiT0QdiF++lHqrS zn?y(6tdCQ?EJCUJq{dldIrDbQk!*c}Vr2+OLqZoUXs(!B)`rtGn>?Ufl58xoWU@X@ zn9*SeYg8^*w_$RYPDP&=&9oXF(=7|vf?Pq_sE-zhrYj7P93~sB*Y49;H&Szj@YWr2 zaFyNMm-70^>75oqN_!C==37eaY8xh%lyi*~vg{Y$(^=!1)&zp3EJ>9wr%z#|I6nsbC zhXr+X(c{ykk;|IC_85jFWd8sRF(3{M@gjF^sD+K=m`nhNfQNvGfk%MD0NZK0_6^e? zEBNpKvXIn3QmcbqK2IE5^(cs|lxs^^;tnRYY7otUbgn#t$@eb$Be-7|{2uXpC5<9V z>Gp)?1jSFHq&0r8So7RyVcYKVM@OGN9uqVe{z%lY3RTO)Vl@V(Y#s44TN39#r>|%@ z{Go7X#GbtJeq=zPsV_0(YU zyWjPfTi;ny{N*?J+t!7|$m?Q`ocrSR!$_nu5{k?}IQ7iQCu8Ip{Q1Ag;jLcfpFVi_ zYIco}m+kgG^b4o-OR1SYaqh7r{ZQis4NS&2A)-{!<+*UP|vAQw7%|w5780+>~o9)}%jSX)~hOY0W=M%ME?B5QynE kURL_HYL-Ajax=9U#oD?=9anQ^dA?6j{)n1U$Ny~q8xTvl`Tzg` diff --git a/src/Client/RobotController/Coordinate.cs b/src/Client/RobotController/Coordinate.cs index 20a6b21..37fb5a6 100644 --- a/src/Client/RobotController/Coordinate.cs +++ b/src/Client/RobotController/Coordinate.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,11 +6,11 @@ using System.Threading.Tasks; namespace RobotController { - internal class Coordinate + public class Coordinate { private int x; private int y; - + private Boolean accesible; public Coordinate(int x, int y) { this.x = x; diff --git a/src/Client/RobotController/Mapper/Map.cs b/src/Client/RobotController/Mapper/Map.cs deleted file mode 100644 index 9e01d02..0000000 --- a/src/Client/RobotController/Mapper/Map.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace RobotController -{ - internal class Map - { - private Coordinate bottomLeft, topRight; - - public Map(Coordinate bottomLeft, Coordinate topRight) - { - this.bottomLeft = bottomLeft; - this.topRight = topRight; - } - } -} diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding.sln b/src/Client/RobotController/RoutePlanner/AStarPathfinding.sln deleted file mode 100644 index ae00c25..0000000 --- a/src/Client/RobotController/RoutePlanner/AStarPathfinding.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.31101.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AStarPathfinding", "AStarPathfinding\AStarPathfinding.csproj", "{97647F1E-1A0A-444D-A437-A809F9EB855F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {97647F1E-1A0A-444D-A437-A809F9EB855F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {97647F1E-1A0A-444D-A437-A809F9EB855F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {97647F1E-1A0A-444D-A437-A809F9EB855F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {97647F1E-1A0A-444D-A437-A809F9EB855F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding/AStarPathfinding.csproj b/src/Client/RobotController/RoutePlanner/AStarPathfinding/AStarPathfinding.csproj deleted file mode 100644 index ac6f6a3..0000000 --- a/src/Client/RobotController/RoutePlanner/AStarPathfinding/AStarPathfinding.csproj +++ /dev/null @@ -1,59 +0,0 @@ - - - - - Debug - AnyCPU - {97647F1E-1A0A-444D-A437-A809F9EB855F} - Exe - Properties - AStarPathfinding - AStarPathfinding - v4.8 - 512 - - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding/App.config b/src/Client/RobotController/RoutePlanner/AStarPathfinding/App.config deleted file mode 100644 index 4bfa005..0000000 --- a/src/Client/RobotController/RoutePlanner/AStarPathfinding/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding/Program.cs b/src/Client/RobotController/RoutePlanner/AStarPathfinding/Program.cs deleted file mode 100644 index 9efb94d..0000000 --- a/src/Client/RobotController/RoutePlanner/AStarPathfinding/Program.cs +++ /dev/null @@ -1,146 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace AStarPathfinding -{ - class Location - { - public int X; - public int Y; - public int F; - public int G; - public int H; - public Location Parent; - } - - class Program - { - static void Main(string[] args) - { - Console.Title = "A* Pathfinding"; - - // draw map - - string[] map = new string[] - { - "+------+", - "| |", - "|A X |", - "|XXX |", - "| X |", - "| B |", - "| |", - "+------+", - }; - - foreach (var line in map) - Console.WriteLine(line); - - // algorithm - - Location current = null; - var start = new Location { X = 1, Y = 2 }; - var target = new Location { X = 2, Y = 5 }; - var openList = new List(); - var closedList = new List(); - int g = 0; - - // start by adding the original position to the open list - openList.Add(start); - - while (openList.Count > 0) - { - // get the square with the lowest F score - var lowest = openList.Min(l => l.F); - current = openList.First(l => l.F == lowest); - - // add the current square to the closed list - closedList.Add(current); - - // show current square on the map - Console.SetCursorPosition(current.X, current.Y); - Console.Write('.'); - Console.SetCursorPosition(current.X, current.Y); - System.Threading.Thread.Sleep(1000); - - // remove it from the open list - openList.Remove(current); - - // if we added the destination to the closed list, we've found a path - if (closedList.FirstOrDefault(l => l.X == target.X && l.Y == target.Y) != null) - break; - - var adjacentSquares = GetWalkableAdjacentSquares(current.X, current.Y, map); - g++; - - foreach(var adjacentSquare in adjacentSquares) - { - // if this adjacent square is already in the closed list, ignore it - if (closedList.FirstOrDefault(l => l.X == adjacentSquare.X - && l.Y == adjacentSquare.Y) != null) - continue; - - // if it's not in the open list... - if (openList.FirstOrDefault(l => l.X == adjacentSquare.X - && l.Y == adjacentSquare.Y) == null) - { - // compute its score, set the parent - adjacentSquare.G = g; - adjacentSquare.H = ComputeHScore(adjacentSquare.X, adjacentSquare.Y, target.X, target.Y); - adjacentSquare.F = adjacentSquare.G + adjacentSquare.H; - adjacentSquare.Parent = current; - - // and add it to the open list - openList.Insert(0, adjacentSquare); - } - else - { - // test if using the current G score makes the adjacent square's F score - // lower, if yes update the parent because it means it's a better path - if (g + adjacentSquare.H < adjacentSquare.F) - { - adjacentSquare.G = current.G + 1; - adjacentSquare.F = adjacentSquare.G + adjacentSquare.H; - adjacentSquare.Parent = current; - } - } - } - } - - // assume path was found; let's show it - while (current != null) - { - Console.SetCursorPosition(current.X, current.Y); - Console.Write('_'); - Console.SetCursorPosition(current.X, current.Y); - current = current.Parent; - System.Threading.Thread.Sleep(1000); - } - - // end - - Console.ReadLine(); - } - - static List GetWalkableAdjacentSquares(int x, int y, string[] map) - { - var proposedLocations = new List() - { - new Location { X = x, Y = y - 1 }, - new Location { X = x, Y = y + 1 }, - new Location { X = x - 1, Y = y }, - new Location { X = x + 1, Y = y }, - }; - - return proposedLocations.Where(l => map[l.Y][l.X] == ' ' || map[l.Y][l.X] == 'B').ToList(); - } - - static int ComputeHScore(int x, int y, int targetX, int targetY) - { - return Math.Abs(targetX - x) + Math.Abs(targetY - y); - } - } -} diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding/Properties/AssemblyInfo.cs b/src/Client/RobotController/RoutePlanner/AStarPathfinding/Properties/AssemblyInfo.cs deleted file mode 100644 index 4d824f2..0000000 --- a/src/Client/RobotController/RoutePlanner/AStarPathfinding/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("AStarPathfinding")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("AStarPathfinding")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("41c6c38d-e6f0-4437-b8a8-fa0a8ea19eab")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.exe b/src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.exe deleted file mode 100644 index 692050cfd32ca151055400068f67aee5e03e4371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8192 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 T)BsXYb|^C#&4hY|R1zqm8n diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.exe.config b/src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.exe.config deleted file mode 100644 index 4bfa005..0000000 --- a/src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.exe.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.pdb b/src/Client/RobotController/RoutePlanner/AStarPathfinding/bin/Debug/AStarPathfinding.pdb deleted file mode 100644 index 5b97d58a4a5abc47e76a3371ffffd59777680051..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 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 diff --git a/src/Server/RoutePlanner/Controller.cs b/src/Server/RoutePlanner/Controller.cs new file mode 100644 index 0000000..2f1be4d --- /dev/null +++ b/src/Server/RoutePlanner/Controller.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RoutePlanner +{ + internal class Controller + { + private Mapper.Map map; + + public void RoutePlanner() + { + + } + + public void fetchMap() + { + // get map from client + } + + public void sendRoute() + { + // send route to client + } + + } +} diff --git a/src/Server/RoutePlanner/Route.cs b/src/Server/RoutePlanner/Route.cs new file mode 100644 index 0000000..80e7f25 --- /dev/null +++ b/src/Server/RoutePlanner/Route.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RoutePlanner +{ + internal class Route + { + public Routepoint[] routepoints; + } +} diff --git a/src/Server/RoutePlanner/RoutePlanner.csproj b/src/Server/RoutePlanner/RoutePlanner.csproj new file mode 100644 index 0000000..9e0cdd2 --- /dev/null +++ b/src/Server/RoutePlanner/RoutePlanner.csproj @@ -0,0 +1,14 @@ + + + + net8.0 + enable + enable + + + + + + + + diff --git a/src/Server/RoutePlanner/RoutePlanner.sln b/src/Server/RoutePlanner/RoutePlanner.sln new file mode 100644 index 0000000..74dfcf1 --- /dev/null +++ b/src/Server/RoutePlanner/RoutePlanner.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.10.34916.146 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RoutePlanner", "RoutePlanner.csproj", "{9BEFD90E-D1AB-4E98-A7F3-41577B136144}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D0EC1416-23D0-4A38-8225-5420F2C0A890}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mapper", "..\..\Client\Mapper\Mapper.csproj", "{C9016E3C-4794-4B7A-AA05-070013A2FCBF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RobotController", "..\..\Client\RobotController\RobotController.csproj", "{5CC35547-8E0C-42A2-B1A7-F9AB0B149BAC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9BEFD90E-D1AB-4E98-A7F3-41577B136144}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9BEFD90E-D1AB-4E98-A7F3-41577B136144}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9BEFD90E-D1AB-4E98-A7F3-41577B136144}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9BEFD90E-D1AB-4E98-A7F3-41577B136144}.Release|Any CPU.Build.0 = Release|Any CPU + {C9016E3C-4794-4B7A-AA05-070013A2FCBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C9016E3C-4794-4B7A-AA05-070013A2FCBF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C9016E3C-4794-4B7A-AA05-070013A2FCBF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C9016E3C-4794-4B7A-AA05-070013A2FCBF}.Release|Any CPU.Build.0 = Release|Any CPU + {5CC35547-8E0C-42A2-B1A7-F9AB0B149BAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5CC35547-8E0C-42A2-B1A7-F9AB0B149BAC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5CC35547-8E0C-42A2-B1A7-F9AB0B149BAC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5CC35547-8E0C-42A2-B1A7-F9AB0B149BAC}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {330E6F70-8C10-4ADE-BE14-D01EA868D4BB} + EndGlobalSection +EndGlobal diff --git a/src/Server/RoutePlanner/Routepoint.cs b/src/Server/RoutePlanner/Routepoint.cs new file mode 100644 index 0000000..8dbccc0 --- /dev/null +++ b/src/Server/RoutePlanner/Routepoint.cs @@ -0,0 +1,15 @@ +using RobotController; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RoutePlanner +{ + internal class Routepoint + { + private int step { get; set; } + private Coordinate coordinate { get; set; } + } +} diff --git a/src/Server/RoutePlanner/Routing.cs b/src/Server/RoutePlanner/Routing.cs new file mode 100644 index 0000000..ccd94cf --- /dev/null +++ b/src/Server/RoutePlanner/Routing.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace RoutePlanner +{ + internal class Routing + { + } +}