(seriesType)
| 35631 | /* global Float32Array */ |
| 35632 | |
| 35633 | var layoutPoints = function (seriesType) { |
| 35634 | return { |
| 35635 | seriesType: seriesType, |
| 35636 | |
| 35637 | plan: createRenderPlanner(), |
| 35638 | |
| 35639 | reset: function (seriesModel) { |
| 35640 | var data = seriesModel.getData(); |
| 35641 | var coordSys = seriesModel.coordinateSystem; |
| 35642 | var pipelineContext = seriesModel.pipelineContext; |
| 35643 | var isLargeRender = pipelineContext.large; |
| 35644 | |
| 35645 | if (!coordSys) { |
| 35646 | return; |
| 35647 | } |
| 35648 | |
| 35649 | var dims = map(coordSys.dimensions, function (dim) { |
| 35650 | return data.mapDimension(dim); |
| 35651 | }).slice(0, 2); |
| 35652 | var dimLen = dims.length; |
| 35653 | |
| 35654 | var stackResultDim = data.getCalculationInfo('stackResultDimension'); |
| 35655 | if (isDimensionStacked(data, dims[0] /*, dims[1]*/)) { |
| 35656 | dims[0] = stackResultDim; |
| 35657 | } |
| 35658 | if (isDimensionStacked(data, dims[1] /*, dims[0]*/)) { |
| 35659 | dims[1] = stackResultDim; |
| 35660 | } |
| 35661 | |
| 35662 | function progress(params, data) { |
| 35663 | var segCount = params.end - params.start; |
| 35664 | var points = isLargeRender && new Float32Array(segCount * dimLen); |
| 35665 | |
| 35666 | for (var i = params.start, offset = 0, tmpIn = [], tmpOut = []; i < params.end; i++) { |
| 35667 | var point; |
| 35668 | |
| 35669 | if (dimLen === 1) { |
| 35670 | var x = data.get(dims[0], i); |
| 35671 | point = !isNaN(x) && coordSys.dataToPoint(x, null, tmpOut); |
| 35672 | } |
| 35673 | else { |
| 35674 | var x = tmpIn[0] = data.get(dims[0], i); |
| 35675 | var y = tmpIn[1] = data.get(dims[1], i); |
| 35676 | // Also {Array.<number>}, not undefined to avoid if...else... statement |
| 35677 | point = !isNaN(x) && !isNaN(y) && coordSys.dataToPoint(tmpIn, null, tmpOut); |
| 35678 | } |
| 35679 | |
| 35680 | if (isLargeRender) { |
| 35681 | points[offset++] = point ? point[0] : NaN; |
| 35682 | points[offset++] = point ? point[1] : NaN; |
| 35683 | } |
| 35684 | else { |
| 35685 | data.setItemLayout(i, (point && point.slice()) || [NaN, NaN]); |
| 35686 | } |
| 35687 | } |
| 35688 | |
| 35689 | isLargeRender && data.setLayout('symbolPoints', points); |
| 35690 | } |
no test coverage detected