ol/geom/flat/transform export
This commit is contained in:
@@ -5,7 +5,7 @@ import {inherits} from '../index.js';
|
|||||||
import BaseObject from '../Object.js';
|
import BaseObject from '../Object.js';
|
||||||
import {createEmpty, getHeight, returnOrUpdate} from '../extent.js';
|
import {createEmpty, getHeight, returnOrUpdate} from '../extent.js';
|
||||||
import {FALSE} from '../functions.js';
|
import {FALSE} from '../functions.js';
|
||||||
import _ol_geom_flat_transform_ from '../geom/flat/transform.js';
|
import {transform2D} from '../geom/flat/transform.js';
|
||||||
import {get as getProjection, getTransform} from '../proj.js';
|
import {get as getProjection, getTransform} from '../proj.js';
|
||||||
import Units from '../proj/Units.js';
|
import Units from '../proj/Units.js';
|
||||||
import _ol_transform_ from '../transform.js';
|
import _ol_transform_ from '../transform.js';
|
||||||
@@ -265,7 +265,7 @@ Geometry.prototype.transform = function(source, destination) {
|
|||||||
projectedExtent[0], projectedExtent[3],
|
projectedExtent[0], projectedExtent[3],
|
||||||
scale, -scale, 0,
|
scale, -scale, 0,
|
||||||
0, 0);
|
0, 0);
|
||||||
_ol_geom_flat_transform_.transform2D(inCoordinates, 0, inCoordinates.length, stride,
|
transform2D(inCoordinates, 0, inCoordinates.length, stride,
|
||||||
tmpTransform, outCoordinates);
|
tmpTransform, outCoordinates);
|
||||||
return getTransform(source, destination)(inCoordinates, outCoordinates, stride);
|
return getTransform(source, destination)(inCoordinates, outCoordinates, stride);
|
||||||
} :
|
} :
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {FALSE} from '../functions.js';
|
|||||||
import {createOrUpdateFromFlatCoordinates, getCenter} from '../extent.js';
|
import {createOrUpdateFromFlatCoordinates, getCenter} from '../extent.js';
|
||||||
import Geometry from '../geom/Geometry.js';
|
import Geometry from '../geom/Geometry.js';
|
||||||
import GeometryLayout from '../geom/GeometryLayout.js';
|
import GeometryLayout from '../geom/GeometryLayout.js';
|
||||||
import _ol_geom_flat_transform_ from '../geom/flat/transform.js';
|
import {rotate, scale, translate, transform2D} from '../geom/flat/transform.js';
|
||||||
import {clear} from '../obj.js';
|
import {clear} from '../obj.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -267,7 +267,7 @@ SimpleGeometry.prototype.rotate = function(angle, anchor) {
|
|||||||
const flatCoordinates = this.getFlatCoordinates();
|
const flatCoordinates = this.getFlatCoordinates();
|
||||||
if (flatCoordinates) {
|
if (flatCoordinates) {
|
||||||
const stride = this.getStride();
|
const stride = this.getStride();
|
||||||
_ol_geom_flat_transform_.rotate(
|
rotate(
|
||||||
flatCoordinates, 0, flatCoordinates.length,
|
flatCoordinates, 0, flatCoordinates.length,
|
||||||
stride, angle, anchor, flatCoordinates);
|
stride, angle, anchor, flatCoordinates);
|
||||||
this.changed();
|
this.changed();
|
||||||
@@ -291,7 +291,7 @@ SimpleGeometry.prototype.scale = function(sx, opt_sy, opt_anchor) {
|
|||||||
const flatCoordinates = this.getFlatCoordinates();
|
const flatCoordinates = this.getFlatCoordinates();
|
||||||
if (flatCoordinates) {
|
if (flatCoordinates) {
|
||||||
const stride = this.getStride();
|
const stride = this.getStride();
|
||||||
_ol_geom_flat_transform_.scale(
|
scale(
|
||||||
flatCoordinates, 0, flatCoordinates.length,
|
flatCoordinates, 0, flatCoordinates.length,
|
||||||
stride, sx, sy, anchor, flatCoordinates);
|
stride, sx, sy, anchor, flatCoordinates);
|
||||||
this.changed();
|
this.changed();
|
||||||
@@ -307,7 +307,7 @@ SimpleGeometry.prototype.translate = function(deltaX, deltaY) {
|
|||||||
const flatCoordinates = this.getFlatCoordinates();
|
const flatCoordinates = this.getFlatCoordinates();
|
||||||
if (flatCoordinates) {
|
if (flatCoordinates) {
|
||||||
const stride = this.getStride();
|
const stride = this.getStride();
|
||||||
_ol_geom_flat_transform_.translate(
|
translate(
|
||||||
flatCoordinates, 0, flatCoordinates.length, stride,
|
flatCoordinates, 0, flatCoordinates.length, stride,
|
||||||
deltaX, deltaY, flatCoordinates);
|
deltaX, deltaY, flatCoordinates);
|
||||||
this.changed();
|
this.changed();
|
||||||
@@ -327,7 +327,7 @@ SimpleGeometry.transform2D = function(simpleGeometry, transform, opt_dest) {
|
|||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
const stride = simpleGeometry.getStride();
|
const stride = simpleGeometry.getStride();
|
||||||
return _ol_geom_flat_transform_.transform2D(
|
return transform2D(
|
||||||
flatCoordinates, 0, flatCoordinates.length, stride,
|
flatCoordinates, 0, flatCoordinates.length, stride,
|
||||||
transform, opt_dest);
|
transform, opt_dest);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* @module ol/geom/flat/transform
|
* @module ol/geom/flat/transform
|
||||||
*/
|
*/
|
||||||
const _ol_geom_flat_transform_ = {};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -13,7 +12,7 @@ const _ol_geom_flat_transform_ = {};
|
|||||||
* @param {Array.<number>=} opt_dest Destination.
|
* @param {Array.<number>=} opt_dest Destination.
|
||||||
* @return {Array.<number>} Transformed coordinates.
|
* @return {Array.<number>} Transformed coordinates.
|
||||||
*/
|
*/
|
||||||
_ol_geom_flat_transform_.transform2D = function(flatCoordinates, offset, end, stride, transform, opt_dest) {
|
export function transform2D(flatCoordinates, offset, end, stride, transform, opt_dest) {
|
||||||
const dest = opt_dest ? opt_dest : [];
|
const dest = opt_dest ? opt_dest : [];
|
||||||
let i = 0;
|
let i = 0;
|
||||||
for (let j = offset; j < end; j += stride) {
|
for (let j = offset; j < end; j += stride) {
|
||||||
@@ -26,7 +25,7 @@ _ol_geom_flat_transform_.transform2D = function(flatCoordinates, offset, end, st
|
|||||||
dest.length = i;
|
dest.length = i;
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -39,7 +38,7 @@ _ol_geom_flat_transform_.transform2D = function(flatCoordinates, offset, end, st
|
|||||||
* @param {Array.<number>=} opt_dest Destination.
|
* @param {Array.<number>=} opt_dest Destination.
|
||||||
* @return {Array.<number>} Transformed coordinates.
|
* @return {Array.<number>} Transformed coordinates.
|
||||||
*/
|
*/
|
||||||
_ol_geom_flat_transform_.rotate = function(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) {
|
export function rotate(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) {
|
||||||
const dest = opt_dest ? opt_dest : [];
|
const dest = opt_dest ? opt_dest : [];
|
||||||
const cos = Math.cos(angle);
|
const cos = Math.cos(angle);
|
||||||
const sin = Math.sin(angle);
|
const sin = Math.sin(angle);
|
||||||
@@ -59,7 +58,7 @@ _ol_geom_flat_transform_.rotate = function(flatCoordinates, offset, end, stride,
|
|||||||
dest.length = i;
|
dest.length = i;
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,7 +73,7 @@ _ol_geom_flat_transform_.rotate = function(flatCoordinates, offset, end, stride,
|
|||||||
* @param {Array.<number>=} opt_dest Destination.
|
* @param {Array.<number>=} opt_dest Destination.
|
||||||
* @return {Array.<number>} Transformed coordinates.
|
* @return {Array.<number>} Transformed coordinates.
|
||||||
*/
|
*/
|
||||||
_ol_geom_flat_transform_.scale = function(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) {
|
export function scale(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) {
|
||||||
const dest = opt_dest ? opt_dest : [];
|
const dest = opt_dest ? opt_dest : [];
|
||||||
const anchorX = anchor[0];
|
const anchorX = anchor[0];
|
||||||
const anchorY = anchor[1];
|
const anchorY = anchor[1];
|
||||||
@@ -92,7 +91,7 @@ _ol_geom_flat_transform_.scale = function(flatCoordinates, offset, end, stride,
|
|||||||
dest.length = i;
|
dest.length = i;
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -105,7 +104,7 @@ _ol_geom_flat_transform_.scale = function(flatCoordinates, offset, end, stride,
|
|||||||
* @param {Array.<number>=} opt_dest Destination.
|
* @param {Array.<number>=} opt_dest Destination.
|
||||||
* @return {Array.<number>} Transformed coordinates.
|
* @return {Array.<number>} Transformed coordinates.
|
||||||
*/
|
*/
|
||||||
_ol_geom_flat_transform_.translate = function(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) {
|
export function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) {
|
||||||
const dest = opt_dest ? opt_dest : [];
|
const dest = opt_dest ? opt_dest : [];
|
||||||
let i = 0;
|
let i = 0;
|
||||||
for (let j = offset; j < end; j += stride) {
|
for (let j = offset; j < end; j += stride) {
|
||||||
@@ -119,5 +118,4 @@ _ol_geom_flat_transform_.translate = function(flatCoordinates, offset, end, stri
|
|||||||
dest.length = i;
|
dest.length = i;
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
};
|
}
|
||||||
export default _ol_geom_flat_transform_;
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import GeometryType from '../geom/GeometryType.js';
|
|||||||
import {linearRingss as linearRingssCenter} from '../geom/flat/center.js';
|
import {linearRingss as linearRingssCenter} from '../geom/flat/center.js';
|
||||||
import {getInteriorPointOfArray, getInteriorPointsOfMultiArray} from '../geom/flat/interiorpoint.js';
|
import {getInteriorPointOfArray, getInteriorPointsOfMultiArray} from '../geom/flat/interiorpoint.js';
|
||||||
import {interpolatePoint} from '../geom/flat/interpolate.js';
|
import {interpolatePoint} from '../geom/flat/interpolate.js';
|
||||||
import _ol_geom_flat_transform_ from '../geom/flat/transform.js';
|
import {transform2D} from '../geom/flat/transform.js';
|
||||||
import _ol_transform_ from '../transform.js';
|
import _ol_transform_ from '../transform.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -272,7 +272,7 @@ RenderFeature.prototype.transform = function(source, destination) {
|
|||||||
projectedExtent[0], projectedExtent[3],
|
projectedExtent[0], projectedExtent[3],
|
||||||
scale, -scale, 0,
|
scale, -scale, 0,
|
||||||
0, 0);
|
0, 0);
|
||||||
_ol_geom_flat_transform_.transform2D(this.flatCoordinates_, 0, this.flatCoordinates_.length, 2,
|
transform2D(this.flatCoordinates_, 0, this.flatCoordinates_.length, 2,
|
||||||
transform, this.flatCoordinates_);
|
transform, this.flatCoordinates_);
|
||||||
};
|
};
|
||||||
export default RenderFeature;
|
export default RenderFeature;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import {asColorLike} from '../../colorlike.js';
|
|||||||
import {intersects} from '../../extent.js';
|
import {intersects} from '../../extent.js';
|
||||||
import GeometryType from '../../geom/GeometryType.js';
|
import GeometryType from '../../geom/GeometryType.js';
|
||||||
import SimpleGeometry from '../../geom/SimpleGeometry.js';
|
import SimpleGeometry from '../../geom/SimpleGeometry.js';
|
||||||
import _ol_geom_flat_transform_ from '../../geom/flat/transform.js';
|
import {transform2D} from '../../geom/flat/transform.js';
|
||||||
import {CANVAS_LINE_DASH} from '../../has.js';
|
import {CANVAS_LINE_DASH} from '../../has.js';
|
||||||
import VectorContext from '../VectorContext.js';
|
import VectorContext from '../VectorContext.js';
|
||||||
import _ol_render_canvas_ from '../canvas.js';
|
import _ol_render_canvas_ from '../canvas.js';
|
||||||
@@ -252,7 +252,7 @@ CanvasImmediateRenderer.prototype.drawImages_ = function(flatCoordinates, offset
|
|||||||
if (!this.image_) {
|
if (!this.image_) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const pixelCoordinates = _ol_geom_flat_transform_.transform2D(
|
const pixelCoordinates = transform2D(
|
||||||
flatCoordinates, offset, end, 2, this.transform_,
|
flatCoordinates, offset, end, 2, this.transform_,
|
||||||
this.pixelCoordinates_);
|
this.pixelCoordinates_);
|
||||||
const context = this.context_;
|
const context = this.context_;
|
||||||
@@ -313,7 +313,7 @@ CanvasImmediateRenderer.prototype.drawText_ = function(flatCoordinates, offset,
|
|||||||
this.setContextStrokeState_(this.textStrokeState_);
|
this.setContextStrokeState_(this.textStrokeState_);
|
||||||
}
|
}
|
||||||
this.setContextTextState_(this.textState_);
|
this.setContextTextState_(this.textState_);
|
||||||
const pixelCoordinates = _ol_geom_flat_transform_.transform2D(
|
const pixelCoordinates = transform2D(
|
||||||
flatCoordinates, offset, end, stride, this.transform_,
|
flatCoordinates, offset, end, stride, this.transform_,
|
||||||
this.pixelCoordinates_);
|
this.pixelCoordinates_);
|
||||||
const context = this.context_;
|
const context = this.context_;
|
||||||
@@ -356,7 +356,7 @@ CanvasImmediateRenderer.prototype.drawText_ = function(flatCoordinates, offset,
|
|||||||
*/
|
*/
|
||||||
CanvasImmediateRenderer.prototype.moveToLineTo_ = function(flatCoordinates, offset, end, stride, close) {
|
CanvasImmediateRenderer.prototype.moveToLineTo_ = function(flatCoordinates, offset, end, stride, close) {
|
||||||
const context = this.context_;
|
const context = this.context_;
|
||||||
const pixelCoordinates = _ol_geom_flat_transform_.transform2D(
|
const pixelCoordinates = transform2D(
|
||||||
flatCoordinates, offset, end, stride, this.transform_,
|
flatCoordinates, offset, end, stride, this.transform_,
|
||||||
this.pixelCoordinates_);
|
this.pixelCoordinates_);
|
||||||
context.moveTo(pixelCoordinates[0], pixelCoordinates[1]);
|
context.moveTo(pixelCoordinates[0], pixelCoordinates[1]);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import GeometryType from '../../geom/GeometryType.js';
|
|||||||
import {inflateCoordinates, inflateCoordinatesArray, inflateMultiCoordinatesArray} from '../../geom/flat/inflate.js';
|
import {inflateCoordinates, inflateCoordinatesArray, inflateMultiCoordinatesArray} from '../../geom/flat/inflate.js';
|
||||||
import {lineStringLength} from '../../geom/flat/length.js';
|
import {lineStringLength} from '../../geom/flat/length.js';
|
||||||
import {drawTextOnPath} from '../../geom/flat/textpath.js';
|
import {drawTextOnPath} from '../../geom/flat/textpath.js';
|
||||||
import _ol_geom_flat_transform_ from '../../geom/flat/transform.js';
|
import {transform2D} from '../../geom/flat/transform.js';
|
||||||
import {CANVAS_LINE_DASH} from '../../has.js';
|
import {CANVAS_LINE_DASH} from '../../has.js';
|
||||||
import {isEmpty} from '../../obj.js';
|
import {isEmpty} from '../../obj.js';
|
||||||
import VectorContext from '../VectorContext.js';
|
import VectorContext from '../VectorContext.js';
|
||||||
@@ -549,7 +549,7 @@ CanvasReplay.prototype.replay_ = function(
|
|||||||
if (!this.pixelCoordinates_) {
|
if (!this.pixelCoordinates_) {
|
||||||
this.pixelCoordinates_ = [];
|
this.pixelCoordinates_ = [];
|
||||||
}
|
}
|
||||||
pixelCoordinates = _ol_geom_flat_transform_.transform2D(
|
pixelCoordinates = transform2D(
|
||||||
this.coordinates, 0, this.coordinates.length, 2,
|
this.coordinates, 0, this.coordinates.length, 2,
|
||||||
transform, this.pixelCoordinates_);
|
transform, this.pixelCoordinates_);
|
||||||
_ol_transform_.setFromArray(this.renderedTransform_, transform);
|
_ol_transform_.setFromArray(this.renderedTransform_, transform);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import {inherits} from '../../index.js';
|
|||||||
import {numberSafeCompareFunction} from '../../array.js';
|
import {numberSafeCompareFunction} from '../../array.js';
|
||||||
import {createCanvasContext2D} from '../../dom.js';
|
import {createCanvasContext2D} from '../../dom.js';
|
||||||
import {buffer, createEmpty, extendCoordinate} from '../../extent.js';
|
import {buffer, createEmpty, extendCoordinate} from '../../extent.js';
|
||||||
import _ol_geom_flat_transform_ from '../../geom/flat/transform.js';
|
import {transform2D} from '../../geom/flat/transform.js';
|
||||||
import {isEmpty} from '../../obj.js';
|
import {isEmpty} from '../../obj.js';
|
||||||
import ReplayGroup from '../ReplayGroup.js';
|
import ReplayGroup from '../ReplayGroup.js';
|
||||||
import ReplayType from '../ReplayType.js';
|
import ReplayType from '../ReplayType.js';
|
||||||
@@ -407,7 +407,7 @@ CanvasReplayGroup.prototype.getClipCoords = function(transform) {
|
|||||||
const maxX = maxExtent[2];
|
const maxX = maxExtent[2];
|
||||||
const maxY = maxExtent[3];
|
const maxY = maxExtent[3];
|
||||||
const flatClipCoords = [minX, minY, minX, maxY, maxX, maxY, maxX, minY];
|
const flatClipCoords = [minX, minY, minX, maxY, maxX, maxY, maxX, minY];
|
||||||
_ol_geom_flat_transform_.transform2D(
|
transform2D(
|
||||||
flatClipCoords, 0, 8, 2, transform, flatClipCoords);
|
flatClipCoords, 0, 8, 2, transform, flatClipCoords);
|
||||||
return flatClipCoords;
|
return flatClipCoords;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {equals} from '../../array.js';
|
|||||||
import {asArray} from '../../color.js';
|
import {asArray} from '../../color.js';
|
||||||
import {intersects} from '../../extent.js';
|
import {intersects} from '../../extent.js';
|
||||||
import {isEmpty} from '../../obj.js';
|
import {isEmpty} from '../../obj.js';
|
||||||
import _ol_geom_flat_transform_ from '../../geom/flat/transform.js';
|
import {translate} from '../../geom/flat/transform.js';
|
||||||
import {fragment, vertex} from '../webgl/circlereplay/defaultshader.js';
|
import {fragment, vertex} from '../webgl/circlereplay/defaultshader.js';
|
||||||
import Locations from '../webgl/circlereplay/defaultshader/Locations.js';
|
import Locations from '../webgl/circlereplay/defaultshader/Locations.js';
|
||||||
import WebGLReplay from '../webgl/Replay.js';
|
import WebGLReplay from '../webgl/Replay.js';
|
||||||
@@ -134,7 +134,7 @@ WebGLCircleReplay.prototype.drawCircle = function(circleGeometry, feature) {
|
|||||||
|
|
||||||
this.radius_ = radius;
|
this.radius_ = radius;
|
||||||
let flatCoordinates = circleGeometry.getFlatCoordinates();
|
let flatCoordinates = circleGeometry.getFlatCoordinates();
|
||||||
flatCoordinates = _ol_geom_flat_transform_.translate(flatCoordinates, 0, 2,
|
flatCoordinates = translate(flatCoordinates, 0, 2,
|
||||||
stride, -this.origin[0], -this.origin[1]);
|
stride, -this.origin[0], -this.origin[1]);
|
||||||
this.drawCoordinates_(flatCoordinates, 0, 2, stride);
|
this.drawCoordinates_(flatCoordinates, 0, 2, stride);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {equals} from '../../array.js';
|
|||||||
import {asArray} from '../../color.js';
|
import {asArray} from '../../color.js';
|
||||||
import {intersects} from '../../extent.js';
|
import {intersects} from '../../extent.js';
|
||||||
import {linearRingIsClockwise} from '../../geom/flat/orient.js';
|
import {linearRingIsClockwise} from '../../geom/flat/orient.js';
|
||||||
import _ol_geom_flat_transform_ from '../../geom/flat/transform.js';
|
import {translate} from '../../geom/flat/transform.js';
|
||||||
import {lineStringIsClosed} from '../../geom/flat/topology.js';
|
import {lineStringIsClosed} from '../../geom/flat/topology.js';
|
||||||
import {isEmpty} from '../../obj.js';
|
import {isEmpty} from '../../obj.js';
|
||||||
import _ol_render_webgl_ from '../webgl.js';
|
import _ol_render_webgl_ from '../webgl.js';
|
||||||
@@ -322,7 +322,7 @@ WebGLLineStringReplay.prototype.drawLineString = function(lineStringGeometry, fe
|
|||||||
let flatCoordinates = lineStringGeometry.getFlatCoordinates();
|
let flatCoordinates = lineStringGeometry.getFlatCoordinates();
|
||||||
const stride = lineStringGeometry.getStride();
|
const stride = lineStringGeometry.getStride();
|
||||||
if (this.isValid_(flatCoordinates, 0, flatCoordinates.length, stride)) {
|
if (this.isValid_(flatCoordinates, 0, flatCoordinates.length, stride)) {
|
||||||
flatCoordinates = _ol_geom_flat_transform_.translate(flatCoordinates, 0, flatCoordinates.length,
|
flatCoordinates = translate(flatCoordinates, 0, flatCoordinates.length,
|
||||||
stride, -this.origin[0], -this.origin[1]);
|
stride, -this.origin[0], -this.origin[1]);
|
||||||
if (this.state_.changed) {
|
if (this.state_.changed) {
|
||||||
this.styleIndices_.push(this.indices.length);
|
this.styleIndices_.push(this.indices.length);
|
||||||
@@ -349,7 +349,7 @@ WebGLLineStringReplay.prototype.drawMultiLineString = function(multiLineStringGe
|
|||||||
if (ends.length > 1) {
|
if (ends.length > 1) {
|
||||||
for (i = 1, ii = ends.length; i < ii; ++i) {
|
for (i = 1, ii = ends.length; i < ii; ++i) {
|
||||||
if (this.isValid_(flatCoordinates, ends[i - 1], ends[i], stride)) {
|
if (this.isValid_(flatCoordinates, ends[i - 1], ends[i], stride)) {
|
||||||
const lineString = _ol_geom_flat_transform_.translate(flatCoordinates, ends[i - 1], ends[i],
|
const lineString = translate(flatCoordinates, ends[i - 1], ends[i],
|
||||||
stride, -this.origin[0], -this.origin[1]);
|
stride, -this.origin[0], -this.origin[1]);
|
||||||
this.drawCoordinates_(
|
this.drawCoordinates_(
|
||||||
lineString, 0, lineString.length, stride);
|
lineString, 0, lineString.length, stride);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {intersects} from '../../extent.js';
|
|||||||
import {isEmpty} from '../../obj.js';
|
import {isEmpty} from '../../obj.js';
|
||||||
import {linearRingContainsXY} from '../../geom/flat/contains.js';
|
import {linearRingContainsXY} from '../../geom/flat/contains.js';
|
||||||
import {linearRingIsClockwise} from '../../geom/flat/orient.js';
|
import {linearRingIsClockwise} from '../../geom/flat/orient.js';
|
||||||
import _ol_geom_flat_transform_ from '../../geom/flat/transform.js';
|
import {translate} from '../../geom/flat/transform.js';
|
||||||
import {fragment, vertex} from '../webgl/polygonreplay/defaultshader.js';
|
import {fragment, vertex} from '../webgl/polygonreplay/defaultshader.js';
|
||||||
import Locations from '../webgl/polygonreplay/defaultshader/Locations.js';
|
import Locations from '../webgl/polygonreplay/defaultshader/Locations.js';
|
||||||
import WebGLLineStringReplay from '../webgl/LineStringReplay.js';
|
import WebGLLineStringReplay from '../webgl/LineStringReplay.js';
|
||||||
@@ -761,14 +761,14 @@ WebGLPolygonReplay.prototype.drawMultiPolygon = function(multiPolygonGeometry, f
|
|||||||
for (i = 0, ii = endss.length; i < ii; ++i) {
|
for (i = 0, ii = endss.length; i < ii; ++i) {
|
||||||
const ends = endss[i];
|
const ends = endss[i];
|
||||||
if (ends.length > 0) {
|
if (ends.length > 0) {
|
||||||
const outerRing = _ol_geom_flat_transform_.translate(flatCoordinates, start, ends[0],
|
const outerRing = translate(flatCoordinates, start, ends[0],
|
||||||
stride, -this.origin[0], -this.origin[1]);
|
stride, -this.origin[0], -this.origin[1]);
|
||||||
if (outerRing.length) {
|
if (outerRing.length) {
|
||||||
const holes = [];
|
const holes = [];
|
||||||
let holeFlatCoords;
|
let holeFlatCoords;
|
||||||
for (j = 1, jj = ends.length; j < jj; ++j) {
|
for (j = 1, jj = ends.length; j < jj; ++j) {
|
||||||
if (ends[j] !== ends[j - 1]) {
|
if (ends[j] !== ends[j - 1]) {
|
||||||
holeFlatCoords = _ol_geom_flat_transform_.translate(flatCoordinates, ends[j - 1],
|
holeFlatCoords = translate(flatCoordinates, ends[j - 1],
|
||||||
ends[j], stride, -this.origin[0], -this.origin[1]);
|
ends[j], stride, -this.origin[0], -this.origin[1]);
|
||||||
holes.push(holeFlatCoords);
|
holes.push(holeFlatCoords);
|
||||||
}
|
}
|
||||||
@@ -801,14 +801,14 @@ WebGLPolygonReplay.prototype.drawPolygon = function(polygonGeometry, feature) {
|
|||||||
const stride = polygonGeometry.getStride();
|
const stride = polygonGeometry.getStride();
|
||||||
if (ends.length > 0) {
|
if (ends.length > 0) {
|
||||||
const flatCoordinates = polygonGeometry.getFlatCoordinates().map(Number);
|
const flatCoordinates = polygonGeometry.getFlatCoordinates().map(Number);
|
||||||
const outerRing = _ol_geom_flat_transform_.translate(flatCoordinates, 0, ends[0],
|
const outerRing = translate(flatCoordinates, 0, ends[0],
|
||||||
stride, -this.origin[0], -this.origin[1]);
|
stride, -this.origin[0], -this.origin[1]);
|
||||||
if (outerRing.length) {
|
if (outerRing.length) {
|
||||||
const holes = [];
|
const holes = [];
|
||||||
let i, ii, holeFlatCoords;
|
let i, ii, holeFlatCoords;
|
||||||
for (i = 1, ii = ends.length; i < ii; ++i) {
|
for (i = 1, ii = ends.length; i < ii; ++i) {
|
||||||
if (ends[i] !== ends[i - 1]) {
|
if (ends[i] !== ends[i - 1]) {
|
||||||
holeFlatCoords = _ol_geom_flat_transform_.translate(flatCoordinates, ends[i - 1],
|
holeFlatCoords = translate(flatCoordinates, ends[i - 1],
|
||||||
ends[i], stride, -this.origin[0], -this.origin[1]);
|
ends[i], stride, -this.origin[0], -this.origin[1]);
|
||||||
holes.push(holeFlatCoords);
|
holes.push(holeFlatCoords);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import MultiPolygon from '../../../../../src/ol/geom/MultiPolygon.js';
|
import MultiPolygon from '../../../../../src/ol/geom/MultiPolygon.js';
|
||||||
import SimpleGeometry from '../../../../../src/ol/geom/SimpleGeometry.js';
|
import SimpleGeometry from '../../../../../src/ol/geom/SimpleGeometry.js';
|
||||||
import _ol_geom_flat_transform_ from '../../../../../src/ol/geom/flat/transform.js';
|
import {rotate, translate} from '../../../../../src/ol/geom/flat/transform.js';
|
||||||
|
|
||||||
|
|
||||||
describe('ol.geom.flat.transform', function() {
|
describe('ol.geom.flat.transform', function() {
|
||||||
@@ -75,7 +75,7 @@ describe('ol.geom.flat.transform', function() {
|
|||||||
const flatCoordinates = multiPolygon.getFlatCoordinates();
|
const flatCoordinates = multiPolygon.getFlatCoordinates();
|
||||||
const deltaX = 1;
|
const deltaX = 1;
|
||||||
const deltaY = 2;
|
const deltaY = 2;
|
||||||
_ol_geom_flat_transform_.translate(flatCoordinates, 0,
|
translate(flatCoordinates, 0,
|
||||||
flatCoordinates.length, multiPolygon.getStride(),
|
flatCoordinates.length, multiPolygon.getStride(),
|
||||||
deltaX, deltaY, flatCoordinates);
|
deltaX, deltaY, flatCoordinates);
|
||||||
expect(flatCoordinates).to.eql([
|
expect(flatCoordinates).to.eql([
|
||||||
@@ -92,7 +92,7 @@ describe('ol.geom.flat.transform', function() {
|
|||||||
const flatCoordinates = multiPolygon.getFlatCoordinates();
|
const flatCoordinates = multiPolygon.getFlatCoordinates();
|
||||||
const angle = Math.PI / 2;
|
const angle = Math.PI / 2;
|
||||||
const anchor = [0, 1];
|
const anchor = [0, 1];
|
||||||
_ol_geom_flat_transform_.rotate(flatCoordinates, 0,
|
rotate(flatCoordinates, 0,
|
||||||
flatCoordinates.length, multiPolygon.getStride(),
|
flatCoordinates.length, multiPolygon.getStride(),
|
||||||
angle, anchor, flatCoordinates);
|
angle, anchor, flatCoordinates);
|
||||||
expect(flatCoordinates[0]).to.roughlyEqual(1, 1e-9);
|
expect(flatCoordinates[0]).to.roughlyEqual(1, 1e-9);
|
||||||
|
|||||||
Reference in New Issue
Block a user