Appearance
@jtopo/core / NodeHelper
Class: NodeHelper
一些操作Node的辅助方法
Table of contents
Constructors
Methods
- getUnionRect
- resizeByFixedPoint
- rotateAround
- setXYButChildFixed
- sizeFitToChildren
- translateNodesCenterTo
- travel
Constructors
constructor
new NodeHelper()
Methods
getUnionRect
Static getUnionRect(arr): Rectangle
返回所有对象的矩形复合而成的更大矩形
Parameters
| Name | Type |
|---|---|
arr | NE[] |
Returns
resizeByFixedPoint
Static resizeByFixedPoint(node, rectPosition, w, h): Node
固定住某个点位置,改变尺寸
Parameters
| Name | Type |
|---|---|
node | Node |
rectPosition | RectPositionType |
w | number |
h | number |
Returns
rotateAround
Static rotateAround(node, centerX, centerY, radius, angle): Node
绕指定点旋转, 同时改变自身位置和旋转角度 (父坐标系)
Parameters
| Name | Type | Description |
|---|---|---|
node | Node | - |
centerX | number | 圆心 X 坐标 |
centerY | number | 圆心 Y 坐标 |
radius | number | 圆周半径 |
angle | number | 角度(弧度) |
Returns
setXYButChildFixed
Static setXYButChildFixed(node, dx, dy): void
增量平移,但子节点保持屏幕坐标不变
Parameters
| Name | Type | Description |
|---|---|---|
node | Node | |
dx | number | 增量x |
dy | number | 增量y |
Returns
void
sizeFitToChildren
Static sizeFitToChildren(node, padding?): void
调整节点对象的尺寸:尺寸刚好覆盖住所有子节点
Parameters
| Name | Type |
|---|---|
node | Node |
padding? | number |
Returns
void
translateNodesCenterTo
Static translateNodesCenterTo(objects, x, y): void
将一组Node的中心点平移到指定x,y
Parameters
| Name | Type |
|---|---|
objects | Node[] |
x | number |
y | number |
Returns
void
travel
Static travel(nodeOrLink, fn, parent?, rs?): NE[]
先序递归遍历Node和Link,从指定节点或者连线开始
Static
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
nodeOrLink | NE | undefined | 开始对象,可以是Node也可以是Link |
fn | Function | undefined | - |
parent | NE | null | - |
rs | NE[] | null | - |
Returns
NE[]
Array 先序排序好的对象数组,有Node、Link对象