provide public function to only retrieve valid base layers type
This commit is contained in:
parent
b9c3c3fad8
commit
ca311f0bcf
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user