@fleet-frontend/mower-maps 0.0.9 → 0.1.0
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/dist/config/constants.d.ts +3 -25
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/styles.d.ts +3 -2
- package/dist/config/styles.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +1995 -1084
- package/dist/index.js +1993 -1082
- package/dist/processor/MapDataProcessor.d.ts +1 -1
- package/dist/processor/MapDataProcessor.d.ts.map +1 -1
- package/dist/processor/PathDataProcessor.d.ts +3 -18
- package/dist/processor/PathDataProcessor.d.ts.map +1 -1
- package/dist/processor/builder/AntennaDataBuilder.d.ts +2 -1
- package/dist/processor/builder/AntennaDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/BoundaryDataBuilder.d.ts +1 -1
- package/dist/processor/builder/BoundaryDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/ChannelDataBuilder.d.ts +1 -1
- package/dist/processor/builder/ChannelDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/ChargingPileDataBuilder.d.ts +1 -1
- package/dist/processor/builder/ChargingPileDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/ObstacleDataBuilder.d.ts +2 -1
- package/dist/processor/builder/ObstacleDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/PathDataBuilder.d.ts +6 -5
- package/dist/processor/builder/PathDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/PointDataBuilder.d.ts +2 -1
- package/dist/processor/builder/PointDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/SvgElementDataBuilder.d.ts +1 -1
- package/dist/processor/builder/SvgElementDataBuilder.d.ts.map +1 -1
- package/dist/processor/builder/VisionOffDataBuilder.d.ts +2 -1
- package/dist/processor/builder/VisionOffDataBuilder.d.ts.map +1 -1
- package/dist/processor/index.d.ts +2 -1
- package/dist/processor/index.d.ts.map +1 -1
- package/dist/render/AntennaManager.d.ts +7 -24
- package/dist/render/AntennaManager.d.ts.map +1 -1
- package/dist/render/BoundaryLabelsManager.d.ts +12 -20
- package/dist/render/BoundaryLabelsManager.d.ts.map +1 -1
- package/dist/render/ChargingPileManager.d.ts +10 -20
- package/dist/render/ChargingPileManager.d.ts.map +1 -1
- package/dist/render/MowerMapOverlay.d.ts +53 -8
- package/dist/render/MowerMapOverlay.d.ts.map +1 -1
- package/dist/render/MowerMapRenderer.d.ts.map +1 -1
- package/dist/render/{MowerPostionManager.d.ts → MowerPositionManager.d.ts} +16 -11
- package/dist/render/MowerPositionManager.d.ts.map +1 -0
- package/dist/render/SvgMapView.d.ts +15 -26
- package/dist/render/SvgMapView.d.ts.map +1 -1
- package/dist/render/layers/BoundaryBorderLayer.d.ts +11 -0
- package/dist/render/layers/BoundaryBorderLayer.d.ts.map +1 -1
- package/dist/render/layers/ChannelLayer.d.ts.map +1 -1
- package/dist/render/layers/DrawLayer.d.ts +1 -1
- package/dist/render/layers/DrawLayer.d.ts.map +1 -1
- package/dist/render/layers/PathLayer.d.ts +11 -2
- package/dist/render/layers/PathLayer.d.ts.map +1 -1
- package/dist/render/layers/SvgElementLayer.d.ts.map +1 -1
- package/dist/render/layers/index.d.ts +0 -1
- package/dist/render/layers/index.d.ts.map +1 -1
- package/dist/render/layers/types.d.ts +1 -36
- package/dist/render/layers/types.d.ts.map +1 -1
- package/dist/store/processMowingState.d.ts +4 -0
- package/dist/store/processMowingState.d.ts.map +1 -0
- package/dist/store/useSubBoundaryBorderStore.d.ts +9 -5
- package/dist/store/useSubBoundaryBorderStore.d.ts.map +1 -1
- package/dist/types/constants.d.ts +38 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/layers.d.ts +50 -0
- package/dist/types/layers.d.ts.map +1 -0
- package/dist/types/processor.d.ts +26 -0
- package/dist/types/processor.d.ts.map +1 -0
- package/dist/types/realTime.d.ts +27 -2
- package/dist/types/realTime.d.ts.map +1 -1
- package/dist/types/renderer.d.ts +28 -10
- package/dist/types/renderer.d.ts.map +1 -1
- package/dist/types/store.d.ts +22 -0
- package/dist/types/store.d.ts.map +1 -0
- package/dist/types/utils.d.ts +102 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/utils/boundaryUtils.d.ts +1 -29
- package/dist/utils/boundaryUtils.d.ts.map +1 -1
- package/dist/utils/common.d.ts +20 -0
- package/dist/utils/common.d.ts.map +1 -0
- package/dist/utils/coordinates.d.ts +28 -7
- package/dist/utils/coordinates.d.ts.map +1 -1
- package/dist/utils/handleRealTime.d.ts +20 -10
- package/dist/utils/handleRealTime.d.ts.map +1 -1
- package/dist/utils/mapBounds.d.ts +1 -10
- package/dist/utils/mapBounds.d.ts.map +1 -1
- package/dist/utils/math.d.ts +3 -10
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/mower.d.ts +5 -5
- package/dist/utils/mower.d.ts.map +1 -1
- package/dist/utils/pathSegments.d.ts +1 -15
- package/dist/utils/pathSegments.d.ts.map +1 -1
- package/dist/utils/unionFind.d.ts +49 -0
- package/dist/utils/unionFind.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/render/MowerPostionManager.d.ts.map +0 -1
package/dist/types/renderer.d.ts
CHANGED
|
@@ -2,10 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import { PathData } from './path';
|
|
3
3
|
import { MapData } from './map';
|
|
4
4
|
import { RobotStatus } from '../config';
|
|
5
|
-
import { RealTimeLocationType, RealTimeProcessType } from './realTime';
|
|
5
|
+
import { RealTimeLocationType, RealTimePartitionType, RealTimeProcessType, RealTimeStatusType } from './realTime';
|
|
6
|
+
import { UnitsType } from './utils';
|
|
6
7
|
export interface DragState {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
x?: number;
|
|
9
|
+
y?: number;
|
|
9
10
|
rotation?: number;
|
|
10
11
|
isDragging?: boolean;
|
|
11
12
|
isRotating?: boolean;
|
|
@@ -22,6 +23,7 @@ export interface BaseConfig {
|
|
|
22
23
|
opacity?: number;
|
|
23
24
|
}
|
|
24
25
|
export interface BoundaryStyle extends BaseConfig {
|
|
26
|
+
mowingLineColor?: string;
|
|
25
27
|
}
|
|
26
28
|
export interface ObstacleStyle extends BaseConfig {
|
|
27
29
|
}
|
|
@@ -47,6 +49,7 @@ export interface PathStyle extends BaseConfig {
|
|
|
47
49
|
edgeLineColor?: string;
|
|
48
50
|
transLineColor?: string;
|
|
49
51
|
mowingLineColor?: string;
|
|
52
|
+
mowedLineColor?: string;
|
|
50
53
|
}
|
|
51
54
|
export interface MapConfig {
|
|
52
55
|
boundary?: BoundaryStyle;
|
|
@@ -58,7 +61,7 @@ export interface MapConfig {
|
|
|
58
61
|
channel?: ChannelStyle;
|
|
59
62
|
antenna?: AntennaStyle;
|
|
60
63
|
}
|
|
61
|
-
export interface
|
|
64
|
+
export interface RendererPathConfig {
|
|
62
65
|
lineWidth?: number;
|
|
63
66
|
showEdgePaths?: boolean;
|
|
64
67
|
showTransPaths?: boolean;
|
|
@@ -81,22 +84,31 @@ export interface AntennaConfig {
|
|
|
81
84
|
valid: number;
|
|
82
85
|
version: string;
|
|
83
86
|
}
|
|
84
|
-
export interface
|
|
87
|
+
export interface MowerPositionConfig {
|
|
85
88
|
postureTheta: number;
|
|
86
89
|
postureX: number;
|
|
87
90
|
postureY: number;
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
lastPostureTheta?: number;
|
|
92
|
+
lastPostureX?: number;
|
|
93
|
+
lastPostureY?: number;
|
|
94
|
+
vehicleState?: RobotStatus;
|
|
95
|
+
}
|
|
96
|
+
export interface MowerPartitionInfo {
|
|
97
|
+
partitionIds: number[];
|
|
98
|
+
time: number;
|
|
90
99
|
}
|
|
100
|
+
export type RealTimeData = RealTimeLocationType | RealTimeProcessType | RealTimePartitionType | RealTimeStatusType;
|
|
91
101
|
export interface MowerMapRendererProps {
|
|
102
|
+
edger?: boolean;
|
|
103
|
+
unitType?: UnitsType;
|
|
104
|
+
language?: string;
|
|
92
105
|
mapConfig?: MapConfig;
|
|
93
106
|
modelType: string;
|
|
94
107
|
mapRef?: google.maps.Map;
|
|
95
108
|
mapJson?: MapData;
|
|
96
109
|
pathJson?: PathData;
|
|
97
|
-
realTimeData?:
|
|
110
|
+
realTimeData?: RealTimeData[];
|
|
98
111
|
antennaConfig?: AntennaConfig[];
|
|
99
|
-
currentPositionData?: MowerPositonConfig;
|
|
100
112
|
onMapLoad?: (elementCount: number) => void;
|
|
101
113
|
onPathLoad?: (elementCount: number) => void;
|
|
102
114
|
onZoomChange?: (zoomLevel: number) => void;
|
|
@@ -106,7 +118,12 @@ export interface MowerMapRendererProps {
|
|
|
106
118
|
googleMapInstance?: any;
|
|
107
119
|
isEditMode?: boolean;
|
|
108
120
|
dragCallbacks?: DragCallbacks;
|
|
109
|
-
|
|
121
|
+
defaultTransform?: {
|
|
122
|
+
x?: number;
|
|
123
|
+
y?: number;
|
|
124
|
+
rotation?: number;
|
|
125
|
+
};
|
|
126
|
+
debug?: boolean;
|
|
110
127
|
}
|
|
111
128
|
export interface MowerMapRendererRef {
|
|
112
129
|
setZoom?: (zoom: number) => void;
|
|
@@ -123,5 +140,6 @@ export interface MowerMapRendererRef {
|
|
|
123
140
|
getElementCount?: () => number;
|
|
124
141
|
getPathCount?: () => number;
|
|
125
142
|
isGoogleMapsReady?: () => boolean;
|
|
143
|
+
resetToDefaultTransform?: () => void;
|
|
126
144
|
}
|
|
127
145
|
//# sourceMappingURL=renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/types/renderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/types/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 状态管理模块类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 割草状态接口
|
|
6
|
+
*/
|
|
7
|
+
export interface ProcessMowingState {
|
|
8
|
+
processStateIsMowing: boolean;
|
|
9
|
+
updateProcessStateIsMowing: (isMowing: boolean) => void;
|
|
10
|
+
resetProcessStateIsMowing: () => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 子边界边框存储接口
|
|
14
|
+
*/
|
|
15
|
+
export interface SubBoundaryBorderStore {
|
|
16
|
+
subBoundaryBorder: Record<string, any>;
|
|
17
|
+
setSubBoundaryBorder: (subBoundaryBorder: Record<string, any>) => void;
|
|
18
|
+
addSubBoundaryBorder: (key: string, element: any) => void;
|
|
19
|
+
addMultipleSubBoundaryBorders: (borders: Record<string, any>) => void;
|
|
20
|
+
clearSubBoundaryBorder: () => void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/types/store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0BAA0B,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,yBAAyB,EAAE,MAAM,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACvE,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1D,6BAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACtE,sBAAsB,EAAE,MAAM,IAAI,CAAC;CACpC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 工具模块类型定义
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 坐标点接口
|
|
6
|
+
*/
|
|
7
|
+
export interface Point {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 路径段接口
|
|
13
|
+
*/
|
|
14
|
+
export interface PathSegment {
|
|
15
|
+
points: Point[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 路径段集合接口
|
|
19
|
+
*/
|
|
20
|
+
export interface PathSegmentsByType {
|
|
21
|
+
edge: PathSegment[];
|
|
22
|
+
mowing: PathSegment[];
|
|
23
|
+
trans: PathSegment[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 路径段类型枚举
|
|
27
|
+
*/
|
|
28
|
+
export declare enum PathSegmentType {
|
|
29
|
+
EDGE = "edge",
|
|
30
|
+
MOWING = "mowing",
|
|
31
|
+
TRANS = "trans"
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 边界数据接口
|
|
35
|
+
*/
|
|
36
|
+
export interface BoundaryData {
|
|
37
|
+
id: number;
|
|
38
|
+
name: string;
|
|
39
|
+
area: number;
|
|
40
|
+
points: number[][];
|
|
41
|
+
type: string;
|
|
42
|
+
avai_segs?: number;
|
|
43
|
+
base_angle?: number;
|
|
44
|
+
edge_vf?: number;
|
|
45
|
+
height_set?: number;
|
|
46
|
+
mow_edge?: number;
|
|
47
|
+
obstacle_mow_edge?: number;
|
|
48
|
+
rec_base_angle?: number;
|
|
49
|
+
finishedArea?: number;
|
|
50
|
+
partitionPercentage?: number;
|
|
51
|
+
partitionId?: number;
|
|
52
|
+
endTimeAlias?: number;
|
|
53
|
+
startTime?: number;
|
|
54
|
+
endTime?: number;
|
|
55
|
+
list?: any[];
|
|
56
|
+
subMapId?: number;
|
|
57
|
+
subMapName?: string;
|
|
58
|
+
subMapArea?: number;
|
|
59
|
+
containObstaclesId?: number[];
|
|
60
|
+
isIsolated?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 地图边界接口
|
|
64
|
+
*/
|
|
65
|
+
export interface MapBounds {
|
|
66
|
+
minX: number;
|
|
67
|
+
minY: number;
|
|
68
|
+
maxX: number;
|
|
69
|
+
maxY: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 节流函数选项接口
|
|
73
|
+
*/
|
|
74
|
+
export interface ThrottleOptions {
|
|
75
|
+
leading?: boolean;
|
|
76
|
+
trailing?: boolean;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 处理实时数据的属性接口
|
|
80
|
+
*/
|
|
81
|
+
export interface HandleRealTimeDataProps {
|
|
82
|
+
realTimeData: any[];
|
|
83
|
+
isMowing?: boolean;
|
|
84
|
+
pathData?: any;
|
|
85
|
+
partitionBoundary?: any[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 单位类型枚举
|
|
89
|
+
*/
|
|
90
|
+
export declare enum UnitsType {
|
|
91
|
+
Metric = "Metric",
|
|
92
|
+
Imperial = "Imperial"
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 面积单位类型枚举
|
|
96
|
+
*/
|
|
97
|
+
export declare enum UnitsAreaType {
|
|
98
|
+
SQUARE_METER = "m\u00B2",
|
|
99
|
+
SQUARE_FOOT = "ft\u00B2",
|
|
100
|
+
ACRE = "ac"
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAE3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAGb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IAEtC,YAAY,EAAE,GAAG,EAAE,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,YAAY,YAAO;IACnB,WAAW,aAAQ;IACnB,IAAI,OAAO;CACZ"}
|
|
@@ -1,34 +1,6 @@
|
|
|
1
1
|
import { MapData } from '../types/map';
|
|
2
2
|
import { PathData } from '../types/path';
|
|
3
|
-
|
|
4
|
-
* 边界数据接口
|
|
5
|
-
*/
|
|
6
|
-
export interface BoundaryData {
|
|
7
|
-
id: number;
|
|
8
|
-
name: string;
|
|
9
|
-
area: number;
|
|
10
|
-
points: number[][];
|
|
11
|
-
type: string;
|
|
12
|
-
avai_segs?: number;
|
|
13
|
-
base_angle?: number;
|
|
14
|
-
edge_vf?: number;
|
|
15
|
-
height_set?: number;
|
|
16
|
-
mow_edge?: number;
|
|
17
|
-
obstacle_mow_edge?: number;
|
|
18
|
-
rec_base_angle?: number;
|
|
19
|
-
finishedArea?: number;
|
|
20
|
-
partitionPercentage?: number;
|
|
21
|
-
partitionId?: number;
|
|
22
|
-
endTimeAlias?: number;
|
|
23
|
-
startTime?: number;
|
|
24
|
-
endTime?: number;
|
|
25
|
-
list?: any[];
|
|
26
|
-
subMapId?: number;
|
|
27
|
-
subMapName?: string;
|
|
28
|
-
subMapArea?: number;
|
|
29
|
-
containObstaclesId?: number[];
|
|
30
|
-
isIsolated?: boolean;
|
|
31
|
-
}
|
|
3
|
+
import { BoundaryData } from '../types/utils';
|
|
32
4
|
/**
|
|
33
5
|
* 通过 mapData 和 pathData 生成所有 boundary 的数据
|
|
34
6
|
* @param mapData 地图数据
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundaryUtils.d.ts","sourceRoot":"","sources":["../../src/utils/boundaryUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"boundaryUtils.d.ts","sourceRoot":"","sources":["../../src/utils/boundaryUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAmC9C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CA0F1F;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,GACjB,YAAY,GAAG,IAAI,CAQrB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAGzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAUlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAG3F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAG5F"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ThrottleOptions } from '../types/utils';
|
|
2
|
+
/**
|
|
3
|
+
* 高级节流函数
|
|
4
|
+
* @param func 要节流的函数
|
|
5
|
+
* @param delay 延迟时间(毫秒)
|
|
6
|
+
* @param options 配置选项
|
|
7
|
+
* @returns 节流后的函数
|
|
8
|
+
*/
|
|
9
|
+
export declare function throttleAdvanced<T extends (...args: any[]) => any>(func: T, delay: number, options?: ThrottleOptions): (...args: Parameters<T>) => void;
|
|
10
|
+
/**
|
|
11
|
+
* 检测当前设备是否为移动设备
|
|
12
|
+
* @returns {boolean} 如果是移动设备返回true,否则返回false
|
|
13
|
+
*/
|
|
14
|
+
export declare function isMobileDevice(): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 检测当前设备是否为桌面设备
|
|
17
|
+
* @returns {boolean} 如果是桌面设备返回true,否则返回false
|
|
18
|
+
*/
|
|
19
|
+
export declare function isDesktopDevice(): boolean;
|
|
20
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAChE,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,eAAmD,GAC3D,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAiClC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CA0BxC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* 坐标点接口
|
|
3
|
-
*/
|
|
4
|
-
export interface Point {
|
|
5
|
-
x: number;
|
|
6
|
-
y: number;
|
|
7
|
-
}
|
|
1
|
+
import { Point } from '../types/utils';
|
|
8
2
|
/**
|
|
9
3
|
* 转换点格式,为坐标点添加缩放因子
|
|
10
4
|
* 保持原数组格式,只对前两个元素(x, y 坐标)应用缩放因子
|
|
@@ -20,4 +14,31 @@ export declare function convertPositionFormat(position?: [number, number]): Poin
|
|
|
20
14
|
* 转换单个坐标点
|
|
21
15
|
*/
|
|
22
16
|
export declare function convertCoordinate(x: number, y: number): Point;
|
|
17
|
+
/**
|
|
18
|
+
* @param x x坐标
|
|
19
|
+
* @param y y坐标
|
|
20
|
+
* @param isAllowInBoundary 是否允许点在边界上的判断
|
|
21
|
+
* @return ture-点在边界上即可视为在边界内,false-严格判断点在边界内
|
|
22
|
+
*/
|
|
23
|
+
export declare function isPointIn(x: number, y: number, pointList: Point[], isAllowInBoundary: boolean): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* 用于判断三个点的方向的辅助方法
|
|
26
|
+
*/
|
|
27
|
+
export declare function orientation(p: Point, q: Point, r: Point): 1 | 2 | 0;
|
|
28
|
+
/**
|
|
29
|
+
* 检查点q是否在线段pr上的辅助方法
|
|
30
|
+
*/
|
|
31
|
+
export declare function onSegment(p: Point, q: Point, r: Point): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* 判断两条线段是否相交的方法
|
|
34
|
+
*/
|
|
35
|
+
export declare function doTwoLinesIntersect(p1: Point, q1: Point, p2: Point, q2: Point): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* 判断多点折线是否相交
|
|
38
|
+
*/
|
|
39
|
+
export declare function doIntersect(points1: Point[], points2: Point[]): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* 两个图形是否完全分离,互相不包含
|
|
42
|
+
*/
|
|
43
|
+
export declare function isOutsideToEachOther(points1: Point[], points2: Point[]): boolean;
|
|
23
44
|
//# sourceMappingURL=coordinates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinates.d.ts","sourceRoot":"","sources":["../../src/utils/coordinates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coordinates.d.ts","sourceRoot":"","sources":["../../src/utils/coordinates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,IAAI,CAc1E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAO/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAK7D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,WAsC7F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,aAIvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,WAUrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,WA2B7E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAa7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAsBtE"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { RealTimeLocationType, RealTimeProcessType } from '../types/realTime';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
isMowing?: boolean;
|
|
6
|
-
pathData?: PathData;
|
|
7
|
-
partitionBoundary?: BoundaryElement[];
|
|
8
|
-
}
|
|
1
|
+
import { RealTimeLocationType, RealTimePartitionType, RealTimeProcessType } from '../types/realTime';
|
|
2
|
+
import { PathData } from '../types';
|
|
3
|
+
import { HandleRealTimeDataProps } from '../types/utils';
|
|
4
|
+
export declare const getPartitionId: (partitionBoundary: any[], postureX?: number, postureY?: number) => any;
|
|
9
5
|
/**
|
|
10
6
|
* 处理实时数据的消息,这里的实时数据消息有两种,一种是实时轨迹,一种是割草进度,其中这两种下发的时间频次不一样
|
|
11
7
|
* 实时轨迹的路径需要依靠割草进度时候的割草状态判断,目前只能根据上一次获取到的割草进度的状态来处理,如果一开始没有割草的状态,则默认为不割草,后续会根据割草进度来更新
|
|
@@ -13,9 +9,23 @@ export interface HandleRealTimeDataProps {
|
|
|
13
9
|
* @param param0
|
|
14
10
|
* @returns
|
|
15
11
|
*/
|
|
16
|
-
declare const
|
|
12
|
+
declare const handleMultipleRealTimeData: ({ realTimeData, isMowing, pathData, partitionBoundary, }: HandleRealTimeDataProps) => {
|
|
17
13
|
pathData: PathData;
|
|
18
14
|
isMowing: boolean;
|
|
19
15
|
};
|
|
20
|
-
|
|
16
|
+
/**
|
|
17
|
+
* 根据实时数据,获取到割草状态
|
|
18
|
+
* @param realTimeData 实时数据
|
|
19
|
+
* @param isMowing 上一次的割草状态
|
|
20
|
+
* @returns 新的割草状态
|
|
21
|
+
*/
|
|
22
|
+
declare const getProcessMowingDataFromRealTimeData: ({ realTimeData, isMowing, pathData, }: {
|
|
23
|
+
realTimeData: (RealTimeLocationType | RealTimeProcessType | RealTimePartitionType)[];
|
|
24
|
+
isMowing?: boolean;
|
|
25
|
+
pathData?: PathData;
|
|
26
|
+
}) => {
|
|
27
|
+
isMowing: boolean;
|
|
28
|
+
pathData: PathData;
|
|
29
|
+
};
|
|
30
|
+
export { handleMultipleRealTimeData, getProcessMowingDataFromRealTimeData };
|
|
21
31
|
//# sourceMappingURL=handleRealTime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleRealTime.d.ts","sourceRoot":"","sources":["../../src/utils/handleRealTime.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"handleRealTime.d.ts","sourceRoot":"","sources":["../../src/utils/handleRealTime.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,mBAAmB,EAAoB,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAmB,QAAQ,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,eAAO,MAAM,cAAc,GAAI,mBAAmB,GAAG,EAAE,EAAE,WAAW,MAAM,EAAE,WAAW,MAAM,QAS5F,CAAC;AAiDF;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,GAAI,0DAMpC,uBAAuB,KAAG;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CAgEnB,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oCAAoC,GAAI,uCAI3C;IAED,YAAY,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,EAAE,CAAC;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,KAAG;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CA6BpB,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,CAAC"}
|
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
import { Point } from '
|
|
1
|
+
import { Point, MapBounds } from '../types/utils';
|
|
2
2
|
import { MapData } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* 地图边界接口
|
|
5
|
-
*/
|
|
6
|
-
export interface MapBounds {
|
|
7
|
-
minX: number;
|
|
8
|
-
minY: number;
|
|
9
|
-
maxX: number;
|
|
10
|
-
maxY: number;
|
|
11
|
-
}
|
|
12
3
|
/**
|
|
13
4
|
* 计算地图边界
|
|
14
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapBounds.d.ts","sourceRoot":"","sources":["../../src/utils/mapBounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"mapBounds.d.ts","sourceRoot":"","sources":["../../src/utils/mapBounds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAqD9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAOzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAKxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKlF;AAiBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG;IAC1D,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrB,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrB,GAAG,IAAI,CAgFP;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAoDpF"}
|
package/dist/utils/math.d.ts
CHANGED
|
@@ -26,15 +26,8 @@ export declare function m2ToAcre(area: number): number;
|
|
|
26
26
|
* formatNumberWithMetricPrefix(2500000000) // 返回 "2.50B"
|
|
27
27
|
*/
|
|
28
28
|
export declare function formatNumberWithMetricPrefix(value: number | undefined, round?: boolean, decimals?: number): string | number;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Imperial = "imperial"
|
|
32
|
-
}
|
|
33
|
-
export declare enum UnitsAreaType {
|
|
34
|
-
SQUARE_METER = "m\u00B2",
|
|
35
|
-
SQUARE_FOOT = "ft\u00B2",
|
|
36
|
-
ACRE = "ac"
|
|
37
|
-
}
|
|
29
|
+
import { UnitsType, UnitsAreaType } from '../types/utils';
|
|
30
|
+
export { UnitsType, UnitsAreaType };
|
|
38
31
|
/**
|
|
39
32
|
* 转换割草面积的方法
|
|
40
33
|
* @param area 面积数值(单位:m²)
|
|
@@ -45,7 +38,7 @@ export declare enum UnitsAreaType {
|
|
|
45
38
|
* convertMowingArea(1500, 'imperial') // 返回 { value: "16.1K", unit: "ft²" }
|
|
46
39
|
* convertMowingArea(10000, 'imperial') // 返回 { value: "2.5", unit: "ac" }
|
|
47
40
|
*/
|
|
48
|
-
export declare function convertAreaByUnits(area: number | undefined, type:
|
|
41
|
+
export declare function convertAreaByUnits(area: number | undefined, type: UnitsType): {
|
|
49
42
|
originNum: number;
|
|
50
43
|
numStr?: string;
|
|
51
44
|
value?: string;
|
package/dist/utils/math.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAO1C;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE;AAID,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,QAE5D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,QAE5D,CAAC;AAGF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,UAErC;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,UAErC;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,GAAE,OAAc,EACrB,QAAQ,GAAE,MAAU,mBAcrB;AAGD,
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/utils/math.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAO1C;AAGD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAEtE;AAID,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,QAE5D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,WAAU,MAAU,QAE5D,CAAC;AAGF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,UAErC;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,UAErC;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC;AAGD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,GAAE,OAAc,EACrB,QAAQ,GAAE,MAAU,mBAcrB;AAGD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,SAAS,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAiD7E"}
|
package/dist/utils/mower.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function getMowerImageByModal(mowerModal: string): string;
|
|
1
|
+
import { MowerPositionConfig } from '../types/renderer';
|
|
2
|
+
export declare function getMowerImageByModal(mowerModal: string, hasEdger: boolean): string;
|
|
3
3
|
export declare function getDisabledMowerImageByModal(mowerModal: string): string;
|
|
4
4
|
export declare function getNoPositionMowerImageByModal(mowerModal: string): string;
|
|
5
|
-
export declare function getMowerImage(positonConfig:
|
|
5
|
+
export declare function getMowerImage(positonConfig: MowerPositionConfig, modelType?: string, hasEdger?: boolean): string;
|
|
6
6
|
export declare function isNoPosture(posture?: number): boolean;
|
|
7
|
-
export declare function isInvalidPosition(positonConfig:
|
|
8
|
-
export declare function isOutOfRange(positonConfig:
|
|
7
|
+
export declare function isInvalidPosition(positonConfig: MowerPositionConfig): boolean;
|
|
8
|
+
export declare function isOutOfRange(positonConfig: MowerPositionConfig): boolean;
|
|
9
9
|
//# sourceMappingURL=mower.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mower.d.ts","sourceRoot":"","sources":["../../src/utils/mower.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mower.d.ts","sourceRoot":"","sources":["../../src/utils/mower.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,UASzE;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,UAS9D;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,UAShE;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,UAiBvG;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,WAY3C;AAED,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,mBAAmB,WAMnE;AAED,wBAAgB,YAAY,CAAC,aAAa,EAAE,mBAAmB,WAO9D"}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PathSegmentsByType } from '../types/utils';
|
|
2
2
|
import { PathDataItem } from '../types';
|
|
3
|
-
/**
|
|
4
|
-
* 路径段接口
|
|
5
|
-
*/
|
|
6
|
-
export interface PathSegment {
|
|
7
|
-
points: Point[];
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* 路径段集合接口
|
|
11
|
-
*/
|
|
12
|
-
export interface PathSegmentsByType {
|
|
13
|
-
edge: PathSegment[];
|
|
14
|
-
mowing: PathSegment[];
|
|
15
|
-
trans: PathSegment[];
|
|
16
|
-
}
|
|
17
3
|
/**
|
|
18
4
|
* 按Python逻辑创建路径段:根据连续的两点之间的关系确定线段类型
|
|
19
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathSegments.d.ts","sourceRoot":"","sources":["../../src/utils/pathSegments.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pathSegments.d.ts","sourceRoot":"","sources":["../../src/utils/pathSegments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,kBAAkB,EAAmB,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAgEjF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 并查集(Union-Find)是一种非常高效的数据结构,用于处理动态连通性问题。
|
|
3
|
+
* 它可以快速判断网络中任意两点是否连通,并能将不连通的集合合并。
|
|
4
|
+
*/
|
|
5
|
+
export declare class UnionFind {
|
|
6
|
+
count: number;
|
|
7
|
+
parent: number[];
|
|
8
|
+
/**
|
|
9
|
+
* 构造函数,n为图的节点总数
|
|
10
|
+
* @param {number} n - 节点总数
|
|
11
|
+
*/
|
|
12
|
+
constructor(n: any);
|
|
13
|
+
/**
|
|
14
|
+
* 查找元素p所对应的集合编号(根节点)
|
|
15
|
+
* @param {number} p - 要查找的元素
|
|
16
|
+
* @returns {number} 根节点的编号
|
|
17
|
+
*/
|
|
18
|
+
find(p: any): any;
|
|
19
|
+
/**
|
|
20
|
+
* 判断元素p和元素q是否属于同一集合
|
|
21
|
+
* @param {number} p - 第一个元素
|
|
22
|
+
* @param {number} q - 第二个元素
|
|
23
|
+
* @returns {boolean} 是否连通
|
|
24
|
+
*/
|
|
25
|
+
isConnected(p: any, q: any): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 合并元素p和元素q所属的集合
|
|
28
|
+
* @param {number} p - 第一个元素
|
|
29
|
+
* @param {number} q - 第二个元素
|
|
30
|
+
*/
|
|
31
|
+
union(p: any, q: any): void;
|
|
32
|
+
/**
|
|
33
|
+
* 获取当前的连通分量个数
|
|
34
|
+
* @returns {number} 连通分量数量
|
|
35
|
+
*/
|
|
36
|
+
getCount(): number;
|
|
37
|
+
/**
|
|
38
|
+
* 获取联通的组
|
|
39
|
+
* @param {Array} list - 原始元素列表
|
|
40
|
+
* @returns {Array<Set>} 联通组列表
|
|
41
|
+
*/
|
|
42
|
+
getConnectedGroup<T>(list: T[]): Set<T>[];
|
|
43
|
+
/**
|
|
44
|
+
* 重置并查集
|
|
45
|
+
* @param {number} n - 新的节点总数
|
|
46
|
+
*/
|
|
47
|
+
reset(n: any): void;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=unionFind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unionFind.d.ts","sourceRoot":"","sources":["../../src/utils/unionFind.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,SAAS;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;gBACS,CAAC,KAAA;IAUb;;;;OAIG;IACH,IAAI,CAAC,CAAC,KAAA;IAQN;;;;;OAKG;IACH,WAAW,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAIhB;;;;OAIG;IACH,KAAK,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAoBV;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IAwB9B;;;OAGG;IACH,KAAK,CAAC,CAAC,KAAA;CAOV"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MowerPostionManager.d.ts","sourceRoot":"","sources":["../../src/render/MowerPostionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,aAAa,CAAiB;IAGtC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,eAAe,CAA2D;IAClF,OAAO,CAAC,cAAc,CAA2D;IACjF,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAa;gBAGvC,OAAO,EAAE,UAAU,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,WAAW,EACvB,mBAAmB,CAAC,EAAE,MAAM,IAAI;IASlC,IAAI,aAAa,YAEhB;IAED;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW;IAIrC;;OAEG;IACH,UAAU,IAAI,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,2BAA2B,CACzB,0BAA0B,EAAE,kBAAkB,EAC9C,aAAa,GAAE,MAAU;IAoB3B;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,kBAAkB,EAAE,aAAa,GAAE,MAAU;IAwC3E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6ChC,mBAAmB;IAInB;;OAEG;IACH,OAAO,CAAC,WAAW;IAuCnB;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA6B1C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,OAAO;CAWR"}
|