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.
- package/dist/index.d.ts +78 -0
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -0
- package/package.json +17 -0
- package/src/index.ts +176 -0
package/dist/index.d.ts
ADDED
@@ -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
|
+
}
|