Handle righthanded polygons in format, not source
This commit is contained in:
@@ -4106,7 +4106,6 @@ olx.source.TileImageOptions.prototype.wrapX;
|
||||
* projection: ol.proj.ProjectionLike,
|
||||
* state: (ol.source.State|string|undefined),
|
||||
* format: (ol.format.Feature|undefined),
|
||||
* rightHandedPolygons: (boolean|undefined),
|
||||
* tileClass: (function(new: ol.VectorTile, ol.TileCoord,
|
||||
* ol.TileState, string, ol.format.Feature,
|
||||
* ol.TileLoadFunctionType)|undefined),
|
||||
@@ -4153,16 +4152,6 @@ olx.source.VectorTileOptions.prototype.opaque;
|
||||
olx.source.VectorTileOptions.prototype.projection;
|
||||
|
||||
|
||||
/**
|
||||
* Assume that all polygons provided by this source follow the right-hand rule
|
||||
* (counter-clockwise for exterior and clockwise for interior rings). If `true`,
|
||||
* renderers will skip the check for the ring orientation.
|
||||
* @type {boolean|undefined}
|
||||
* @api
|
||||
*/
|
||||
olx.source.VectorTileOptions.prototype.rightHandedPolygons;
|
||||
|
||||
|
||||
/**
|
||||
* Source state.
|
||||
* @type {ol.source.State|string|undefined}
|
||||
|
||||
@@ -24,6 +24,12 @@ ol.format.Feature = function() {
|
||||
* @type {ol.proj.Projection}
|
||||
*/
|
||||
this.defaultDataProjection = null;
|
||||
|
||||
/**
|
||||
* @protected
|
||||
* @type {boolean}
|
||||
*/
|
||||
this.rightHandedPolygons = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -53,6 +59,14 @@ ol.format.Feature.prototype.getReadOptions = function(source, opt_options) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @return {boolean}
|
||||
*/
|
||||
ol.format.Feature.prototype.getRightHandedPolygons = function() {
|
||||
return this.rightHandedPolygons;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Sets the `defaultDataProjection` on the options, if no `dataProjection`
|
||||
* is set.
|
||||
|
||||
@@ -75,6 +75,8 @@ ol.format.MVT = function(opt_options) {
|
||||
*/
|
||||
this.layers_ = goog.isDef(options.layers) ? options.layers : null;
|
||||
|
||||
this.rightHandedPolygons = true;
|
||||
|
||||
};
|
||||
goog.inherits(ol.format.MVT, ol.format.Feature);
|
||||
|
||||
|
||||
@@ -196,7 +196,8 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup = function(tile,
|
||||
var tileResolution = pixelSpace ? source.getTilePixelRatio() : resolution;
|
||||
replayState.dirty = false;
|
||||
var replayGroup = new ol.render.canvas.ReplayGroup(0, extent,
|
||||
tileResolution, layer.getRenderBuffer(), source.getRightHandedPolygons());
|
||||
tileResolution, layer.getRenderBuffer(),
|
||||
tile.getFormat().getRightHandedPolygons());
|
||||
var squaredTolerance = ol.renderer.vector.getSquaredTolerance(
|
||||
tileResolution, pixelRatio);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user