"use strict"; var echarts = require("echarts/index.blank"); require("./scatter3D/Scatter3DSeries"); require("./scatter3D/Scatter3DView"); echarts.registerLayout({ seriesType: 'scatter3D', reset: function (seriesModel) { var coordSys = seriesModel.coordinateSystem; if (coordSys) { var coordDims = coordSys.dimensions; if (coordDims.length < 3) { if (process.env.NODE_ENV !== 'production') { console.error('scatter3D needs 3D coordinateSystem'); } return; } var dims = coordDims.map(function (coordDim) { return seriesModel.coordDimToDataDim(coordDim)[0]; }); var item = []; var out = []; return { progress: function (params, data) { var points = new Float32Array((params.end - params.start) * 3); for (var idx = params.start; idx < params.end; idx++) { var idx3 = (idx - params.start) * 3; item[0] = data.get(dims[0], idx); item[1] = data.get(dims[1], idx); item[2] = data.get(dims[2], idx); coordSys.dataToPoint(item, out); points[idx3] = out[0]; points[idx3 + 1] = out[1]; points[idx3 + 2] = out[2]; } data.setLayout('points', points); } }; } } });