
Mark Burton wrote:
Hi Johann,
I have now looked into the code and must say, I don't understand why it works. Previous for each node was created a CoordNode. Now instead a flag is set. I see the difference: The flag is copied, the class obviously not. But I didn't find the place, where this copy occurs. Could you point my nose to the file and line number, where the line is duplicated? The only place I found is in the round coord filter class (line 55), where it is handled correctly. So why your patch works as expected and the original solution not??
As I said in a previous posting on this topic:
mb> Whenever a routable way gets split to limit the number of points or mb> nodes it makes a new list of points so any changes to the points in the mb> new list will not be visible in the original list.
So, wherever you see splitWay() that's where the "copying" occurs.
I have another idea of solving this problem. Instead of do a new Coord or CoordNode call coord.copy(). The function could be overwritten in the CoordNode class to return a CoordNode object. (BTW. This should be done in the CoordPOI class too). So a copied line should contain afterwards the same types as the original.
Doesn't the suggested patch do the job? (Felix, you reported it wasn't working, is that still the case?)
Well since introducing the round-cords it is not working for me anymore. nothing changed here.
Actually, I'm not keen on the CoordNode thing at all but it works well enough to not warrant spending effort on it while there is so much other stuff to be fixed.
Cheers,
Mark _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev