BuildingLayer: add getExtrusionRenderer (#633)
This commit is contained in:
parent
929d1fc78b
commit
cae68ffec9
@ -39,7 +39,6 @@ import org.oscim.layers.tile.buildings.BuildingLayer;
|
|||||||
import org.oscim.layers.tile.buildings.S3DBTileLayer;
|
import org.oscim.layers.tile.buildings.S3DBTileLayer;
|
||||||
import org.oscim.layers.tile.vector.VectorTileLayer;
|
import org.oscim.layers.tile.vector.VectorTileLayer;
|
||||||
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||||
import org.oscim.renderer.ExtrusionRenderer;
|
|
||||||
import org.oscim.renderer.MapRenderer;
|
import org.oscim.renderer.MapRenderer;
|
||||||
import org.oscim.theme.StreamRenderTheme;
|
import org.oscim.theme.StreamRenderTheme;
|
||||||
import org.oscim.theme.VtmThemes;
|
import org.oscim.theme.VtmThemes;
|
||||||
@ -151,7 +150,7 @@ class GwtMap extends GdxMap {
|
|||||||
|
|
||||||
if (!nobuildings && !s3db) {
|
if (!nobuildings && !s3db) {
|
||||||
mBuildingLayer = new BuildingLayer(mMap, l);
|
mBuildingLayer = new BuildingLayer(mMap, l);
|
||||||
((ExtrusionRenderer) mBuildingLayer.getRenderer()).setZLimit((float) 65536 / 10);
|
mBuildingLayer.getExtrusionRenderer().setZLimit((float) 65536 / 10);
|
||||||
mMap.layers().add(mBuildingLayer);
|
mMap.layers().add(mBuildingLayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +173,7 @@ class GwtMap extends GdxMap {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
((ExtrusionRenderer) mBuildingLayer.getRenderer()).setZLimit((float) val / 10);
|
mBuildingLayer.getExtrusionRenderer().setZLimit((float) val / 10);
|
||||||
|
|
||||||
mMap.updateMap(true);
|
mMap.updateMap(true);
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ import org.oscim.layers.tile.ZoomLimiter;
|
|||||||
import org.oscim.layers.tile.vector.VectorTileLayer;
|
import org.oscim.layers.tile.vector.VectorTileLayer;
|
||||||
import org.oscim.layers.tile.vector.VectorTileLayer.TileLoaderThemeHook;
|
import org.oscim.layers.tile.vector.VectorTileLayer.TileLoaderThemeHook;
|
||||||
import org.oscim.map.Map;
|
import org.oscim.map.Map;
|
||||||
|
import org.oscim.renderer.ExtrusionRenderer;
|
||||||
import org.oscim.renderer.OffscreenRenderer;
|
import org.oscim.renderer.OffscreenRenderer;
|
||||||
import org.oscim.renderer.OffscreenRenderer.Mode;
|
import org.oscim.renderer.OffscreenRenderer.Mode;
|
||||||
import org.oscim.renderer.bucket.ExtrusionBuckets;
|
import org.oscim.renderer.bucket.ExtrusionBuckets;
|
||||||
@ -65,6 +66,8 @@ public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLim
|
|||||||
// Can be replaced with Multimap in Java 8
|
// Can be replaced with Multimap in Java 8
|
||||||
protected java.util.Map<Integer, List<BuildingElement>> mBuildings = new HashMap<>();
|
protected java.util.Map<Integer, List<BuildingElement>> mBuildings = new HashMap<>();
|
||||||
|
|
||||||
|
protected final ExtrusionRenderer mExtrusionRenderer;
|
||||||
|
|
||||||
private final ZoomLimiter mZoomLimiter;
|
private final ZoomLimiter mZoomLimiter;
|
||||||
|
|
||||||
protected final IRenderTheme mRenderTheme;
|
protected final IRenderTheme mRenderTheme;
|
||||||
@ -103,7 +106,7 @@ public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLim
|
|||||||
// Use zoomMin as zoomLimit to render buildings only once
|
// Use zoomMin as zoomLimit to render buildings only once
|
||||||
mZoomLimiter = new ZoomLimiter(tileLayer.getManager(), zoomMin, zoomMax, zoomMin);
|
mZoomLimiter = new ZoomLimiter(tileLayer.getManager(), zoomMin, zoomMax, zoomMin);
|
||||||
|
|
||||||
mRenderer = new BuildingRenderer(tileLayer.tileRenderer(), mZoomLimiter, mesh, TRANSLUCENT);
|
mRenderer = mExtrusionRenderer = new BuildingRenderer(tileLayer.tileRenderer(), mZoomLimiter, mesh, TRANSLUCENT);
|
||||||
if (POST_AA)
|
if (POST_AA)
|
||||||
mRenderer = new OffscreenRenderer(Mode.SSAO_FXAA, mRenderer);
|
mRenderer = new OffscreenRenderer(Mode.SSAO_FXAA, mRenderer);
|
||||||
|
|
||||||
@ -243,6 +246,13 @@ public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLim
|
|||||||
return ebs;
|
return ebs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the ExtrusionRenderer for customization.
|
||||||
|
*/
|
||||||
|
public ExtrusionRenderer getExtrusionRenderer() {
|
||||||
|
return mExtrusionRenderer;
|
||||||
|
}
|
||||||
|
|
||||||
protected String getKeyOrDefault(String key) {
|
protected String getKeyOrDefault(String key) {
|
||||||
if (mRenderTheme == null)
|
if (mRenderTheme == null)
|
||||||
return key;
|
return key;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user