From 5134b522ae56a9d222076b50dcb8f7394e88c97c Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Mon, 24 Feb 2014 16:59:36 +0100 Subject: [PATCH] LineLayer: drop invalid lines --- vtm/src/org/oscim/renderer/elements/LineLayer.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/vtm/src/org/oscim/renderer/elements/LineLayer.java b/vtm/src/org/oscim/renderer/elements/LineLayer.java index 60a79984..197944f1 100644 --- a/vtm/src/org/oscim/renderer/elements/LineLayer.java +++ b/vtm/src/org/oscim/renderer/elements/LineLayer.java @@ -169,7 +169,17 @@ public final class LineLayer extends RenderElement { if (length < 4) continue; + /* start an enpoint are equal */ + if (length == 4 && + points[ipos] == points[ipos + 2] && + points[ipos + 1] == points[ipos + 3]) + continue; + /* avoid simple 180 degree angles */ + if (length == 6 && + points[ipos] == points[ipos + 4] && + points[ipos + 1] == points[ipos + 5]) + length -= 2; vertexItem = addLine(vertexItem, points, ipos, length, rounded, squared, closed);