diff --git a/src/Client/Mapper/.vs/Mapper/DesignTimeBuild/.dtbcache.v2 b/src/Client/Mapper/.vs/Mapper/DesignTimeBuild/.dtbcache.v2 index abcc4a3..6ddbc10 100644 Binary files a/src/Client/Mapper/.vs/Mapper/DesignTimeBuild/.dtbcache.v2 and b/src/Client/Mapper/.vs/Mapper/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/640ad020-6ecb-4bfc-b92c-8e0ea14c6841.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/03cd8b8e-6e08-4f4d-b842-4d1f26c4b6ce.vsidx similarity index 100% rename from src/Client/Mapper/.vs/Mapper/FileContentIndex/640ad020-6ecb-4bfc-b92c-8e0ea14c6841.vsidx rename to src/Client/Mapper/.vs/Mapper/FileContentIndex/03cd8b8e-6e08-4f4d-b842-4d1f26c4b6ce.vsidx 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 deleted file mode 100644 index 742c6bc..0000000 Binary files a/src/Client/Mapper/.vs/Mapper/FileContentIndex/1686291b-5121-498f-a2b2-d9153cba8a18.vsidx and /dev/null differ 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 deleted file mode 100644 index 20b2958..0000000 Binary files a/src/Client/Mapper/.vs/Mapper/FileContentIndex/625df6d9-a5e2-43f8-af3b-72dc4b7cb046.vsidx and /dev/null differ 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 deleted file mode 100644 index d56414f..0000000 Binary files a/src/Client/Mapper/.vs/Mapper/FileContentIndex/80ef5ab2-9c9c-4e69-a6fd-83984814ad82.vsidx and /dev/null differ diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/8ec014cf-c108-451e-82d1-a7dcc2ac541a.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/8ec014cf-c108-451e-82d1-a7dcc2ac541a.vsidx new file mode 100644 index 0000000..4d9fe75 Binary files /dev/null and b/src/Client/Mapper/.vs/Mapper/FileContentIndex/8ec014cf-c108-451e-82d1-a7dcc2ac541a.vsidx differ diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/e785e883-9bb5-4d50-bbb2-1da90765a725.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/e785e883-9bb5-4d50-bbb2-1da90765a725.vsidx new file mode 100644 index 0000000..eb74c27 Binary files /dev/null and b/src/Client/Mapper/.vs/Mapper/FileContentIndex/e785e883-9bb5-4d50-bbb2-1da90765a725.vsidx differ diff --git a/src/Client/Mapper/.vs/Mapper/FileContentIndex/fe2bb7ea-1b4c-4582-b07d-71485e2fe2ea.vsidx b/src/Client/Mapper/.vs/Mapper/FileContentIndex/fe2bb7ea-1b4c-4582-b07d-71485e2fe2ea.vsidx new file mode 100644 index 0000000..9a82d47 Binary files /dev/null and b/src/Client/Mapper/.vs/Mapper/FileContentIndex/fe2bb7ea-1b4c-4582-b07d-71485e2fe2ea.vsidx differ diff --git a/src/Client/Mapper/.vs/Mapper/v17/.futdcache.v2 b/src/Client/Mapper/.vs/Mapper/v17/.futdcache.v2 index 5c81755..35af889 100644 Binary files a/src/Client/Mapper/.vs/Mapper/v17/.futdcache.v2 and b/src/Client/Mapper/.vs/Mapper/v17/.futdcache.v2 differ diff --git a/src/Client/Mapper/.vs/Mapper/v17/.suo b/src/Client/Mapper/.vs/Mapper/v17/.suo index 15f14ba..4e3fd6a 100644 Binary files a/src/Client/Mapper/.vs/Mapper/v17/.suo and b/src/Client/Mapper/.vs/Mapper/v17/.suo differ diff --git a/src/Client/Mapper/.vs/Mapper/v17/.wsuo b/src/Client/Mapper/.vs/Mapper/v17/.wsuo index 08a2dd9..ff2f6a6 100644 Binary files a/src/Client/Mapper/.vs/Mapper/v17/.wsuo and b/src/Client/Mapper/.vs/Mapper/v17/.wsuo differ diff --git a/src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json b/src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json index cc93b40..1e14634 100644 --- a/src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json +++ b/src/Client/Mapper/.vs/Mapper/v17/DocumentLayout.json @@ -1,7 +1,25 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\Users\\tosl1\\source\\repos\\Roommapper\\src\\Client\\Mapper\\", - "Documents": [], + "WorkspaceRootPath": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\Mapper\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{52F1797E-0731-43F4-AC45-68B7CF563336}|Mapper.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\mapper\\map.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{52F1797E-0731-43F4-AC45-68B7CF563336}|Mapper.csproj|solutionrelative:map.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A753DACA-164C-417C-8AFD-D53AB375A53D}|..\\RobotController\\RobotController.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\robotcontroller\\ultrasonic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{A753DACA-164C-417C-8AFD-D53AB375A53D}|..\\RobotController\\RobotController.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\robotcontroller\\measurement.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{3848B011-EF47-4B92-A214-69D439583C52}|..\\..\\CoveragePathPlanner\\CoveragePathPlanner.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\coveragepathplanner\\coveragepathplanner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{52F1797E-0731-43F4-AC45-68B7CF563336}|Mapper.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\mapper\\mapper.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|", + "RelativeMoniker": "D:0:0:{52F1797E-0731-43F4-AC45-68B7CF563336}|Mapper.csproj|solutionrelative:mapper.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|" + } + ], "DocumentGroupContainers": [ { "Orientation": 0, @@ -9,11 +27,76 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": -1, + "SelectedChildIndex": 5, "Children": [ + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Ultrasonic.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Ultrasonic.cs", + "RelativeDocumentMoniker": "..\\RobotController\\Ultrasonic.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Ultrasonic.cs", + "RelativeToolTip": "..\\RobotController\\Ultrasonic.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-09T17:38:23.66Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "Measurement.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Measurement.cs", + "RelativeDocumentMoniker": "..\\RobotController\\Measurement.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Measurement.cs", + "RelativeToolTip": "..\\RobotController\\Measurement.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABYAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-09T17:35:55.332Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "CoveragePathPlanner.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\CoveragePathPlanner\\CoveragePathPlanner.cs", + "RelativeDocumentMoniker": "..\\..\\CoveragePathPlanner\\CoveragePathPlanner.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\CoveragePathPlanner\\CoveragePathPlanner.cs", + "RelativeToolTip": "..\\..\\CoveragePathPlanner\\CoveragePathPlanner.cs", + "ViewState": "AQIAAHoAAAAAAAAAAAAAwIYAAAAQAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-09T17:34:13.83Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 4, + "Title": "Mapper", + "DocumentMoniker": "C:\\Users\\Tom\\Source\\Repos\\Roommapper\\src\\Client\\Mapper\\Mapper.csproj", + "RelativeDocumentMoniker": "Mapper.csproj", + "ToolTip": "C:\\Users\\Tom\\Source\\Repos\\Roommapper\\src\\Client\\Mapper\\Mapper.csproj", + "RelativeToolTip": "Mapper.csproj", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", + "WhenOpened": "2024-06-09T17:33:28.667Z", + "EditorCaption": "" + }, { "$type": "Bookmark", "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Map.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\Mapper\\Map.cs", + "RelativeDocumentMoniker": "Map.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\Mapper\\Map.cs", + "RelativeToolTip": "Map.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABcAAAAcAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-09T17:33:29.25Z", + "EditorCaption": "" } ] } diff --git a/src/Client/Mapper/.vs/ProjectEvaluation/mapper.metadata.v7.bin b/src/Client/Mapper/.vs/ProjectEvaluation/mapper.metadata.v7.bin new file mode 100644 index 0000000..755599f Binary files /dev/null and b/src/Client/Mapper/.vs/ProjectEvaluation/mapper.metadata.v7.bin differ diff --git a/src/Client/Mapper/.vs/ProjectEvaluation/mapper.projects.v7.bin b/src/Client/Mapper/.vs/ProjectEvaluation/mapper.projects.v7.bin new file mode 100644 index 0000000..d87f3db Binary files /dev/null and b/src/Client/Mapper/.vs/ProjectEvaluation/mapper.projects.v7.bin differ diff --git a/src/Client/Mapper/Map.cs b/src/Client/Mapper/Map.cs index 43d68f9..f7f6c38 100644 --- a/src/Client/Mapper/Map.cs +++ b/src/Client/Mapper/Map.cs @@ -5,28 +5,6 @@ namespace Mapper { public class Map { - private Coordinate bottomLeft, bottomRight; - - public Map(Coordinate bottomLeft, Coordinate bottomRight) - { - this.bottomLeft = bottomLeft; - this.bottomRight = bottomRight; - Console.Write(testPathPlanner); - } - - public List testPathPlanner() - { - CoveragePathPlanner planner = new CoveragePathPlanner(500, 500); - - List obstacles = new List - { - new Obstacle { X = 100, Y = 100, Width = 50, Height = 50 }, - new Obstacle { X = 200, Y = 200, Width = 100, Height = 100 }, - new Obstacle { X = 300, Y = 300, Width = 150, Height = 150 } - }; - - return planner.PlanPath(obstacles); + } - - } } diff --git a/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.metadata.v7.bin b/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.metadata.v7.bin index fe14b37..7c33d12 100644 Binary files a/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.metadata.v7.bin and b/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.metadata.v7.bin differ diff --git a/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.projects.v7.bin b/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.projects.v7.bin index a164bf7..ad1e735 100644 Binary files a/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.projects.v7.bin and b/src/Client/RobotController/.vs/ProjectEvaluation/robotcontroller.projects.v7.bin differ diff --git a/src/Client/RobotController/.vs/RobotController/v17/.futdcache.v2 b/src/Client/RobotController/.vs/RobotController/v17/.futdcache.v2 index e73e391..86dc778 100644 Binary files a/src/Client/RobotController/.vs/RobotController/v17/.futdcache.v2 and b/src/Client/RobotController/.vs/RobotController/v17/.futdcache.v2 differ diff --git a/src/Client/RobotController/.vs/RobotController/v17/.suo b/src/Client/RobotController/.vs/RobotController/v17/.suo index f5c9415..e0700a3 100644 Binary files a/src/Client/RobotController/.vs/RobotController/v17/.suo and b/src/Client/RobotController/.vs/RobotController/v17/.suo differ diff --git a/src/Client/RobotController/.vs/RobotController/v17/DocumentLayout.json b/src/Client/RobotController/.vs/RobotController/v17/DocumentLayout.json index 776ac58..3f5c98e 100644 --- a/src/Client/RobotController/.vs/RobotController/v17/DocumentLayout.json +++ b/src/Client/RobotController/.vs/RobotController/v17/DocumentLayout.json @@ -1,7 +1,24 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\Users\\tosl1\\source\\repos\\Roommapper\\src\\Client\\RobotController\\", - "Documents": [], + "WorkspaceRootPath": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\robotcontroller\\ultrasonic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|solutionrelative:ultrasonic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\robotcontroller\\coordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|solutionrelative:coordinate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\robotcontroller\\measurement.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|solutionrelative:measurement.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\client\\robotcontroller\\gyrosensor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{8962460F-9112-4A79-9B40-35CA420C98C6}|RobotController.csproj|solutionrelative:gyrosensor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], "DocumentGroupContainers": [ { "Orientation": 0, @@ -9,11 +26,63 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": -1, + "SelectedChildIndex": 0, "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Ultrasonic.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Ultrasonic.cs", + "RelativeDocumentMoniker": "Ultrasonic.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Ultrasonic.cs", + "RelativeToolTip": "Ultrasonic.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAA0AAAAfAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-13T19:25:01.727Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Coordinate.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Coordinate.cs", + "RelativeDocumentMoniker": "Coordinate.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Coordinate.cs", + "RelativeToolTip": "Coordinate.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAABIAAAAFAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-13T20:22:20.968Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "GyroSensor.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\GyroSensor.cs", + "RelativeDocumentMoniker": "GyroSensor.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\GyroSensor.cs", + "RelativeToolTip": "GyroSensor.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-13T20:22:19.326Z", + "EditorCaption": "" + }, { "$type": "Bookmark", "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "Measurement.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Measurement.cs", + "RelativeDocumentMoniker": "Measurement.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\Client\\RobotController\\Measurement.cs", + "RelativeToolTip": "Measurement.cs", + "ViewState": "AQIAAAAAAAAAAAAAAAAqwBMAAAAFAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-09T17:39:17.31Z", + "EditorCaption": "" } ] } diff --git a/src/CoveragePathPlanner/.vs/CoveragePathPlanner/DesignTimeBuild/.dtbcache.v2 b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000..38a55d3 Binary files /dev/null and b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/DesignTimeBuild/.dtbcache.v2 differ diff --git a/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/66220028-45cd-4439-9bf4-3dd896b3764d.vsidx b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/66220028-45cd-4439-9bf4-3dd896b3764d.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/66220028-45cd-4439-9bf4-3dd896b3764d.vsidx differ diff --git a/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/c2c1f0f1-7a3c-46ce-9e67-6a30cf37aae9.vsidx b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/c2c1f0f1-7a3c-46ce-9e67-6a30cf37aae9.vsidx new file mode 100644 index 0000000..43ad08c Binary files /dev/null and b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/c2c1f0f1-7a3c-46ce-9e67-6a30cf37aae9.vsidx differ diff --git a/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/fbfccb39-6157-4236-97ae-174fefb57b4a.vsidx b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/fbfccb39-6157-4236-97ae-174fefb57b4a.vsidx new file mode 100644 index 0000000..70aef67 Binary files /dev/null and b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/FileContentIndex/fbfccb39-6157-4236-97ae-174fefb57b4a.vsidx differ diff --git a/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/.futdcache.v2 b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/.futdcache.v2 new file mode 100644 index 0000000..51d616d Binary files /dev/null and b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/.futdcache.v2 differ diff --git a/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/.suo b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/.suo new file mode 100644 index 0000000..861f5d5 Binary files /dev/null and b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/.suo differ diff --git a/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/DocumentLayout.json b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/DocumentLayout.json new file mode 100644 index 0000000..6177e18 --- /dev/null +++ b/src/CoveragePathPlanner/.vs/CoveragePathPlanner/v17/DocumentLayout.json @@ -0,0 +1,41 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\CoveragePathPlanner\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{19337BCA-6374-4DAE-90D4-38CF1D236D30}|CoveragePathPlanner.csproj|c:\\users\\tom\\source\\repos\\roommapper\\src\\coveragepathplanner\\coveragepathplanner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{19337BCA-6374-4DAE-90D4-38CF1D236D30}|CoveragePathPlanner.csproj|solutionrelative:coveragepathplanner.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 1, + "Children": [ + { + "$type": "Bookmark", + "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "CoveragePathPlanner.cs", + "DocumentMoniker": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\CoveragePathPlanner\\CoveragePathPlanner.cs", + "RelativeDocumentMoniker": "CoveragePathPlanner.cs", + "ToolTip": "C:\\Users\\Tom\\source\\repos\\Roommapper\\src\\CoveragePathPlanner\\CoveragePathPlanner.cs", + "RelativeToolTip": "CoveragePathPlanner.cs", + "ViewState": "AQIAAGMAAAAAAAAAAAA3wA0AAAAeAAAA", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-06-09T17:04:53.416Z", + "EditorCaption": "" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/CoveragePathPlanner/.vs/ProjectEvaluation/coveragepathplanner.metadata.v7.bin b/src/CoveragePathPlanner/.vs/ProjectEvaluation/coveragepathplanner.metadata.v7.bin new file mode 100644 index 0000000..52e3796 Binary files /dev/null and b/src/CoveragePathPlanner/.vs/ProjectEvaluation/coveragepathplanner.metadata.v7.bin differ diff --git a/src/CoveragePathPlanner/.vs/ProjectEvaluation/coveragepathplanner.projects.v7.bin b/src/CoveragePathPlanner/.vs/ProjectEvaluation/coveragepathplanner.projects.v7.bin new file mode 100644 index 0000000..c6e394b Binary files /dev/null and b/src/CoveragePathPlanner/.vs/ProjectEvaluation/coveragepathplanner.projects.v7.bin differ diff --git a/src/CoveragePathPlanner/CoveragePathPlanner.cs b/src/CoveragePathPlanner/CoveragePathPlanner.cs index 2a5b3e2..710510b 100644 --- a/src/CoveragePathPlanner/CoveragePathPlanner.cs +++ b/src/CoveragePathPlanner/CoveragePathPlanner.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Drawing; public class CoveragePathPlanner @@ -6,12 +7,14 @@ public class CoveragePathPlanner private int _width; private int _height; private List _cells; + private List _obstacles; public CoveragePathPlanner(int width, int height) { _width = width; _height = height; _cells = new List(); + _obstacles = new List(); for (int x = 0; x < width; x++) { @@ -22,16 +25,36 @@ public class CoveragePathPlanner } } - public List PlanPath(List obstacles) + public void AddObstacleRectangle(int x, int y, int width, int height) + { + _obstacles.Add(new Obstacle { X = x, Y = y, Width = width, Height = height, IsRectangle = true }); + } + + public void AddObstacleCell(int x, int y) + { + _obstacles.Add(new Obstacle { X = x, Y = y, Width = 0, Height = 0, IsRectangle = false }); + } + + public List PlanPath() { // Add obstacles to the grid - foreach (Obstacle obstacle in obstacles) + foreach (Obstacle obstacle in _obstacles) { foreach (Cell cell in _cells) { - if (cell.IsWithinObstacle(obstacle)) + if (obstacle.IsRectangle) { - cell.IsObstacle = true; + if (cell.IsWithinObstacle(obstacle)) + { + cell.IsObstacle = true; + } + } + else + { + if (cell.X == obstacle.X && cell.Y == obstacle.Y) + { + cell.IsObstacle = true; + } } } } @@ -56,7 +79,7 @@ public class CoveragePathPlanner while (currentCell != null) { path.Add(new Point(currentCell.X, currentCell.Y)); - currentCell = currentCell.Parent; + currentCell = currentCell.Parent!; } return path; } @@ -92,6 +115,7 @@ public class Obstacle public int Y { get; set; } public int Width { get; set; } public int Height { get; set; } + public bool IsRectangle { get; set; } } public class Cell @@ -101,7 +125,7 @@ public class Cell public bool IsObstacle { get; set; } public bool IsVisited { get; set; } public double Cost { get; set; } - public Cell Parent { get; set; } + public Cell? Parent { get; set; } public bool IsWithinObstacle(Obstacle obstacle) { diff --git a/src/Server/RobotControlServer/RobotControlServer.csproj b/src/Server/RobotControlServer/RobotControlServer.csproj index 0458ec4..4c07831 100644 --- a/src/Server/RobotControlServer/RobotControlServer.csproj +++ b/src/Server/RobotControlServer/RobotControlServer.csproj @@ -1,6 +1,7 @@  + diff --git a/src/Server/RobotControlServer/Routes/RoutePlan.cs b/src/Server/RobotControlServer/Routes/RoutePlan.cs index a631238..a778123 100644 --- a/src/Server/RobotControlServer/Routes/RoutePlan.cs +++ b/src/Server/RobotControlServer/Routes/RoutePlan.cs @@ -2,7 +2,9 @@ using Cassandra; using LibParse.Json; using LibServer.Http; using LibServer.Router; +using Newtonsoft.Json; using RobotControlServer.JsonClasses; +using System.Drawing; namespace RobotControlServer.Routes; @@ -21,8 +23,19 @@ public class RoutePlan: IRoute { } // ParsedBody?.objects = [[0,1],[0,2],...] - // Implement path planning algorithm - // var path; + + // New instance of CPP with a 500x500 grid || where 0,0 = top-left and 499, 499 = bottom-right + CoveragePathPlanner planner = new CoveragePathPlanner(500, 500); + + // Add obstacles cell by cell + foreach (var obj in parsedBody?.objects) + { + planner.AddObstacleCell(obj[0], obj[1]); + } + + List PlanPath = planner.PlanPath(); + // Don't know if this is needed here or just do List path = planner.PlanPath(obstacles);? + string path = JsonConvert.SerializeObject(PlanPath); // Return success message with the path return new HttpResponse($"{{\"message\":\"success\",\"path\":\"{path}\"}}"); diff --git a/src/Server/Tests/bin/Debug/net8.0/CoverletSourceRootsMapping_Tests b/src/Server/Tests/bin/Debug/net8.0/CoverletSourceRootsMapping_Tests index 5f1a55e..e438a75 100755 Binary files a/src/Server/Tests/bin/Debug/net8.0/CoverletSourceRootsMapping_Tests and b/src/Server/Tests/bin/Debug/net8.0/CoverletSourceRootsMapping_Tests differ