JakovTomasic / RitehMaps

Indoor navigation project for the Faculty of Engineering, Rijeka
Apache License 2.0
3 stars 1 forks source link

Graph construction #44

Closed JakovTomasic closed 1 year ago

JakovTomasic commented 1 year ago

Created a subset of the navigation graph (#25). In the process, I designed a system where we can define hallways, nodes, and graph edges.

Node definitions also cover room definition #19 (also partially added).

This graph construction or modification process is primarily manual, but the process is simplified. The implemented graph factory algorithm creates a full graph for editable hallways, nodes, and graph edges data.

Note to a reviewer:

JakovTomasic commented 1 year ago

The pull request contains a lot of random changes that are not important and shouldn't be merged. This should be merged after #39. All unnecessary changes should be removed before merging.

The reason for this complication is that the branch wasn't branched out from the main branch, but from the path drawing.

JakovTomasic commented 1 year ago

The pull request contains a lot of random changes that are not important and shouldn't be merged. This should be merged after #39. All unnecessary changes should be removed before merging.

The reason for this complication is that the branch wasn't branched out from the main branch, but from the path drawing.

39 has been merged and all of its changes have been merged into this branch. I conformed some files more related to that pull request than this one, but only so everything can work properly.

The pull request is ready for review. I also documented in the wiki how the graph works and how to make changes to it in the future, as I mentioned in the related issue #25.

JakovTomasic commented 1 year ago

I want to add that the graph may look weird in some places if one submap/floor has two disjointed sections. That's because the Map component receives a continuous list of nodes and I cannot separate "the left and the right" side of the building.

The resulting "artifact" is only one line connecting the two sides.

JakovTomasic commented 1 year ago

Thank you. I treat that "code" in the data folder as a JSON-alike dataset so using comments has different "rules". I use them as helpful labels or segment titles.

I agree that splitting the data into multiple properly named arrays and/or files would be a better solution.