@anov/3d 0.0.4-alpha24 → 0.0.4-alpha25
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/applicationApi.js +1 -1
- package/dist/applicationApi.js.map +1 -1
- package/dist/factory/3d.d.ts +51 -0
- package/dist/factory/3d.js +203 -0
- package/dist/factory/3d.js.map +1 -0
- package/dist/factory/globalData.d.ts +1 -0
- package/dist/factory/globalData.js +2 -0
- package/dist/factory/globalData.js.map +1 -0
- package/dist/factory/regionData.d.ts +26 -0
- package/dist/factory/regionData.js +130 -0
- package/dist/factory/regionData.js.map +1 -0
- package/dist/factory/unit/areaBoundingBox.d.ts +7 -0
- package/dist/factory/unit/areaBoundingBox.js +28 -0
- package/dist/factory/unit/areaBoundingBox.js.map +1 -0
- package/dist/factory/unit/circle.d.ts +15 -0
- package/dist/factory/unit/circle.js +88 -0
- package/dist/factory/unit/circle.js.map +1 -0
- package/dist/factory/unit/cylinder.d.ts +18 -0
- package/dist/factory/unit/cylinder.js +125 -0
- package/dist/factory/unit/cylinder.js.map +1 -0
- package/dist/factory/unit/glsl/wall/fragmentShader.glsl +30 -0
- package/dist/factory/unit/glsl/wall/vertexShader.glsl +6 -0
- package/dist/factory/unit/index.d.ts +2 -0
- package/dist/factory/unit/index.js +61 -0
- package/dist/factory/unit/index.js.map +1 -0
- package/dist/factory/unit/line.d.ts +13 -0
- package/dist/factory/unit/line.js +96 -0
- package/dist/factory/unit/line.js.map +1 -0
- package/dist/factory/unit/poi.d.ts +15 -0
- package/dist/factory/unit/poi.js +140 -0
- package/dist/factory/unit/poi.js.map +1 -0
- package/dist/factory/unit/point.d.ts +10 -0
- package/dist/factory/unit/point.js +71 -0
- package/dist/factory/unit/point.js.map +1 -0
- package/dist/factory/unit/wall.d.ts +14 -0
- package/dist/factory/unit/wall.js +113 -0
- package/dist/factory/unit/wall.js.map +1 -0
- package/dist/factory/utils/areaBoundingBox.d.ts +14 -0
- package/dist/factory/utils/areaBoundingBox.js +39 -0
- package/dist/factory/utils/areaBoundingBox.js.map +1 -0
- package/dist/factory/utils/base64.d.ts +1 -0
- package/dist/factory/utils/base64.js +2 -0
- package/dist/factory/utils/base64.js.map +1 -0
- package/dist/factory/utils/finirMaterial.d.ts +3 -0
- package/dist/factory/utils/finirMaterial.js +39 -0
- package/dist/factory/utils/finirMaterial.js.map +1 -0
- package/dist/factory/utils/fontMesh.d.ts +10 -0
- package/dist/factory/utils/fontMesh.js +48 -0
- package/dist/factory/utils/fontMesh.js.map +1 -0
- package/dist/factory/utils/index.d.ts +2 -0
- package/dist/factory/utils/index.js +24 -0
- package/dist/factory/utils/index.js.map +1 -0
- package/dist/factory/utils/switchMaterial.d.ts +17 -0
- package/dist/factory/utils/switchMaterial.js +108 -0
- package/dist/factory/utils/switchMaterial.js.map +1 -0
- package/dist/module/environment/index.d.ts +4 -1
- package/dist/module/environment/index.js +7 -2
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/environment/time/index.d.ts +3 -1
- package/dist/module/environment/time/index.js.map +1 -1
- package/dist/module/model/index.js +6 -0
- package/dist/module/model/index.js.map +1 -1
- package/dist/module/scene/index.d.ts +7 -3
- package/dist/module/scene/index.js +66 -36
- package/dist/module/scene/index.js.map +1 -1
- package/dist/sdkEntry.d.ts +5 -2
- package/dist/sdkEntry.js +85 -65
- package/dist/sdkEntry.js.map +1 -1
- package/package.json +3 -3
package/dist/applicationApi.js
CHANGED
|
@@ -33,7 +33,7 @@ var Application = /*#__PURE__*/function () {
|
|
|
33
33
|
near: (_camera$near = camera.near) !== null && _camera$near !== void 0 ? _camera$near : defaultCameraParams.near,
|
|
34
34
|
far: (_camera$far = camera.far) !== null && _camera$far !== void 0 ? _camera$far : defaultCameraParams.far,
|
|
35
35
|
position: camera.position,
|
|
36
|
-
|
|
36
|
+
target: camera.target
|
|
37
37
|
};
|
|
38
38
|
var anov3D = new Anov3D({
|
|
39
39
|
container: this.container,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Anov3D","defaultCameraParams","Application","opts","container","el","Api","Success","params","id","camera","cameraParams","fov","near","far","position","
|
|
1
|
+
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Anov3D","defaultCameraParams","Application","opts","container","el","Api","Success","params","id","camera","cameraParams","fov","near","far","position","target","anov3D","model","size","width","clientWidth","height","clientHeight","environment","weather","time","iEngine","error","EventHandleFailed","console","req","name","init","Error","fn","res","Promise","resolve","then","failMessage","message","eventName","cb","storeManagement","set","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport Anov3D, { defaultCameraParams } from './index'\n\ntype ApplicationOptions = {\n el: HTMLElement\n}\n\nexport type InitOptions = {\n camera?: {\n fov?: number\n near?: number\n far?: number\n position?: [\n number,\n number,\n number,\n ]\n target?: [\n number,\n number,\n number,\n ]\n }\n model?: string\n size?: {\n width: number\n height: number\n }\n environment?: {\n weather?: string\n time?: number\n }\n}\n\nclass Application {\n private container: HTMLElement\n iEngine: Anov3D | undefined\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n\n sendToMessage(MessageType.Api, 'engineReady', EMessageStatus.Success)\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {} } = params || {}\n\n const cameraParams = {\n fov: camera.fov ?? defaultCameraParams.fov,\n near: camera.near ?? defaultCameraParams.near,\n far: camera.far ?? defaultCameraParams.far,\n position: camera.position,\n target: camera.target,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n model: params?.model,\n size: {\n width: params?.size?.width ?? this.container.clientWidth,\n height: params?.size?.height ?? this.container.clientHeight,\n },\n camera: {\n ...cameraParams,\n },\n environment: {\n weather: params?.environment?.weather,\n time: params?.environment?.time,\n },\n })\n this.iEngine = anov3D\n\n sendToMessage(MessageType.Api, 'core.init', EMessageStatus.Success, id)\n }\n catch (error) {\n sendToMessage(MessageType.Api, 'core.init', EMessageStatus.EventHandleFailed)\n console.error(error)\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n\n if (!this.iEngine)\n throw new Error('please init first')\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n\n Promise.resolve(res).then((res) => {\n sendToMessage(MessageType.Api, req.name, EMessageStatus.Success, req.id, res)\n })\n }\n catch (error: any) {\n sendToMessage(MessageType.Api, req.name, EMessageStatus.EventHandleFailed, req.id, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n utils.storeManagement.set(eventName, cb)\n }\n}\n\n/**\n * createInstance\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { OrbitControls, SceneControl } from '@anov/3d-core';
|
|
2
|
+
import { InteractionManager, Vector3 } from '@anov/3d-core';
|
|
3
|
+
import { Camera } from '@anov/3d-ability';
|
|
4
|
+
import type AreaBoundingBoxManage from './unit/areaBoundingBox';
|
|
5
|
+
declare type factory3dOption = {
|
|
6
|
+
model?: string;
|
|
7
|
+
environment: string;
|
|
8
|
+
};
|
|
9
|
+
export declare enum SceneStyle {
|
|
10
|
+
'real' = 0,
|
|
11
|
+
'tech' = 1
|
|
12
|
+
}
|
|
13
|
+
export declare enum SceneTag {
|
|
14
|
+
'overview' = "overview",
|
|
15
|
+
'people-management' = "people-management"
|
|
16
|
+
}
|
|
17
|
+
declare class Factory3D {
|
|
18
|
+
position: Vector3;
|
|
19
|
+
scene: SceneControl;
|
|
20
|
+
control: OrbitControls;
|
|
21
|
+
cameraUtil: Camera;
|
|
22
|
+
tag: SceneTag;
|
|
23
|
+
style: SceneStyle;
|
|
24
|
+
private option;
|
|
25
|
+
private wall;
|
|
26
|
+
private line;
|
|
27
|
+
private cylinder;
|
|
28
|
+
private poi;
|
|
29
|
+
private circle;
|
|
30
|
+
areaBoundingBox: AreaBoundingBoxManage;
|
|
31
|
+
private realModl;
|
|
32
|
+
private techModel;
|
|
33
|
+
private eventHandleFn;
|
|
34
|
+
private toggleState;
|
|
35
|
+
private boxSkeyTexture;
|
|
36
|
+
interactionManager: InteractionManager;
|
|
37
|
+
constructor(option: factory3dOption);
|
|
38
|
+
/**
|
|
39
|
+
* render factory 3d scene
|
|
40
|
+
*/
|
|
41
|
+
renderScene(scene: SceneControl): void;
|
|
42
|
+
/**
|
|
43
|
+
* toggle SceneStyle
|
|
44
|
+
* @param params
|
|
45
|
+
*/
|
|
46
|
+
private toggleSceneStyle;
|
|
47
|
+
toggleTag(tag: SceneTag): void;
|
|
48
|
+
private globalEventsAgent;
|
|
49
|
+
addEventListener(eventName: string, handleFn: (args?: any) => void): void;
|
|
50
|
+
}
|
|
51
|
+
export default Factory3D;
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
import { EquirectangularReflectionMapping, InteractionManager, ModelLoader, Vector3, lib, use, utils } from '@anov/3d-core';
|
|
9
|
+
import { Camera } from '@anov/3d-ability';
|
|
10
|
+
import { finirMaterialV1 } from "./utils/finirMaterial";
|
|
11
|
+
import handleUnit from "./unit";
|
|
12
|
+
import { globalEvents } from "./globalData";
|
|
13
|
+
import switchMaterial from "./utils/switchMaterial";
|
|
14
|
+
import { debounce } from "./utils";
|
|
15
|
+
var load = new ModelLoader();
|
|
16
|
+
var rgbeLoader = new lib.RGBELoader();
|
|
17
|
+
var emitter = utils.emitter;
|
|
18
|
+
export var SceneStyle;
|
|
19
|
+
(function (SceneStyle) {
|
|
20
|
+
SceneStyle[SceneStyle["real"] = 0] = "real";
|
|
21
|
+
SceneStyle[SceneStyle["tech"] = 1] = "tech";
|
|
22
|
+
})(SceneStyle || (SceneStyle = {}));
|
|
23
|
+
export var SceneTag;
|
|
24
|
+
(function (SceneTag) {
|
|
25
|
+
SceneTag["overview"] = "overview";
|
|
26
|
+
SceneTag["people-management"] = "people-management";
|
|
27
|
+
})(SceneTag || (SceneTag = {}));
|
|
28
|
+
var Factory3D = /*#__PURE__*/function () {
|
|
29
|
+
function Factory3D(option) {
|
|
30
|
+
_classCallCheck(this, Factory3D);
|
|
31
|
+
_defineProperty(this, "position", new Vector3(0, 0, 0));
|
|
32
|
+
_defineProperty(this, "scene", void 0);
|
|
33
|
+
_defineProperty(this, "control", void 0);
|
|
34
|
+
_defineProperty(this, "cameraUtil", void 0);
|
|
35
|
+
_defineProperty(this, "tag", SceneTag.overview);
|
|
36
|
+
_defineProperty(this, "style", SceneStyle.real);
|
|
37
|
+
_defineProperty(this, "option", void 0);
|
|
38
|
+
_defineProperty(this, "wall", void 0);
|
|
39
|
+
_defineProperty(this, "line", void 0);
|
|
40
|
+
_defineProperty(this, "cylinder", void 0);
|
|
41
|
+
_defineProperty(this, "poi", void 0);
|
|
42
|
+
_defineProperty(this, "circle", void 0);
|
|
43
|
+
_defineProperty(this, "areaBoundingBox", void 0);
|
|
44
|
+
_defineProperty(this, "realModl", void 0);
|
|
45
|
+
_defineProperty(this, "techModel", void 0);
|
|
46
|
+
_defineProperty(this, "eventHandleFn", new Map());
|
|
47
|
+
_defineProperty(this, "toggleState", true);
|
|
48
|
+
_defineProperty(this, "boxSkeyTexture", void 0);
|
|
49
|
+
_defineProperty(this, "interactionManager", void 0);
|
|
50
|
+
this.option = option;
|
|
51
|
+
this.globalEventsAgent();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* render factory 3d scene
|
|
56
|
+
*/
|
|
57
|
+
_createClass(Factory3D, [{
|
|
58
|
+
key: "renderScene",
|
|
59
|
+
value: function renderScene(scene) {
|
|
60
|
+
var _this = this;
|
|
61
|
+
this.scene = scene;
|
|
62
|
+
this.cameraUtil = new Camera(scene.camera, scene.controls);
|
|
63
|
+
this.control = scene.controls;
|
|
64
|
+
this.option.model && load.loadGLTF(this.option.model, false, true, './draco/', function (gltf) {
|
|
65
|
+
var group = gltf.scene.clone();
|
|
66
|
+
group.traverse(function (child) {
|
|
67
|
+
if (child.type === 'Mesh') {
|
|
68
|
+
// @ts-ignore
|
|
69
|
+
child.material = finirMaterialV1;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
_this.scene.add(gltf.scene);
|
|
73
|
+
_this.scene.add(group);
|
|
74
|
+
gltf.scene.visible = SceneStyle.real === _this.style;
|
|
75
|
+
group.visible = SceneStyle.tech === _this.style;
|
|
76
|
+
_this.techModel = group;
|
|
77
|
+
_this.realModl = gltf.scene;
|
|
78
|
+
var interactionManager = new InteractionManager(_this.scene.renderer, _this.scene.camera, _this.scene.renderer.domElement) // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,
|
|
79
|
+
;
|
|
80
|
+
|
|
81
|
+
_this.interactionManager = interactionManager;
|
|
82
|
+
utils.storeManagement.set('interactionManager', interactionManager);
|
|
83
|
+
use.useframe(function () {
|
|
84
|
+
interactionManager.update();
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
// interactionManager.add(gltf.scene)
|
|
88
|
+
|
|
89
|
+
gltf.scene.addEventListener('click', function (e) {
|
|
90
|
+
_this.position = e.point;
|
|
91
|
+
});
|
|
92
|
+
handleUnit.call(_this);
|
|
93
|
+
return gltf;
|
|
94
|
+
});
|
|
95
|
+
rgbeLoader.setPath('./').load('quarry_01_1k.hdr', function (texture) {
|
|
96
|
+
texture.mapping = EquirectangularReflectionMapping;
|
|
97
|
+
_this.boxSkeyTexture = texture;
|
|
98
|
+
_this.scene.scene.background = texture;
|
|
99
|
+
_this.scene.scene.environment = texture;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* toggle SceneStyle
|
|
105
|
+
* @param params
|
|
106
|
+
*/
|
|
107
|
+
}, {
|
|
108
|
+
key: "toggleSceneStyle",
|
|
109
|
+
value: function toggleSceneStyle(params) {
|
|
110
|
+
var _this2 = this;
|
|
111
|
+
if (this.style === params) return;
|
|
112
|
+
if (params === SceneStyle.tech) this.toggleState = false;
|
|
113
|
+
this.style = params;
|
|
114
|
+
var endCallBack = debounce(function () {
|
|
115
|
+
_this2.realModl.visible = false;
|
|
116
|
+
_this2.toggleState = true;
|
|
117
|
+
});
|
|
118
|
+
if (this.style === SceneStyle.tech) {
|
|
119
|
+
this.realModl.traverse(function (child) {
|
|
120
|
+
if (child.type === 'Mesh') {
|
|
121
|
+
switchMaterial(child, finirMaterialV1, {
|
|
122
|
+
speed: 40,
|
|
123
|
+
start: -500,
|
|
124
|
+
end: 2000,
|
|
125
|
+
callback: endCallBack
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
if (params === SceneStyle.real) {
|
|
131
|
+
this.realModl.visible = SceneStyle.real === this.style;
|
|
132
|
+
this.scene.scene.background = this.boxSkeyTexture;
|
|
133
|
+
} else {
|
|
134
|
+
this.scene.scene.background = null;
|
|
135
|
+
}
|
|
136
|
+
this.techModel.visible = SceneStyle.tech === this.style;
|
|
137
|
+
}
|
|
138
|
+
}, {
|
|
139
|
+
key: "toggleTag",
|
|
140
|
+
value: function toggleTag(tag) {
|
|
141
|
+
if (this.toggleState === false) return;
|
|
142
|
+
switch (tag) {
|
|
143
|
+
case SceneTag.overview:
|
|
144
|
+
this.tag = SceneTag.overview;
|
|
145
|
+
this.toggleSceneStyle(SceneStyle.real);
|
|
146
|
+
this.wall.wallMesh.forEach(function (mesh) {
|
|
147
|
+
mesh.visible = true;
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
// this.line.lineMesh.forEach((mesh) => {
|
|
151
|
+
// mesh.visible = false
|
|
152
|
+
// })
|
|
153
|
+
|
|
154
|
+
this.cylinder.cylinderMesh.forEach(function (mesh) {
|
|
155
|
+
mesh.visible = false;
|
|
156
|
+
});
|
|
157
|
+
this.poi.reset();
|
|
158
|
+
this.circle.remove();
|
|
159
|
+
break;
|
|
160
|
+
case SceneTag['people-management']:
|
|
161
|
+
this.tag = SceneTag['people-management'];
|
|
162
|
+
this.toggleSceneStyle(SceneStyle.tech);
|
|
163
|
+
this.wall.wallMesh.forEach(function (mesh) {
|
|
164
|
+
mesh.visible = false;
|
|
165
|
+
});
|
|
166
|
+
this.poi.poiMesh.forEach(function (mesh) {
|
|
167
|
+
mesh.visible = false;
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
// this.line.lineMesh.forEach((mesh) => {
|
|
171
|
+
// mesh.visible = true
|
|
172
|
+
// })
|
|
173
|
+
|
|
174
|
+
this.cylinder.cylinderMesh.forEach(function (mesh) {
|
|
175
|
+
mesh.visible = true;
|
|
176
|
+
});
|
|
177
|
+
this.poi.setVisible(false);
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}, {
|
|
182
|
+
key: "globalEventsAgent",
|
|
183
|
+
value: function globalEventsAgent() {
|
|
184
|
+
var _this3 = this;
|
|
185
|
+
globalEvents.forEach(function (eventKey) {
|
|
186
|
+
emitter.on(eventKey, function (args) {
|
|
187
|
+
var _this3$eventHandleFn$;
|
|
188
|
+
(_this3$eventHandleFn$ = _this3.eventHandleFn.get(eventKey)) === null || _this3$eventHandleFn$ === void 0 ? void 0 : _this3$eventHandleFn$.forEach(function (fn) {
|
|
189
|
+
fn(args);
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}, {
|
|
195
|
+
key: "addEventListener",
|
|
196
|
+
value: function addEventListener(eventName, handleFn) {
|
|
197
|
+
if (this.eventHandleFn.get(eventName)) this.eventHandleFn.get(eventName).push(handleFn);else this.eventHandleFn.set(eventName, [handleFn]);
|
|
198
|
+
}
|
|
199
|
+
}]);
|
|
200
|
+
return Factory3D;
|
|
201
|
+
}();
|
|
202
|
+
export default Factory3D;
|
|
203
|
+
//# sourceMappingURL=3d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EquirectangularReflectionMapping","InteractionManager","ModelLoader","Vector3","lib","use","utils","Camera","finirMaterialV1","handleUnit","globalEvents","switchMaterial","debounce","load","rgbeLoader","RGBELoader","emitter","SceneStyle","SceneTag","Factory3D","option","overview","real","Map","globalEventsAgent","scene","cameraUtil","camera","controls","control","model","loadGLTF","gltf","group","clone","traverse","child","type","material","add","visible","style","tech","techModel","realModl","interactionManager","renderer","domElement","storeManagement","set","useframe","update","addEventListener","e","position","point","call","setPath","texture","mapping","boxSkeyTexture","background","environment","params","toggleState","endCallBack","speed","start","end","callback","tag","toggleSceneStyle","wall","wallMesh","forEach","mesh","cylinder","cylinderMesh","poi","reset","circle","remove","poiMesh","setVisible","eventKey","on","args","eventHandleFn","get","fn","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { EquirectangularReflectionMapping, InteractionManager, ModelLoader, Vector3, lib, use, utils } from '@anov/3d-core'\nimport { Camera } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport { globalEvents } from './globalData'\nimport switchMaterial from './utils/switchMaterial'\nimport { debounce } from './utils'\n\ntype factory3dOption = {\n model?: string\n environment: string\n}\nconst load = new ModelLoader()\nconst rgbeLoader = new lib.RGBELoader()\nconst { emitter } = utils\n\nexport enum SceneStyle {\n 'real',\n 'tech',\n}\n\nexport enum SceneTag {\n 'overview' = 'overview',\n 'people-management' = 'people-management',\n}\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene!: SceneControl\n control!: OrbitControls\n cameraUtil!: Camera\n\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n private wall!: WallManage\n private line!: LineManage\n private cylinder!: CylinderManage\n private poi!: PoiManage\n private circle!: CircleManage\n areaBoundingBox!: AreaBoundingBoxManage\n\n private realModl!: Group\n private techModel!: Group\n\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n\n private toggleState = true\n private boxSkeyTexture!: DataTexture\n\n interactionManager!: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n this.scene = scene\n this.cameraUtil = new Camera(scene.camera!, scene.controls!)\n this.control = scene.controls!\n\n this.option.model && load.loadGLTF(this.option.model, false, true, './draco/', (gltf) => {\n const group = gltf.scene.clone()\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n })\n\n this.scene.add(gltf.scene)\n this.scene.add(group)\n\n gltf.scene.visible = SceneStyle.real === this.style\n group.visible = SceneStyle.tech === this.style\n\n this.techModel = group as Group\n this.realModl = gltf.scene as Group\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n // interactionManager.add(gltf.scene)\n\n gltf.scene.addEventListener('click', (e) => {\n this.position = e.point\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n rgbeLoader.setPath('./').load('quarry_01_1k.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n this.boxSkeyTexture = texture\n this.scene.scene.background = texture\n this.scene.scene.environment = texture\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n private toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n if (params === SceneStyle.tech)\n this.toggleState = false\n\n this.style = params\n\n const endCallBack = debounce(() => {\n this.realModl.visible = false\n this.toggleState = true\n })\n\n if (this.style === SceneStyle.tech) {\n this.realModl.traverse((child) => {\n if (child.type === 'Mesh') {\n switchMaterial(child as Object3D & { material: Material }, finirMaterialV1, {\n speed: 40,\n start: -500,\n end: 2000,\n callback: endCallBack,\n })\n }\n })\n }\n\n if (params === SceneStyle.real) {\n this.realModl.visible = SceneStyle.real === this.style\n this.scene.scene.background = this.boxSkeyTexture\n }\n else {\n this.scene.scene.background = null\n }\n\n this.techModel.visible = SceneStyle.tech === this.style\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.toggleState === false)\n return\n switch (tag) {\n case SceneTag.overview:\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = true\n })\n\n // this.line.lineMesh.forEach((mesh) => {\n // mesh.visible = false\n // })\n\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.poi.reset()\n this.circle.remove()\n break\n case SceneTag['people-management']:\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.poiMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n // this.line.lineMesh.forEach((mesh) => {\n // mesh.visible = true\n // })\n\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n this.poi.setVisible(false)\n break\n }\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const globalEvents: string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["globalEvents"],"sources":["../../src/factory/globalData.ts"],"sourcesContent":["export const globalEvents = [\n 'peoplemanagement-camera-out',\n 'peoplemanagement-camera-enter',\n]"],"mappings":"AAAA,OAAO,IAAMA,YAAY,GAAG,CAC1B,6BAA6B,EAC7B,+BAA+B,CAChC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* todo: 各个单元数据需要统一
|
|
3
|
+
* 当前demo area可以用直线绘制
|
|
4
|
+
*/
|
|
5
|
+
export interface IPeople {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
position: Array<number>;
|
|
9
|
+
}
|
|
10
|
+
export interface IPoi {
|
|
11
|
+
id: string;
|
|
12
|
+
position: Array<number>;
|
|
13
|
+
content?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare type RegionMap = {
|
|
16
|
+
[k: string]: {
|
|
17
|
+
id: string;
|
|
18
|
+
title: string;
|
|
19
|
+
area: number[][];
|
|
20
|
+
maxHigh?: number;
|
|
21
|
+
poi?: IPoi;
|
|
22
|
+
people?: Array<IPeople>;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare const regionMap: RegionMap;
|
|
26
|
+
export default regionMap;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* todo: 各个单元数据需要统一
|
|
3
|
+
* 当前demo area可以用直线绘制
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export var regionMap = {
|
|
7
|
+
reform: {
|
|
8
|
+
id: '1',
|
|
9
|
+
title: '重整装置区',
|
|
10
|
+
area: [[-483.562, 0, -225.624], [-145.997, 0, -225.624], [-145.997, 0, -59.401], [-483.562, 0, -59.401]],
|
|
11
|
+
poi: {
|
|
12
|
+
id: '1',
|
|
13
|
+
position: [-290.29, 36.38, -123.69],
|
|
14
|
+
content: '重整装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。'
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
reduction: {
|
|
18
|
+
id: '2',
|
|
19
|
+
title: '常减压装置区',
|
|
20
|
+
area: [[-140.123, 0, -225.604], [206.547, 0, -225.624], [206.547, 0, -59.401], [-140.123, 0, -59.401]],
|
|
21
|
+
poi: {
|
|
22
|
+
id: '2',
|
|
23
|
+
position: [9.99, 40.33, -128.26],
|
|
24
|
+
content: '常减压装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。'
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
crudeOil: {
|
|
28
|
+
id: '3',
|
|
29
|
+
title: '原油装置区',
|
|
30
|
+
area: [[240.584, 0, -225.624], [475.523, 0, -225.624], [475.543, 0, -59.401], [240.584, 0, -59.401]],
|
|
31
|
+
poi: {
|
|
32
|
+
id: '3',
|
|
33
|
+
position: [373.29, 13.84, -150.09],
|
|
34
|
+
content: '原油装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
catalyticCracking: {
|
|
38
|
+
id: '4',
|
|
39
|
+
title: '催化裂化装置区',
|
|
40
|
+
area: [[-483.562, 0, -49.812], [-145.997, 0, -49.812], [-145.997, 0, 115.799], [-483.562, 0, 115.799]],
|
|
41
|
+
poi: {
|
|
42
|
+
id: '4',
|
|
43
|
+
position: [-294.28, 13.06, 37.12],
|
|
44
|
+
content: '催化裂化装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。'
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
hydrocrackingUnit: {
|
|
48
|
+
id: '5',
|
|
49
|
+
title: '加氢裂化装置区',
|
|
50
|
+
area: [[-483.562, 0, 124.634], [-145.997, 0, 124.634], [-145.997, 0, 218.589], [-483.562, 0, 218.589]],
|
|
51
|
+
poi: {
|
|
52
|
+
id: '5',
|
|
53
|
+
position: [-325.49, 11.20, 150.00],
|
|
54
|
+
content: '加氢裂化装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。'
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
cokingUnit: {
|
|
58
|
+
id: '6',
|
|
59
|
+
title: '焦化装置区',
|
|
60
|
+
area: [[-140.100, 0, -49.802], [316.508, 0, -49.802], [316.508, 0, 218.847], [-140.100, 0, 218.847]],
|
|
61
|
+
people: [{
|
|
62
|
+
id: '61',
|
|
63
|
+
name: '张三',
|
|
64
|
+
position: [49.19, 12.21, 167.39]
|
|
65
|
+
}, {
|
|
66
|
+
id: '62',
|
|
67
|
+
name: '李四',
|
|
68
|
+
position: [80.87, 18.85, 203.34]
|
|
69
|
+
}, {
|
|
70
|
+
id: '63',
|
|
71
|
+
name: '王五',
|
|
72
|
+
position: [112.23, 12.23, 144.75]
|
|
73
|
+
}, {
|
|
74
|
+
id: '64',
|
|
75
|
+
name: '杨洪波',
|
|
76
|
+
position: [-30.27, 19.68, 54.44]
|
|
77
|
+
}, {
|
|
78
|
+
id: '65',
|
|
79
|
+
name: '李红军',
|
|
80
|
+
position: [-4.23, -0.00, 136.60]
|
|
81
|
+
}, {
|
|
82
|
+
id: '66',
|
|
83
|
+
name: '罗红军',
|
|
84
|
+
position: [142.24, 11.12, 192.34]
|
|
85
|
+
}],
|
|
86
|
+
poi: {
|
|
87
|
+
id: '6',
|
|
88
|
+
position: [75.75, 12.39, 75.09],
|
|
89
|
+
content: '焦化装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。'
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
administrative: {
|
|
93
|
+
id: '7',
|
|
94
|
+
title: '办公区',
|
|
95
|
+
area: [[340.501, 0, -44.710], [482.570, 0, -44.710], [482.570, 0, 227.641], [340.501, 0, 227.641]],
|
|
96
|
+
maxHigh: 100,
|
|
97
|
+
people: [{
|
|
98
|
+
id: '71',
|
|
99
|
+
name: '张三',
|
|
100
|
+
position: [387.74, 16.41, 33.22]
|
|
101
|
+
}, {
|
|
102
|
+
id: '72',
|
|
103
|
+
name: '李四',
|
|
104
|
+
position: [368.38, 1.03, 79.71]
|
|
105
|
+
}, {
|
|
106
|
+
id: '73',
|
|
107
|
+
name: '王五',
|
|
108
|
+
position: [423.63, 16.35, 67.64]
|
|
109
|
+
}, {
|
|
110
|
+
id: '74',
|
|
111
|
+
name: '杨洪波',
|
|
112
|
+
position: [443.84, 16.07, 138.20]
|
|
113
|
+
}, {
|
|
114
|
+
id: '75',
|
|
115
|
+
name: '李斯',
|
|
116
|
+
position: [420.59, 16.23, 199.18]
|
|
117
|
+
}, {
|
|
118
|
+
id: '76',
|
|
119
|
+
name: '罗红军',
|
|
120
|
+
position: [383.85, 13.81, 197.60]
|
|
121
|
+
}],
|
|
122
|
+
poi: {
|
|
123
|
+
id: '7',
|
|
124
|
+
position: [358.37, 17.54, 72.47],
|
|
125
|
+
content: '办公区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。'
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
export default regionMap;
|
|
130
|
+
//# sourceMappingURL=regionData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["regionMap","reform","id","title","area","poi","position","content","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","people","name","administrative","maxHigh"],"sources":["../../src/factory/regionData.ts"],"sourcesContent":["/**\n * todo: 各个单元数据需要统一\n * 当前demo area可以用直线绘制\n */\n\nexport interface IPeople {\n id: string\n name: string\n position: Array<number>\n}\n\nexport interface IPoi {\n id: string\n position: Array<number>\n content?: string\n}\n\nexport type RegionMap = {\n [k: string]: {\n id: string\n title: string\n area: number[][]\n maxHigh?: number\n poi?: IPoi\n people?: Array<IPeople>\n }\n}\n\nexport const regionMap: RegionMap = {\n reform: {\n id: '1',\n title: '重整装置区',\n area: [\n [\n -483.562,\n 0,\n -225.624,\n ],\n [\n -145.997,\n 0,\n -225.624,\n ],\n [\n -145.997,\n 0,\n -59.401,\n ],\n [\n -483.562,\n 0,\n -59.401,\n ],\n ],\n poi: {\n id: '1',\n position: [-290.29, 36.38, -123.69],\n content: '重整装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。',\n },\n },\n reduction: {\n id: '2',\n title: '常减压装置区',\n area: [\n [-140.123, 0, -225.604],\n [206.547, 0, -225.624],\n [206.547, 0, -59.401],\n [-140.123, 0, -59.401],\n ],\n poi: {\n id: '2',\n position: [9.99, 40.33, -128.26],\n content: '常减压装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。',\n },\n },\n crudeOil: {\n id: '3',\n title: '原油装置区',\n area: [\n [240.584, 0, -225.624],\n [475.523, 0, -225.624],\n [475.543, 0, -59.401],\n [240.584, 0, -59.401],\n ],\n poi: {\n id: '3',\n position: [373.29, 13.84, -150.09],\n content: '原油装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。',\n },\n },\n catalyticCracking: {\n id: '4',\n title: '催化裂化装置区',\n area: [\n [\n -483.562,\n 0,\n -49.812,\n ],\n [\n -145.997,\n 0,\n -49.812,\n ],\n [\n -145.997,\n 0,\n 115.799,\n ],\n [\n -483.562,\n 0,\n 115.799,\n ],\n ],\n poi: {\n id: '4',\n position: [-294.28, 13.06, 37.12],\n content: '催化裂化装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。',\n\n },\n },\n hydrocrackingUnit: {\n id: '5',\n title: '加氢裂化装置区',\n area: [\n [-483.562, 0, 124.634],\n [-145.997, 0, 124.634],\n [-145.997, 0, 218.589],\n [\n -483.562, 0, 218.589,\n ],\n ],\n poi: {\n id: '5',\n position: [-325.49, 11.20, 150.00],\n content: '加氢裂化装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。',\n\n },\n },\n cokingUnit: {\n id: '6',\n title: '焦化装置区',\n area: [\n [-140.100, 0, -49.802],\n [316.508, 0, -49.802],\n [316.508, 0, 218.847],\n [-140.100, 0, 218.847],\n ],\n people: [{\n id: '61',\n name: '张三',\n position: [49.19, 12.21, 167.39],\n },\n {\n id: '62',\n name: '李四',\n position: [80.87, 18.85, 203.34],\n },\n {\n id: '63',\n name: '王五',\n position: [112.23, 12.23, 144.75],\n },\n {\n id: '64',\n name: '杨洪波',\n position: [-30.27, 19.68, 54.44],\n },\n {\n id: '65',\n name: '李红军',\n position: [-4.23, -0.00, 136.60],\n },\n {\n id: '66',\n name: '罗红军',\n position: [142.24, 11.12, 192.34],\n }],\n poi: {\n id: '6',\n position: [75.75, 12.39, 75.09],\n content: '焦化装置区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。',\n },\n },\n administrative: {\n id: '7',\n title: '办公区',\n area: [\n [340.501, 0, -44.710],\n [482.570, 0, -44.710],\n [482.570, 0, 227.641],\n [340.501, 0, 227.641],\n ],\n maxHigh: 100,\n people: [{\n id: '71',\n name: '张三',\n position: [387.74, 16.41, 33.22],\n },\n {\n id: '72',\n name: '李四',\n position: [368.38, 1.03, 79.71],\n },\n {\n id: '73',\n name: '王五',\n position: [423.63, 16.35, 67.64],\n },\n {\n id: '74',\n name: '杨洪波',\n position: [443.84, 16.07, 138.20],\n },\n {\n id: '75',\n name: '李斯',\n position: [420.59, 16.23, 199.18],\n },\n {\n id: '76',\n name: '罗红军',\n position: [383.85, 13.81, 197.60],\n }],\n poi: {\n id: '7',\n position: [358.37, 17.54, 72.47],\n content: '办公区是化工厂中进行主要生产过程的核心区域。它包括各种生产设备和装置,按照特定的工艺流程进行操作。',\n },\n },\n}\n\nexport default regionMap"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
import { createAreaBoundingBox } from "../utils/areaBoundingBox";
|
|
9
|
+
import regionMap from "../regionData";
|
|
10
|
+
var AreaBoundingBoxManage = /*#__PURE__*/function () {
|
|
11
|
+
function AreaBoundingBoxManage() {
|
|
12
|
+
_classCallCheck(this, AreaBoundingBoxManage);
|
|
13
|
+
_defineProperty(this, "boundingBoxMap", new Map());
|
|
14
|
+
}
|
|
15
|
+
_createClass(AreaBoundingBoxManage, [{
|
|
16
|
+
key: "generateBoundingBox",
|
|
17
|
+
value: function generateBoundingBox() {
|
|
18
|
+
for (var key in regionMap) {
|
|
19
|
+
var currentArea = regionMap[key];
|
|
20
|
+
var box = createAreaBoundingBox(currentArea.area, currentArea.maxHigh || 100);
|
|
21
|
+
this.boundingBoxMap.set(currentArea.id, box);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}]);
|
|
25
|
+
return AreaBoundingBoxManage;
|
|
26
|
+
}();
|
|
27
|
+
export default AreaBoundingBoxManage;
|
|
28
|
+
//# sourceMappingURL=areaBoundingBox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAreaBoundingBox","regionMap","AreaBoundingBoxManage","Map","key","currentArea","box","area","maxHigh","boundingBoxMap","set","id"],"sources":["../../../src/factory/unit/areaBoundingBox.ts"],"sourcesContent":["import type { Box3 } from 'three'\nimport { createAreaBoundingBox } from '../utils/areaBoundingBox'\nimport regionMap from '../regionData'\n\nclass AreaBoundingBoxManage {\n readonly boundingBoxMap: Map<string, Box3> = new Map()\n constructor() {}\n\n generateBoundingBox() {\n for (const key in regionMap) {\n const currentArea = regionMap[key]\n\n const box = createAreaBoundingBox(currentArea.area, currentArea.maxHigh || 100)\n this.boundingBoxMap.set(currentArea.id, box)\n }\n }\n}\n\nexport default AreaBoundingBoxManage\n"],"mappings":";;;;;;;AACA,SAASA,qBAAqB;AAC9B,OAAOC,SAAS;AAAqB,IAE/BC,qBAAqB;EAEzB,iCAAc;IAAA;IAAA,wCAD+B,IAAIC,GAAG,EAAE;EACvC;EAAC;IAAA;IAAA,OAEhB,+BAAsB;MACpB,KAAK,IAAMC,GAAG,IAAIH,SAAS,EAAE;QAC3B,IAAMI,WAAW,GAAGJ,SAAS,CAACG,GAAG,CAAC;QAElC,IAAME,GAAG,GAAGN,qBAAqB,CAACK,WAAW,CAACE,IAAI,EAAEF,WAAW,CAACG,OAAO,IAAI,GAAG,CAAC;QAC/E,IAAI,CAACC,cAAc,CAACC,GAAG,CAACL,WAAW,CAACM,EAAE,EAAEL,GAAG,CAAC;MAC9C;IACF;EAAC;EAAA;AAAA;AAGH,eAAeJ,qBAAqB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Object3D } from '@anov/3d-core';
|
|
2
|
+
import type Factory3D from '../3d';
|
|
3
|
+
declare class CircleManage {
|
|
4
|
+
private scene;
|
|
5
|
+
readonly circleMesh: Map<string, Object3D>;
|
|
6
|
+
private interactionManager;
|
|
7
|
+
private peoplePoi;
|
|
8
|
+
constructor(gobal: Factory3D);
|
|
9
|
+
generateCircle(belongTo: string): void;
|
|
10
|
+
remove(): void;
|
|
11
|
+
setVisible(visible?: boolean): void;
|
|
12
|
+
private bindEvent;
|
|
13
|
+
private getData;
|
|
14
|
+
}
|
|
15
|
+
export default CircleManage;
|