/* *
|
*
|
* (c) 2010-2019 Torstein Honsi
|
*
|
* Extension to the Series object in 3D charts.
|
*
|
* License: www.highcharts.com/license
|
*
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
*
|
* */
|
'use strict';
|
|
var _Globals = require('../parts/Globals.js');
|
|
var _Globals2 = _interopRequireDefault(_Globals);
|
|
require('../parts/Utilities.js');
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
var addEvent = _Globals2.default.addEvent,
|
perspective = _Globals2.default.perspective,
|
pick = _Globals2.default.pick;
|
/* eslint-disable no-invalid-this */
|
// Wrap the translate method to post-translate points into 3D perspective
|
addEvent(_Globals2.default.Series, 'afterTranslate', function () {
|
if (this.chart.is3d()) {
|
this.translate3dPoints();
|
}
|
});
|
// Translate the plotX, plotY properties and add plotZ.
|
_Globals2.default.Series.prototype.translate3dPoints = function () {
|
var series = this,
|
chart = series.chart,
|
zAxis = pick(series.zAxis, chart.options.zAxis[0]),
|
rawPoints = [],
|
rawPoint,
|
projectedPoints,
|
projectedPoint,
|
zValue,
|
i;
|
for (i = 0; i < series.data.length; i++) {
|
rawPoint = series.data[i];
|
if (zAxis && zAxis.translate) {
|
zValue = zAxis.isLog && zAxis.val2lin ? zAxis.val2lin(rawPoint.z) : rawPoint.z; // #4562
|
rawPoint.plotZ = zAxis.translate(zValue);
|
rawPoint.isInside = rawPoint.isInside ? zValue >= zAxis.min && zValue <= zAxis.max : false;
|
} else {
|
rawPoint.plotZ = 0;
|
}
|
rawPoint.axisXpos = rawPoint.plotX;
|
rawPoint.axisYpos = rawPoint.plotY;
|
rawPoint.axisZpos = rawPoint.plotZ;
|
rawPoints.push({
|
x: rawPoint.plotX,
|
y: rawPoint.plotY,
|
z: rawPoint.plotZ
|
});
|
}
|
projectedPoints = perspective(rawPoints, chart, true);
|
for (i = 0; i < series.data.length; i++) {
|
rawPoint = series.data[i];
|
projectedPoint = projectedPoints[i];
|
rawPoint.plotX = projectedPoint.x;
|
rawPoint.plotY = projectedPoint.y;
|
rawPoint.plotZ = projectedPoint.z;
|
}
|
};
|