Point
坐标点
属性
interface Point {
x: number;
y: number;
radius?: number; // 鼠标命中点的半径,默认4
color?: string;
background?: string;
id?: string;
penId?: string; // (锚)点所属pen的id
connectTo?: string; // 作为连线上的点时,连接pen的id
anchorId?: string; // 作为连线上的点时,连接pen的锚点id
twoWay?: TwoWay; // 作为锚点时,允许连线的方向
prev?: Point; // 作为连线上的点时,前一个curve的控制点2。可以为空,表示前一个curve只有一个控制点,或为直线
next?: Point; // 作为连线上的点时,当前curve的控制点1。可以为空,表示前一个curve只有一个控制点,或为直线
prevNextType?: PrevNextType; // 当存在prev和next时,手柄类型:镜像、对称、自由
start?: boolean; // 是否连线起点。自动计算
lineLength?: number; // 辅助变量
step?: number; // 辅助变量
curvePoints?: Point[]; // 辅助变量
rotate?: number; // 辅助变量
hidden?: boolean; // 是否隐藏,=== false 隐藏
direction?: Direction; //锚点出线方向
title?: string; //锚点hover提示文字
}
enum PrevNextType {
Mirror,
Bilateral,
Free,
}
enum TwoWay {
Default,
In,
Out,
}
Copy
函数
这里的函数为相关函数
hitPoint
鼠标是否命中点
参数:
- pt: Point
鼠标 - target: Point
目标点 - radius
命中半径。默认 5
返回:
boolean
示例:
import { hitPoint } from '@meta2d/core';
hitPoint({ x: 7, y: 7 }, { x: 10, y: 10 });
// return true
Copy
rotatePoint
旋转点
参数:
- pt: Point
点 - angle: number
旋转角度。单位度 ° - center: Point
旋转中心点
返回:
void
示例:
import { rotatePoint } from '@meta2d/core';
rotatePoint({ x: 7, y: 7 }, 180, { x: 10, y: 10 });
Copy
scalePoint
参考中心的 center,缩放点
参数:
- pt: Point
点 - scale: number
缩放比例 - center: Point
参考中心点
返回:
void
示例:
import { scalePoint } from '@meta2d/core';
scalePoint({ x: 7, y: 7 }, 1.2, { x: 10, y: 10 });
Copy
translatePoint
平移点
参数:
- pt: Point
点 - x: number
- y: number
返回:
void
示例:
import { translatePoint } from '@meta2d/core';
translatePoint({ x: 7, y: 7 }, 10, 10);
Copy
samePoint
两个点是否相同。依据:anchorId 和 connectTo 相同
参数:
- pt1: Point
点 - pt2: Point
点
返回:
boolean
示例:
import { samePoint } from '@meta2d/core';
samePoint({ anchorId, connectTo }, { anchorId, connectTo });
Copy
distance
两点距离
参数:
- pt1: Point
点 - pt2: Point
点
返回:
number
示例:
import { distance } from '@meta2d/core';
distance({ x, y }, { x, y });
Copy
calcRotate
两点偏移旋转角度
参数:
- pt1: Point
点 - pt2: Point
点
返回:
number
示例:
import { calcRotate } from '@meta2d/core';
calcRotate({ x, y }, { x, y });
Copy
facePoint
点 source 相对点 target 的上下左右方向
参数:
- source: Point
点 - target: Point
点
返回:
Direction:方向
enum Direction {
None = -1,
Up,
Right,
Bottom,
Left,
}
Copy
示例:
import { calcRotate } from '@meta2d/core';
facePoint({ x, y }, { x, y });
------------------------------------------------------------------
乐吾乐潜心研发,自主可控,持续迭代优化
Github:https://github.com/le5le-com/meta2d.js
欢迎Star、Fork、博文支持