Open charlesvdv opened 4 years ago
Right now, only a rough implementation of the quadtree map can be found on this branch. The mesh and path are not yet implemented.
But with the quadtree implementation and the rough map implementation, you should be able to have ideas on how you will implement the visualization as well as picking a good 2D drawing library that fits our needs.
The steps to create visualization lib:
The steps to create the SVG map are:
Each step will be a layer of SVG and will be a separate class.
Adding visualization capabilities to the map creation and the path planning are critical for multiple reasons:
I have never done 2D drawing in C++ so I don't have any strong preferences for a library. I am just wondering if a format like SVG would not be better compared to more opaque format like JPEG or PNG. It would allow us more flexibility if we want more fancy tooling around the map visualization/analysis. Also, the library capabilities needs to be versatile enough to be able to compose multiple "layers" of drawing. For example, drawing a path on top of mesh.
It also needs to be embedded with CMake
FetchContent
functionality if possible. For a code design perspective, I would like to have the drawing/visualization capabilities as decoupled as possible from theMap
abstraction. The best would be to have separate class(es) doing the drawing.More concretely, I see at least 3 visualizations needed: