@anov/3d 0.0.142 → 0.0.153
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 +3 -1
- package/dist/anov3d.js +1 -7
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +6 -5
- package/dist/applicationApi.js.map +1 -1
- package/dist/factory/3d.js +1 -9
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/CameraPoi.js +0 -2
- package/dist/factory/unit/CameraPoi.js.map +1 -1
- package/dist/factory/unit/circle.js +0 -3
- package/dist/factory/unit/circle.js.map +1 -1
- package/dist/factory/unit/cylinder.js +0 -2
- package/dist/factory/unit/cylinder.js.map +1 -1
- package/dist/factory/unit/inspection/InspectionObject.js +1 -3
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/factory/unit/poi.js +8 -14
- package/dist/factory/unit/poi.js.map +1 -1
- package/dist/factory/unit/region.js +1 -2
- package/dist/factory/unit/region.js.map +1 -1
- package/dist/hooksManager.js +37 -13
- package/dist/hooksManager.js.map +1 -1
- package/dist/module/camera/index.js +215 -222
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/camera/type.js +2 -0
- package/dist/module/camera/type.js.map +1 -0
- package/dist/module/entity/hybridList.js +5 -0
- package/dist/module/entity/hybridList.js.map +1 -1
- package/dist/module/entity/index.js +256 -117
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +3 -3
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/model/load/loadFbx.js +14 -1
- package/dist/module/entity/model/load/loadFbx.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +16 -2
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/entity/poi/index.js +208 -19
- package/dist/module/entity/poi/index.js.map +1 -1
- package/dist/module/entity/poi/indexBack.js +29 -0
- package/dist/module/entity/poi/indexBack.js.map +1 -0
- package/dist/module/entity/poi/type.js.map +1 -1
- package/dist/module/entity/poi/utils.js +42 -0
- package/dist/module/entity/poi/utils.js.map +1 -0
- package/dist/module/entity/type.js.map +1 -1
- package/dist/module/eventBus/index.js +20 -7
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/utils/index.js +16 -4
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/messageFn.js +5 -2
- package/dist/utils/messageFn.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
package/dist/anov3d.js
CHANGED
|
@@ -7,7 +7,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
7
7
|
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; }
|
|
8
8
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
9
9
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
-
import {
|
|
10
|
+
import { SceneControl, Vector3, utils } from '@anov/3d-core';
|
|
11
11
|
import EventBus from "./module/eventBus";
|
|
12
12
|
import { EWeatherType } from "./module/environment/weather/type";
|
|
13
13
|
import { object2Vector3 } from "./utils/index";
|
|
@@ -22,7 +22,6 @@ var Anov3D = /*#__PURE__*/_createClass(function Anov3D(opts) {
|
|
|
22
22
|
_defineProperty(this, "eventBus", void 0);
|
|
23
23
|
_defineProperty(this, "EWeatherType", EWeatherType);
|
|
24
24
|
_defineProperty(this, "model", void 0);
|
|
25
|
-
_defineProperty(this, "interactionManager", void 0);
|
|
26
25
|
this.opts = opts;
|
|
27
26
|
var _ref = opts || {},
|
|
28
27
|
_ref$camera = _ref.camera,
|
|
@@ -56,11 +55,6 @@ var Anov3D = /*#__PURE__*/_createClass(function Anov3D(opts) {
|
|
|
56
55
|
scene.render(opts.container);
|
|
57
56
|
(_scene$controls = scene.controls) === null || _scene$controls === void 0 || _scene$controls.target.copy((_opts$camera = opts.camera) !== null && _opts$camera !== void 0 && _opts$camera.target ? new Vector3().fromArray(opts.camera.target) : object2Vector3(defaultCameraParams.lookAt));
|
|
58
57
|
utils.emitter.emit('scene-completed', scene);
|
|
59
|
-
var interactionManager = new InteractionManager(scene.renderer, scene.camera, scene.renderer.domElement);
|
|
60
|
-
this.interactionManager = interactionManager;
|
|
61
|
-
use.useframe(function () {
|
|
62
|
-
interactionManager.update();
|
|
63
|
-
});
|
|
64
58
|
|
|
65
59
|
// 不考虑 tree-shaking
|
|
66
60
|
this.sceneControl = scene;
|
package/dist/anov3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SceneControl","Vector3","utils","EventBus","EWeatherType","object2Vector3","Model","defaultCameraParams","Anov3D","_createClass","opts","_camera$fov","_camera$near","_camera$far","_opts$size$width","_opts$size","_opts$size$height","_opts$size2","_opts$size$width2","_opts$size3","_opts$size$height2","_opts$size4","_scene$controls","_opts$camera","_classCallCheck","_defineProperty","_ref","_ref$camera","camera","cameraParams","fov","near","far","position","fromArray","scene","orbitControls","controls","use","defCameraOps","_objectSpread","aspect","size","width","container","clientWidth","height","clientHeight","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","target","copy","lookAt","emitter","emit","sceneControl","eventBus","model","load","storeManagement","set"],"sources":["../src/anov3d.ts"],"sourcesContent":["import { SceneControl, Vector3, lib, use, utils } from '@anov/3d-core'\nimport EventBus from './module/eventBus'\nimport { EWeatherType } from './module/environment/weather/type'\nimport type { InitOptions } from './applicationApi'\nimport { object2Vector3 } from './utils/index'\nimport Model from './module/model'\nimport { defaultCameraParams } from './index'\n\ntype Anov3DOptions = {\n container: HTMLElement\n size?: {\n width: number\n height: number\n }\n camera?: InitOptions['camera']\n environment?: InitOptions['environment']\n model?: InitOptions['model']\n controls?: InitOptions['controls']\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n EWeatherType: typeof EWeatherType = EWeatherType\n model: Model\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n const { camera = {} } = opts || {}\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 ? new Vector3().fromArray(camera.position) : object2Vector3(defaultCameraParams.position),\n }\n\n const scene = new SceneControl({\n orbitControls: opts.controls || { use: true },\n defCameraOps: {\n aspect: (opts?.size?.width ?? opts.container.clientWidth) / (opts?.size?.height ?? opts.container.clientHeight),\n ...cameraParams,\n },\n rendererOps: {\n shadowMap: true,\n size: {\n width: opts?.size?.width ?? opts.container.clientWidth,\n height: opts?.size?.height ?? opts.container.clientHeight,\n },\n },\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n // fog: 'FogExp2' as any,\n })\n\n scene.render(opts.container)\n\n scene.controls?.target.copy(opts.camera?.target ? new Vector3().fromArray(opts.camera.target) : object2Vector3(defaultCameraParams.lookAt))\n\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n\n this.eventBus = new EventBus(this)\n this.model = new Model()\n this.opts.model && (this.model.load(this.opts.model))\n\n utils.storeManagement.set('event-bus', this.eventBus)\n utils.emitter.emit('instantiation-completed', this)\n }\n}\n\nexport default Anov3D"],"mappings":"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"}
|
package/dist/applicationApi.js
CHANGED
|
@@ -48,7 +48,7 @@ var Application = /*#__PURE__*/function () {
|
|
|
48
48
|
};
|
|
49
49
|
var anov3D = new Anov3D({
|
|
50
50
|
container: this.container,
|
|
51
|
-
model: params.case ? '' : params === null || params === void 0 ? void 0 : params.model,
|
|
51
|
+
model: params !== null && params !== void 0 && params.case ? '' : params === null || params === void 0 ? void 0 : params.model,
|
|
52
52
|
// temporary solution by LM
|
|
53
53
|
size: {
|
|
54
54
|
width: (_params$size$width = params === null || params === void 0 || (_params$size = params.size) === null || _params$size === void 0 ? void 0 : _params$size.width) !== null && _params$size$width !== void 0 ? _params$size$width : this.container.clientWidth,
|
|
@@ -59,12 +59,12 @@ var Application = /*#__PURE__*/function () {
|
|
|
59
59
|
weather: params === null || params === void 0 || (_params$environment = params.environment) === null || _params$environment === void 0 ? void 0 : _params$environment.weather,
|
|
60
60
|
time: params === null || params === void 0 || (_params$environment2 = params.environment) === null || _params$environment2 === void 0 ? void 0 : _params$environment2.time
|
|
61
61
|
},
|
|
62
|
-
controls: params.controls
|
|
62
|
+
controls: params === null || params === void 0 ? void 0 : params.controls
|
|
63
63
|
});
|
|
64
64
|
this.iEngine = anov3D;
|
|
65
65
|
this.iEngine.zoomRatio = (_set$zoomRatio = set === null || set === void 0 ? void 0 : set.zoomRatio) !== null && _set$zoomRatio !== void 0 ? _set$zoomRatio : 1;
|
|
66
66
|
storeManagement.set('container', this.container);
|
|
67
|
-
var caseInstance = this.loadCase(anov3D, params);
|
|
67
|
+
var caseInstance = (params === null || params === void 0 ? void 0 : params.case) && this.loadCase(anov3D, params);
|
|
68
68
|
if (caseInstance) {
|
|
69
69
|
// @ts-ignore
|
|
70
70
|
this.iEngine.caseInstance = caseInstance;
|
|
@@ -178,7 +178,8 @@ var Application = /*#__PURE__*/function () {
|
|
|
178
178
|
* createInstance
|
|
179
179
|
* @returns
|
|
180
180
|
*/
|
|
181
|
-
export var createInstance = function createInstance(opts
|
|
182
|
-
|
|
181
|
+
export var createInstance = function createInstance(opts) {
|
|
182
|
+
var progressCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
|
|
183
|
+
return new Application(opts, progressCb !== null && progressCb !== void 0 ? progressCb : function () {});
|
|
183
184
|
};
|
|
184
185
|
//# sourceMappingURL=applicationApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","storeManagement","Application","opts","progressCb","_classCallCheck","_defineProperty","container","el","messageType","Api","messageName","status","Success","_createClass","key","value","init","params","id","_this","_camera$fov","_camera$near","_camera$far","_params$size$width","_params$size","_params$size$height","_params$size2","_params$environment","_params$environment2","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","_objectSpread","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","lastProgressCount","Event","error","EventHandleFailed","console","sendMessage","req","name","Error","fn","res","Promise","resolve","then","failMessage","message","receiveMessage","eventName","cb","option","factory","envMaps","imgBox","decoderPath","renderScene","sceneControl","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 Factory3D from './factory/3d'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n}\n\nexport type InitOptions = {\n case?: string // 案例名称,用于兼容init直接加载项目\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 decoderPath?: string // DRACO压缩 资源文件路径\n size?: {\n width: number\n height: number\n }\n environment?: {\n weather?: string\n time?: number\n }\n envMaps: {\n use?: boolean\n imgBox?: Array<string> | string\n }\n controls: {\n // 相机缩放范围\n minDistance?: number\n maxDistance?: number\n // 上下旋转范围\n minPolarAngle?: number// 默认值0\n maxPolarAngle?: number\n // 左右旋转范围\n minAzimuthAngle?: number\n maxAzimuthAngle?: number\n }\n set?: {\n zoomRatio?: number\n }\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D | undefined\n private progressCb: (progress: number) => {}\n private lastProgressCount = 0\n\n constructor(opts: ApplicationOptions, progressCb: () => {}) {\n this.container = opts.el\n this.progressCb = progressCb\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = 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.case ? '' : params?.model, // temporary solution by LM\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 controls: params.controls,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n const caseInstance = this.loadCase(anov3D, params)\n\n if (caseInstance) {\n // @ts-ignore\n this.iEngine.caseInstance = caseInstance\n\n caseInstance.loadingManager.onLoad = () => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n caseInstance.loadingManager.onProgress = (_, loaded, total) => {\n const progress = loaded / total\n\n if (this.progressCb && this.lastProgressCount <= progress) {\n this.progressCb(progress)\n this.lastProgressCount = progress\n }\n\n if (progress >= 1) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onInitProgress',\n status: EMessageStatus.Success,\n id,\n },\n {\n progress,\n })\n }\n }\n else {\n // 空场景,返回初始成功消息\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\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({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\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 private loadCase(anov3D: Anov3D, option: InitOptions) {\n switch (option.case) {\n case 'factory':\n\n // eslint-disable-next-line no-case-declarations\n const factory = new Factory3D({ model: option.model, environment: option.envMaps.imgBox as string, decoderPath: option.decoderPath, controls: option.controls })\n factory.renderScene(anov3D.sceneControl)\n return factory\n }\n }\n}\n\n/**\n * createInstance\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions, progressCb: () => {}): Application => {\n return new Application(opts, progressCb)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","storeManagement","Application","opts","progressCb","_classCallCheck","_defineProperty","container","el","messageType","Api","messageName","status","Success","_createClass","key","value","init","params","id","_this","_camera$fov","_camera$near","_camera$far","_params$size$width","_params$size","_params$size$height","_params$size2","_params$environment","_params$environment2","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","_objectSpread","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","lastProgressCount","Event","error","EventHandleFailed","console","sendMessage","req","name","Error","fn","res","Promise","resolve","then","failMessage","message","receiveMessage","eventName","cb","option","factory","envMaps","imgBox","decoderPath","renderScene","sceneControl","createInstance","arguments","length","undefined"],"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 Factory3D from './factory/3d'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n}\n\nexport type InitOptions = {\n case?: string // 案例名称,用于兼容init直接加载项目\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 decoderPath?: string // DRACO压缩 资源文件路径\n size?: {\n width: number\n height: number\n }\n environment?: {\n weather?: string\n time?: number\n }\n envMaps: {\n use?: boolean\n imgBox?: Array<string> | string\n }\n controls: {\n // 相机缩放范围\n minDistance?: number\n maxDistance?: number\n // 上下旋转范围\n minPolarAngle?: number// 默认值0\n maxPolarAngle?: number\n // 左右旋转范围\n minAzimuthAngle?: number\n maxAzimuthAngle?: number\n }\n set?: {\n zoomRatio?: number\n }\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D | undefined\n private progressCb: (progress: number) => {}\n private lastProgressCount = 0\n\n constructor(opts: ApplicationOptions, progressCb: () => {}) {\n this.container = opts.el\n this.progressCb = progressCb\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = 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?.case ? '' : params?.model, // temporary solution by LM\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 controls: params?.controls,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n const caseInstance = params?.case && this.loadCase(anov3D, params)\n\n if (caseInstance) {\n // @ts-ignore\n this.iEngine.caseInstance = caseInstance\n\n caseInstance.loadingManager.onLoad = () => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n caseInstance.loadingManager.onProgress = (_, loaded, total) => {\n const progress = loaded / total\n\n if (this.progressCb && this.lastProgressCount <= progress) {\n this.progressCb(progress)\n this.lastProgressCount = progress\n }\n\n if (progress >= 1) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onInitProgress',\n status: EMessageStatus.Success,\n id,\n },\n {\n progress,\n })\n }\n }\n else {\n // 空场景,返回初始成功消息\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\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({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\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 private loadCase(anov3D: Anov3D, option: InitOptions) {\n switch (option.case) {\n case 'factory':\n\n // eslint-disable-next-line no-case-declarations\n const factory = new Factory3D({ model: option.model, environment: option.envMaps.imgBox as string, decoderPath: option.decoderPath, controls: option.controls })\n factory.renderScene(anov3D.sceneControl)\n return factory\n }\n }\n}\n\n/**\n * createInstance\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions, progressCb = () => {}): Application => {\n return new Application(opts, progressCb ?? (() => { }) as any)\n}\n"],"mappings":"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"}
|
package/dist/factory/3d.js
CHANGED
|
@@ -5,7 +5,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
5
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
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
7
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
-
import { AdditiveBlending, Color,
|
|
8
|
+
import { AdditiveBlending, Color, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector2, Vector3, lib, use, utils } from '@anov/3d-core';
|
|
9
9
|
import { Camera, SpritePoi } from '@anov/3d-ability';
|
|
10
10
|
import { MessageType, sendToMessage } from "../utils/messageFn";
|
|
11
11
|
import { EMessageStatus } from "../messageStatus";
|
|
@@ -59,7 +59,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
59
59
|
_defineProperty(this, "massifMesh", []);
|
|
60
60
|
_defineProperty(this, "isLoad", false);
|
|
61
61
|
_defineProperty(this, "mainCamera", void 0);
|
|
62
|
-
_defineProperty(this, "interactionManager", void 0);
|
|
63
62
|
this.option = option;
|
|
64
63
|
this.globalEventsAgent();
|
|
65
64
|
factoryGlobalObject.setFactory(this);
|
|
@@ -153,13 +152,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
153
152
|
|
|
154
153
|
return gltf;
|
|
155
154
|
});
|
|
156
|
-
var interactionManager = new InteractionManager(_this.scene.renderer, _this.scene.camera, _this.scene.renderer.domElement) // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,
|
|
157
|
-
;
|
|
158
|
-
_this.interactionManager = interactionManager;
|
|
159
|
-
utils.storeManagement.set('interactionManager', interactionManager);
|
|
160
|
-
use.useframe(function () {
|
|
161
|
-
interactionManager.update();
|
|
162
|
-
});
|
|
163
155
|
_this.loadModel();
|
|
164
156
|
loadingManager.onLoad = function () {
|
|
165
157
|
resolve('success');
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","MessageType","sendToMessage","EMessageStatus","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","_classCallCheck","_defineProperty","overview","real","Map","globalEventsAgent","setFactory","_createClass","key","value","renderScene","scene","_this","loadCSS","url","callback","xhr","XMLHttpRequest","open","onreadystatechange","readyState","status","blob","Blob","responseText","type","blobURL","URL","createObjectURL","link","document","createElement","rel","href","crossOrigin","head","appendChild","console","log","concat","error","statusText","onerror","err","send","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realGroundModel","mesh","traverse","child","enable","castShadow","receiveShadow","name","treesMesh","push","grasslandMesh","massifMesh","add","realTreeModel","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","_this2","visible","style","realModl","call","group","_Time","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","_app$envServer$scaleR","_window","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","poi01","width","height","div2","img2","span3","span4","poi02","img3","poi03","thermaLimaging","pipeline","toggleSceneStyle","params","background","tag","apply","_this3","forEach","eventKey","on","args","_this3$eventHandleFn$","eventHandleFn","get","fn","toggleView","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","messageType","Event","messageName","Success","fov","updateProjectionMatrix","addEventListener","eventName","handleFn"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoaderModule, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } 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 DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n private treesMesh: Array<Mesh> = []\n private grasslandMesh: Array<Mesh> = []\n private massifMesh: Array<Mesh> = []\n\n private isLoad = false\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n const loadCSS = (url, callback) => {\n const xhr = new XMLHttpRequest()\n xhr.open('GET', url, true)\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300) {\n const blob = new Blob([xhr.responseText], { type: 'text/css' })\n const blobURL = URL.createObjectURL(blob)\n\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = blobURL\n link.crossOrigin = 'anonymous'\n document.head.appendChild(link)\n\n if (typeof callback === 'function')\n callback()\n\n console.log(`CSS 加载成功: ${url}`)\n }\n else {\n console.error(`Failed to load CSS: ${url}`, xhr.statusText)\n }\n }\n }\n xhr.onerror = function (err) {\n console.error(`Failed to load CSS: ${url}`, err)\n }\n xhr.send()\n }\n\n return new Promise((resolve) => {\n loadCSS(`${resourcePath2}result.css`, () => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap2.glb`, false, true, './draco/', (gltf) => {\n this.realGroundModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n let mesh, material\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n\n mesh = child as Mesh\n material = mesh.material as Material\n // 记录树、草地、山体的Mesh对象,用于四季效果\n if (material.name === 'sss-1-2.001' || material.name === 'sss-1')\n this.treesMesh.push(mesh)\n else if (material.name === 'Material #32')\n this.grasslandMesh.push(mesh)\n else if (material.name === 'Material #33')\n this.massifMesh.push(mesh)\n }\n })\n scene.add(this.realGroundModel)\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n // @ts-ignore\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n // scene.add(this.realTreeModel)\n\n return gltf\n })\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 this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.traverse((child) => {\n if (child.name === '柱体')\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n else if (child.type === 'Mesh')\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = `${19.5 * scale}px`\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = `${19.5 * scale}px`\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = `${12 * scale}px`\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = `${5 * scale}px`\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = `${12 * scale}px`\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = `${5 * scale}px`\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = `${12 * scale}px`\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n // group.add(poi01)\n // group.add(poi02)\n\n const img3 = document.createElement('img')\n img3.src = `${usePath}demo.png`\n\n const poi03 = new SpritePoi(img3, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi03.layers.set(2)\n group.add(poi03)\n poi03.scale.set(80, 40, 1)\n poi03.position.set(-290.869, 2, -127.770)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\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 /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\n })\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\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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"}
|
|
1
|
+
{"version":3,"names":["AdditiveBlending","Color","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","MessageType","sendToMessage","EMessageStatus","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","_classCallCheck","_defineProperty","overview","real","Map","globalEventsAgent","setFactory","_createClass","key","value","renderScene","scene","_this","loadCSS","url","callback","xhr","XMLHttpRequest","open","onreadystatechange","readyState","status","blob","Blob","responseText","type","blobURL","URL","createObjectURL","link","document","createElement","rel","href","crossOrigin","head","appendChild","console","log","concat","error","statusText","onerror","err","send","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realGroundModel","mesh","traverse","child","enable","castShadow","receiveShadow","name","treesMesh","push","grasslandMesh","massifMesh","add","realTreeModel","loadModel","onLoad","renderer","toneMappingExposure","_this2","visible","style","realModl","call","group","useframe","_Time","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","_app$envServer$scaleR","_window","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","poi01","width","height","div2","img2","span3","span4","poi02","img3","poi03","thermaLimaging","pipeline","toggleSceneStyle","params","background","tag","apply","_this3","forEach","eventKey","on","args","_this3$eventHandleFn$","eventHandleFn","get","fn","toggleView","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","messageType","Event","messageName","Success","fov","updateProjectionMatrix","addEventListener","eventName","handleFn"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, LoaderModule, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } 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 DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n private treesMesh: Array<Mesh> = []\n private grasslandMesh: Array<Mesh> = []\n private massifMesh: Array<Mesh> = []\n\n private isLoad = false\n\n mainCamera: any\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n const loadCSS = (url, callback) => {\n const xhr = new XMLHttpRequest()\n xhr.open('GET', url, true)\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300) {\n const blob = new Blob([xhr.responseText], { type: 'text/css' })\n const blobURL = URL.createObjectURL(blob)\n\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = blobURL\n link.crossOrigin = 'anonymous'\n document.head.appendChild(link)\n\n if (typeof callback === 'function')\n callback()\n\n console.log(`CSS 加载成功: ${url}`)\n }\n else {\n console.error(`Failed to load CSS: ${url}`, xhr.statusText)\n }\n }\n }\n xhr.onerror = function (err) {\n console.error(`Failed to load CSS: ${url}`, err)\n }\n xhr.send()\n }\n\n return new Promise((resolve) => {\n loadCSS(`${resourcePath2}result.css`, () => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap2.glb`, false, true, './draco/', (gltf) => {\n this.realGroundModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n let mesh, material\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n\n mesh = child as Mesh\n material = mesh.material as Material\n // 记录树、草地、山体的Mesh对象,用于四季效果\n if (material.name === 'sss-1-2.001' || material.name === 'sss-1')\n this.treesMesh.push(mesh)\n else if (material.name === 'Material #32')\n this.grasslandMesh.push(mesh)\n else if (material.name === 'Material #33')\n this.massifMesh.push(mesh)\n }\n })\n scene.add(this.realGroundModel)\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n // @ts-ignore\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n // scene.add(this.realTreeModel)\n\n return gltf\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.traverse((child) => {\n if (child.name === '柱体')\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n else if (child.type === 'Mesh')\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = `${19.5 * scale}px`\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = `${19.5 * scale}px`\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = `${12 * scale}px`\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = `${5 * scale}px`\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = `${12 * scale}px`\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = `${5 * scale}px`\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = `${12 * scale}px`\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n // group.add(poi01)\n // group.add(poi02)\n\n const img3 = document.createElement('img')\n img3.src = `${usePath}demo.png`\n\n const poi03 = new SpritePoi(img3, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi03.layers.set(2)\n group.add(poi03)\n poi03.scale.set(80, 40, 1)\n poi03.position.set(-290.869, 2, -127.770)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\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 /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\n })\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\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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"}
|
|
@@ -153,7 +153,6 @@ var CameraPoi = /*#__PURE__*/function () {
|
|
|
153
153
|
scan.position.copy(position.clone().add(new Vector3(0, -2, 0)));
|
|
154
154
|
group.add(scan);
|
|
155
155
|
_this.cameraMesh.set(region.name, group);
|
|
156
|
-
_this.gobal.interactionManager.add(group);
|
|
157
156
|
_this.cameraEvent(group, region);
|
|
158
157
|
_this.gobal.scene.add(group);
|
|
159
158
|
});
|
|
@@ -166,7 +165,6 @@ var CameraPoi = /*#__PURE__*/function () {
|
|
|
166
165
|
mesh = new SpritePoi("".concat(usePath, "p4/warn.png"), {
|
|
167
166
|
scale: [22, 22, 1]
|
|
168
167
|
});
|
|
169
|
-
_this.gobal.interactionManager.add(mesh);
|
|
170
168
|
_this.probeEvent(mesh, item);
|
|
171
169
|
// 使用GSAP创建跳动动画
|
|
172
170
|
gsap.to(mesh.position, {
|