@jlceda/pro-api-types 0.1.129 → 0.1.131
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/index.d.ts +150 -27
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -86,7 +86,7 @@ declare class DMT_EditorControl {
|
|
|
86
86
|
*
|
|
87
87
|
* @beta
|
|
88
88
|
* @param libraryUuid - 库 UUID,可以使用 {@link LIB_LibrariesList} 内的接口获取
|
|
89
|
-
* @param libraryType -
|
|
89
|
+
* @param libraryType - ��类型,支持符号和封装
|
|
90
90
|
* @param uuid - 符号、封装 UUID
|
|
91
91
|
* @param splitScreenId - 分屏 ID,即 {@link DMT_EditorControl.getSplitScreenTree} 方法获取到的 {@link IDMT_EditorSplitScreenItem.id}
|
|
92
92
|
* @returns 标签页 ID,如若为 `undefined`,则打开文档失败
|
|
@@ -760,7 +760,7 @@ declare class DMT_Workspace {
|
|
|
760
760
|
* 获取所有工作区的详细属性
|
|
761
761
|
*
|
|
762
762
|
* @public
|
|
763
|
-
* @returns
|
|
763
|
+
* @returns 所有工作区的详细属性
|
|
764
764
|
*/
|
|
765
765
|
getAllWorkspacesInfo(): Promise<Array<IDMT_WorkspaceItem>>;
|
|
766
766
|
/**
|
|
@@ -823,6 +823,7 @@ declare class EDA {
|
|
|
823
823
|
pcb_PrimitivePad: PCB_PrimitivePad;
|
|
824
824
|
pcb_PrimitivePolyline: PCB_PrimitivePolyline;
|
|
825
825
|
pcb_PrimitivePour: PCB_PrimitivePour;
|
|
826
|
+
pcb_PrimitivePoured: PCB_PrimitivePoured;
|
|
826
827
|
pcb_PrimitiveRegion: PCB_PrimitiveRegion;
|
|
827
828
|
pcb_PrimitiveVia: PCB_PrimitiveVia;
|
|
828
829
|
pcb_SelectControl: PCB_SelectControl;
|
|
@@ -1426,6 +1427,18 @@ declare enum EPCB_PrimitivePadShapeType {
|
|
|
1426
1427
|
POLYLINE_COMPLEX_POLYGON = "POLYGON"
|
|
1427
1428
|
}
|
|
1428
1429
|
|
|
1430
|
+
/**
|
|
1431
|
+
* 焊盘类型
|
|
1432
|
+
*
|
|
1433
|
+
* @public
|
|
1434
|
+
*/
|
|
1435
|
+
declare enum EPCB_PrimitivePadType {
|
|
1436
|
+
/** 焊盘 */
|
|
1437
|
+
NORMAL = "NORMAL",
|
|
1438
|
+
/** 测试点 */
|
|
1439
|
+
TEST = "TEST"
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1429
1442
|
/**
|
|
1430
1443
|
* 覆铜填充方法
|
|
1431
1444
|
*
|
|
@@ -1494,7 +1507,9 @@ declare enum EPCB_PrimitiveType {
|
|
|
1494
1507
|
/** 图像 */
|
|
1495
1508
|
IMAGE = "Image",
|
|
1496
1509
|
/** 二进制内嵌对象 */
|
|
1497
|
-
OBJECT = "Object"
|
|
1510
|
+
OBJECT = "Object",
|
|
1511
|
+
/** 覆铜填充 */
|
|
1512
|
+
POURED = "Poured"
|
|
1498
1513
|
}
|
|
1499
1514
|
|
|
1500
1515
|
/**
|
|
@@ -1824,7 +1839,7 @@ declare enum ESYS_ShortcutKeyEffectiveEditorScene {
|
|
|
1824
1839
|
EDITOR = 1,
|
|
1825
1840
|
/** 画布选中 */
|
|
1826
1841
|
SELECT_CANVAS = 2,
|
|
1827
|
-
/**
|
|
1842
|
+
/** 画布未���中 */
|
|
1828
1843
|
NOT_SELECT_CANVAS = 3,
|
|
1829
1844
|
/** 画布绘制 */
|
|
1830
1845
|
DRAW = 4,
|
|
@@ -2038,14 +2053,6 @@ declare interface IDMT_IndicatorMarkerShape {
|
|
|
2038
2053
|
* 线段 | 圆弧:起始点 Y
|
|
2039
2054
|
*/
|
|
2040
2055
|
startY?: number;
|
|
2041
|
-
/**
|
|
2042
|
-
* 圆弧:参考点 X
|
|
2043
|
-
*/
|
|
2044
|
-
referenceX?: number;
|
|
2045
|
-
/**
|
|
2046
|
-
* 圆弧:参考点 Y
|
|
2047
|
-
*/
|
|
2048
|
-
referenceY?: number;
|
|
2049
2056
|
/**
|
|
2050
2057
|
* 线段 | 圆弧:终止点 X
|
|
2051
2058
|
*/
|
|
@@ -2070,6 +2077,10 @@ declare interface IDMT_IndicatorMarkerShape {
|
|
|
2070
2077
|
* 矩形:右 X
|
|
2071
2078
|
*/
|
|
2072
2079
|
right?: number;
|
|
2080
|
+
/**
|
|
2081
|
+
* 圆弧:角度
|
|
2082
|
+
*/
|
|
2083
|
+
angle?: number;
|
|
2073
2084
|
}
|
|
2074
2085
|
|
|
2075
2086
|
/**
|
|
@@ -4627,6 +4638,8 @@ declare class IPCB_PrimitivePad implements IPCB_Primitive {
|
|
|
4627
4638
|
protected heatWelding: IPCB_PrimitivePadHeatWelding | null;
|
|
4628
4639
|
/** 是否锁定 */
|
|
4629
4640
|
protected primitiveLock: boolean;
|
|
4641
|
+
/** 焊盘类型 */
|
|
4642
|
+
protected padType: EPCB_PrimitivePadType;
|
|
4630
4643
|
/* Excluded from this release type: __constructor */
|
|
4631
4644
|
/**
|
|
4632
4645
|
* 在 PCB 画布中创建图元
|
|
@@ -4768,6 +4781,13 @@ declare class IPCB_PrimitivePad implements IPCB_Primitive {
|
|
|
4768
4781
|
* @returns 是否锁定
|
|
4769
4782
|
*/
|
|
4770
4783
|
getState_PrimitiveLock(): boolean;
|
|
4784
|
+
/**
|
|
4785
|
+
* 获取属性状态:焊盘类型
|
|
4786
|
+
*
|
|
4787
|
+
* @public
|
|
4788
|
+
* @returns 焊盘类型
|
|
4789
|
+
*/
|
|
4790
|
+
getState_PadType(): EPCB_PrimitivePadType;
|
|
4771
4791
|
/**
|
|
4772
4792
|
* 设置属性状态:层
|
|
4773
4793
|
*
|
|
@@ -4970,6 +4990,14 @@ declare class IPCB_PrimitivePad implements IPCB_Primitive {
|
|
|
4970
4990
|
* @returns 尺寸标注图元对象
|
|
4971
4991
|
*/
|
|
4972
4992
|
done(): Promise<IPCB_PrimitivePad>;
|
|
4993
|
+
/**
|
|
4994
|
+
* 设置属性状态:焊盘类型
|
|
4995
|
+
*
|
|
4996
|
+
* @beta
|
|
4997
|
+
* @param padType - 焊盘类型
|
|
4998
|
+
* @returns 焊盘图元对象
|
|
4999
|
+
*/
|
|
5000
|
+
private setState_PadType;
|
|
4973
5001
|
}
|
|
4974
5002
|
|
|
4975
5003
|
/**
|
|
@@ -5377,6 +5405,8 @@ declare class IPCB_PrimitivePour implements IPCB_Primitive {
|
|
|
5377
5405
|
* @returns 覆铜边框图元对象
|
|
5378
5406
|
*/
|
|
5379
5407
|
done(): Promise<IPCB_PrimitivePour>;
|
|
5408
|
+
/* Excluded from this release type: getCopperRegion */
|
|
5409
|
+
/* Excluded from this release type: rebuildCopperRegion */
|
|
5380
5410
|
/**
|
|
5381
5411
|
* 转换到:填充图元(默认是填充区域)
|
|
5382
5412
|
*
|
|
@@ -5401,7 +5431,78 @@ declare class IPCB_PrimitivePour implements IPCB_Primitive {
|
|
|
5401
5431
|
}
|
|
5402
5432
|
|
|
5403
5433
|
/**
|
|
5404
|
-
*
|
|
5434
|
+
* 覆铜填充图元
|
|
5435
|
+
*
|
|
5436
|
+
* @public
|
|
5437
|
+
*/
|
|
5438
|
+
declare class IPCB_PrimitivePoured implements IPCB_Primitive {
|
|
5439
|
+
/** 异步 */
|
|
5440
|
+
private async;
|
|
5441
|
+
/** 图元类型 */
|
|
5442
|
+
private readonly primitiveType;
|
|
5443
|
+
/** 覆铜边框图元 ID */
|
|
5444
|
+
private pourPrimitiveId;
|
|
5445
|
+
/** 覆铜填充区域 */
|
|
5446
|
+
private pourFills;
|
|
5447
|
+
/** 图元 ID */
|
|
5448
|
+
private primitiveId;
|
|
5449
|
+
/* Excluded from this release type: __constructor */
|
|
5450
|
+
/* Excluded from this release type: create */
|
|
5451
|
+
/**
|
|
5452
|
+
* 获取属性状态:图元类型
|
|
5453
|
+
*
|
|
5454
|
+
* @public
|
|
5455
|
+
* @returns 图元类型
|
|
5456
|
+
*/
|
|
5457
|
+
getState_PrimitiveType(): EPCB_PrimitiveType;
|
|
5458
|
+
/**
|
|
5459
|
+
* 获取属性状态:图元 ID
|
|
5460
|
+
*
|
|
5461
|
+
* @public
|
|
5462
|
+
* @returns 图元 ID
|
|
5463
|
+
*/
|
|
5464
|
+
getState_PrimitiveId(): string;
|
|
5465
|
+
/**
|
|
5466
|
+
* 获取属性状态:覆铜边框图元 ID
|
|
5467
|
+
*
|
|
5468
|
+
* @public
|
|
5469
|
+
* @returns 覆铜边框图元 ID
|
|
5470
|
+
*/
|
|
5471
|
+
getState_PourPrimitiveId(): string;
|
|
5472
|
+
/**
|
|
5473
|
+
* 获取属性状态:覆铜填充区域
|
|
5474
|
+
*
|
|
5475
|
+
* @public
|
|
5476
|
+
* @returns 覆铜填充区域
|
|
5477
|
+
*/
|
|
5478
|
+
getState_PourFills(): Array<IPCB_PrimitivePouredPourFill>;
|
|
5479
|
+
/* Excluded from this release type: toAsync */
|
|
5480
|
+
/* Excluded from this release type: toSync */
|
|
5481
|
+
/* Excluded from this release type: isAsync */
|
|
5482
|
+
/* Excluded from this release type: reset */
|
|
5483
|
+
/* Excluded from this release type: done */
|
|
5484
|
+
/* Excluded from this release type: convertToFill */
|
|
5485
|
+
/* Excluded from this release type: addSolderMaskFill */
|
|
5486
|
+
}
|
|
5487
|
+
|
|
5488
|
+
/**
|
|
5489
|
+
* 覆铜填充区域
|
|
5490
|
+
*
|
|
5491
|
+
* @public
|
|
5492
|
+
*/
|
|
5493
|
+
declare interface IPCB_PrimitivePouredPourFill {
|
|
5494
|
+
/** 复杂多边形 */
|
|
5495
|
+
path: IPCB_ComplexPolygon;
|
|
5496
|
+
/** 线宽 */
|
|
5497
|
+
lineWidth: number;
|
|
5498
|
+
/** 是否填充 */
|
|
5499
|
+
fill: boolean;
|
|
5500
|
+
/** ID */
|
|
5501
|
+
id: string;
|
|
5502
|
+
}
|
|
5503
|
+
|
|
5504
|
+
/**
|
|
5505
|
+
* 区域图元
|
|
5405
5506
|
*
|
|
5406
5507
|
* @public
|
|
5407
5508
|
*/
|
|
@@ -7355,7 +7456,7 @@ declare class ISCH_PrimitivePin implements ISCH_Primitive {
|
|
|
7355
7456
|
* 获取属性状态:引脚类型
|
|
7356
7457
|
*
|
|
7357
7458
|
* @public
|
|
7358
|
-
* @returns
|
|
7459
|
+
* @returns 引���类型
|
|
7359
7460
|
*/
|
|
7360
7461
|
getState_pinType(): ESCH_PrimitivePinType;
|
|
7361
7462
|
/**
|
|
@@ -8886,7 +8987,7 @@ declare class LIB_Footprint {
|
|
|
8886
8987
|
*/
|
|
8887
8988
|
declare class LIB_LibrariesList {
|
|
8888
8989
|
/**
|
|
8889
|
-
*
|
|
8990
|
+
* 获取系统库的 UUID
|
|
8890
8991
|
*
|
|
8891
8992
|
* @beta
|
|
8892
8993
|
* @returns 系统库的 UUID
|
|
@@ -11043,9 +11144,10 @@ declare class PCB_PrimitivePad implements IPCB_PrimitiveAPI {
|
|
|
11043
11144
|
* @param solderMaskAndPasteMaskExpansion - 阻焊/助焊扩展,`null` 表示遵循规则
|
|
11044
11145
|
* @param heatWelding - 热焊优化参数
|
|
11045
11146
|
* @param primitiveLock - 是否锁定
|
|
11147
|
+
* @param padType - 焊盘类型
|
|
11046
11148
|
* @returns 焊盘图元对象
|
|
11047
11149
|
*/
|
|
11048
|
-
create(layer: TPCB_LayersOfPad, padNumber: string, x: number, y: number, rotation?: number, pad?: TPCB_PrimitivePadShape, net?: string, hole?: TPCB_PrimitivePadHole | null, holeOffsetX?: number, holeOffsetY?: number, holeRotation?: number, metallization?: boolean, padFunction?: EPCB_PrimitivePadFunction, specialPad?: TPCB_PrimitiveSpecialPadShape, solderMaskAndPasteMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null, heatWelding?: IPCB_PrimitivePadHeatWelding | null, primitiveLock?: boolean): Promise<IPCB_PrimitivePad | undefined>;
|
|
11150
|
+
create(layer: TPCB_LayersOfPad, padNumber: string, x: number, y: number, rotation?: number, pad?: TPCB_PrimitivePadShape, net?: string, hole?: TPCB_PrimitivePadHole | null, holeOffsetX?: number, holeOffsetY?: number, holeRotation?: number, metallization?: boolean, padFunction?: EPCB_PrimitivePadFunction, specialPad?: TPCB_PrimitiveSpecialPadShape, solderMaskAndPasteMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null, heatWelding?: IPCB_PrimitivePadHeatWelding | null, primitiveLock?: boolean, padType?: EPCB_PrimitivePadType): Promise<IPCB_PrimitivePad | undefined>;
|
|
11049
11151
|
/**
|
|
11050
11152
|
* 删除焊盘
|
|
11051
11153
|
*
|
|
@@ -11107,7 +11209,7 @@ declare class PCB_PrimitivePad implements IPCB_PrimitiveAPI {
|
|
|
11107
11209
|
* @param primitiveLock - 是否锁定
|
|
11108
11210
|
* @returns 焊盘的图元 ID 数组
|
|
11109
11211
|
*/
|
|
11110
|
-
getAllPrimitiveId(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean): Promise<Array<string>>;
|
|
11212
|
+
getAllPrimitiveId(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean, padType?: EPCB_PrimitivePadType): Promise<Array<string>>;
|
|
11111
11213
|
/**
|
|
11112
11214
|
* 获取所有焊盘
|
|
11113
11215
|
*
|
|
@@ -11117,7 +11219,7 @@ declare class PCB_PrimitivePad implements IPCB_PrimitiveAPI {
|
|
|
11117
11219
|
* @param primitiveLock - 是否锁定
|
|
11118
11220
|
* @returns 焊盘图元对象数组
|
|
11119
11221
|
*/
|
|
11120
|
-
getAll(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean): Promise<Array<IPCB_PrimitivePad>>;
|
|
11222
|
+
getAll(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean, padType?: EPCB_PrimitivePadType): Promise<Array<IPCB_PrimitivePad>>;
|
|
11121
11223
|
}
|
|
11122
11224
|
|
|
11123
11225
|
/**
|
|
@@ -11288,6 +11390,21 @@ declare class PCB_PrimitivePour implements IPCB_PrimitiveAPI {
|
|
|
11288
11390
|
getAll(net?: string, layer?: TPCB_LayersOfCopper, primitiveLock?: boolean): Promise<Array<IPCB_PrimitivePour>>;
|
|
11289
11391
|
}
|
|
11290
11392
|
|
|
11393
|
+
/**
|
|
11394
|
+
* PCB & 封装 / 覆铜填充图元类
|
|
11395
|
+
*
|
|
11396
|
+
* @public
|
|
11397
|
+
*/
|
|
11398
|
+
declare class PCB_PrimitivePoured implements IPCB_PrimitiveAPI {
|
|
11399
|
+
/* Excluded from this release type: create */
|
|
11400
|
+
/* Excluded from this release type: delete */
|
|
11401
|
+
/* Excluded from this release type: modify */
|
|
11402
|
+
/* Excluded from this release type: get */
|
|
11403
|
+
/* Excluded from this release type: get */
|
|
11404
|
+
/* Excluded from this release type: getAllPrimitiveId */
|
|
11405
|
+
/* Excluded from this release type: getAll */
|
|
11406
|
+
}
|
|
11407
|
+
|
|
11291
11408
|
/**
|
|
11292
11409
|
* PCB & 封装 / 禁止区域和约束区域图元类
|
|
11293
11410
|
*
|
|
@@ -11624,7 +11741,7 @@ declare class SCH_Event {
|
|
|
11624
11741
|
* 原理图 & 符号 / 生产资料类
|
|
11625
11742
|
*
|
|
11626
11743
|
* @public
|
|
11627
|
-
* @remarks
|
|
11744
|
+
* @remarks 获取当前原理图���页的生产资料文件及快捷下单
|
|
11628
11745
|
*/
|
|
11629
11746
|
declare class SCH_ManufactureData {
|
|
11630
11747
|
/**
|
|
@@ -12210,7 +12327,7 @@ declare class SCH_PrimitiveComponent implements ISCH_PrimitiveAPI {
|
|
|
12210
12327
|
* @param allSchematicPages - 是否获取所有原理图图页的器件
|
|
12211
12328
|
* @returns 器件的图元 ID 数组
|
|
12212
12329
|
*/
|
|
12213
|
-
getAllPrimitiveId(componentType?:
|
|
12330
|
+
getAllPrimitiveId(componentType?: ESCH_PrimitiveComponentType, allSchematicPages?: boolean): Promise<Array<string>>;
|
|
12214
12331
|
/**
|
|
12215
12332
|
* 获取所有器件
|
|
12216
12333
|
*
|
|
@@ -12219,7 +12336,7 @@ declare class SCH_PrimitiveComponent implements ISCH_PrimitiveAPI {
|
|
|
12219
12336
|
* @param allSchematicPages - 是否获取所有原理图图页的器件
|
|
12220
12337
|
* @returns 器件图元对象数组
|
|
12221
12338
|
*/
|
|
12222
|
-
getAll(componentType?:
|
|
12339
|
+
getAll(componentType?: ESCH_PrimitiveComponentType, allSchematicPages?: boolean): Promise<Array<ISCH_PrimitiveComponent>>;
|
|
12223
12340
|
/**
|
|
12224
12341
|
* 获取器件关联的所有引脚
|
|
12225
12342
|
*
|
|
@@ -12243,7 +12360,13 @@ declare class SCH_PrimitiveComponent implements ISCH_PrimitiveAPI {
|
|
|
12243
12360
|
libraryUuid: string;
|
|
12244
12361
|
uuid: string;
|
|
12245
12362
|
} | ILIB_DeviceItem, subPartName?: string): Promise<boolean>;
|
|
12246
|
-
|
|
12363
|
+
/**
|
|
12364
|
+
* 获取所有器件的所有属性名称集合
|
|
12365
|
+
*
|
|
12366
|
+
* @beta
|
|
12367
|
+
* @returns 所有器件的所有属性名称集合
|
|
12368
|
+
*/
|
|
12369
|
+
getAllPropertyNames(): Promise<string[]>;
|
|
12247
12370
|
/* Excluded from this release type: getComponentDetail */
|
|
12248
12371
|
/* Excluded from this release type: checkComponentType */
|
|
12249
12372
|
}
|
|
@@ -12469,7 +12592,7 @@ declare class SCH_PrimitiveComponent3 implements ISCH_PrimitiveAPI {
|
|
|
12469
12592
|
* @param allSchematicPages - 是否获取所有原理图图页的器件
|
|
12470
12593
|
* @returns 器件的图元 ID 数组
|
|
12471
12594
|
*/
|
|
12472
|
-
getAllPrimitiveId(componentType?:
|
|
12595
|
+
getAllPrimitiveId(componentType?: ESCH_PrimitiveComponentType_2, allSchematicPages?: boolean): Promise<Array<string>>;
|
|
12473
12596
|
/**
|
|
12474
12597
|
* 获取所有器件
|
|
12475
12598
|
*
|
|
@@ -12478,7 +12601,7 @@ declare class SCH_PrimitiveComponent3 implements ISCH_PrimitiveAPI {
|
|
|
12478
12601
|
* @param allSchematicPages - 是否获取所有原理图图页的器件
|
|
12479
12602
|
* @returns 器件图元对象数组
|
|
12480
12603
|
*/
|
|
12481
|
-
getAll(componentType?:
|
|
12604
|
+
getAll(componentType?: ESCH_PrimitiveComponentType_2, allSchematicPages?: boolean): Promise<Array<ISCH_PrimitiveComponent_2>>;
|
|
12482
12605
|
/**
|
|
12483
12606
|
* 获取器件关联的所有引脚
|
|
12484
12607
|
*
|
|
@@ -13182,7 +13305,7 @@ declare class SYS_FileManager {
|
|
|
13182
13305
|
* 注意:本接口需要启用 **工程设计图 \> 文件导出** 权限,没有权限调用将始终 `throw Error`
|
|
13183
13306
|
* @param fileName - 文件名
|
|
13184
13307
|
* @param password - 加密密码
|
|
13185
|
-
* @returns 文档文件数据,`undefined`
|
|
13308
|
+
* @returns 文档文件数据,`undefined` 表示当前未打开文档或数据��取失败
|
|
13186
13309
|
*/
|
|
13187
13310
|
getDocumentFile(fileName?: string, password?: string): Promise<File | undefined>;
|
|
13188
13311
|
/**
|
|
@@ -13944,7 +14067,7 @@ declare class SYS_ToastMessage {
|
|
|
13944
14067
|
* @param messageType - 消息类型
|
|
13945
14068
|
* @param timer - 自动关闭倒计时秒数,`0` 为不自动关闭
|
|
13946
14069
|
* @param bottomPanel - 展开底部信息面板
|
|
13947
|
-
* @param buttonTitle -
|
|
14070
|
+
* @param buttonTitle - 回调按钮标题
|
|
13948
14071
|
* @param buttonCallbackFn - 回调函数内容,字符串形式,会被自动解析并执行
|
|
13949
14072
|
*/
|
|
13950
14073
|
showMessage(message: string, messageType?: ESYS_ToastMessageType, timer?: number, bottomPanel?: ESYS_BottomPanelTab, buttonTitle?: string, buttonCallbackFn?: string): void;
|
|
@@ -14408,7 +14531,7 @@ declare type TPCB_PrimitivePadHole = [EPCB_PrimitivePadHoleType, number, number]
|
|
|
14408
14531
|
*
|
|
14409
14532
|
* - `{number}` `diameter` - 直径
|
|
14410
14533
|
*
|
|
14411
|
-
* - `{number}` `numberOfSides` -
|
|
14534
|
+
* - `{number}` `numberOfSides` - 边数(> 2)
|
|
14412
14535
|
*
|
|
14413
14536
|
* ④ 折线复杂多边形
|
|
14414
14537
|
*
|