Fix stride related bug in Canvas immediate API

This commit is contained in:
Éric Lemoine
2014-06-03 12:41:01 +02:00
committed by Bart van den Eijnden
parent 9dc17230c2
commit d57a35ffcb
4 changed files with 43 additions and 33 deletions

View File

@@ -5,13 +5,15 @@ goog.require('goog.vec.Mat4');
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {goog.vec.Mat4.Number} transform Transform.
* @param {Array.<number>=} opt_dest Destination.
* @return {Array.<number>} Transformed coordinates.
*/
ol.geom.flat.transform.transform2D =
function(flatCoordinates, stride, transform, opt_dest) {
function(flatCoordinates, offset, end, stride, transform, opt_dest) {
var m00 = goog.vec.Mat4.getElement(transform, 0, 0);
var m10 = goog.vec.Mat4.getElement(transform, 1, 0);
var m01 = goog.vec.Mat4.getElement(transform, 0, 1);
@@ -21,7 +23,7 @@ ol.geom.flat.transform.transform2D =
var dest = goog.isDef(opt_dest) ? opt_dest : [];
var i = 0;
var j, jj;
for (j = 0, jj = flatCoordinates.length; j < jj; j += stride) {
for (j = offset; j < end; j += stride) {
var x = flatCoordinates[j];
var y = flatCoordinates[j + 1];
dest[i++] = m00 * x + m01 * y + m03;