diff --git a/src/org/oscim/generator/TileGenerator.java b/src/org/oscim/generator/TileGenerator.java index b59636a1..ac04bbd3 100644 --- a/src/org/oscim/generator/TileGenerator.java +++ b/src/org/oscim/generator/TileGenerator.java @@ -27,7 +27,6 @@ import org.oscim.database.IMapDatabaseCallback; import org.oscim.database.QueryResult; import org.oscim.renderer.MapTile; import org.oscim.renderer.layer.ExtrusionLayer; -import org.oscim.renderer.layer.Layer; import org.oscim.renderer.layer.Layers; import org.oscim.renderer.layer.LineLayer; import org.oscim.renderer.layer.LineTexLayer; @@ -80,7 +79,7 @@ public class TileGenerator implements IRenderCallback, IMapDatabaseCallback { new float[] { 0, 0, 0, Tile.SIZE, Tile.SIZE, Tile.SIZE, Tile.SIZE, 0, 0, 0 }, - new short[] {10}), + new short[] { 10 }), new Tag[] { new Tag("debug", "box") } ); @@ -358,8 +357,7 @@ public class TileGenerator implements IRenderCallback, IMapDatabaseCallback { return; } - LineLayer lineLayer = (LineLayer) - mTile.layers.getLayer(numLayer, Layer.LINE); + LineLayer lineLayer = mTile.layers.getLineLayer(numLayer); if (lineLayer == null) return; @@ -386,8 +384,7 @@ public class TileGenerator implements IRenderCallback, IMapDatabaseCallback { mCurLineLayer = lineLayer; } else { - LineTexLayer lineLayer = (LineTexLayer) - mTile.layers.getLayer(numLayer, Layer.TEXLINE); + LineTexLayer lineLayer = mTile.layers.getLineTexLayer(numLayer); if (lineLayer == null) return; @@ -424,8 +421,7 @@ public class TileGenerator implements IRenderCallback, IMapDatabaseCallback { if (debug.disablePolygons) return; - PolygonLayer layer = (PolygonLayer) - mTile.layers.getLayer(numLayer, Layer.POLYGON); + PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer); if (layer == null) return; diff --git a/src/org/oscim/overlay/PathOverlay.java b/src/org/oscim/overlay/PathOverlay.java index bf8a1be5..855f1280 100644 --- a/src/org/oscim/overlay/PathOverlay.java +++ b/src/org/oscim/overlay/PathOverlay.java @@ -26,7 +26,6 @@ import org.oscim.core.PointD; import org.oscim.core.Tile; import org.oscim.graphics.Paint.Cap; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.layer.Layer; import org.oscim.renderer.layer.LineLayer; import org.oscim.renderer.overlays.BasicOverlay; import org.oscim.theme.renderinstruction.Line; @@ -115,7 +114,7 @@ public class PathOverlay extends Overlay { return; } - LineLayer ll = (LineLayer) layers.getLayer(1, Layer.LINE); + LineLayer ll = layers.getLineLayer(0); ll.line = mLineStyle; ll.width = ll.line.width; diff --git a/src/org/oscim/renderer/layer/Layers.java b/src/org/oscim/renderer/layer/Layers.java index a5f1a292..37142242 100644 --- a/src/org/oscim/renderer/layer/Layers.java +++ b/src/org/oscim/renderer/layer/Layers.java @@ -50,8 +50,20 @@ public class Layers { private Layer mCurLayer; + public LineLayer getLineLayer(int level) { + return (LineLayer)getLayer(level, Layer.LINE); + } + + public PolygonLayer getPolygonLayer(int level) { + return (PolygonLayer)getLayer(level, Layer.POLYGON); + } + + public LineTexLayer getLineTexLayer(int level) { + return (LineTexLayer)getLayer(level, Layer.TEXLINE); + } + // get or add the Line- or PolygonLayer for a level. - public Layer getLayer(int level, byte type) { + private Layer getLayer(int level, byte type) { Layer l = baseLayers; Layer layer = null; diff --git a/src/org/oscim/renderer/overlays/GridOverlay.java b/src/org/oscim/renderer/overlays/GridOverlay.java index 56bed9c4..d15f22e7 100644 --- a/src/org/oscim/renderer/overlays/GridOverlay.java +++ b/src/org/oscim/renderer/overlays/GridOverlay.java @@ -19,7 +19,6 @@ import org.oscim.core.Tile; import org.oscim.graphics.Color; import org.oscim.graphics.Paint.Cap; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.layer.Layer; import org.oscim.renderer.layer.LineLayer; import org.oscim.renderer.layer.TextItem; import org.oscim.renderer.layer.TextLayer; @@ -125,7 +124,7 @@ public class GridOverlay extends BasicOverlay { layers.clear(); - LineLayer ll = (LineLayer) layers.getLayer(1, Layer.LINE); + LineLayer ll = layers.getLineLayer(0); ll.line = new Line(Color.BLUE, 1.0f, Cap.BUTT); ll.width = 1.5f; ll.addLine(mPoints, mIndex, false); diff --git a/src/org/oscim/renderer/overlays/TestOverlay.java b/src/org/oscim/renderer/overlays/TestOverlay.java index 9a34326f..ec974161 100644 --- a/src/org/oscim/renderer/overlays/TestOverlay.java +++ b/src/org/oscim/renderer/overlays/TestOverlay.java @@ -16,7 +16,6 @@ package org.oscim.renderer.overlays; import org.oscim.core.MapPosition; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.layer.Layer; import org.oscim.renderer.layer.LineTexLayer; import org.oscim.renderer.layer.TextItem; import org.oscim.theme.renderinstruction.Line; @@ -50,7 +49,7 @@ public class TestOverlay extends BasicOverlay { //ll.addLine(points, index, true); - LineTexLayer lt = (LineTexLayer) layers.getLayer(2, Layer.TEXLINE); + LineTexLayer lt = layers.getLineTexLayer(2); lt.line = new Line(Color.BLUE, 1.0f, 8); lt.width = 8; lt.addLine(points, null); @@ -62,7 +61,7 @@ public class TestOverlay extends BasicOverlay { -200, 200, -200, -200 }; - lt = (LineTexLayer) layers.getLayer(3, Layer.TEXLINE); + lt = layers.getLineTexLayer(3); lt.line = new Line(Color.BLUE, 1.0f, 16); lt.width = 8; lt.addLine(points2, null); diff --git a/src/org/oscim/renderer/overlays/TextOverlay.java b/src/org/oscim/renderer/overlays/TextOverlay.java index 7d9abca2..f99fe460 100644 --- a/src/org/oscim/renderer/overlays/TextOverlay.java +++ b/src/org/oscim/renderer/overlays/TextOverlay.java @@ -622,21 +622,21 @@ public class TextOverlay extends BasicOverlay { LineLayer ll; if (prev) { if (overlaps == 1) - ll = (LineLayer) dbg.getLayer(4, Layer.LINE); + ll = dbg.getLineLayer(4); else - ll = (LineLayer) dbg.getLayer(5, Layer.LINE); + ll = dbg.getLineLayer(5); } else { if (ti.width > ti.length * scale) { - ll = (LineLayer) dbg.getLayer(1, Layer.LINE); + ll = dbg.getLineLayer(1); overlaps = 3; } else if (overlaps == 1) - ll = (LineLayer) dbg.getLayer(0, Layer.LINE); + ll = dbg.getLineLayer(0); else if (overlaps == 2) - ll = (LineLayer) dbg.getLayer(3, Layer.LINE); + ll = dbg.getLineLayer(3); else - ll = (LineLayer) dbg.getLayer(2, Layer.LINE); + ll = dbg.getLineLayer(2); } float[] points = mDebugPoints; float width = (ti.x2 - ti.x1) / 2f; @@ -654,22 +654,22 @@ public class TextOverlay extends BasicOverlay { private static void addDebugLayers(Layers dbg) { dbg.clear(); - LineLayer ll = (LineLayer) dbg.getLayer(0, Layer.LINE); + LineLayer ll = dbg.getLineLayer(0); ll.line = new Line((Color.BLUE & 0xaaffffff), 1, Cap.BUTT); ll.width = 2; - ll = (LineLayer) dbg.getLayer(3, Layer.LINE); + ll = dbg.getLineLayer(3); ll.line = new Line((Color.YELLOW & 0xaaffffff), 1, Cap.BUTT); ll.width = 2; - ll = (LineLayer) dbg.getLayer(1, Layer.LINE); + ll = dbg.getLineLayer(1); ll.line = new Line((Color.RED & 0xaaffffff), 1, Cap.BUTT); ll.width = 2; - ll = (LineLayer) dbg.getLayer(2, Layer.LINE); + ll = dbg.getLineLayer(2); ll.line = new Line((Color.GREEN & 0xaaffffff), 1, Cap.BUTT); ll.width = 2; - ll = (LineLayer) dbg.getLayer(4, Layer.LINE); + ll = dbg.getLineLayer(4); ll.line = new Line((Color.CYAN & 0xaaffffff), 1, Cap.BUTT); ll.width = 2; - ll = (LineLayer) dbg.getLayer(5, Layer.LINE); + ll = dbg.getLineLayer(5); ll.line = new Line((Color.MAGENTA & 0xaaffffff), 1, Cap.BUTT); ll.width = 2; }