画布基本元素之一,继承于画笔
// es6, npm lib
import { Line } from 'topology-core/models/line';
// es5, bundle.js
Le5leTopology.Line
成员变量列表
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
name* | string | 连线名称。 curve - 贝塞尔曲线 polyline - 折线 line - 直线 mind - 脑图曲线 |
|
from | 自定义Point | 是 | 起点 |
to | 自定义Point | 是 | 终点 |
fromArrow | string | 否 | 起点箭头。默认:triangleSolid |
toArrow | string | 否 | 终点箭头 |
fromArrowSize | number | 否 | 起点箭头大小。 默认:5 |
toArrowSize | number | 否 | 终点箭头大小。 默认:5 |
fromArrowColor |
string | 否 | 起点箭头颜色 |
toArrowColor | string | 否 | 终点箭头颜色 |
controlPoints | Point[] | 是 | 控制连线形状的控制点。 |
length | number | 是 | 连线长度。主要用于动画 |
disableEmptyLine | boolean | 否 | 是否禁止连线终点为空(未连接到节点) |
animateColor | string | 否 | 连线动画颜色 |
animateSpan | number | 否 | 连线动画移动大小,像素 |
animatePos | number | 否 | 连线动画当前所在位置 |
animateType | string | 否 | 动画辅助数据,给业务层用。比如,业务层默认设置了2种动画效果,可以用此数据表示用户选择了第几个动画。 默认0:水流动画; 1:水珠流动动画 |
borderWidth | number | 否 | 线宽>2时,允许有边框 |
borderColor | string | 否 | 边框颜色 |
text | string | 否 | 连线文本 |
manualCps | boolean | 否 | 是否禁止自动重计算连线控制点。默认否。 |
成员函数列表
constructor构造函数
constructor(json?: any)
参数
名称 | 类型 | 是否必选 | 描述 |
---|---|---|---|
json | object | 是。属性数据为上面的成员列表 | 通过一个连线对象或json,创建一个新连线 |
setFrom设置起点
setFrom(from: Point, fromArrow: string = ‘’)
setTo设置终点
setTo(to: Point, toArrow: string = ‘triangleSolid’)
calcControlPoints计算默认控制点
calcControlPoints()
根据默认算法,计算控制点。默认控制点并不一定是最终用户想要的,用户可以调整控制点;因此,除了初始状态,不应该过度依赖此算法。
draw绘画
draw(ctx: CanvasRenderingContext2D)
pointIn判断指定点十分在连线上
pointIn(pt: Point)
getLen获取连线长度
getLen()
animate显示动画
animate(ctx: CanvasRenderingContext2D)