@antv/g6
Version:
A Graph Visualization Framework in JavaScript
28 lines • 1.11 kB
JavaScript
import { mergeOptions } from '../../utils/style';
import { Cubic } from './cubic';
/**
* <zh/> 水平方向的三次贝塞尔曲线
*
* <en/> Cubic Bezier curve in horizontal direction
* @remarks
* <zh/> 特别注意,计算控制点时主要考虑 x 轴上的距离,忽略 y 轴的变化
*
* <en/> Please note that when calculating the control points, the distance on the x-axis is mainly considered, and the change on the y-axis is ignored
*/
export class CubicHorizontal extends Cubic {
constructor(options) {
super(mergeOptions({ style: CubicHorizontal.defaultStyleProps }, options));
}
getControlPoints(sourcePoint, targetPoint, curvePosition, curveOffset) {
const xDist = targetPoint[0] - sourcePoint[0];
return [
[sourcePoint[0] + xDist * curvePosition[0] + curveOffset[0], sourcePoint[1]],
[targetPoint[0] - xDist * curvePosition[1] + curveOffset[1], targetPoint[1]],
];
}
}
CubicHorizontal.defaultStyleProps = {
curvePosition: [0.5, 0.5],
curveOffset: [0, 0],
};
//# sourceMappingURL=cubic-horizontal.js.map