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
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev

Reply via email to