Remove right-handed polygon handling in renderer

Since ol.render.Feature assumes right-handed polygons anyway, this
extra optimization is not needed.
This commit is contained in:
Andreas Hocevar
2015-10-28 09:05:47 +01:00
parent 5832943773
commit 5d264d2bf0
5 changed files with 5 additions and 52 deletions

View File

@@ -25,11 +25,6 @@ ol.format.Feature = function() {
*/
this.defaultDataProjection = null;
/**
* @protected
* @type {boolean}
*/
this.rightHandedPolygons = false;
};
@@ -59,14 +54,6 @@ 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.

View File

@@ -74,8 +74,6 @@ ol.format.MVT = function(opt_options) {
*/
this.layers_ = options.layers ? options.layers : null;
this.rightHandedPolygons = true;
};
goog.inherits(ol.format.MVT, ol.format.Feature);

View File

@@ -1180,12 +1180,6 @@ ol.render.canvas.PolygonReplay = function(tolerance, maxExtent, resolution) {
miterLimit: undefined
};
/**
* @private
* @type {boolean}
*/
this.rightHanded_ = false;
};
goog.inherits(ol.render.canvas.PolygonReplay, ol.render.canvas.Replay);
@@ -1318,9 +1312,7 @@ ol.render.canvas.PolygonReplay.prototype.drawPolygonGeometry =
state.miterLimit, state.lineDash]);
}
var ends = polygonGeometry.getEnds();
var flatCoordinates = this.rightHanded_ ?
polygonGeometry.getFlatCoordinates() :
polygonGeometry.getOrientedFlatCoordinates();
var flatCoordinates = polygonGeometry.getOrientedFlatCoordinates();
var stride = polygonGeometry.getStride();
this.drawFlatCoordinatess_(flatCoordinates, 0, ends, stride);
this.endGeometry(polygonGeometry, feature);
@@ -1405,16 +1397,6 @@ ol.render.canvas.PolygonReplay.prototype.getBufferedMaxExtent = function() {
};
/**
* @param {boolean} rightHanded Whether polygons are assumed to follow
* the right-hand rule.
*/
ol.render.canvas.PolygonReplay.prototype.setRightHanded =
function(rightHanded) {
this.rightHanded_ = rightHanded;
};
/**
* @inheritDoc
*/
@@ -1833,13 +1815,10 @@ ol.render.canvas.TextReplay.prototype.setTextStyle = function(textStyle) {
* @param {ol.Extent} maxExtent Max extent.
* @param {number} resolution Resolution.
* @param {number=} opt_renderBuffer Optional rendering buffer.
* @param {boolean=} opt_rightHandedPolygons Assume that polygons follow the
* right-hand rule.
* @struct
*/
ol.render.canvas.ReplayGroup = function(
tolerance, maxExtent, resolution, opt_renderBuffer,
opt_rightHandedPolygons) {
tolerance, maxExtent, resolution, opt_renderBuffer) {
/**
* @private
@@ -1884,13 +1863,6 @@ ol.render.canvas.ReplayGroup = function(
*/
this.hitDetectionTransform_ = goog.vec.Mat4.createNumber();
/**
* @private
* @type {boolean}
*/
this.rightHandedPolygons_ = opt_rightHandedPolygons ?
opt_rightHandedPolygons : false;
};
@@ -1979,10 +1951,6 @@ ol.render.canvas.ReplayGroup.prototype.getReplay =
' constructor missing from ol.render.canvas.BATCH_CONSTRUCTORS_');
replay = new Constructor(this.tolerance_, this.maxExtent_,
this.resolution_);
if (replayType == ol.render.ReplayType.POLYGON) {
goog.asserts.assertInstanceof(replay, ol.render.canvas.PolygonReplay);
replay.setRightHanded(this.rightHandedPolygons_);
}
replays[replayType] = replay;
}
return replay;

View File

@@ -15,7 +15,8 @@ goog.require('ol.geom.GeometryType');
*
* @constructor
* @param {ol.geom.GeometryType} type Geometry type.
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {Array.<number>} flatCoordinates Flat coordinates. These always need
* to be right-handed for polygons.
* @param {Array.<number>|Array.<Array.<number>>} ends Ends or Endss.
* @param {Object.<string, *>} properties Properties.
*/

View File

@@ -191,8 +191,7 @@ 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(),
tile.getFormat().getRightHandedPolygons());
tileResolution, layer.getRenderBuffer());
var squaredTolerance = ol.renderer.vector.getSquaredTolerance(
tileResolution, pixelRatio);