hj-gis-sdk 1.0.0 → 1.0.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/README.md +50 -59
- package/dev-dist/animation.esm.js +152 -0
- package/dev-dist/animation.esm.js.map +1 -0
- package/dev-dist/animation.js +154 -0
- package/dev-dist/animation.js.map +1 -0
- package/dev-dist/building.esm.js +85 -0
- package/dev-dist/building.esm.js.map +1 -0
- package/dev-dist/building.js +87 -0
- package/dev-dist/building.js.map +1 -0
- package/dev-dist/common.esm.js +16159 -0
- package/dev-dist/common.esm.js.map +1 -0
- package/dev-dist/common.js +16163 -0
- package/dev-dist/common.js.map +1 -0
- package/dev-dist/fence.esm.js +100 -0
- package/dev-dist/fence.esm.js.map +1 -0
- package/dev-dist/fence.js +102 -0
- package/dev-dist/fence.js.map +1 -0
- package/dev-dist/ghost.esm.js +53 -0
- package/dev-dist/ghost.esm.js.map +1 -0
- package/dev-dist/ghost.js +55 -0
- package/dev-dist/ghost.js.map +1 -0
- package/dev-dist/heatmap.esm.js +103 -0
- package/dev-dist/heatmap.esm.js.map +1 -0
- package/dev-dist/heatmap.js +105 -0
- package/dev-dist/heatmap.js.map +1 -0
- package/dev-dist/index.esm.js +21 -0
- package/dev-dist/index.esm.js.map +1 -0
- package/dev-dist/index.esm2.js +4272 -0
- package/dev-dist/index.esm2.js.map +1 -0
- package/dev-dist/index.js +26 -0
- package/dev-dist/index.js.map +1 -0
- package/dev-dist/index2.js +4280 -0
- package/dev-dist/index2.js.map +1 -0
- package/dev-dist/keyframe.esm.js +95 -0
- package/dev-dist/keyframe.esm.js.map +1 -0
- package/dev-dist/keyframe.js +97 -0
- package/dev-dist/keyframe.js.map +1 -0
- package/dev-dist/measurement.esm.js +57 -0
- package/dev-dist/measurement.esm.js.map +1 -0
- package/dev-dist/measurement.js +59 -0
- package/dev-dist/measurement.js.map +1 -0
- package/dev-dist/scatter.esm.js +85 -0
- package/dev-dist/scatter.esm.js.map +1 -0
- package/dev-dist/scatter.js +87 -0
- package/dev-dist/scatter.js.map +1 -0
- package/dev-dist/src.esm.js +289 -0
- package/dev-dist/src.esm.js.map +1 -0
- package/dev-dist/src.js +291 -0
- package/dev-dist/src.js.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts +39 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts +31 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts +18 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts +5 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts +59 -0
- package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts +40 -0
- package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts +24 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts +43 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts +22 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts +6 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts +4 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts +63 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts +82 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts +83 -0
- package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts +7 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts +36 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts +7 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts +61 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts +14 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts +65 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts +26 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts +7 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts +13 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts +26 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts +57 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts +31 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts +91 -0
- package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/world.d.ts +76 -0
- package/dev-dist/types/hj-gis-sdk/addons/world.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts +54 -0
- package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/index.d.ts +27 -0
- package/dev-dist/types/hj-gis-sdk/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/utils.d.ts +16 -0
- package/dev-dist/types/hj-gis-sdk/utils.d.ts.map +1 -0
- package/dev-dist/types/src/animation.d.ts +2 -0
- package/dev-dist/types/src/animation.d.ts.map +1 -0
- package/dev-dist/types/src/building.d.ts +2 -0
- package/dev-dist/types/src/building.d.ts.map +1 -0
- package/dev-dist/types/src/common.d.ts +5 -0
- package/dev-dist/types/src/common.d.ts.map +1 -0
- package/dev-dist/types/src/fence.d.ts +2 -0
- package/dev-dist/types/src/fence.d.ts.map +1 -0
- package/dev-dist/types/src/ghost.d.ts +2 -0
- package/dev-dist/types/src/ghost.d.ts.map +1 -0
- package/dev-dist/types/src/heatmap.d.ts +2 -0
- package/dev-dist/types/src/heatmap.d.ts.map +1 -0
- package/dev-dist/types/src/index.d.ts +2 -0
- package/dev-dist/types/src/index.d.ts.map +1 -0
- package/dev-dist/types/src/keyframe.d.ts +2 -0
- package/dev-dist/types/src/keyframe.d.ts.map +1 -0
- package/dev-dist/types/src/measurement.d.ts +2 -0
- package/dev-dist/types/src/measurement.d.ts.map +1 -0
- package/dev-dist/types/src/scatter.d.ts +2 -0
- package/dev-dist/types/src/scatter.d.ts.map +1 -0
- package/dev-dist/types/src/weather.d.ts +2 -0
- package/dev-dist/types/src/weather.d.ts.map +1 -0
- package/dev-dist/weather.esm.js +68 -0
- package/dev-dist/weather.esm.js.map +1 -0
- package/dev-dist/weather.js +70 -0
- package/dev-dist/weather.js.map +1 -0
- package/dist/sdk.esm.js +19 -6
- package/dist/sdk.esm.js.map +1 -1
- package/dist/sdk.js +19 -6
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.umd.js +1 -1
- package/dist/sdk.umd.js.map +1 -1
- package/dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -1
- package/dist/types/src/common.d.ts.map +1 -1
- package/hj-gis-sdk/addons/animation/animate-clip.ts +93 -0
- package/hj-gis-sdk/addons/animation/animation-action.ts +93 -0
- package/hj-gis-sdk/addons/animation/animation-mixer.ts +51 -0
- package/hj-gis-sdk/addons/animation/index.ts +17 -0
- package/hj-gis-sdk/addons/camera.ts +173 -0
- package/hj-gis-sdk/addons/clock.ts +85 -0
- package/hj-gis-sdk/addons/commander/context.ts +70 -0
- package/hj-gis-sdk/addons/commander/dispatcher.ts +68 -0
- package/hj-gis-sdk/addons/commander/excutor/base.ts +26 -0
- package/hj-gis-sdk/addons/loader/index.ts +7 -0
- package/hj-gis-sdk/addons/loader/loader.ts +3 -0
- package/hj-gis-sdk/addons/node/base.ts +131 -0
- package/hj-gis-sdk/addons/node/ue-node.ts +147 -0
- package/hj-gis-sdk/addons/proxy.ts +200 -0
- package/hj-gis-sdk/addons/tools/base.ts +11 -0
- package/hj-gis-sdk/addons/tools/building.ts +84 -0
- package/hj-gis-sdk/addons/tools/daytime.ts +14 -0
- package/hj-gis-sdk/addons/tools/fence.ts +105 -0
- package/hj-gis-sdk/addons/tools/ghost.ts +31 -0
- package/hj-gis-sdk/addons/tools/heat-map.ts +95 -0
- package/hj-gis-sdk/addons/tools/index.ts +25 -0
- package/hj-gis-sdk/addons/tools/match-view.ts +35 -0
- package/hj-gis-sdk/addons/tools/measurement.ts +25 -0
- package/hj-gis-sdk/addons/tools/pick-cast.ts +67 -0
- package/hj-gis-sdk/addons/tools/scatter.ts +230 -0
- package/hj-gis-sdk/addons/tools/weather.ts +40 -0
- package/hj-gis-sdk/addons/transform.ts +126 -0
- package/hj-gis-sdk/addons/world.ts +173 -0
- package/hj-gis-sdk/core/ue-rpc.ts +234 -0
- package/hj-gis-sdk/index.ts +26 -0
- package/hj-gis-sdk/utils.ts +52 -0
- package/index.html +48 -0
- package/package-lock.json +7368 -0
- package/package.json +17 -4
- package/rollup.config.dev.js +107 -0
- package/rollup.config.js +52 -0
- package/src/animation.ts +175 -0
- package/src/building.ts +114 -0
- package/src/common.ts +47 -0
- package/src/fence.ts +131 -0
- package/src/ghost.ts +70 -0
- package/src/heatmap.ts +125 -0
- package/src/index.ts +350 -0
- package/src/keyframe.ts +113 -0
- package/src/measurement.ts +80 -0
- package/src/scatter.ts +105 -0
- package/src/weather.ts +86 -0
- package/tsconfig.json +30 -0
- package/yarn.lock +3108 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
|
|
2
|
+
(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
|
|
3
|
+
import { G as GUI, A as Addons, i as initializeApp } from './common.esm.js';
|
|
4
|
+
import { L as Logger, c as LogLevel } from './index.esm2.js';
|
|
5
|
+
|
|
6
|
+
Logger.InitLogging(LogLevel.Info, false);
|
|
7
|
+
const { UERPCNode, Animation, Transform } = Addons;
|
|
8
|
+
let world;
|
|
9
|
+
let camera;
|
|
10
|
+
let animationMixer = null;
|
|
11
|
+
let animatedObject = null;
|
|
12
|
+
async function _initializeApp() {
|
|
13
|
+
// const url = `ws://120.27.198.158:9001/player`
|
|
14
|
+
const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
|
|
15
|
+
const AppElement = document.querySelector('#ue');
|
|
16
|
+
let result = await initializeApp(url, AppElement);
|
|
17
|
+
world = result.world;
|
|
18
|
+
camera = result.camera;
|
|
19
|
+
animationMixer = new Animation.AnimationMixer(world.rpc);
|
|
20
|
+
// 可以在此处加载需要进行关键帧动画的对象
|
|
21
|
+
// 示例:加载一个简单的静态网格对象
|
|
22
|
+
animatedObject = await world.spawnStaticMeshActor({
|
|
23
|
+
assetPath: '/Game/Mesh/test/63'
|
|
24
|
+
});
|
|
25
|
+
// 设置相机位置以便观察动画
|
|
26
|
+
camera.transform.position.x = -180;
|
|
27
|
+
camera.transform.position.y = -10;
|
|
28
|
+
camera.transform.position.z = 10;
|
|
29
|
+
}
|
|
30
|
+
// 判断 window 是否初始化完成
|
|
31
|
+
if (document.readyState === 'loading') {
|
|
32
|
+
// 文档正在加载,等待DOMContentLoaded事件
|
|
33
|
+
document.addEventListener('DOMContentLoaded', _initializeApp);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// 文档已经加载完成,直接初始化应用
|
|
37
|
+
_initializeApp();
|
|
38
|
+
}
|
|
39
|
+
const gui = new GUI();
|
|
40
|
+
let animateAction;
|
|
41
|
+
let animateClip;
|
|
42
|
+
animateClip = new Animation.KeyFrameAnimateClip({
|
|
43
|
+
startTransform: Transform.default(),
|
|
44
|
+
endTransform: Transform.fromRPCObject({
|
|
45
|
+
Location: {
|
|
46
|
+
X: 800,
|
|
47
|
+
Y: 0,
|
|
48
|
+
Z: 0
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
const animationConfig = {
|
|
53
|
+
playing: false
|
|
54
|
+
};
|
|
55
|
+
const animationControls = {
|
|
56
|
+
play: async () => {
|
|
57
|
+
if (!animateAction) {
|
|
58
|
+
animateAction = animationMixer.clipAction(animateClip, animatedObject);
|
|
59
|
+
animateAction.duration = 3;
|
|
60
|
+
}
|
|
61
|
+
animateAction.play();
|
|
62
|
+
animationConfig.playing = true;
|
|
63
|
+
updateButtonStates();
|
|
64
|
+
},
|
|
65
|
+
pause: async () => {
|
|
66
|
+
animateAction.pause();
|
|
67
|
+
animationConfig.playing = false;
|
|
68
|
+
updateButtonStates();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const animationFolder = gui.addFolder('动画控制');
|
|
72
|
+
let playButton, pauseButton;
|
|
73
|
+
playButton = animationFolder
|
|
74
|
+
.add(animationControls, 'play')
|
|
75
|
+
.name('播放')
|
|
76
|
+
.disable(animationConfig.playing);
|
|
77
|
+
pauseButton = animationFolder
|
|
78
|
+
.add(animationControls, 'pause')
|
|
79
|
+
.name('暂停')
|
|
80
|
+
.enable(animationConfig.playing);
|
|
81
|
+
// 更新按钮状态的函数
|
|
82
|
+
function updateButtonStates() {
|
|
83
|
+
if (playButton) {
|
|
84
|
+
if (animationConfig.playing) {
|
|
85
|
+
playButton.disable();
|
|
86
|
+
pauseButton.enable();
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
playButton.enable();
|
|
90
|
+
pauseButton.disable();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
animationFolder.open();
|
|
95
|
+
//# sourceMappingURL=keyframe.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyframe.esm.js","sources":["../src/keyframe.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 关键帧动画效果示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, Animation, Transform } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\nlet animationMixer: InstanceType<typeof Animation.AnimationMixer> | null = null\n\nlet animatedObject: InstanceType<typeof UERPCNode> | null = null\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n animationMixer = new Animation.AnimationMixer(world.rpc)\n\n // 可以在此处加载需要进行关键帧动画的对象\n // 示例:加载一个简单的静态网格对象\n animatedObject = await world.spawnStaticMeshActor({\n assetPath: '/Game/Mesh/test/63'\n })\n\n // 设置相机位置以便观察动画\n camera.transform.position.x = -180\n camera.transform.position.y = -10\n camera.transform.position.z = 10\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst gui = new GUI()\n\nlet animateAction: InstanceType<typeof Animation.AnimationAction> | undefined\nlet animateClip: InstanceType<typeof Animation.KeyFrameAnimateClip> | undefined\n\nanimateClip = new Animation.KeyFrameAnimateClip({\n startTransform: Transform.default(),\n endTransform: Transform.fromRPCObject({\n Location: {\n X: 800,\n Y: 0,\n Z: 0\n }\n })\n})\n\nconst animationConfig = {\n playing: false\n}\nconst animationControls = {\n play: async () => {\n if (!animateAction) {\n animateAction = animationMixer!.clipAction(animateClip, animatedObject!)\n animateAction.duration = 3\n }\n animateAction.play()\n animationConfig.playing = true\n updateButtonStates()\n },\n pause: async () => {\n animateAction!.pause()\n animationConfig.playing = false\n updateButtonStates()\n }\n}\n\nconst animationFolder = gui.addFolder('动画控制')\n\nlet playButton: any, pauseButton: any\n\nplayButton = animationFolder\n .add(animationControls, 'play')\n .name('播放')\n .disable(animationConfig.playing)\npauseButton = animationFolder\n .add(animationControls, 'pause')\n .name('暂停')\n .enable(animationConfig.playing)\n\n// 更新按钮状态的函数\nfunction updateButtonStates() {\n if (playButton) {\n if (animationConfig.playing) {\n playButton.disable()\n pauseButton.enable()\n } else {\n playButton.enable()\n pauseButton.disable()\n }\n }\n}\n\nanimationFolder.open()\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
|
|
2
|
+
(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var common = require('./common.js');
|
|
6
|
+
var index = require('./index2.js');
|
|
7
|
+
|
|
8
|
+
index.Logger.InitLogging(index.LogLevel.Info, false);
|
|
9
|
+
const { UERPCNode, Animation, Transform } = common.Addons;
|
|
10
|
+
let world;
|
|
11
|
+
let camera;
|
|
12
|
+
let animationMixer = null;
|
|
13
|
+
let animatedObject = null;
|
|
14
|
+
async function _initializeApp() {
|
|
15
|
+
// const url = `ws://120.27.198.158:9001/player`
|
|
16
|
+
const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
|
|
17
|
+
const AppElement = document.querySelector('#ue');
|
|
18
|
+
let result = await common.initializeApp(url, AppElement);
|
|
19
|
+
world = result.world;
|
|
20
|
+
camera = result.camera;
|
|
21
|
+
animationMixer = new Animation.AnimationMixer(world.rpc);
|
|
22
|
+
// 可以在此处加载需要进行关键帧动画的对象
|
|
23
|
+
// 示例:加载一个简单的静态网格对象
|
|
24
|
+
animatedObject = await world.spawnStaticMeshActor({
|
|
25
|
+
assetPath: '/Game/Mesh/test/63'
|
|
26
|
+
});
|
|
27
|
+
// 设置相机位置以便观察动画
|
|
28
|
+
camera.transform.position.x = -180;
|
|
29
|
+
camera.transform.position.y = -10;
|
|
30
|
+
camera.transform.position.z = 10;
|
|
31
|
+
}
|
|
32
|
+
// 判断 window 是否初始化完成
|
|
33
|
+
if (document.readyState === 'loading') {
|
|
34
|
+
// 文档正在加载,等待DOMContentLoaded事件
|
|
35
|
+
document.addEventListener('DOMContentLoaded', _initializeApp);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
// 文档已经加载完成,直接初始化应用
|
|
39
|
+
_initializeApp();
|
|
40
|
+
}
|
|
41
|
+
const gui = new common.GUI();
|
|
42
|
+
let animateAction;
|
|
43
|
+
let animateClip;
|
|
44
|
+
animateClip = new Animation.KeyFrameAnimateClip({
|
|
45
|
+
startTransform: Transform.default(),
|
|
46
|
+
endTransform: Transform.fromRPCObject({
|
|
47
|
+
Location: {
|
|
48
|
+
X: 800,
|
|
49
|
+
Y: 0,
|
|
50
|
+
Z: 0
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
});
|
|
54
|
+
const animationConfig = {
|
|
55
|
+
playing: false
|
|
56
|
+
};
|
|
57
|
+
const animationControls = {
|
|
58
|
+
play: async () => {
|
|
59
|
+
if (!animateAction) {
|
|
60
|
+
animateAction = animationMixer.clipAction(animateClip, animatedObject);
|
|
61
|
+
animateAction.duration = 3;
|
|
62
|
+
}
|
|
63
|
+
animateAction.play();
|
|
64
|
+
animationConfig.playing = true;
|
|
65
|
+
updateButtonStates();
|
|
66
|
+
},
|
|
67
|
+
pause: async () => {
|
|
68
|
+
animateAction.pause();
|
|
69
|
+
animationConfig.playing = false;
|
|
70
|
+
updateButtonStates();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const animationFolder = gui.addFolder('动画控制');
|
|
74
|
+
let playButton, pauseButton;
|
|
75
|
+
playButton = animationFolder
|
|
76
|
+
.add(animationControls, 'play')
|
|
77
|
+
.name('播放')
|
|
78
|
+
.disable(animationConfig.playing);
|
|
79
|
+
pauseButton = animationFolder
|
|
80
|
+
.add(animationControls, 'pause')
|
|
81
|
+
.name('暂停')
|
|
82
|
+
.enable(animationConfig.playing);
|
|
83
|
+
// 更新按钮状态的函数
|
|
84
|
+
function updateButtonStates() {
|
|
85
|
+
if (playButton) {
|
|
86
|
+
if (animationConfig.playing) {
|
|
87
|
+
playButton.disable();
|
|
88
|
+
pauseButton.enable();
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
playButton.enable();
|
|
92
|
+
pauseButton.disable();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
animationFolder.open();
|
|
97
|
+
//# sourceMappingURL=keyframe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyframe.js","sources":["../src/keyframe.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 关键帧动画效果示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, Animation, Transform } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\nlet animationMixer: InstanceType<typeof Animation.AnimationMixer> | null = null\n\nlet animatedObject: InstanceType<typeof UERPCNode> | null = null\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n animationMixer = new Animation.AnimationMixer(world.rpc)\n\n // 可以在此处加载需要进行关键帧动画的对象\n // 示例:加载一个简单的静态网格对象\n animatedObject = await world.spawnStaticMeshActor({\n assetPath: '/Game/Mesh/test/63'\n })\n\n // 设置相机位置以便观察动画\n camera.transform.position.x = -180\n camera.transform.position.y = -10\n camera.transform.position.z = 10\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst gui = new GUI()\n\nlet animateAction: InstanceType<typeof Animation.AnimationAction> | undefined\nlet animateClip: InstanceType<typeof Animation.KeyFrameAnimateClip> | undefined\n\nanimateClip = new Animation.KeyFrameAnimateClip({\n startTransform: Transform.default(),\n endTransform: Transform.fromRPCObject({\n Location: {\n X: 800,\n Y: 0,\n Z: 0\n }\n })\n})\n\nconst animationConfig = {\n playing: false\n}\nconst animationControls = {\n play: async () => {\n if (!animateAction) {\n animateAction = animationMixer!.clipAction(animateClip, animatedObject!)\n animateAction.duration = 3\n }\n animateAction.play()\n animationConfig.playing = true\n updateButtonStates()\n },\n pause: async () => {\n animateAction!.pause()\n animationConfig.playing = false\n updateButtonStates()\n }\n}\n\nconst animationFolder = gui.addFolder('动画控制')\n\nlet playButton: any, pauseButton: any\n\nplayButton = animationFolder\n .add(animationControls, 'play')\n .name('播放')\n .disable(animationConfig.playing)\npauseButton = animationFolder\n .add(animationControls, 'pause')\n .name('暂停')\n .enable(animationConfig.playing)\n\n// 更新按钮状态的函数\nfunction updateButtonStates() {\n if (playButton) {\n if (animationConfig.playing) {\n playButton.disable()\n pauseButton.enable()\n } else {\n playButton.enable()\n pauseButton.disable()\n }\n }\n}\n\nanimationFolder.open()\n"],"names":["Logger","LogLevel","Addons","initializeApp","GUI"],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
|
|
2
|
+
(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
|
|
3
|
+
import { G as GUI, A as Addons, i as initializeApp } from './common.esm.js';
|
|
4
|
+
import { L as Logger, c as LogLevel } from './index.esm2.js';
|
|
5
|
+
|
|
6
|
+
Logger.InitLogging(LogLevel.Info, false);
|
|
7
|
+
const { UERPCNode, MeasurementType } = Addons;
|
|
8
|
+
let world;
|
|
9
|
+
let camera;
|
|
10
|
+
async function _initializeApp() {
|
|
11
|
+
// const url = `ws://120.27.198.158:9001/player`
|
|
12
|
+
const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
|
|
13
|
+
const AppElement = document.querySelector('#ue');
|
|
14
|
+
let result = await initializeApp(url, AppElement);
|
|
15
|
+
world = result.world;
|
|
16
|
+
camera = result.camera;
|
|
17
|
+
// 加载地图 并 调整 camera 的站位
|
|
18
|
+
await world.loadLevelByName('plgz');
|
|
19
|
+
camera.transform.rotation.pitch = -12.259792797845645;
|
|
20
|
+
camera.transform.rotation.yaw = 126.9423080594274;
|
|
21
|
+
camera.transform.rotation.roll = 0.00003001662846458654;
|
|
22
|
+
camera.transform.position.set(-234809.24784008358, -74593.71088085348, 13755.085257765979);
|
|
23
|
+
}
|
|
24
|
+
// 判断 window 是否初始化完成
|
|
25
|
+
if (document.readyState === 'loading') {
|
|
26
|
+
// 文档正在加载,等待DOMContentLoaded事件
|
|
27
|
+
document.addEventListener('DOMContentLoaded', _initializeApp);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// 文档已经加载完成,直接初始化应用
|
|
31
|
+
_initializeApp();
|
|
32
|
+
}
|
|
33
|
+
const MeasurementOptions = {
|
|
34
|
+
区域: MeasurementType.Area,
|
|
35
|
+
线段: MeasurementType.Path,
|
|
36
|
+
高度: MeasurementType.Height
|
|
37
|
+
};
|
|
38
|
+
const MeasurementConfig = {
|
|
39
|
+
measurement: ''
|
|
40
|
+
};
|
|
41
|
+
const gui = new GUI();
|
|
42
|
+
gui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型');
|
|
43
|
+
gui
|
|
44
|
+
.add({
|
|
45
|
+
measure: () => {
|
|
46
|
+
world.tools.measurement.draw(MeasurementConfig.measurement);
|
|
47
|
+
}
|
|
48
|
+
}, 'measure')
|
|
49
|
+
.name('测量开始');
|
|
50
|
+
gui
|
|
51
|
+
.add({
|
|
52
|
+
cancel: () => {
|
|
53
|
+
world.tools.measurement.clean();
|
|
54
|
+
}
|
|
55
|
+
}, 'cancel')
|
|
56
|
+
.name('测量取消');
|
|
57
|
+
//# sourceMappingURL=measurement.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurement.esm.js","sources":["../src/measurement.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 测量示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, MeasurementType } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nlet measurementNode: InstanceType<typeof UERPCNode>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n camera!.transform.rotation.pitch = -12.259792797845645\n camera!.transform.rotation.yaw = 126.9423080594274\n camera!.transform.rotation.roll = 0.00003001662846458654\n camera!.transform.position.set(\n -234809.24784008358,\n -74593.71088085348,\n 13755.085257765979\n )\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst MeasurementOptions = {\n 区域: MeasurementType.Area,\n 线段: MeasurementType.Path,\n 高度: MeasurementType.Height\n}\n\nconst MeasurementConfig = {\n measurement: ''\n}\n\nconst gui = new GUI()\n\ngui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型')\ngui\n .add(\n {\n measure: () => {\n world!.tools.measurement.draw(MeasurementConfig.measurement)\n }\n },\n 'measure'\n )\n .name('测量开始')\ngui\n .add(\n {\n cancel: () => {\n world!.tools.measurement.clean()\n }\n },\n 'cancel'\n )\n .name('测量取消')\n"],"names":[],"mappings":";;;;;AAUA,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACxC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAA;AAE7C,IAAI,KAAwC,CAAA;AAC5C,IAAI,MAA8C,CAAA;AAIlD,eAAe,cAAc,GAAA;;IAE3B,MAAM,GAAG,GAAG,CAAA,4CAAA,CAA8C,CAAA;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAiB,CAAA;IAChE,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;AACjD,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;;AAGtB,IAAA,MAAM,KAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACpC,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAA;IACtD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,iBAAiB,CAAA;IAClD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,sBAAsB,CAAA;AACxD,IAAA,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAC5B,CAAC,kBAAkB,EACnB,CAAC,iBAAiB,EAClB,kBAAkB,CACnB,CAAA;AACH,CAAC;AAED;AACA,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;;AAErC,IAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA;AAC/D,CAAC;KAAM;;AAEL,IAAA,cAAc,EAAE,CAAA;AAClB,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,MAAM;CAC3B,CAAA;AAED,MAAM,iBAAiB,GAAG;AACxB,IAAA,WAAW,EAAE,EAAE;CAChB,CAAA;AAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;AAErB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC1E,GAAG;AACA,KAAA,GAAG,CACF;IACE,OAAO,EAAE,MAAK;QACZ,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;KAC7D;AACF,CAAA,EACD,SAAS,CACV;KACA,IAAI,CAAC,MAAM,CAAC,CAAA;AACf,GAAG;AACA,KAAA,GAAG,CACF;IACE,MAAM,EAAE,MAAK;AACX,QAAA,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;KACjC;AACF,CAAA,EACD,QAAQ,CACT;KACA,IAAI,CAAC,MAAM,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
|
|
2
|
+
(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var common = require('./common.js');
|
|
6
|
+
var index = require('./index2.js');
|
|
7
|
+
|
|
8
|
+
index.Logger.InitLogging(index.LogLevel.Info, false);
|
|
9
|
+
const { UERPCNode, MeasurementType } = common.Addons;
|
|
10
|
+
let world;
|
|
11
|
+
let camera;
|
|
12
|
+
async function _initializeApp() {
|
|
13
|
+
// const url = `ws://120.27.198.158:9001/player`
|
|
14
|
+
const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
|
|
15
|
+
const AppElement = document.querySelector('#ue');
|
|
16
|
+
let result = await common.initializeApp(url, AppElement);
|
|
17
|
+
world = result.world;
|
|
18
|
+
camera = result.camera;
|
|
19
|
+
// 加载地图 并 调整 camera 的站位
|
|
20
|
+
await world.loadLevelByName('plgz');
|
|
21
|
+
camera.transform.rotation.pitch = -12.259792797845645;
|
|
22
|
+
camera.transform.rotation.yaw = 126.9423080594274;
|
|
23
|
+
camera.transform.rotation.roll = 0.00003001662846458654;
|
|
24
|
+
camera.transform.position.set(-234809.24784008358, -74593.71088085348, 13755.085257765979);
|
|
25
|
+
}
|
|
26
|
+
// 判断 window 是否初始化完成
|
|
27
|
+
if (document.readyState === 'loading') {
|
|
28
|
+
// 文档正在加载,等待DOMContentLoaded事件
|
|
29
|
+
document.addEventListener('DOMContentLoaded', _initializeApp);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// 文档已经加载完成,直接初始化应用
|
|
33
|
+
_initializeApp();
|
|
34
|
+
}
|
|
35
|
+
const MeasurementOptions = {
|
|
36
|
+
区域: MeasurementType.Area,
|
|
37
|
+
线段: MeasurementType.Path,
|
|
38
|
+
高度: MeasurementType.Height
|
|
39
|
+
};
|
|
40
|
+
const MeasurementConfig = {
|
|
41
|
+
measurement: ''
|
|
42
|
+
};
|
|
43
|
+
const gui = new common.GUI();
|
|
44
|
+
gui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型');
|
|
45
|
+
gui
|
|
46
|
+
.add({
|
|
47
|
+
measure: () => {
|
|
48
|
+
world.tools.measurement.draw(MeasurementConfig.measurement);
|
|
49
|
+
}
|
|
50
|
+
}, 'measure')
|
|
51
|
+
.name('测量开始');
|
|
52
|
+
gui
|
|
53
|
+
.add({
|
|
54
|
+
cancel: () => {
|
|
55
|
+
world.tools.measurement.clean();
|
|
56
|
+
}
|
|
57
|
+
}, 'cancel')
|
|
58
|
+
.name('测量取消');
|
|
59
|
+
//# sourceMappingURL=measurement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measurement.js","sources":["../src/measurement.ts"],"sourcesContent":["import { Addons } from 'hj-gis-sdk'\n\n/// 测量示例\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\n\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nconst { UERPCNode, MeasurementType } = Addons\n\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nlet measurementNode: InstanceType<typeof UERPCNode>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n camera!.transform.rotation.pitch = -12.259792797845645\n camera!.transform.rotation.yaw = 126.9423080594274\n camera!.transform.rotation.roll = 0.00003001662846458654\n camera!.transform.position.set(\n -234809.24784008358,\n -74593.71088085348,\n 13755.085257765979\n )\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\nconst MeasurementOptions = {\n 区域: MeasurementType.Area,\n 线段: MeasurementType.Path,\n 高度: MeasurementType.Height\n}\n\nconst MeasurementConfig = {\n measurement: ''\n}\n\nconst gui = new GUI()\n\ngui.add(MeasurementConfig, 'measurement', MeasurementOptions).name('测量类型')\ngui\n .add(\n {\n measure: () => {\n world!.tools.measurement.draw(MeasurementConfig.measurement)\n }\n },\n 'measure'\n )\n .name('测量开始')\ngui\n .add(\n {\n cancel: () => {\n world!.tools.measurement.clean()\n }\n },\n 'cancel'\n )\n .name('测量取消')\n"],"names":["Logger","LogLevel","Addons","initializeApp","GUI"],"mappings":";;;;;;;AAUAA,YAAM,CAAC,WAAW,CAACC,cAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACxC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAGC,aAAM,CAAA;AAE7C,IAAI,KAAwC,CAAA;AAC5C,IAAI,MAA8C,CAAA;AAIlD,eAAe,cAAc,GAAA;;IAE3B,MAAM,GAAG,GAAG,CAAA,4CAAA,CAA8C,CAAA;IAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAiB,CAAA;IAChE,IAAI,MAAM,GAAG,MAAMC,oBAAa,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;AACjD,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;AACpB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;;AAGtB,IAAA,MAAM,KAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACpC,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAA;IACtD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,iBAAiB,CAAA;IAClD,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,sBAAsB,CAAA;AACxD,IAAA,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAC5B,CAAC,kBAAkB,EACnB,CAAC,iBAAiB,EAClB,kBAAkB,CACnB,CAAA;AACH,CAAC;AAED;AACA,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE;;AAErC,IAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAA;AAC/D,CAAC;KAAM;;AAEL,IAAA,cAAc,EAAE,CAAA;AAClB,CAAC;AAED,MAAM,kBAAkB,GAAG;IACzB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,IAAI;IACxB,EAAE,EAAE,eAAe,CAAC,MAAM;CAC3B,CAAA;AAED,MAAM,iBAAiB,GAAG;AACxB,IAAA,WAAW,EAAE,EAAE;CAChB,CAAA;AAED,MAAM,GAAG,GAAG,IAAIC,UAAG,EAAE,CAAA;AAErB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC1E,GAAG;AACA,KAAA,GAAG,CACF;IACE,OAAO,EAAE,MAAK;QACZ,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;KAC7D;AACF,CAAA,EACD,SAAS,CACV;KACA,IAAI,CAAC,MAAM,CAAC,CAAA;AACf,GAAG;AACA,KAAA,GAAG,CACF;IACE,MAAM,EAAE,MAAK;AACX,QAAA,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;KACjC;AACF,CAAA,EACD,QAAQ,CACT;KACA,IAAI,CAAC,MAAM,CAAC;;"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
|
|
2
|
+
(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
|
|
3
|
+
import { G as GUI, i as initializeApp } from './common.esm.js';
|
|
4
|
+
import { L as Logger, c as LogLevel } from './index.esm2.js';
|
|
5
|
+
|
|
6
|
+
/// 散点图
|
|
7
|
+
Logger.InitLogging(LogLevel.Info, false);
|
|
8
|
+
let world;
|
|
9
|
+
let camera;
|
|
10
|
+
async function _initializeApp() {
|
|
11
|
+
// const url = `ws://120.27.198.158:9001/player`
|
|
12
|
+
const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
|
|
13
|
+
const AppElement = document.querySelector('#ue');
|
|
14
|
+
let result = await initializeApp(url, AppElement);
|
|
15
|
+
world = result.world;
|
|
16
|
+
camera = result.camera;
|
|
17
|
+
// 加载地图 并 调整 camera 的站位
|
|
18
|
+
await world.loadLevelByName('plgz');
|
|
19
|
+
// 设置相机位置
|
|
20
|
+
camera.transform.position.z = 100;
|
|
21
|
+
camera.transform.position.x = -100;
|
|
22
|
+
}
|
|
23
|
+
// 判断 window 是否初始化完成
|
|
24
|
+
if (document.readyState === 'loading') {
|
|
25
|
+
// 文档正在加载,等待DOMContentLoaded事件
|
|
26
|
+
document.addEventListener('DOMContentLoaded', _initializeApp);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
// 文档已经加载完成,直接初始化应用
|
|
30
|
+
_initializeApp();
|
|
31
|
+
}
|
|
32
|
+
// 散点图处理器类型
|
|
33
|
+
let handler;
|
|
34
|
+
const gui = new GUI();
|
|
35
|
+
// 生成散点图按钮
|
|
36
|
+
gui
|
|
37
|
+
.add({
|
|
38
|
+
generate: async () => {
|
|
39
|
+
// 散点图生成逻辑
|
|
40
|
+
if (handler) {
|
|
41
|
+
await handler.removeAll();
|
|
42
|
+
handler = undefined;
|
|
43
|
+
}
|
|
44
|
+
// 创建示例点集
|
|
45
|
+
const pointParams = [
|
|
46
|
+
{
|
|
47
|
+
location: { X: 10, Y: 10, Z: 0 },
|
|
48
|
+
scale: { X: 1, Y: 1, Z: 1 },
|
|
49
|
+
tag: 'point1',
|
|
50
|
+
textContent: '点1'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
location: { X: 20, Y: 20, Z: 0 },
|
|
54
|
+
scale: { X: 1, Y: 1, Z: 1 },
|
|
55
|
+
tag: 'point2',
|
|
56
|
+
textContent: 'POI_2'
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
location: { X: 30, Y: 10, Z: 0 },
|
|
60
|
+
scale: { X: 1, Y: 1, Z: 1 },
|
|
61
|
+
tag: 'point3',
|
|
62
|
+
textContent: 'POI_3'
|
|
63
|
+
}
|
|
64
|
+
];
|
|
65
|
+
// 创建散点图
|
|
66
|
+
handler = await world.tools.scatter.create({
|
|
67
|
+
pointParams: pointParams
|
|
68
|
+
});
|
|
69
|
+
console.log('散点图生成成功', handler);
|
|
70
|
+
}
|
|
71
|
+
}, 'generate')
|
|
72
|
+
.name('生成散点图');
|
|
73
|
+
// 销毁散点图按钮
|
|
74
|
+
gui
|
|
75
|
+
.add({
|
|
76
|
+
destroy: async () => {
|
|
77
|
+
if (handler) {
|
|
78
|
+
await handler.removeAll();
|
|
79
|
+
handler = undefined;
|
|
80
|
+
console.log('散点图已销毁');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}, 'destroy')
|
|
84
|
+
.name('销毁散点图');
|
|
85
|
+
//# sourceMappingURL=scatter.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scatter.esm.js","sources":["../src/scatter.ts"],"sourcesContent":["/// 散点图\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\nimport { Addons } from 'hj-gis-sdk'\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n\n // 设置相机位置\n camera!.transform.position.z = 100\n camera!.transform.position.x = -100\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\n// 散点图处理器类型\nlet handler: any\nconst gui = new GUI()\n\n// GUI 配置参数\nconst scatterConfig = {\n // 散点图配置参数\n}\n\n// 生成散点图按钮\ngui\n .add(\n {\n generate: async () => {\n // 散点图生成逻辑\n if (handler) {\n await handler.removeAll()\n handler = undefined\n }\n\n // 创建示例点集\n const pointParams = [\n {\n location: { X: 10, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point1',\n textContent: '点1'\n },\n {\n location: { X: 20, Y: 20, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point2',\n textContent: 'POI_2'\n },\n {\n location: { X: 30, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point3',\n textContent: 'POI_3'\n }\n ]\n\n // 创建散点图\n handler = await world.tools.scatter.create({\n pointParams: pointParams\n })\n console.log('散点图生成成功', handler)\n }\n },\n 'generate'\n )\n .name('生成散点图')\n\n// 销毁散点图按钮\ngui\n .add(\n {\n destroy: async () => {\n if (handler) {\n await handler.removeAll()\n handler = undefined\n console.log('散点图已销毁')\n }\n }\n },\n 'destroy'\n )\n .name('销毁散点图')\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
|
|
2
|
+
(function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var common = require('./common.js');
|
|
6
|
+
var index = require('./index2.js');
|
|
7
|
+
|
|
8
|
+
/// 散点图
|
|
9
|
+
index.Logger.InitLogging(index.LogLevel.Info, false);
|
|
10
|
+
let world;
|
|
11
|
+
let camera;
|
|
12
|
+
async function _initializeApp() {
|
|
13
|
+
// const url = `ws://120.27.198.158:9001/player`
|
|
14
|
+
const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
|
|
15
|
+
const AppElement = document.querySelector('#ue');
|
|
16
|
+
let result = await common.initializeApp(url, AppElement);
|
|
17
|
+
world = result.world;
|
|
18
|
+
camera = result.camera;
|
|
19
|
+
// 加载地图 并 调整 camera 的站位
|
|
20
|
+
await world.loadLevelByName('plgz');
|
|
21
|
+
// 设置相机位置
|
|
22
|
+
camera.transform.position.z = 100;
|
|
23
|
+
camera.transform.position.x = -100;
|
|
24
|
+
}
|
|
25
|
+
// 判断 window 是否初始化完成
|
|
26
|
+
if (document.readyState === 'loading') {
|
|
27
|
+
// 文档正在加载,等待DOMContentLoaded事件
|
|
28
|
+
document.addEventListener('DOMContentLoaded', _initializeApp);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// 文档已经加载完成,直接初始化应用
|
|
32
|
+
_initializeApp();
|
|
33
|
+
}
|
|
34
|
+
// 散点图处理器类型
|
|
35
|
+
let handler;
|
|
36
|
+
const gui = new common.GUI();
|
|
37
|
+
// 生成散点图按钮
|
|
38
|
+
gui
|
|
39
|
+
.add({
|
|
40
|
+
generate: async () => {
|
|
41
|
+
// 散点图生成逻辑
|
|
42
|
+
if (handler) {
|
|
43
|
+
await handler.removeAll();
|
|
44
|
+
handler = undefined;
|
|
45
|
+
}
|
|
46
|
+
// 创建示例点集
|
|
47
|
+
const pointParams = [
|
|
48
|
+
{
|
|
49
|
+
location: { X: 10, Y: 10, Z: 0 },
|
|
50
|
+
scale: { X: 1, Y: 1, Z: 1 },
|
|
51
|
+
tag: 'point1',
|
|
52
|
+
textContent: '点1'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
location: { X: 20, Y: 20, Z: 0 },
|
|
56
|
+
scale: { X: 1, Y: 1, Z: 1 },
|
|
57
|
+
tag: 'point2',
|
|
58
|
+
textContent: 'POI_2'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
location: { X: 30, Y: 10, Z: 0 },
|
|
62
|
+
scale: { X: 1, Y: 1, Z: 1 },
|
|
63
|
+
tag: 'point3',
|
|
64
|
+
textContent: 'POI_3'
|
|
65
|
+
}
|
|
66
|
+
];
|
|
67
|
+
// 创建散点图
|
|
68
|
+
handler = await world.tools.scatter.create({
|
|
69
|
+
pointParams: pointParams
|
|
70
|
+
});
|
|
71
|
+
console.log('散点图生成成功', handler);
|
|
72
|
+
}
|
|
73
|
+
}, 'generate')
|
|
74
|
+
.name('生成散点图');
|
|
75
|
+
// 销毁散点图按钮
|
|
76
|
+
gui
|
|
77
|
+
.add({
|
|
78
|
+
destroy: async () => {
|
|
79
|
+
if (handler) {
|
|
80
|
+
await handler.removeAll();
|
|
81
|
+
handler = undefined;
|
|
82
|
+
console.log('散点图已销毁');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}, 'destroy')
|
|
86
|
+
.name('销毁散点图');
|
|
87
|
+
//# sourceMappingURL=scatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scatter.js","sources":["../src/scatter.ts"],"sourcesContent":["/// 散点图\n\nimport { PerspectiveCamera } from 'hj-gis-sdk/addons/camera'\nimport { initializeApp } from './common'\nimport { Addons } from 'hj-gis-sdk'\nimport GUI from 'lil-gui'\nimport { Logger, LogLevel } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5'\n\nLogger.InitLogging(LogLevel.Info, false)\nlet world: InstanceType<typeof Addons.World>\nlet camera: InstanceType<typeof PerspectiveCamera>\n\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n const AppElement = document.querySelector('#ue')! as HTMLElement\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n\n // 加载地图 并 调整 camera 的站位\n await world!.loadLevelByName('plgz')\n\n // 设置相机位置\n camera!.transform.position.z = 100\n camera!.transform.position.x = -100\n}\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n\n// 散点图处理器类型\nlet handler: any\nconst gui = new GUI()\n\n// GUI 配置参数\nconst scatterConfig = {\n // 散点图配置参数\n}\n\n// 生成散点图按钮\ngui\n .add(\n {\n generate: async () => {\n // 散点图生成逻辑\n if (handler) {\n await handler.removeAll()\n handler = undefined\n }\n\n // 创建示例点集\n const pointParams = [\n {\n location: { X: 10, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point1',\n textContent: '点1'\n },\n {\n location: { X: 20, Y: 20, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point2',\n textContent: 'POI_2'\n },\n {\n location: { X: 30, Y: 10, Z: 0 },\n scale: { X: 1, Y: 1, Z: 1 },\n tag: 'point3',\n textContent: 'POI_3'\n }\n ]\n\n // 创建散点图\n handler = await world.tools.scatter.create({\n pointParams: pointParams\n })\n console.log('散点图生成成功', handler)\n }\n },\n 'generate'\n )\n .name('生成散点图')\n\n// 销毁散点图按钮\ngui\n .add(\n {\n destroy: async () => {\n if (handler) {\n await handler.removeAll()\n handler = undefined\n console.log('散点图已销毁')\n }\n }\n },\n 'destroy'\n )\n .name('销毁散点图')\n"],"names":["Logger","LogLevel","initializeApp","GUI"],"mappings":"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"}
|