- changed status to on hold
[Multilane roads] Vertices simplification
Define a visualization behaviour for segments with multilanes, so as to defines highways, avenues, roads, simple streets, etc. This will create more real representations.
As a requirement, we first need to research on:
- Geometry support for solving the polygons of the lanes
- Define the requirements of with and decisions on how to proceed when no width is given
- Figure out how to create the lines that divide the lanes if the texture is not supported yet.
Comments (15)
-
-
- edited description
- changed status to new
-
- changed component to SP 4
-
- changed title to [Multilane roads] Vertices simplification
-
reporter - changed status to open
-
reporter - edited description
-
reporter -
assigned issue to
-
assigned issue to
-
reporter @JChoclin, @andres_fortier
An email to OSRF has been sent asking for suggestions about Geometry libraries. We can use the Characteristic Hull algorithm to solve this issue, but we need support for triangulation and other stuff. Boost Geometry may be useful but we need to code on top of it some algorithms like triangulation and some sorts. Another option I found is CGAL which already has support for Alpha Shapes but I think that it will bring a ton of useless (for us) code this last option.
For the lines that divide the lanes, I found that markers have the capability of creating line strips but I don't think this is the way to go, we need to apply textures to them.
As a first approach, I'll try to identify the cases where lanes should be merged or not (with width porperty set or not) and head code for creating the algorithm of alpha shapes.
-
About importing a big library, unless OSRF has a strong opinion, I wouldn't care much. We can later re-code that particular algorithm, but we first need to validate the approach. So if there is an implementation out there that we can use, lets go ahead.
About the lane dividers, I would advise to follow the same idea. We are now exploring a possible implementation and the main goal is to validate it. If we need to apply textures and that works, lets do it and later think on how to improve that.
+1 on starting on case identification.
-
reporter Some improvements with CGAL. This is the result of the computation of the points:
The picture above shows all the points of two lanes and the other the alpha shape computed. This is the roadA with a merge in the two segments.
-
Looks promising!
-
reporter Some improvements. There is a problem with the triangulation process at the end that creates triangles for the convex hull and not for the alpha-shape.
-
reporter - changed status to closed
-
reporter We will stop working on this issue for the moment until we get more information from the map file format on how to build roads.
-
reporter - changed status to resolved
- Log in to comment