# all files / ol/geom/flat/ flipflatgeom.js

100% Statements 19/19
75% Branches 3/4
100% Functions 1/1
100% Lines 19/19

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    391×

    1×

    1×

    17×
    17×
    15×
    15×

    2×

    2×
    2×

    17×
    17×
    48×
    48×
    48×
    48×
    10×

    17×
    17×

     goog.provide('ol.geom.flat.flip');

    goog.require('goog.asserts');

    /**
     * @param {Array.<number>} flatCoordinates Flat coordinates.
     * @param {number} offset Offset.
     * @param {number} end End.
     * @param {number} stride Stride.
     * @param {Array.<number>=} opt_dest Destination.
     * @param {number=} opt_destOffset Destination offset.
     * @return {Array.<number>} Flat coordinates.
     */
    ol.geom.flat.flip.flipXY =
        function(flatCoordinates, offset, end, stride, opt_dest, opt_destOffset) {
      var dest, destOffset;
      if (opt_dest !== undefined) {
        dest = opt_dest;
        destOffset = opt_destOffset !== undefined ? opt_destOffset : 0;
      } else {
        goog.asserts.assert(opt_destOffset === undefined,
            'opt_destOffSet should be defined');
        dest = [];
        destOffset = 0;
      }
      var j, k;
      for (j = offset; j < end; ) {
        var x = flatCoordinates[j++];
        dest[destOffset++] = flatCoordinates[j++];
        dest[destOffset++] = x;
        for (k = 2; k < stride; ++k) {
          dest[destOffset++] = flatCoordinates[j++];
        }
      }
      dest.length = destOffset;
      return dest;
    };