Factor out ol.geom.flat.reverse
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
goog.provide('ol.geom.flat.orient');
|
||||
|
||||
goog.require('ol.geom.flat');
|
||||
goog.require('ol.geom.flat.reverse');
|
||||
|
||||
|
||||
/**
|
||||
@@ -89,7 +90,7 @@ ol.geom.flat.orient.orientLinearRings =
|
||||
flatCoordinates, offset, end, stride);
|
||||
var reverse = i === 0 ? !isClockwise : isClockwise;
|
||||
if (reverse) {
|
||||
ol.geom.flat.reverseCoordinates(flatCoordinates, offset, end, stride);
|
||||
ol.geom.flat.reverse.coordinates(flatCoordinates, offset, end, stride);
|
||||
}
|
||||
offset = end;
|
||||
}
|
||||
|
||||
22
src/ol/geom/flat/reverseflatgeom.js
Normal file
22
src/ol/geom/flat/reverseflatgeom.js
Normal file
@@ -0,0 +1,22 @@
|
||||
goog.provide('ol.geom.flat.reverse');
|
||||
|
||||
|
||||
/**
|
||||
* @param {Array.<number>} flatCoordinates Flat coordinates.
|
||||
* @param {number} offset Offset.
|
||||
* @param {number} end End.
|
||||
* @param {number} stride Stride.
|
||||
*/
|
||||
ol.geom.flat.reverse.coordinates =
|
||||
function(flatCoordinates, offset, end, stride) {
|
||||
while (offset < end - stride) {
|
||||
var i;
|
||||
for (i = 0; i < stride; ++i) {
|
||||
var tmp = flatCoordinates[offset + i];
|
||||
flatCoordinates[offset + i] = flatCoordinates[end - stride + i];
|
||||
flatCoordinates[end - stride + i] = tmp;
|
||||
}
|
||||
offset += stride;
|
||||
end -= stride;
|
||||
}
|
||||
};
|
||||
@@ -28,27 +28,6 @@ ol.geom.flat.linearRingssGetFlatCenters =
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {Array.<number>} flatCoordinates Flat coordinates.
|
||||
* @param {number} offset Offset.
|
||||
* @param {number} end End.
|
||||
* @param {number} stride Stride.
|
||||
*/
|
||||
ol.geom.flat.reverseCoordinates =
|
||||
function(flatCoordinates, offset, end, stride) {
|
||||
while (offset < end - stride) {
|
||||
var i;
|
||||
for (i = 0; i < stride; ++i) {
|
||||
var tmp = flatCoordinates[offset + i];
|
||||
flatCoordinates[offset + i] = flatCoordinates[end - stride + i];
|
||||
flatCoordinates[end - stride + i] = tmp;
|
||||
}
|
||||
offset += stride;
|
||||
end -= stride;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Returns the square of the closest distance between the point (x, y) and the
|
||||
* line segment (x1, y1) to (x2, y2).
|
||||
|
||||
Reference in New Issue
Block a user