@fleet-frontend/mower-maps 0.0.9 → 0.1.0-beta.2
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 +4 -3
- 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 +4711 -1229
- package/dist/index.js +4709 -1227
- 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 +21 -0
- 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 +9 -4
- 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/useCurrentMowingDataStore.d.ts +4 -0
- package/dist/store/useCurrentMowingDataStore.d.ts.map +1 -0
- package/dist/store/usePartitionDataStore.d.ts +4 -0
- package/dist/store/usePartitionDataStore.d.ts.map +1 -0
- 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 +30 -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 +24 -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/pointInBoundary.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 +2 -1
- package/dist/render/MowerPostionManager.d.ts.map +0 -1
- package/dist/store/useSubBoundaryBorderStore.d.ts +0 -11
- package/dist/store/useSubBoundaryBorderStore.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,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 状态管理模块类型定义
|
|
3
|
+
*/
|
|
4
|
+
import { DrawElement } from './layers';
|
|
5
|
+
/**
|
|
6
|
+
* 割草状态接口
|
|
7
|
+
*/
|
|
8
|
+
export interface ProcessMowingState {
|
|
9
|
+
processStateIsMowing: boolean;
|
|
10
|
+
updateProcessStateIsMowing: (isMowing: boolean) => void;
|
|
11
|
+
resetProcessStateIsMowing: () => void;
|
|
12
|
+
currentMowingPartitionId: string;
|
|
13
|
+
updateCurrentMowingPartitionId: (partitionId: string) => void;
|
|
14
|
+
resetCurrentMowingPartitionId: () => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 子边界边框存储接口
|
|
18
|
+
*/
|
|
19
|
+
export interface PartitionDataStore {
|
|
20
|
+
subBoundaryBorder: Record<string, DrawElement<any>>;
|
|
21
|
+
addSubBoundaryBorder: (key: string, element: DrawElement<any>) => void;
|
|
22
|
+
clearSubBoundaryBorder: () => void;
|
|
23
|
+
obstacles: Record<string, DrawElement<any>>;
|
|
24
|
+
addObstacles: (key: string, element: DrawElement<any>) => void;
|
|
25
|
+
clearObstacles: () => void;
|
|
26
|
+
svgElements: Record<string, DrawElement<any>>;
|
|
27
|
+
addSvgElements: (key: string, element: DrawElement<any>) => void;
|
|
28
|
+
clearSvgElements: () => void;
|
|
29
|
+
}
|
|
30
|
+
//# 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,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;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;IACtC,wBAAwB,EAAE,MAAM,CAAC;IACjC,8BAA8B,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,6BAA6B,EAAE,MAAM,IAAI,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACvE,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IAC/D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACjE,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B"}
|
|
@@ -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
|
+
currentMowingPartition?: string;
|
|
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;IAIf,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;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,8 @@
|
|
|
1
|
-
import { RealTimeLocationType, RealTimeProcessType } from '../types/realTime';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 isPointInPartition: (partitionBoundary: any[], postureX?: number, postureY?: number) => boolean;
|
|
5
|
+
export declare const getPartitionId: (partitionBoundary: any[], postureX?: number, postureY?: number) => any;
|
|
9
6
|
/**
|
|
10
7
|
* 处理实时数据的消息,这里的实时数据消息有两种,一种是实时轨迹,一种是割草进度,其中这两种下发的时间频次不一样
|
|
11
8
|
* 实时轨迹的路径需要依靠割草进度时候的割草状态判断,目前只能根据上一次获取到的割草进度的状态来处理,如果一开始没有割草的状态,则默认为不割草,后续会根据割草进度来更新
|
|
@@ -13,9 +10,26 @@ export interface HandleRealTimeDataProps {
|
|
|
13
10
|
* @param param0
|
|
14
11
|
* @returns
|
|
15
12
|
*/
|
|
16
|
-
declare const
|
|
13
|
+
declare const handleMultipleRealTimeData: ({ realTimeData, isMowing, pathData, currentMowingPartition, }: HandleRealTimeDataProps) => {
|
|
17
14
|
pathData: PathData;
|
|
18
15
|
isMowing: boolean;
|
|
16
|
+
currentMowingPartition: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* 根据实时数据,获取到割草状态
|
|
20
|
+
* @param realTimeData 实时数据
|
|
21
|
+
* @param isMowing 上一次的割草状态
|
|
22
|
+
* @returns 新的割草状态
|
|
23
|
+
*/
|
|
24
|
+
declare const getProcessMowingDataFromRealTimeData: ({ realTimeData, isMowing, pathData, currentMowingPartition, }: {
|
|
25
|
+
realTimeData: (RealTimeLocationType | RealTimeProcessType | RealTimePartitionType)[];
|
|
26
|
+
isMowing?: boolean;
|
|
27
|
+
pathData?: PathData;
|
|
28
|
+
currentMowingPartition?: string;
|
|
29
|
+
}) => {
|
|
30
|
+
isMowing: boolean;
|
|
31
|
+
pathData: PathData;
|
|
32
|
+
currentMowingPartition: string;
|
|
19
33
|
};
|
|
20
|
-
export {
|
|
34
|
+
export { handleMultipleRealTimeData, getProcessMowingDataFromRealTimeData };
|
|
21
35
|
//# sourceMappingURL=handleRealTime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleRealTime.d.ts","sourceRoot":"","sources":["../../src/utils/handleRealTime.ts"],"names":[],"mappings":"AAWA,OAAO,
|
|
1
|
+
{"version":3,"file":"handleRealTime.d.ts","sourceRoot":"","sources":["../../src/utils/handleRealTime.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EAEpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,eAAO,MAAM,kBAAkB,GAC7B,mBAAmB,GAAG,EAAE,EACxB,WAAW,MAAM,EACjB,WAAW,MAAM,YAMlB,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,mBAAmB,GAAG,EAAE,EAAE,WAAW,MAAM,EAAE,WAAW,MAAM,QAU5F,CAAC;AAiDF;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,GAAI,+DAOpC,uBAAuB,KAAG;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;CAuEhC,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,oCAAoC,GAAI,+DAK3C;IAED,YAAY,EAAE,CAAC,oBAAoB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,EAAE,CAAC;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,KAAG;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;CA+BhC,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,EAAS,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAsEjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointInBoundary.d.ts","sourceRoot":"","sources":["../../src/utils/pointInBoundary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAAE,EAAE,EACrB,iBAAiB,GAAE,
|
|
1
|
+
{"version":3,"file":"pointInBoundary.d.ts","sourceRoot":"","sources":["../../src/utils/pointInBoundary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAAE,EAAE,EACrB,iBAAiB,GAAE,OAAc,GAChC,OAAO,CAiDT;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EAAE,EACb,SAAS,EAAE,MAAM,EAAE,EAAE,EACrB,MAAM,GAAE,OAAc,GACrB,MAAM,GAAG,IAAI,CAuBf;AA2CD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EAAE,EAAE,EACrB,WAAW,GAAE,OAAe,GAC3B,OAAO,CAiBT;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,cAAc,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,CAAC,EAC5D,WAAW,GAAE,OAAe,GAC3B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,GAAG,IAAI,CAO9C"}
|
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fleet-frontend/mower-maps",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.1.0-beta.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "a mower maps in google maps",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"dependencies": {
|
|
85
85
|
"@eslint/js": "^9.31.0",
|
|
86
86
|
"lodash-es": "^4.17.21",
|
|
87
|
+
"polygon-clipping": "^0.15.7",
|
|
87
88
|
"tslib": "^2.6.2",
|
|
88
89
|
"zustand": "^5.0.6"
|
|
89
90
|
}
|
|
@@ -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"}
|