model-action 1.0.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.
@@ -0,0 +1,78 @@
1
+ interface SendParam {
2
+ cmd: string;
3
+ action: string;
4
+ [propName: string]: any;
5
+ }
6
+ interface IdItem {
7
+ id: string;
8
+ }
9
+ type IdList = IdItem[];
10
+ type PathList = Array<{
11
+ location: string;
12
+ }>;
13
+ /**
14
+ * 3D操作
15
+ */
16
+ export declare class ModelAction {
17
+ /**
18
+ * 视角初始化
19
+ */
20
+ static cameraInit(): void;
21
+ /**
22
+ * 视频融合初始化
23
+ * @param {string} token
24
+ * @param {string} ip
25
+ * @param {string} port
26
+ * @param {boolean} isHttps
27
+ */
28
+ static videoFusionInit(token: string, ip: string, port?: string, isHttps?: boolean): void;
29
+ /**
30
+ * 飞行到视频融合点位
31
+ * @param {string} id 点ID
32
+ * @param {number} fov 视场角
33
+ */
34
+ static videoFusionFlyTo(id: string, fov: number): void;
35
+ /**
36
+ * 开启视频融合
37
+ * @param {IdList} ids 点列表
38
+ */
39
+ static videoFusionStart(ids: IdList): void;
40
+ /**
41
+ * 关闭视频融合
42
+ * @param {IdList} ids 点列表
43
+ */
44
+ static videoFusionStop(ids: IdList): void;
45
+ /**
46
+ * 刷新视频融合
47
+ * @param {string} token
48
+ */
49
+ static videoFusionRefresh(token: string): void;
50
+ /**
51
+ * 删除poi
52
+ * @param {string} id
53
+ */
54
+ static poiDel(id: string): void;
55
+ /**
56
+ * 清除轨迹
57
+ * @param {string} pathId add命令生成的轨迹ID
58
+ */
59
+ static trackRemove(pathId?: string): void;
60
+ /**
61
+ * 获取三维路网坐标
62
+ * @param {IdList} data
63
+ * @param {string} rnId
64
+ */
65
+ static trackGetRoadNet(data: IdList, rnId?: string): void;
66
+ /**
67
+ * 请求三维绘制路网
68
+ * @param {PathList} data
69
+ */
70
+ static trackPath(data: PathList): void;
71
+ /**
72
+ * 发送到model
73
+ * @param {SendParam} param 发送的参数
74
+ * @param {string} msg 打印的信息
75
+ */
76
+ static sendParam(param: SendParam, msg?: string): void;
77
+ }
78
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelAction = void 0;
4
+ /**
5
+ * 3D操作
6
+ */
7
+ class ModelAction {
8
+ /**
9
+ * 视角初始化
10
+ */
11
+ static cameraInit() {
12
+ const param = {
13
+ cmd: "cameraView",
14
+ action: "default",
15
+ };
16
+ this.sendParam(param, '视角初始化');
17
+ }
18
+ /**
19
+ * 视频融合初始化
20
+ * @param {string} token
21
+ * @param {string} ip
22
+ * @param {string} port
23
+ * @param {boolean} isHttps
24
+ */
25
+ static videoFusionInit(token, ip, port = '1998', isHttps = false) {
26
+ const param = {
27
+ cmd: "videoFusion",
28
+ action: "init",
29
+ token,
30
+ ip,
31
+ port,
32
+ isHttps,
33
+ };
34
+ this.sendParam(param, '视频融合初始化');
35
+ }
36
+ /**
37
+ * 飞行到视频融合点位
38
+ * @param {string} id 点ID
39
+ * @param {number} fov 视场角
40
+ */
41
+ static videoFusionFlyTo(id, fov) {
42
+ const param = {
43
+ cmd: "videoFusion",
44
+ action: "flyTo",
45
+ id,
46
+ fov,
47
+ };
48
+ this.sendParam(param);
49
+ }
50
+ /**
51
+ * 开启视频融合
52
+ * @param {IdList} ids 点列表
53
+ */
54
+ static videoFusionStart(ids) {
55
+ const param = {
56
+ cmd: "videoFusion",
57
+ action: "start",
58
+ isLocation: false,
59
+ videoType: "Video",
60
+ backPlay: false,
61
+ ids,
62
+ };
63
+ this.sendParam(param, '开启视频融合');
64
+ }
65
+ /**
66
+ * 关闭视频融合
67
+ * @param {IdList} ids 点列表
68
+ */
69
+ static videoFusionStop(ids) {
70
+ const param = {
71
+ cmd: "videoFusion",
72
+ action: "stop",
73
+ isLocation: false,
74
+ videoType: "Video",
75
+ backPlay: false,
76
+ ids,
77
+ };
78
+ this.sendParam(param, '关闭视频融合');
79
+ }
80
+ /**
81
+ * 刷新视频融合
82
+ * @param {string} token
83
+ */
84
+ static videoFusionRefresh(token) {
85
+ const param = {
86
+ cmd: "videoFusion",
87
+ action: "refresh",
88
+ token,
89
+ };
90
+ this.sendParam(param);
91
+ }
92
+ /**
93
+ * 删除poi
94
+ * @param {string} id
95
+ */
96
+ static poiDel(id) {
97
+ const param = {
98
+ cmd: "POI",
99
+ action: "delete",
100
+ id,
101
+ };
102
+ this.sendParam(param, '删除POI');
103
+ }
104
+ /**
105
+ * 清除轨迹
106
+ * @param {string} pathId add命令生成的轨迹ID
107
+ */
108
+ static trackRemove(pathId = "CameraTrack") {
109
+ const param = {
110
+ cmd: "path",
111
+ action: "remove",
112
+ pathId
113
+ };
114
+ this.sendParam(param, '删除指定轨迹线');
115
+ }
116
+ /**
117
+ * 获取三维路网坐标
118
+ * @param {IdList} data
119
+ * @param {string} rnId
120
+ */
121
+ static trackGetRoadNet(data, rnId = 'RN-1') {
122
+ const param = {
123
+ cmd: "path",
124
+ action: "getRoadNet",
125
+ rnId,
126
+ data
127
+ };
128
+ this.sendParam(param, '获取三维路网坐标');
129
+ }
130
+ /**
131
+ * 请求三维绘制路网
132
+ * @param {PathList} data
133
+ */
134
+ static trackPath(data) {
135
+ const param = {
136
+ cmd: "path",
137
+ action: "add",
138
+ pathId: "CameraTrack",
139
+ type: "BaseOnRoadNet",
140
+ data
141
+ };
142
+ this.sendParam(param, '请求三维绘制路径');
143
+ }
144
+ /**
145
+ * 发送到model
146
+ * @param {SendParam} param 发送的参数
147
+ * @param {string} msg 打印的信息
148
+ */
149
+ static sendParam(param, msg = '') {
150
+ console.log(`发送给三维|${msg}`, JSON.stringify(param));
151
+ window.ps.emitMessage(JSON.stringify(param));
152
+ }
153
+ }
154
+ exports.ModelAction = ModelAction;
155
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "model-action",
3
+ "version": "1.0.0",
4
+ "description": "与三维交互api",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build":"tsc",
9
+ "test": "echo \"Error: no test specified\" && exit 1"
10
+ },
11
+ "files": ["dist","src"],
12
+ "author": "andm31",
13
+ "license": "ISC",
14
+ "devDependencies": {
15
+ "typescript": "^5.8.3"
16
+ }
17
+ }
package/src/index.ts ADDED
@@ -0,0 +1,176 @@
1
+ interface SendParam {
2
+ cmd: string,
3
+ action: string,
4
+ [propName: string]: any
5
+ }
6
+
7
+ interface IdItem {
8
+ id: string;
9
+ }
10
+
11
+ type IdList = IdItem[];
12
+
13
+
14
+ type PathList = Array<{
15
+ location: string
16
+ }>
17
+ /**
18
+ * 3D操作
19
+ */
20
+ export class ModelAction {
21
+ /**
22
+ * 视角初始化
23
+ */
24
+ static cameraInit() {
25
+ const param: SendParam = {
26
+ cmd: "cameraView",
27
+ action: "default",
28
+ };
29
+ this.sendParam(param, '视角初始化')
30
+ }
31
+
32
+ /**
33
+ * 视频融合初始化
34
+ * @param {string} token
35
+ * @param {string} ip
36
+ * @param {string} port
37
+ * @param {boolean} isHttps
38
+ */
39
+ static videoFusionInit(token: string, ip: string, port: string = '1998', isHttps: boolean = false) {
40
+ const param: SendParam = {
41
+ cmd: "videoFusion",
42
+ action: "init",
43
+ token,
44
+ ip,
45
+ port,
46
+ isHttps,
47
+ };
48
+ this.sendParam(param, '视频融合初始化')
49
+ }
50
+
51
+ /**
52
+ * 飞行到视频融合点位
53
+ * @param {string} id 点ID
54
+ * @param {number} fov 视场角
55
+ */
56
+ static videoFusionFlyTo(id: string, fov: number) {
57
+ const param: SendParam = {
58
+ cmd: "videoFusion",
59
+ action: "flyTo",
60
+ id,
61
+ fov,
62
+ };
63
+ this.sendParam(param)
64
+ }
65
+
66
+ /**
67
+ * 开启视频融合
68
+ * @param {IdList} ids 点列表
69
+ */
70
+ static videoFusionStart(ids: IdList) {
71
+ const param: SendParam = {
72
+ cmd: "videoFusion",
73
+ action: "start",
74
+ isLocation: false,
75
+ videoType: "Video",
76
+ backPlay: false,
77
+ ids,
78
+ };
79
+ this.sendParam(param, '开启视频融合')
80
+ }
81
+
82
+ /**
83
+ * 关闭视频融合
84
+ * @param {IdList} ids 点列表
85
+ */
86
+ static videoFusionStop(ids: IdList) {
87
+ const param: SendParam = {
88
+ cmd: "videoFusion",
89
+ action: "stop",
90
+ isLocation: false,
91
+ videoType: "Video",
92
+ backPlay: false,
93
+ ids,
94
+ };
95
+ this.sendParam(param, '关闭视频融合')
96
+ }
97
+
98
+ /**
99
+ * 刷新视频融合
100
+ * @param {string} token
101
+ */
102
+ static videoFusionRefresh(token: string) {
103
+ const param: SendParam = {
104
+ cmd: "videoFusion",
105
+ action: "refresh",
106
+ token,
107
+ };
108
+ this.sendParam(param)
109
+ }
110
+
111
+ /**
112
+ * 删除poi
113
+ * @param {string} id
114
+ */
115
+ static poiDel(id: string) {
116
+ const param: SendParam = {
117
+ cmd: "POI",
118
+ action: "delete",
119
+ id,
120
+ };
121
+ this.sendParam(param, '删除POI')
122
+ }
123
+
124
+ /**
125
+ * 清除轨迹
126
+ * @param {string} pathId add命令生成的轨迹ID
127
+ */
128
+ static trackRemove(pathId: string = "CameraTrack") {
129
+ const param: SendParam = {
130
+ cmd: "path",
131
+ action: "remove",
132
+ pathId
133
+ };
134
+ this.sendParam(param, '删除指定轨迹线');
135
+ }
136
+
137
+ /**
138
+ * 获取三维路网坐标
139
+ * @param {IdList} data
140
+ * @param {string} rnId
141
+ */
142
+ static trackGetRoadNet(data: IdList, rnId: string = 'RN-1') {
143
+ const param: SendParam = {
144
+ cmd: "path",
145
+ action: "getRoadNet",
146
+ rnId,
147
+ data
148
+ };
149
+ this.sendParam(param, '获取三维路网坐标')
150
+ }
151
+
152
+ /**
153
+ * 请求三维绘制路网
154
+ * @param {PathList} data
155
+ */
156
+ static trackPath(data: PathList) {
157
+ const param: SendParam = {
158
+ cmd: "path",
159
+ action: "add",
160
+ pathId: "CameraTrack",
161
+ type: "BaseOnRoadNet",
162
+ data
163
+ };
164
+ this.sendParam(param, '请求三维绘制路径')
165
+ }
166
+
167
+ /**
168
+ * 发送到model
169
+ * @param {SendParam} param 发送的参数
170
+ * @param {string} msg 打印的信息
171
+ */
172
+ static sendParam(param: SendParam, msg: string = '') {
173
+ console.log(`发送给三维|${msg}`, JSON.stringify(param));
174
+ (window as any).ps.emitMessage(JSON.stringify(param));
175
+ }
176
+ }