MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / layoutPoints

Function layoutPoints

libs/echarts/echarts.simple.js:35633–35695  ·  view source on GitHub ↗
(seriesType)

Source from the content-addressed store, hash-verified

35631/* global Float32Array */
35632
35633var 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 }

Callers 1

echarts.simple.jsFile · 0.70

Calls 4

createRenderPlannerFunction · 0.70
mapFunction · 0.70
isDimensionStackedFunction · 0.70
getDataMethod · 0.45

Tested by

no test coverage detected