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,
|
* projection: ol.proj.ProjectionLike,
|
||||||
* state: (ol.source.State|string|undefined),
|
* state: (ol.source.State|string|undefined),
|
||||||
* format: (ol.format.Feature|undefined),
|
* format: (ol.format.Feature|undefined),
|
||||||
* rightHandedPolygons: (boolean|undefined),
|
|
||||||
* tileClass: (function(new: ol.VectorTile, ol.TileCoord,
|
* tileClass: (function(new: ol.VectorTile, ol.TileCoord,
|
||||||
* ol.TileState, string, ol.format.Feature,
|
* ol.TileState, string, ol.format.Feature,
|
||||||
* ol.TileLoadFunctionType)|undefined),
|
* ol.TileLoadFunctionType)|undefined),
|
||||||
@@ -4153,16 +4152,6 @@ olx.source.VectorTileOptions.prototype.opaque;
|
|||||||
olx.source.VectorTileOptions.prototype.projection;
|
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.
|
* Source state.
|
||||||
* @type {ol.source.State|string|undefined}
|
* @type {ol.source.State|string|undefined}
|
||||||
|
|||||||
@@ -24,6 +24,12 @@ ol.format.Feature = function() {
|
|||||||
* @type {ol.proj.Projection}
|
* @type {ol.proj.Projection}
|
||||||
*/
|
*/
|
||||||
this.defaultDataProjection = null;
|
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`
|
* Sets the `defaultDataProjection` on the options, if no `dataProjection`
|
||||||
* is set.
|
* is set.
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ ol.format.MVT = function(opt_options) {
|
|||||||
*/
|
*/
|
||||||
this.layers_ = goog.isDef(options.layers) ? options.layers : null;
|
this.layers_ = goog.isDef(options.layers) ? options.layers : null;
|
||||||
|
|
||||||
|
this.rightHandedPolygons = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
goog.inherits(ol.format.MVT, ol.format.Feature);
|
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;
|
var tileResolution = pixelSpace ? source.getTilePixelRatio() : resolution;
|
||||||
replayState.dirty = false;
|
replayState.dirty = false;
|
||||||
var replayGroup = new ol.render.canvas.ReplayGroup(0, extent,
|
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(
|
var squaredTolerance = ol.renderer.vector.getSquaredTolerance(
|
||||||
tileResolution, pixelRatio);
|
tileResolution, pixelRatio);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user