ice-entity-designer 0.12.2 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +127 -0
- package/README.md +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/react.cjs +1 -1
- package/dist/react.mjs +1 -1
- package/dist/types/utils/segment-box.d.mts +19 -0
- package/dist/types/utils/segment-box.d.ts +19 -0
- package/dist/types/water/WaterProcessDesigner.d.mts +38 -0
- package/dist/types/water/WaterProcessDesigner.d.ts +38 -0
- package/dist/types/water/water_shapes.d.mts +77 -0
- package/dist/types/water/water_shapes.d.ts +77 -0
- package/package.json +3 -2
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 线段 × 轴对齐矩形(纯几何)。
|
|
3
|
+
*
|
|
4
|
+
* 用途:给排水符号的"**过路折线压字**"判定 —— 别人的管线从我的位号 / 名称文字带经过。
|
|
5
|
+
* 用 Liang–Barsky 的裁剪判据:把线段参数化后用四个半平面依次夹逼,夹完还有交集就算相交。
|
|
6
|
+
* 不分配对象、不做开方,几十万次调用也不心疼(设计器只在增删管线 / 载入 / 松手时跑)。
|
|
7
|
+
*/
|
|
8
|
+
export interface SegmentPoint {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SegmentBox {
|
|
13
|
+
minX: number;
|
|
14
|
+
minY: number;
|
|
15
|
+
maxX: number;
|
|
16
|
+
maxY: number;
|
|
17
|
+
}
|
|
18
|
+
/** 线段 `a→b` 与矩形 `box` 是否相交(含"贴边""端点落在矩形内")。 */
|
|
19
|
+
export declare function segmentHitsBox(a: SegmentPoint, b: SegmentPoint, box: SegmentBox): boolean;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 线段 × 轴对齐矩形(纯几何)。
|
|
3
|
+
*
|
|
4
|
+
* 用途:给排水符号的"**过路折线压字**"判定 —— 别人的管线从我的位号 / 名称文字带经过。
|
|
5
|
+
* 用 Liang–Barsky 的裁剪判据:把线段参数化后用四个半平面依次夹逼,夹完还有交集就算相交。
|
|
6
|
+
* 不分配对象、不做开方,几十万次调用也不心疼(设计器只在增删管线 / 载入 / 松手时跑)。
|
|
7
|
+
*/
|
|
8
|
+
export interface SegmentPoint {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SegmentBox {
|
|
13
|
+
minX: number;
|
|
14
|
+
minY: number;
|
|
15
|
+
maxX: number;
|
|
16
|
+
maxY: number;
|
|
17
|
+
}
|
|
18
|
+
/** 线段 `a→b` 与矩形 `box` 是否相交(含"贴边""端点落在矩形内")。 */
|
|
19
|
+
export declare function segmentHitsBox(a: SegmentPoint, b: SegmentPoint, box: SegmentBox): boolean;
|
|
@@ -59,7 +59,9 @@ export declare class WaterPipe extends FlowEdge {
|
|
|
59
59
|
}
|
|
60
60
|
export default class WaterProcessDesigner extends FlowDesigner {
|
|
61
61
|
constructor(ice: any);
|
|
62
|
+
dispose(): void;
|
|
62
63
|
get nodes(): any[];
|
|
64
|
+
private __portOccupancyHandler;
|
|
63
65
|
/**
|
|
64
66
|
* 选中判据:水务的符号不是 `FlowNode` 的分支(`WaterSymbol extends ICEGroup`),
|
|
65
67
|
* 所以必须在这里把它(与管线)补进"可点选"的集合 —— 否则点符号选不中,
|
|
@@ -73,6 +75,42 @@ export default class WaterProcessDesigner extends FlowDesigner {
|
|
|
73
75
|
createSymbol(kind: WaterSymbolKind, props?: any): any;
|
|
74
76
|
/** 建一段管线(要标介质;管径缺了会给 warning) */
|
|
75
77
|
createPipe(props?: any): any;
|
|
78
|
+
/**
|
|
79
|
+
* 端口占用 → 位号 / 名称侧移(见 `water_shapes.ts` 的 `syncShape()`)。
|
|
80
|
+
*
|
|
81
|
+
* **边是唯一真相**:管线两端写着 `links.start/end = {id, position}`,所以这里整体重算一遍,
|
|
82
|
+
* 只把**变了**的推给符号(`setOccupiedPorts()` 自己比对,没变不重建)。
|
|
83
|
+
*
|
|
84
|
+
* 为什么不让符号自己问引擎:`syncShape()` 在**构造期**就会跑(那时还没有边),
|
|
85
|
+
* 而且符号拿不到"边变了"的通知 —— 边在设计器手里,由它推最省事也最准。
|
|
86
|
+
*
|
|
87
|
+
* 谁需要调用:增删管线与载入快照都由本类内部调了;**交互式改接**(把端点拖到另一个端口)
|
|
88
|
+
* 由构造期挂的 `mouseup` 兜住;宿主自己搬动组件树之后也可以显式调一次。
|
|
89
|
+
*/
|
|
90
|
+
/**
|
|
91
|
+
* 重算**标签排版**:① 端口占用(自己的线上来压字);② **过路折线**穿过文字带
|
|
92
|
+
* (别人的管线从我的位号 / 名称上方经过 —— 那根线跟我没有连接关系)。
|
|
93
|
+
*
|
|
94
|
+
* 两类都由设计器算,因为**边是唯一真相**、而且折线也在它手里(`edge.state.points`)。
|
|
95
|
+
* 判据是纯几何:逐条折线与符号的两个文字带做**线段 × 矩形**相交。
|
|
96
|
+
*
|
|
97
|
+
* 代价量级:78 符号 × 100 管线 × 几段 ≈ 十万次整数级判定,只在增删管线 / 载入 / 松手时跑,
|
|
98
|
+
* 可忽略。别把它挂到逐帧路径上。
|
|
99
|
+
*/
|
|
100
|
+
refreshLabelPlacement(): void;
|
|
101
|
+
/** 一条边的折线顶点(**世界坐标**:局部点 + 边的 left/top)。 */
|
|
102
|
+
private __edgeWorldPoints;
|
|
103
|
+
/** @deprecated 用 `refreshLabelPlacement()` —— 标签让位的判据已经从"端口被占"扩到"过路折线压字"。 */
|
|
104
|
+
refreshPortOccupancy(): void;
|
|
105
|
+
private __refreshPortOccupancy;
|
|
106
|
+
/**
|
|
107
|
+
* 删除之后重算端口占用:基类的 `remove()` 会**级联删掉**挂在被删图元上的连线,
|
|
108
|
+
* 所以这里必须整体重算,而不是只盯"被删的那条边"。
|
|
109
|
+
*/
|
|
110
|
+
remove(id: string): void;
|
|
111
|
+
clear(): void;
|
|
112
|
+
/** 载入快照之后重算:快照里不带端口占用(那是派生数据,不进 codec 的完整性约束)。 */
|
|
113
|
+
load(json: string): any;
|
|
76
114
|
/** 阀门开 / 闭(运行工况:关阀 → 流径断开) */
|
|
77
115
|
setValveState(id: string, valveState: WaterValveState): any;
|
|
78
116
|
/**
|
|
@@ -59,7 +59,9 @@ export declare class WaterPipe extends FlowEdge {
|
|
|
59
59
|
}
|
|
60
60
|
export default class WaterProcessDesigner extends FlowDesigner {
|
|
61
61
|
constructor(ice: any);
|
|
62
|
+
dispose(): void;
|
|
62
63
|
get nodes(): any[];
|
|
64
|
+
private __portOccupancyHandler;
|
|
63
65
|
/**
|
|
64
66
|
* 选中判据:水务的符号不是 `FlowNode` 的分支(`WaterSymbol extends ICEGroup`),
|
|
65
67
|
* 所以必须在这里把它(与管线)补进"可点选"的集合 —— 否则点符号选不中,
|
|
@@ -73,6 +75,42 @@ export default class WaterProcessDesigner extends FlowDesigner {
|
|
|
73
75
|
createSymbol(kind: WaterSymbolKind, props?: any): any;
|
|
74
76
|
/** 建一段管线(要标介质;管径缺了会给 warning) */
|
|
75
77
|
createPipe(props?: any): any;
|
|
78
|
+
/**
|
|
79
|
+
* 端口占用 → 位号 / 名称侧移(见 `water_shapes.ts` 的 `syncShape()`)。
|
|
80
|
+
*
|
|
81
|
+
* **边是唯一真相**:管线两端写着 `links.start/end = {id, position}`,所以这里整体重算一遍,
|
|
82
|
+
* 只把**变了**的推给符号(`setOccupiedPorts()` 自己比对,没变不重建)。
|
|
83
|
+
*
|
|
84
|
+
* 为什么不让符号自己问引擎:`syncShape()` 在**构造期**就会跑(那时还没有边),
|
|
85
|
+
* 而且符号拿不到"边变了"的通知 —— 边在设计器手里,由它推最省事也最准。
|
|
86
|
+
*
|
|
87
|
+
* 谁需要调用:增删管线与载入快照都由本类内部调了;**交互式改接**(把端点拖到另一个端口)
|
|
88
|
+
* 由构造期挂的 `mouseup` 兜住;宿主自己搬动组件树之后也可以显式调一次。
|
|
89
|
+
*/
|
|
90
|
+
/**
|
|
91
|
+
* 重算**标签排版**:① 端口占用(自己的线上来压字);② **过路折线**穿过文字带
|
|
92
|
+
* (别人的管线从我的位号 / 名称上方经过 —— 那根线跟我没有连接关系)。
|
|
93
|
+
*
|
|
94
|
+
* 两类都由设计器算,因为**边是唯一真相**、而且折线也在它手里(`edge.state.points`)。
|
|
95
|
+
* 判据是纯几何:逐条折线与符号的两个文字带做**线段 × 矩形**相交。
|
|
96
|
+
*
|
|
97
|
+
* 代价量级:78 符号 × 100 管线 × 几段 ≈ 十万次整数级判定,只在增删管线 / 载入 / 松手时跑,
|
|
98
|
+
* 可忽略。别把它挂到逐帧路径上。
|
|
99
|
+
*/
|
|
100
|
+
refreshLabelPlacement(): void;
|
|
101
|
+
/** 一条边的折线顶点(**世界坐标**:局部点 + 边的 left/top)。 */
|
|
102
|
+
private __edgeWorldPoints;
|
|
103
|
+
/** @deprecated 用 `refreshLabelPlacement()` —— 标签让位的判据已经从"端口被占"扩到"过路折线压字"。 */
|
|
104
|
+
refreshPortOccupancy(): void;
|
|
105
|
+
private __refreshPortOccupancy;
|
|
106
|
+
/**
|
|
107
|
+
* 删除之后重算端口占用:基类的 `remove()` 会**级联删掉**挂在被删图元上的连线,
|
|
108
|
+
* 所以这里必须整体重算,而不是只盯"被删的那条边"。
|
|
109
|
+
*/
|
|
110
|
+
remove(id: string): void;
|
|
111
|
+
clear(): void;
|
|
112
|
+
/** 载入快照之后重算:快照里不带端口占用(那是派生数据,不进 codec 的完整性约束)。 */
|
|
113
|
+
load(json: string): any;
|
|
76
114
|
/** 阀门开 / 闭(运行工况:关阀 → 流径断开) */
|
|
77
115
|
setValveState(id: string, valveState: WaterValveState): any;
|
|
78
116
|
/**
|
|
@@ -81,6 +81,36 @@ export declare const WATER_STYLE: {
|
|
|
81
81
|
/** 明确停用/旁通时的颜色 */
|
|
82
82
|
idleColor: string;
|
|
83
83
|
};
|
|
84
|
+
/**
|
|
85
|
+
* 标签与端口柱之间的最小间隙(世界像素)。
|
|
86
|
+
*
|
|
87
|
+
* 端口(`T` / `B`)落在形状盒的**边中点**上,而位号 / 名称也居中画在那条中轴线上 ——
|
|
88
|
+
* 于是"从上 / 下进线"的那一小段必然扫过文字(见 `syncShape()` 里的说明)。
|
|
89
|
+
* 8px 是让文字避开那条线(连同箭头)的余量,与线宽 / 箭头半宽同量级。
|
|
90
|
+
*/
|
|
91
|
+
export declare const WATER_LABEL_PORT_GAP = 8;
|
|
92
|
+
/** 位号文字带:符号顶边**外侧**居中,top = 形状盒顶边 - 18,高度按字号行高算。 */
|
|
93
|
+
export declare const TAG_TOP_OFFSET = 18;
|
|
94
|
+
export declare const TAG_BOX_HEIGHT: number;
|
|
95
|
+
/** 名称文字带:形状盒底边外侧,top = 底边 + 14。 */
|
|
96
|
+
export declare const NAME_TOP_PAD = 14;
|
|
97
|
+
export declare const NAME_BOX_HEIGHT: number;
|
|
98
|
+
/** 一段文字带的世界矩形(`WaterSymbol.labelBands()` 用)。 */
|
|
99
|
+
export interface LabelBand {
|
|
100
|
+
minX: number;
|
|
101
|
+
minY: number;
|
|
102
|
+
maxX: number;
|
|
103
|
+
maxY: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 估算一段文字占多宽(世界像素,不给 ctx 也能算)。
|
|
107
|
+
*
|
|
108
|
+
* 为什么要自己估:`syncShape()` 在**构造期**就会跑,那时还没有画布上下文;
|
|
109
|
+
* 而"标签要让开端口柱"这件事只需要一个够用的宽度(宁可略宽,不要压住线)。
|
|
110
|
+
* 口径:CJK / 全角按 1 个字宽算,其余(拉丁、数字、标点)按 0.55 个字宽 ——
|
|
111
|
+
* 与引擎自己的降级估算(`label.length * fontSize`)同思路,只是更贴近实际字宽。
|
|
112
|
+
*/
|
|
113
|
+
export declare function estimateWaterTextWidth(text: string, fontSize: number): number;
|
|
84
114
|
/** 污泥线单元(配色与校验都要用) */
|
|
85
115
|
export declare const WATER_SLUDGE_KINDS: WaterSymbolKind[];
|
|
86
116
|
export type WaterValveState = 'open' | 'closed';
|
|
@@ -116,7 +146,54 @@ export default class WaterSymbol extends ICEGroup {
|
|
|
116
146
|
*/
|
|
117
147
|
private __originX;
|
|
118
148
|
private __originY;
|
|
149
|
+
/**
|
|
150
|
+
* 本符号**被连线占用**的端口(`T` / `R` / `B` / `L` / `C`)。
|
|
151
|
+
*
|
|
152
|
+
* 只影响位号 / 名称的排版(让开端口柱,见 `syncShape()`),**不进 state** ——
|
|
153
|
+
* 它是从边推出来的派生数据,进了 state 反而要过 codec 那套完整性约束与快照往返。
|
|
154
|
+
* 由 `WaterProcessDesigner.__syncPortOccupancy()` 在增删连线 / 载入快照之后推进来。
|
|
155
|
+
*/
|
|
156
|
+
private occupiedPorts;
|
|
157
|
+
/**
|
|
158
|
+
* 位号 / 名称的**文字带被别的折线穿过**(不是"自己的端口被占",见 `setLabelBlocked`)。
|
|
159
|
+
*
|
|
160
|
+
* 与 `occupiedPorts` 同性质:派生数据、不进 state,由设计器推过来。
|
|
161
|
+
*/
|
|
162
|
+
private labelBlocked;
|
|
119
163
|
hasDerivedChildren(): boolean;
|
|
164
|
+
/** 设计器把"这个符号的哪几条边上有连线"推过来;变了才重建(避免无谓重绘)。 */
|
|
165
|
+
setOccupiedPorts(ports: string[]): void;
|
|
166
|
+
/** 当前被占用的端口(测试 / 属性面板用)。 */
|
|
167
|
+
getOccupiedPorts(): string[];
|
|
168
|
+
/**
|
|
169
|
+
* 设计器把"有没有**过路折线**穿过我的位号 / 名称文字带"推过来。
|
|
170
|
+
*
|
|
171
|
+
* 为什么需要它(与端口占用分开):端口占用管的是"**我自己**的线上来压我的字",
|
|
172
|
+
* 而图纸里还有另一类 —— **别人的管线从我的标签上方 / 下方经过**(那根线跟我没有连接关系)。
|
|
173
|
+
* 实测下游(ice-agent-console)线上残留 4 处就属于这一类,且放大图元间距无效
|
|
174
|
+
* (折线与符号的相对位置是尺度无关的)。判据是纯几何,由设计器算(它手里有全部折线)。
|
|
175
|
+
*/
|
|
176
|
+
setLabelBlocked(blocked: {
|
|
177
|
+
tag?: boolean;
|
|
178
|
+
name?: boolean;
|
|
179
|
+
}): void;
|
|
180
|
+
/** 当前的两个标签带判定(测试 / 诊断用)。 */
|
|
181
|
+
getLabelBlocked(): {
|
|
182
|
+
tag: boolean;
|
|
183
|
+
name: boolean;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* 位号 / 名称**文字带的世界矩形**(没有那行文字时为 null)。
|
|
187
|
+
*
|
|
188
|
+
* 用途:设计器拿它跟折线做"过路管线压字"的几何判定(见 `setLabelBlocked`)。
|
|
189
|
+
* 口径与 `syncShape()` 的排版**同源**(同一批常量),别在别处再抄一份。
|
|
190
|
+
* 为什么从 `getMinBoundingBox(true)` 取形状盒:它是**世界坐标**且**不含子节点**
|
|
191
|
+
* (位号 / 名称就在子节点里),正好是文字带的对齐基准。
|
|
192
|
+
*/
|
|
193
|
+
labelBands(): {
|
|
194
|
+
tag: LabelBand | null;
|
|
195
|
+
name: LabelBand | null;
|
|
196
|
+
};
|
|
120
197
|
getSerializableChildren(): any[];
|
|
121
198
|
constructor(props?: any);
|
|
122
199
|
protected static arrangeParam(props?: any): any;
|
|
@@ -81,6 +81,36 @@ export declare const WATER_STYLE: {
|
|
|
81
81
|
/** 明确停用/旁通时的颜色 */
|
|
82
82
|
idleColor: string;
|
|
83
83
|
};
|
|
84
|
+
/**
|
|
85
|
+
* 标签与端口柱之间的最小间隙(世界像素)。
|
|
86
|
+
*
|
|
87
|
+
* 端口(`T` / `B`)落在形状盒的**边中点**上,而位号 / 名称也居中画在那条中轴线上 ——
|
|
88
|
+
* 于是"从上 / 下进线"的那一小段必然扫过文字(见 `syncShape()` 里的说明)。
|
|
89
|
+
* 8px 是让文字避开那条线(连同箭头)的余量,与线宽 / 箭头半宽同量级。
|
|
90
|
+
*/
|
|
91
|
+
export declare const WATER_LABEL_PORT_GAP = 8;
|
|
92
|
+
/** 位号文字带:符号顶边**外侧**居中,top = 形状盒顶边 - 18,高度按字号行高算。 */
|
|
93
|
+
export declare const TAG_TOP_OFFSET = 18;
|
|
94
|
+
export declare const TAG_BOX_HEIGHT: number;
|
|
95
|
+
/** 名称文字带:形状盒底边外侧,top = 底边 + 14。 */
|
|
96
|
+
export declare const NAME_TOP_PAD = 14;
|
|
97
|
+
export declare const NAME_BOX_HEIGHT: number;
|
|
98
|
+
/** 一段文字带的世界矩形(`WaterSymbol.labelBands()` 用)。 */
|
|
99
|
+
export interface LabelBand {
|
|
100
|
+
minX: number;
|
|
101
|
+
minY: number;
|
|
102
|
+
maxX: number;
|
|
103
|
+
maxY: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 估算一段文字占多宽(世界像素,不给 ctx 也能算)。
|
|
107
|
+
*
|
|
108
|
+
* 为什么要自己估:`syncShape()` 在**构造期**就会跑,那时还没有画布上下文;
|
|
109
|
+
* 而"标签要让开端口柱"这件事只需要一个够用的宽度(宁可略宽,不要压住线)。
|
|
110
|
+
* 口径:CJK / 全角按 1 个字宽算,其余(拉丁、数字、标点)按 0.55 个字宽 ——
|
|
111
|
+
* 与引擎自己的降级估算(`label.length * fontSize`)同思路,只是更贴近实际字宽。
|
|
112
|
+
*/
|
|
113
|
+
export declare function estimateWaterTextWidth(text: string, fontSize: number): number;
|
|
84
114
|
/** 污泥线单元(配色与校验都要用) */
|
|
85
115
|
export declare const WATER_SLUDGE_KINDS: WaterSymbolKind[];
|
|
86
116
|
export type WaterValveState = 'open' | 'closed';
|
|
@@ -116,7 +146,54 @@ export default class WaterSymbol extends ICEGroup {
|
|
|
116
146
|
*/
|
|
117
147
|
private __originX;
|
|
118
148
|
private __originY;
|
|
149
|
+
/**
|
|
150
|
+
* 本符号**被连线占用**的端口(`T` / `R` / `B` / `L` / `C`)。
|
|
151
|
+
*
|
|
152
|
+
* 只影响位号 / 名称的排版(让开端口柱,见 `syncShape()`),**不进 state** ——
|
|
153
|
+
* 它是从边推出来的派生数据,进了 state 反而要过 codec 那套完整性约束与快照往返。
|
|
154
|
+
* 由 `WaterProcessDesigner.__syncPortOccupancy()` 在增删连线 / 载入快照之后推进来。
|
|
155
|
+
*/
|
|
156
|
+
private occupiedPorts;
|
|
157
|
+
/**
|
|
158
|
+
* 位号 / 名称的**文字带被别的折线穿过**(不是"自己的端口被占",见 `setLabelBlocked`)。
|
|
159
|
+
*
|
|
160
|
+
* 与 `occupiedPorts` 同性质:派生数据、不进 state,由设计器推过来。
|
|
161
|
+
*/
|
|
162
|
+
private labelBlocked;
|
|
119
163
|
hasDerivedChildren(): boolean;
|
|
164
|
+
/** 设计器把"这个符号的哪几条边上有连线"推过来;变了才重建(避免无谓重绘)。 */
|
|
165
|
+
setOccupiedPorts(ports: string[]): void;
|
|
166
|
+
/** 当前被占用的端口(测试 / 属性面板用)。 */
|
|
167
|
+
getOccupiedPorts(): string[];
|
|
168
|
+
/**
|
|
169
|
+
* 设计器把"有没有**过路折线**穿过我的位号 / 名称文字带"推过来。
|
|
170
|
+
*
|
|
171
|
+
* 为什么需要它(与端口占用分开):端口占用管的是"**我自己**的线上来压我的字",
|
|
172
|
+
* 而图纸里还有另一类 —— **别人的管线从我的标签上方 / 下方经过**(那根线跟我没有连接关系)。
|
|
173
|
+
* 实测下游(ice-agent-console)线上残留 4 处就属于这一类,且放大图元间距无效
|
|
174
|
+
* (折线与符号的相对位置是尺度无关的)。判据是纯几何,由设计器算(它手里有全部折线)。
|
|
175
|
+
*/
|
|
176
|
+
setLabelBlocked(blocked: {
|
|
177
|
+
tag?: boolean;
|
|
178
|
+
name?: boolean;
|
|
179
|
+
}): void;
|
|
180
|
+
/** 当前的两个标签带判定(测试 / 诊断用)。 */
|
|
181
|
+
getLabelBlocked(): {
|
|
182
|
+
tag: boolean;
|
|
183
|
+
name: boolean;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* 位号 / 名称**文字带的世界矩形**(没有那行文字时为 null)。
|
|
187
|
+
*
|
|
188
|
+
* 用途:设计器拿它跟折线做"过路管线压字"的几何判定(见 `setLabelBlocked`)。
|
|
189
|
+
* 口径与 `syncShape()` 的排版**同源**(同一批常量),别在别处再抄一份。
|
|
190
|
+
* 为什么从 `getMinBoundingBox(true)` 取形状盒:它是**世界坐标**且**不含子节点**
|
|
191
|
+
* (位号 / 名称就在子节点里),正好是文字带的对齐基准。
|
|
192
|
+
*/
|
|
193
|
+
labelBands(): {
|
|
194
|
+
tag: LabelBand | null;
|
|
195
|
+
name: LabelBand | null;
|
|
196
|
+
};
|
|
120
197
|
getSerializableChildren(): any[];
|
|
121
198
|
constructor(props?: any);
|
|
122
199
|
protected static arrangeParam(props?: any): any;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "大漠穷秋",
|
|
3
3
|
"name": "ice-entity-designer",
|
|
4
|
-
"version": "0.12.
|
|
4
|
+
"version": "0.12.4",
|
|
5
5
|
"description": "An entity designer based on ice-render.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
"files": [
|
|
38
38
|
"dist",
|
|
39
39
|
"react.js",
|
|
40
|
-
"react.d.ts"
|
|
40
|
+
"react.d.ts",
|
|
41
|
+
"CHANGELOG.md"
|
|
41
42
|
],
|
|
42
43
|
"scripts": {
|
|
43
44
|
"start": "rollup -c -w --environment NODE_ENV:development",
|