remove DebugSettings class
This commit is contained in:
parent
4f1b3f262b
commit
1738bfd0bc
@ -22,7 +22,6 @@ import org.oscim.core.Tag;
|
|||||||
import org.oscim.core.TagSet;
|
import org.oscim.core.TagSet;
|
||||||
import org.oscim.core.Tile;
|
import org.oscim.core.Tile;
|
||||||
import org.oscim.layers.tile.vector.labeling.WayDecorator;
|
import org.oscim.layers.tile.vector.labeling.WayDecorator;
|
||||||
import org.oscim.map.DebugSettings;
|
|
||||||
import org.oscim.renderer.elements.ElementLayers;
|
import org.oscim.renderer.elements.ElementLayers;
|
||||||
import org.oscim.renderer.elements.ExtrusionLayer;
|
import org.oscim.renderer.elements.ExtrusionLayer;
|
||||||
import org.oscim.renderer.elements.LineLayer;
|
import org.oscim.renderer.elements.LineLayer;
|
||||||
@ -67,18 +66,14 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
|
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
|
||||||
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
|
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
|
||||||
|
|
||||||
private static final Tag[] debugTagWay = { new Tag("debug", "way") };
|
//private static final Tag[] debugTagWay = { new Tag("debug", "way") };
|
||||||
private static final Tag[] debugTagArea = { new Tag("debug", "area") };
|
//private static final Tag[] debugTagArea = { new Tag("debug", "area") };
|
||||||
|
|
||||||
// replacement for variable value tags that should not be matched by RenderTheme
|
// replacement for variable value tags that should not be matched by RenderTheme
|
||||||
// FIXME make this general, maybe subclass tags
|
// FIXME make this general, maybe subclass tags
|
||||||
private static final Tag mTagEmptyName = new Tag(Tag.TAG_KEY_NAME, null, false);
|
private static final Tag mTagEmptyName = new Tag(Tag.TAG_KEY_NAME, null, false);
|
||||||
private static final Tag mTagEmptyHouseNr = new Tag(Tag.TAG_KEY_HOUSE_NUMBER, null, false);
|
private static final Tag mTagEmptyHouseNr = new Tag(Tag.TAG_KEY_HOUSE_NUMBER, null, false);
|
||||||
|
|
||||||
// private final MapElement mDebugWay, mDebugPoint;
|
|
||||||
|
|
||||||
private static DebugSettings debug;
|
|
||||||
|
|
||||||
private IRenderTheme renderTheme;
|
private IRenderTheme renderTheme;
|
||||||
private int renderLevels;
|
private int renderLevels;
|
||||||
|
|
||||||
@ -110,10 +105,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
renderLevels = theme.getLevels();
|
renderLevels = theme.getLevels();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setDebugSettings(DebugSettings debugSettings) {
|
|
||||||
debug = debugSettings;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
public VectorTileLoader(TileManager tileManager) {
|
public VectorTileLoader(TileManager tileManager) {
|
||||||
@ -315,24 +306,18 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
if (!filterTags(element.tags))
|
if (!filterTags(element.tags))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
boolean closed = element.type == GeometryType.POLY;
|
|
||||||
|
|
||||||
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
|
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
|
||||||
|
|
||||||
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
||||||
|
|
||||||
renderWay(ri);
|
renderWay(ri);
|
||||||
|
|
||||||
if (debug.debugTheme && ri == null)
|
|
||||||
debugUnmatched(closed, element.tags);
|
|
||||||
|
|
||||||
mCurLineLayer = null;
|
mCurLineLayer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
mElement = null;
|
mElement = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void debugUnmatched(boolean closed, TagSet tags) {
|
//private void debugUnmatched(boolean closed, TagSet tags) {
|
||||||
// Log.d(TAG, "DBG way not matched: " + closed + " "
|
// Log.d(TAG, "DBG way not matched: " + closed + " "
|
||||||
// + Arrays.deepToString(tags));
|
// + Arrays.deepToString(tags));
|
||||||
//
|
//
|
||||||
@ -342,7 +327,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
// mElement.tags = closed ? debugTagArea : debugTagWay;
|
// mElement.tags = closed ? debugTagArea : debugTagWay;
|
||||||
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
|
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
|
||||||
// renderWay(ri);
|
// renderWay(ri);
|
||||||
}
|
//}
|
||||||
|
|
||||||
private void renderWay(RenderInstruction[] ri) {
|
private void renderWay(RenderInstruction[] ri) {
|
||||||
if (ri == null)
|
if (ri == null)
|
||||||
@ -443,9 +428,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug.disablePolygons)
|
|
||||||
return;
|
|
||||||
|
|
||||||
PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer);
|
PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer);
|
||||||
|
|
||||||
if (layer == null)
|
if (layer == null)
|
||||||
|
@ -24,7 +24,6 @@ import org.oscim.core.Tag;
|
|||||||
import org.oscim.core.TagSet;
|
import org.oscim.core.TagSet;
|
||||||
import org.oscim.core.Tile;
|
import org.oscim.core.Tile;
|
||||||
import org.oscim.layers.tile.vector.labeling.WayDecorator;
|
import org.oscim.layers.tile.vector.labeling.WayDecorator;
|
||||||
import org.oscim.map.DebugSettings;
|
|
||||||
import org.oscim.renderer.elements.ElementLayers;
|
import org.oscim.renderer.elements.ElementLayers;
|
||||||
import org.oscim.renderer.elements.ExtrusionLayer;
|
import org.oscim.renderer.elements.ExtrusionLayer;
|
||||||
import org.oscim.renderer.elements.LineLayer;
|
import org.oscim.renderer.elements.LineLayer;
|
||||||
@ -49,17 +48,6 @@ import org.oscim.tiling.source.ITileDataSource.QueryResult;
|
|||||||
import org.oscim.utils.LineClipper;
|
import org.oscim.utils.LineClipper;
|
||||||
import org.oscim.utils.pool.Inlist;
|
import org.oscim.utils.pool.Inlist;
|
||||||
|
|
||||||
/**
|
|
||||||
* @note
|
|
||||||
* 0.
|
|
||||||
* 1. The ... call MapTileLoader.executeJob() to load a tile.
|
|
||||||
* 2. The tile data will be loaded from current TileSource
|
|
||||||
* 3. TileSource calls the IMapDataSink process()
|
|
||||||
* . implemented by MapTileLoader for MapElement items.
|
|
||||||
* 4. these callbacks then call RenderTheme to get the matching RenderInstructions (style).
|
|
||||||
* 5. RenderTheme calls IRenderCallback functions with style information
|
|
||||||
* 6. Styled items become added to MapTile.layers...
|
|
||||||
*/
|
|
||||||
public class VectorTileLoader extends TileLoader implements IRenderTheme.Callback, ITileDataSink {
|
public class VectorTileLoader extends TileLoader implements IRenderTheme.Callback, ITileDataSink {
|
||||||
|
|
||||||
private static final String TAG = VectorTileLoader.class.getName();
|
private static final String TAG = VectorTileLoader.class.getName();
|
||||||
@ -70,8 +58,8 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
|
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
|
||||||
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
|
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
|
||||||
|
|
||||||
private static final Tag[] debugTagWay = { new Tag("debug", "way") };
|
//private static final Tag[] debugTagWay = { new Tag("debug", "way") };
|
||||||
private static final Tag[] debugTagArea = { new Tag("debug", "area") };
|
//private static final Tag[] debugTagArea = { new Tag("debug", "area") };
|
||||||
|
|
||||||
// replacement for variable value tags that should not be matched by RenderTheme
|
// replacement for variable value tags that should not be matched by RenderTheme
|
||||||
// FIXME make this general, maybe subclass tags
|
// FIXME make this general, maybe subclass tags
|
||||||
@ -80,8 +68,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
|
|
||||||
// private final MapElement mDebugWay, mDebugPoint;
|
// private final MapElement mDebugWay, mDebugPoint;
|
||||||
|
|
||||||
private static DebugSettings debug;
|
|
||||||
|
|
||||||
private IRenderTheme renderTheme;
|
private IRenderTheme renderTheme;
|
||||||
private int renderLevels;
|
private int renderLevels;
|
||||||
|
|
||||||
@ -113,10 +99,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
renderLevels = theme.getLevels();
|
renderLevels = theme.getLevels();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setDebugSettings(DebugSettings debugSettings) {
|
|
||||||
debug = debugSettings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public VectorTileLoader(TileManager tileManager) {
|
public VectorTileLoader(TileManager tileManager) {
|
||||||
super(tileManager);
|
super(tileManager);
|
||||||
|
|
||||||
@ -284,27 +266,22 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
// remove tags that should not be cached in Rendertheme
|
// remove tags that should not be cached in Rendertheme
|
||||||
filterTags(element.tags);
|
filterTags(element.tags);
|
||||||
|
|
||||||
// get render instructions
|
// get and apply render instructions
|
||||||
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
renderNode(renderTheme.matchElement(element, mTile.zoomLevel));
|
||||||
|
|
||||||
if (ri != null)
|
|
||||||
renderNode(ri);
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// replace tags that should not be cached in Rendertheme (e.g. name)
|
// replace tags that should not be cached in Rendertheme (e.g. name)
|
||||||
if (!filterTags(element.tags))
|
if (!filterTags(element.tags))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
boolean closed = element.type == GeometryType.POLY;
|
|
||||||
|
|
||||||
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
|
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
|
||||||
|
|
||||||
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
// get and apply render instructions
|
||||||
|
renderWay(renderTheme.matchElement(element, mTile.zoomLevel));
|
||||||
|
|
||||||
renderWay(ri);
|
//boolean closed = element.type == GeometryType.POLY;
|
||||||
|
//if (debug.debugTheme && ri == null)
|
||||||
if (debug.debugTheme && ri == null)
|
// debugUnmatched(closed, element.tags);
|
||||||
debugUnmatched(closed, element.tags);
|
|
||||||
|
|
||||||
mCurLineLayer = null;
|
mCurLineLayer = null;
|
||||||
}
|
}
|
||||||
@ -312,7 +289,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
mElement = null;
|
mElement = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void debugUnmatched(boolean closed, TagSet tags) {
|
//private void debugUnmatched(boolean closed, TagSet tags) {
|
||||||
// Log.d(TAG, "DBG way not matched: " + closed + " "
|
// Log.d(TAG, "DBG way not matched: " + closed + " "
|
||||||
// + Arrays.deepToString(tags));
|
// + Arrays.deepToString(tags));
|
||||||
//
|
//
|
||||||
@ -322,7 +299,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
// mElement.tags = closed ? debugTagArea : debugTagWay;
|
// mElement.tags = closed ? debugTagArea : debugTagWay;
|
||||||
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
|
// RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
|
||||||
// renderWay(ri);
|
// renderWay(ri);
|
||||||
}
|
//}
|
||||||
|
|
||||||
private void renderWay(RenderInstruction[] ri) {
|
private void renderWay(RenderInstruction[] ri) {
|
||||||
if (ri == null)
|
if (ri == null)
|
||||||
@ -346,10 +323,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
mCurLineLayer = null;
|
mCurLineLayer = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
|
||||||
// public void renderWaterBackground() {
|
|
||||||
// }
|
|
||||||
|
|
||||||
// ----------------- RenderThemeCallback -----------------
|
// ----------------- RenderThemeCallback -----------------
|
||||||
@Override
|
@Override
|
||||||
public void renderWay(Line line, int level) {
|
public void renderWay(Line line, int level) {
|
||||||
@ -423,17 +396,12 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug.disablePolygons)
|
|
||||||
return;
|
|
||||||
|
|
||||||
PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer);
|
PolygonLayer layer = mTile.layers.getPolygonLayer(numLayer);
|
||||||
|
|
||||||
if (layer == null)
|
if (layer == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//if (layer.area == null)
|
|
||||||
layer.area = area;
|
layer.area = area;
|
||||||
|
|
||||||
layer.addPolygon(mElement.points, mElement.index);
|
layer.addPolygon(mElement.points, mElement.index);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -501,7 +469,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderPointSymbol(Symbol symbol) {
|
public void renderPointSymbol(Symbol symbol) {
|
||||||
if (symbol.texture == null){
|
if (symbol.texture == null) {
|
||||||
Log.d(TAG, "missing symbol for " + mElement.tags.asString());
|
Log.d(TAG, "missing symbol for " + mElement.tags.asString());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -524,7 +492,8 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* used for event-driven loading by html backend */
|
* used for event-driven loading by html backend
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void completed(boolean success) {
|
public void completed(boolean success) {
|
||||||
}
|
}
|
||||||
|
@ -304,8 +304,8 @@ class TextRenderer extends ElementRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ElementLayers dbg = null;
|
ElementLayers dbg = null;
|
||||||
if (mMap.getDebugSettings().debugLabels)
|
//if (mMap.getDebugSettings().debugLabels)
|
||||||
dbg = new ElementLayers();
|
// dbg = new ElementLayers();
|
||||||
|
|
||||||
int mw = (mMap.getWidth() + Tile.SIZE) / 2;
|
int mw = (mMap.getWidth() + Tile.SIZE) / 2;
|
||||||
int mh = (mMap.getHeight() + Tile.SIZE) / 2;
|
int mh = (mMap.getHeight() + Tile.SIZE) / 2;
|
||||||
@ -323,8 +323,8 @@ class TextRenderer extends ElementRenderer {
|
|||||||
|
|
||||||
int maxx = Tile.SIZE << (zoom - 1);
|
int maxx = Tile.SIZE << (zoom - 1);
|
||||||
|
|
||||||
if (dbg != null)
|
//if (dbg != null)
|
||||||
Debug.addDebugLayers(dbg);
|
// Debug.addDebugLayers(dbg);
|
||||||
|
|
||||||
SymbolLayer sl = mNextLayer.symbolLayer;
|
SymbolLayer sl = mNextLayer.symbolLayer;
|
||||||
sl.clearItems();
|
sl.clearItems();
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010, 2011, 2012 mapsforge.org
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify it under the
|
|
||||||
* terms of the GNU Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
||||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License along with
|
|
||||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
package org.oscim.map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A simple DTO to stores flags for debugging rendered map tiles.
|
|
||||||
*/
|
|
||||||
public class DebugSettings {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* True if drawing of tile coordinates is enabled, false otherwise.
|
|
||||||
*/
|
|
||||||
public final boolean drawTileCoordinates;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* True if drawing of tile frames is enabled, false otherwise.
|
|
||||||
*/
|
|
||||||
public final boolean drawTileFrames;
|
|
||||||
|
|
||||||
public final boolean debugTheme;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* True if highlighting of water tiles is enabled, false otherwise.
|
|
||||||
*/
|
|
||||||
public final boolean disablePolygons;
|
|
||||||
|
|
||||||
public final boolean debugLabels;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param drawTileCoordinates
|
|
||||||
* if drawing of tile coordinates is enabled.
|
|
||||||
* @param drawTileFrames
|
|
||||||
* if drawing of tile frames is enabled.
|
|
||||||
* @param disablePolygons
|
|
||||||
* if highlighting of water tiles is enabled.
|
|
||||||
* @param debugTheme
|
|
||||||
* ...
|
|
||||||
* @param debugLabels ...
|
|
||||||
*/
|
|
||||||
public DebugSettings(boolean drawTileCoordinates, boolean drawTileFrames,
|
|
||||||
boolean disablePolygons, boolean debugTheme, boolean debugLabels) {
|
|
||||||
this.drawTileCoordinates = drawTileCoordinates;
|
|
||||||
this.drawTileFrames = drawTileFrames;
|
|
||||||
this.debugTheme = debugTheme;
|
|
||||||
this.disablePolygons = disablePolygons;
|
|
||||||
this.debugLabels = debugLabels;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DebugSettings() {
|
|
||||||
this.drawTileCoordinates = false;
|
|
||||||
this.drawTileFrames = false;
|
|
||||||
this.debugTheme = false;
|
|
||||||
this.disablePolygons = false;
|
|
||||||
this.debugLabels = false;
|
|
||||||
}
|
|
||||||
}
|
|
@ -50,13 +50,10 @@ public abstract class Map implements EventDispatcher {
|
|||||||
private final MapPosition mMapPosition;
|
private final MapPosition mMapPosition;
|
||||||
private final AsyncExecutor mAsyncExecutor;
|
private final AsyncExecutor mAsyncExecutor;
|
||||||
|
|
||||||
private DebugSettings mDebugSettings;
|
|
||||||
|
|
||||||
protected boolean mClearMap;
|
protected boolean mClearMap;
|
||||||
protected final MapEventLayer mEventLayer;
|
protected final MapEventLayer mEventLayer;
|
||||||
|
|
||||||
private VectorTileLayer mBaseLayer;
|
private VectorTileLayer mBaseLayer;
|
||||||
//private BitmapTileLayer mBackgroundLayer;
|
|
||||||
|
|
||||||
public Map() {
|
public Map() {
|
||||||
|
|
||||||
@ -67,9 +64,6 @@ public abstract class Map implements EventDispatcher {
|
|||||||
mLayers = new Layers();
|
mLayers = new Layers();
|
||||||
mAsyncExecutor = new AsyncExecutor(2);
|
mAsyncExecutor = new AsyncExecutor(2);
|
||||||
|
|
||||||
mDebugSettings = new DebugSettings();
|
|
||||||
VectorTileLoader.setDebugSettings(mDebugSettings);
|
|
||||||
|
|
||||||
mEventLayer = new MapEventLayer(this);
|
mEventLayer = new MapEventLayer(this);
|
||||||
mLayers.add(0, mEventLayer);
|
mLayers.add(0, mEventLayer);
|
||||||
}
|
}
|
||||||
@ -186,14 +180,6 @@ public abstract class Map implements EventDispatcher {
|
|||||||
* This function is run on main-loop before rendering a frame.
|
* This function is run on main-loop before rendering a frame.
|
||||||
* Caution: Do not call directly!
|
* Caution: Do not call directly!
|
||||||
*/
|
*/
|
||||||
public void setDebugSettings(DebugSettings debugSettings) {
|
|
||||||
mDebugSettings = debugSettings;
|
|
||||||
//MapTileLoader.setDebugSettings(debugSettings);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DebugSettings getDebugSettings() {
|
|
||||||
return mDebugSettings;
|
|
||||||
|
|
||||||
protected void updateLayers() {
|
protected void updateLayers() {
|
||||||
mUpdateDispatcher.dispatch();
|
mUpdateDispatcher.dispatch();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user