| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | 
/** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements.  See the NOTICE file* distributed with this work for additional information* regarding copyright ownership.  The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License.  You may obtain a copy of the License at**   http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied.  See the License for the* specific language governing permissions and limitations* under the License.*//** * AUTO-GENERATED FILE. DO NOT MODIFY. *//** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements.  See the NOTICE file* distributed with this work for additional information* regarding copyright ownership.  The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License.  You may obtain a copy of the License at**   http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied.  See the License for the* specific language governing permissions and limitations* under the License.*/import { map } from 'zrender/lib/core/util.js';import createRenderPlanner from '../chart/helper/createRenderPlanner.js';import { isDimensionStacked } from '../data/helper/dataStackHelper.js';import { createFloat32Array } from '../util/vendor.js';export default function pointsLayout(seriesType, forceStoreInTypedArray) {  return {    seriesType: seriesType,    plan: createRenderPlanner(),    reset: function (seriesModel) {      var data = seriesModel.getData();      var coordSys = seriesModel.coordinateSystem;      var pipelineContext = seriesModel.pipelineContext;      var useTypedArray = forceStoreInTypedArray || pipelineContext.large;      if (!coordSys) {        return;      }      var dims = map(coordSys.dimensions, function (dim) {        return data.mapDimension(dim);      }).slice(0, 2);      var dimLen = dims.length;      var stackResultDim = data.getCalculationInfo('stackResultDimension');      if (isDimensionStacked(data, dims[0])) {        dims[0] = stackResultDim;      }      if (isDimensionStacked(data, dims[1])) {        dims[1] = stackResultDim;      }      var store = data.getStore();      var dimIdx0 = data.getDimensionIndex(dims[0]);      var dimIdx1 = data.getDimensionIndex(dims[1]);      return dimLen && {        progress: function (params, data) {          var segCount = params.end - params.start;          var points = useTypedArray && createFloat32Array(segCount * dimLen);          var tmpIn = [];          var tmpOut = [];          for (var i = params.start, offset = 0; i < params.end; i++) {            var point = void 0;            if (dimLen === 1) {              var x = store.get(dimIdx0, i);              // NOTE: Make sure the second parameter is null to use default strategy.              point = coordSys.dataToPoint(x, null, tmpOut);            } else {              tmpIn[0] = store.get(dimIdx0, i);              tmpIn[1] = store.get(dimIdx1, i);              // Let coordinate system to handle the NaN data.              point = coordSys.dataToPoint(tmpIn, null, tmpOut);            }            if (useTypedArray) {              points[offset++] = point[0];              points[offset++] = point[1];            } else {              data.setItemLayout(i, point.slice());            }          }          useTypedArray && data.setLayout('points', points);        }      };    }  };};
 |