@anov/3d 0.0.326 → 0.0.327

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.
@@ -138,10 +138,9 @@ var Application = /*#__PURE__*/function () {
138
138
  this.init(req.params, req.id);
139
139
  return;
140
140
  }
141
- if (req.name === 'scene.init') {
142
- this.initScene(req.params);
143
- // return // fixme: 我没有理解,为什么不返回,而是继续执行后续的任务
144
- }
141
+ if (req.name === 'scene.init') this.initScene(req.params);
142
+ // return // fixme: 我没有理解,为什么不返回,而是继续执行后续的任务
143
+
145
144
  if (!this.iEngine) {
146
145
  var error = new Error('please init first!');
147
146
  throw error;
@@ -175,9 +174,7 @@ var Application = /*#__PURE__*/function () {
175
174
  callbackRegistry.set(eventName, cb);
176
175
 
177
176
  // 如果 iEngine 已实例化,则同步一份到其内部存储
178
- if (this.iEngine) {
179
- this.iEngine.sceneControl.context.storeManagement.set(eventName, cb);
180
- }
177
+ if (this.iEngine) this.iEngine.sceneControl.context.storeManagement.set(eventName, cb);
181
178
  }
182
179
  }]);
183
180
  return Application;
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Anov3D","callbackRegistry","Application","opts","container","el","decoderPath","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","position","anov3D","iEngine","zoomRatio","storeManagement","sceneControl","context","messageType","Api","messageName","status","Success","EventHandleFailed","console","get","_initScene","_callee","_scc$nodes","scc","cameraNode","_callee$","_context","innerHTML","destroy","nodes","find","node","initScene","_x","sendMessage","req","res","failMessage","message","receiveMessage","eventName","cb","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport type { InitOptions } from './applicationApiType'\nimport Anov3D from './sdkEntry'\nimport { callbackRegistry } from './module/message/hub'\n\ntype ApplicationOptions = {\n el: HTMLElement\n decoderPath?: string\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D\n decoderPath: string\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n this.decoderPath = opts.decoderPath || '/draco/'\n }\n\n // fixme: 为什么要单独 init,为什么不直接在 constructor 中初始化\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n position: camera.position,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: {\n ...cameraParams,\n },\n decoderPath: this.decoderPath,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n const storeManagement = this.iEngine.sceneControl.context.storeManagement\n storeManagement.set('container', this.container)\n\n // 同步 callbackRegistry 中的所有预注册事件\n callbackRegistry.forEach((value, key) => {\n storeManagement.set(key, value)\n })\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\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 // 暴露 storeManagement\n get storeManagement() {\n return this.iEngine.storeManagement\n }\n\n private async initScene(params: any) {\n try {\n const { scc } = params\n if (this.iEngine) { // todo: 兼容场景切换操作,后续需要处理多场景切换、多场景实例等问题\n this.container.innerHTML = ''\n this.iEngine.sceneControl.destroy()\n }\n // 相机参数\n const cameraNode = scc?.nodes?.find(node => node.type === 'camera')\n const anov3D = new Anov3D({\n container: this.container,\n camera: cameraNode,\n decoderPath: this.decoderPath,\n })\n this.iEngine = anov3D\n\n const storeManagement = this.iEngine.sceneControl.context.storeManagement\n storeManagement.set('container', this.container)\n\n // 同步 callbackRegistry 中的所有预注册事件\n callbackRegistry.forEach((value, key) => {\n storeManagement.set(key, value)\n })\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.EventHandleFailed,\n })\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n // core.init 遗留逻辑\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n if (req.name === 'scene.init') {\n this.initScene(req.params)\n // return // fixme: 我没有理解,为什么不返回,而是继续执行后续的任务\n }\n\n if (!this.iEngine) {\n const error = new Error('please init first!')\n throw error\n }\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\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 // 立即存入全局存储,不再依赖 iEngine 状态\n callbackRegistry.set(eventName, cb)\n\n // 如果 iEngine 已实例化,则同步一份到其内部存储\n if (this.iEngine) {\n this.iEngine.sceneControl.context.storeManagement.set(eventName, cb)\n }\n }\n}\n\n/**\n * create an instance of Application\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Anov3D","callbackRegistry","Application","opts","container","el","decoderPath","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","position","anov3D","iEngine","zoomRatio","storeManagement","sceneControl","context","messageType","Api","messageName","status","Success","EventHandleFailed","console","get","_initScene","_callee","_scc$nodes","scc","cameraNode","_callee$","_context","innerHTML","destroy","nodes","find","node","initScene","_x","sendMessage","req","res","failMessage","message","receiveMessage","eventName","cb","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport type { InitOptions } from './applicationApiType'\nimport Anov3D from './sdkEntry'\nimport { callbackRegistry } from './module/message/hub'\n\ntype ApplicationOptions = {\n el: HTMLElement\n decoderPath?: string\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D\n decoderPath: string\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n this.decoderPath = opts.decoderPath || '/draco/'\n }\n\n // fixme: 为什么要单独 init,为什么不直接在 constructor 中初始化\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n position: camera.position,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: {\n ...cameraParams,\n },\n decoderPath: this.decoderPath,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n const storeManagement = this.iEngine.sceneControl.context.storeManagement\n storeManagement.set('container', this.container)\n\n // 同步 callbackRegistry 中的所有预注册事件\n callbackRegistry.forEach((value, key) => {\n storeManagement.set(key, value)\n })\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\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 // 暴露 storeManagement\n get storeManagement() {\n return this.iEngine.storeManagement\n }\n\n private async initScene(params: any) {\n try {\n const { scc } = params\n if (this.iEngine) { // todo: 兼容场景切换操作,后续需要处理多场景切换、多场景实例等问题\n this.container.innerHTML = ''\n this.iEngine.sceneControl.destroy()\n }\n // 相机参数\n const cameraNode = scc?.nodes?.find(node => node.type === 'camera')\n const anov3D = new Anov3D({\n container: this.container,\n camera: cameraNode,\n decoderPath: this.decoderPath,\n })\n this.iEngine = anov3D\n\n const storeManagement = this.iEngine.sceneControl.context.storeManagement\n storeManagement.set('container', this.container)\n\n // 同步 callbackRegistry 中的所有预注册事件\n callbackRegistry.forEach((value, key) => {\n storeManagement.set(key, value)\n })\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.EventHandleFailed,\n })\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n // core.init 遗留逻辑\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n if (req.name === 'scene.init')\n this.initScene(req.params)\n // return // fixme: 我没有理解,为什么不返回,而是继续执行后续的任务\n\n if (!this.iEngine) {\n const error = new Error('please init first!')\n throw error\n }\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\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 // 立即存入全局存储,不再依赖 iEngine 状态\n callbackRegistry.set(eventName, cb)\n\n // 如果 iEngine 已实例化,则同步一份到其内部存储\n if (this.iEngine)\n this.iEngine.sceneControl.context.storeManagement.set(eventName, cb)\n }\n}\n\n/**\n * create an instance of Application\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
@@ -247,7 +247,7 @@ var Entity = /*#__PURE__*/function () {
247
247
  case 2:
248
248
  strategy = _context4.sent;
249
249
  if (itemType && type === 'layer') res = _this3.multiCreate(id, strategy, json);else res = _this3.singleCreate(id, strategy, json);
250
- return _context4.abrupt("return", _this3.handleResult(id, res));
250
+ return _context4.abrupt("return", _this3.handleResult(id, res, json.type === 'model'));
251
251
  case 5:
252
252
  case "end":
253
253
  return _context4.stop();
@@ -529,10 +529,13 @@ var Entity = /*#__PURE__*/function () {
529
529
  value: (function () {
530
530
  var _handleResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(id, res) {
531
531
  var _this8 = this;
532
+ var isAddModel,
533
+ _args13 = arguments;
532
534
  return _regeneratorRuntime().wrap(function _callee13$(_context13) {
533
535
  while (1) switch (_context13.prev = _context13.next) {
534
536
  case 0:
535
- return _context13.abrupt("return", Promise.resolve(res).then(function () {
537
+ isAddModel = _args13.length > 2 && _args13[2] !== undefined ? _args13[2] : false;
538
+ return _context13.abrupt("return", Promise.resolve(res).then(function (data) {
536
539
  sendToMessage({
537
540
  messageType: MessageType.Event,
538
541
  messageName: 'onLoaded',
@@ -553,11 +556,16 @@ var Entity = /*#__PURE__*/function () {
553
556
  success: false
554
557
  });
555
558
  }).finally(function () {
559
+ // TODO:现在只处理了model的加载进度,后续可以根据不同类型实体的特点,处理不同的加载进度事件
560
+ isAddModel && _this8.app.emit('model-loading-progress', {
561
+ id: id,
562
+ progress: 1
563
+ });
556
564
  _this8.app.emit('onEntityLoaded', {
557
565
  id: id
558
566
  });
559
567
  }));
560
- case 1:
568
+ case 2:
561
569
  case "end":
562
570
  return _context13.stop();
563
571
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Group","MaterialSwitchSystem","createHighSelectedTool","debounce","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","select","sceneControl","materialSwitchSystem","isApi","context","scene","add","addEventListener","_ref","style","messageType","Event","messageName","status","Success","_registerStrategy","_callee","entityType","strategyMap","strategyClass","strategy","_callee$","_context","concat","catchStrategy","has","set","get","registerStrategy","_x","_singleCreate","_callee2","id","option","group","layerId","_this","entityInfoArray","targetEntityInfo","_option$interactable","interactable","_option$interactiveEf","interactiveEffect","_option$collision","collision","entity","_callee2$","_context2","allSettled","reason","tag","entityId","userData","entityParams","visible","addObject","_this$select","_this$select2","position","toArray","rotation","scale","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this2","itemType","_json$items","items","_json$legends","legends","_json$interactable","_json$collision","promises","map","_ref2","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","all","_create","_callee5","_this3","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_this4","_target$userData$enti","_option$interactiveEf2","_callee6$","_context6","removeObject","update","remove","_this4$select","_this4$select2","singleUpdate","_x9","_x10","_x11","_x12","_multiUpdate","_callee8","_this5","_callee8$","_context8","_ref4","_callee7","legendItem","currentItem","_callee7$","_context7","_x16","multiUpdate","_x13","_x14","_x15","_update","_callee10","_this6","_callee10$","_context10","_callee9","_target$userData$enti2","_callee9$","_context9","_x17","_execute","_callee12","_this7","_callee12$","_context12","_callee11","_callee11$","_context11","execute","_x18","_handleResult","_callee13","_this8","_callee13$","_context13","global","success","finally","emit","_x19","_x20","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref7","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","registerEvents","opts","eventName","realEventName","toLowerCase","unregisterEvents","includes","closestMesh","newClosestMesh","minimumEntity","targetId","console","log","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group } from '@anov/3d-core'\nimport { MaterialSwitchSystem, createHighSelectedTool } from '@anov/3d-ability'\nimport debounce from 'lodash/debounce'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\n/**\n * todo: 统一优化\n */\nclass Entity implements BaseModule {\n public app: Anov3D\n public catchStrategy: Map<string, any> = new Map()\n public select: any\n public materialSwitchSystem: MaterialSwitchSystem\n\n constructor(app: Anov3D) {\n this.select = createHighSelectedTool(undefined, app.sceneControl)\n this.app = app\n this.materialSwitchSystem = new MaterialSwitchSystem({ isApi: true }, app.sceneControl)\n this.app.sceneControl.context.scene.add(this.materialSwitchSystem)\n\n this.materialSwitchSystem.addEventListener(\n 'onStyleChanged',\n ({ style }) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onStyleChanged',\n status: EMessageStatus.Success,\n },\n {\n style,\n })\n },\n )\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n if (entityType in strategyMap && !this.catchStrategy.has(entityType)) {\n const strategyClass = await strategyMap[entityType]()\n\n const strategy = new strategyClass(this.app.sceneControl)\n\n this.catchStrategy.set(entityType, strategy)\n }\n\n return this.catchStrategy.get(entityType)\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n let { interactable = true, interactiveEffect = false, collision = true } = option\n\n interactable = interactable && collision\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId, interactable, name: option.name, interactiveEffect }\n\n if (entity.userData.entityParams.type === 'model' && entity.visible)\n this.materialSwitchSystem.addObject(entity)\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n if (entity.userData.entityParams.interactiveEffect)\n this.select?.([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select?.([])\n })\n }\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n let { itemType, items = [], legends = [], interactable = true, collision = true, name } = json\n\n interactable = interactable && collision\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n\n const promises = items.map(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n return await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n return Promise.all(promises).then(() => {\n group.userData.entityParams = { id, type: 'layer', itemType, interactable, name }\n hybridList.add(id, group)\n this.app.sceneControl.context.scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n })\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n return this.handleResult(id, res)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const { entityParams = {} } = target.userData\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n const { interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n\n let interactable = entityParams.interactable\n\n if (option.collision !== undefined)\n interactable = option.collision\n\n entity.userData.entityParams = { ...entityParams, interactable, ...option, interactiveEffect }\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n if (entity.userData.entityParams.interactiveEffect)\n this.select?.([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select?.([])\n })\n }\n\n if (entity.userData.entityParams.type === 'model' && entity.visible)\n this.materialSwitchSystem.addObject(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n async multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n const promises = items.map(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n return await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n return await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n await Promise.all(promises)\n\n let interactable = group.userData.entityParams.interactable\n\n if (option.collision !== undefined)\n interactable = option.collision\n\n group.userData.entityParams = { ...group.userData.entityParams, interactable, ...option }\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiUpdate(id, strategy, { itemType, ...json })\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args } = json\n\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n })\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n .finally(() => {\n this.app.emit('onEntityLoaded', { id })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n type: entity.userData.entityParams.type,\n name: entity.userData.entityParams.name,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (!(target.userData.entityParams.type === 'model' || target.userData.entityParams.type === 'poi'))\n return\n\n if (!target.userData.entityParams.interactable) {\n this.unregisterEvents(opts)\n return\n }\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = debounce((e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = debounce((e) => {\n console.log('e:', e)\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Group","MaterialSwitchSystem","createHighSelectedTool","debounce","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","select","sceneControl","materialSwitchSystem","isApi","context","scene","add","addEventListener","_ref","style","messageType","Event","messageName","status","Success","_registerStrategy","_callee","entityType","strategyMap","strategyClass","strategy","_callee$","_context","concat","catchStrategy","has","set","get","registerStrategy","_x","_singleCreate","_callee2","id","option","group","layerId","_this","entityInfoArray","targetEntityInfo","_option$interactable","interactable","_option$interactiveEf","interactiveEffect","_option$collision","collision","entity","_callee2$","_context2","allSettled","reason","tag","entityId","userData","entityParams","visible","addObject","_this$select","_this$select2","position","toArray","rotation","scale","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this2","itemType","_json$items","items","_json$legends","legends","_json$interactable","_json$collision","promises","map","_ref2","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","all","_create","_callee5","_this3","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_this4","_target$userData$enti","_option$interactiveEf2","_callee6$","_context6","removeObject","update","remove","_this4$select","_this4$select2","singleUpdate","_x9","_x10","_x11","_x12","_multiUpdate","_callee8","_this5","_callee8$","_context8","_ref4","_callee7","legendItem","currentItem","_callee7$","_context7","_x16","multiUpdate","_x13","_x14","_x15","_update","_callee10","_this6","_callee10$","_context10","_callee9","_target$userData$enti2","_callee9$","_context9","_x17","_execute","_callee12","_this7","_callee12$","_context12","_callee11","_callee11$","_context11","execute","_x18","_handleResult","_callee13","_this8","isAddModel","_args13","_callee13$","_context13","data","global","success","finally","emit","progress","_x19","_x20","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref7","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","registerEvents","opts","eventName","realEventName","toLowerCase","unregisterEvents","includes","closestMesh","newClosestMesh","minimumEntity","targetId","console","log","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group } from '@anov/3d-core'\nimport { MaterialSwitchSystem, createHighSelectedTool } from '@anov/3d-ability'\nimport debounce from 'lodash/debounce'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\n/**\n * todo: 统一优化\n */\nclass Entity implements BaseModule {\n public app: Anov3D\n public catchStrategy: Map<string, any> = new Map()\n public select: any\n public materialSwitchSystem: MaterialSwitchSystem\n\n constructor(app: Anov3D) {\n this.select = createHighSelectedTool(undefined, app.sceneControl)\n this.app = app\n this.materialSwitchSystem = new MaterialSwitchSystem({ isApi: true }, app.sceneControl)\n this.app.sceneControl.context.scene.add(this.materialSwitchSystem)\n\n this.materialSwitchSystem.addEventListener(\n 'onStyleChanged',\n ({ style }) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onStyleChanged',\n status: EMessageStatus.Success,\n },\n {\n style,\n })\n },\n )\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n if (entityType in strategyMap && !this.catchStrategy.has(entityType)) {\n const strategyClass = await strategyMap[entityType]()\n\n const strategy = new strategyClass(this.app.sceneControl)\n\n this.catchStrategy.set(entityType, strategy)\n }\n\n return this.catchStrategy.get(entityType)\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n let { interactable = true, interactiveEffect = false, collision = true } = option\n\n interactable = interactable && collision\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId, interactable, name: option.name, interactiveEffect }\n\n if (entity.userData.entityParams.type === 'model' && entity.visible)\n this.materialSwitchSystem.addObject(entity)\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n if (entity.userData.entityParams.interactiveEffect)\n this.select?.([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select?.([])\n })\n }\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n let { itemType, items = [], legends = [], interactable = true, collision = true, name } = json\n\n interactable = interactable && collision\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n\n const promises = items.map(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n return await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n return Promise.all(promises).then(() => {\n group.userData.entityParams = { id, type: 'layer', itemType, interactable, name }\n hybridList.add(id, group)\n this.app.sceneControl.context.scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n })\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n return this.handleResult(id, res, json.type === 'model')\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const { entityParams = {} } = target.userData\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n const { interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n\n let interactable = entityParams.interactable\n\n if (option.collision !== undefined)\n interactable = option.collision\n\n entity.userData.entityParams = { ...entityParams, interactable, ...option, interactiveEffect }\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n if (entity.userData.entityParams.interactiveEffect)\n this.select?.([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select?.([])\n })\n }\n\n if (entity.userData.entityParams.type === 'model' && entity.visible)\n this.materialSwitchSystem.addObject(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n async multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n const promises = items.map(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n return await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n return await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n await Promise.all(promises)\n\n let interactable = group.userData.entityParams.interactable\n\n if (option.collision !== undefined)\n interactable = option.collision\n\n group.userData.entityParams = { ...group.userData.entityParams, interactable, ...option }\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiUpdate(id, strategy, { itemType, ...json })\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args } = json\n\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n })\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any, isAddModel = false) {\n return Promise.resolve(res)\n .then((data) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n .finally(() => {\n // TODO:现在只处理了model的加载进度,后续可以根据不同类型实体的特点,处理不同的加载进度事件\n isAddModel && this.app.emit('model-loading-progress', { id, progress: 1 })\n this.app.emit('onEntityLoaded', { id })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n type: entity.userData.entityParams.type,\n name: entity.userData.entityParams.name,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (!(target.userData.entityParams.type === 'model' || target.userData.entityParams.type === 'poi'))\n return\n\n if (!target.userData.entityParams.interactable) {\n this.unregisterEvents(opts)\n return\n }\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = debounce((e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = debounce((e) => {\n console.log('e:', e)\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n })\n\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":"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"}
@@ -24,7 +24,7 @@ var loadGlb = function loadGlb(url, id, events, sceneControl) {
24
24
  status: EMessageStatus.Success,
25
25
  global: false
26
26
  }, params);
27
- sceneControl === null || sceneControl === void 0 || sceneControl.context.emitter.emit('model-loading-progress', params);
27
+ // sceneControl?.context.emitter.emit('model-loading-progress', params)
28
28
  },
29
29
  onLoad: function onLoad(gltf) {
30
30
  resolve(gltf);
@@ -1 +1 @@
1
- {"version":3,"names":["LoaderModule","MessageType","sendToMessage","EMessageStatus","load","loadGlb","url","id","events","sceneControl","_sceneControl$context","dracoPath","context","storeManagement","get","Promise","resolve","reject","loadGLTF","autoBackward","isCache","draco","onProgress","progress","params","loaded","total","messageType","Event","messageName","status","Success","global","emitter","emit","onLoad","gltf","onError","error"],"sources":["../../../../../src/module/entity/model/load/loadGlb.ts"],"sourcesContent":["import { LoaderModule, type SceneControl } from '@anov/3d-core'\nimport { MessageType, sendToMessage } from '../../../../utils/messageFn'\nimport { EMessageStatus } from '../../../../messageStatus'\n\nconst load = new LoaderModule()\n\nconst loadGlb = (url: string, id: string, events?: any, sceneControl?: SceneControl) => {\n const dracoPath = sceneControl?.context.storeManagement.get('decoderPath') ?? './draco/'\n return new Promise((resolve, reject) => {\n load.loadGLTF({\n url,\n autoBackward: false,\n isCache: true,\n draco: true,\n dracoPath,\n onProgress: (progress) => {\n const params = { id, url, progress: progress.loaded / progress.total }\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n params)\n sceneControl?.context.emitter.emit('model-loading-progress', params)\n },\n onLoad: (gltf) => {\n resolve(gltf)\n },\n onError: (error) => {\n sceneControl?.context.emitter.emit('model-loading-progress', { id, url, progress: 1 })\n reject(error)\n },\n })\n })\n}\n\nexport default loadGlb"],"mappings":"AAAA,SAASA,YAAY,QAA2B,eAAe;AAC/D,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AAEvB,IAAMC,IAAI,GAAG,IAAIJ,YAAY,CAAC,CAAC;AAE/B,IAAMK,OAAO,GAAG,SAAVA,OAAOA,CAAIC,GAAW,EAAEC,EAAU,EAAEC,MAAY,EAAEC,YAA2B,EAAK;EAAA,IAAAC,qBAAA;EACtF,IAAMC,SAAS,IAAAD,qBAAA,GAAGD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,OAAO,CAACC,eAAe,CAACC,GAAG,CAAC,aAAa,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,UAAU;EACxF,OAAO,IAAIK,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACtCb,IAAI,CAACc,QAAQ,CAAC;MACZZ,GAAG,EAAHA,GAAG;MACHa,YAAY,EAAE,KAAK;MACnBC,OAAO,EAAE,IAAI;MACbC,KAAK,EAAE,IAAI;MACXV,SAAS,EAATA,SAAS;MACTW,UAAU,EAAE,SAAAA,WAACC,QAAQ,EAAK;QACxB,IAAMC,MAAM,GAAG;UAAEjB,EAAE,EAAFA,EAAE;UAAED,GAAG,EAAHA,GAAG;UAAEiB,QAAQ,EAAEA,QAAQ,CAACE,MAAM,GAAGF,QAAQ,CAACG;QAAM,CAAC;QACtExB,aAAa,CACX;UACEyB,WAAW,EAAE1B,WAAW,CAAC2B,KAAK;UAC9BC,WAAW,EAAE,YAAY;UACzBC,MAAM,EAAE3B,cAAc,CAAC4B,OAAO;UAC9BC,MAAM,EAAE;QACV,CAAC,EACDR,MAAM,CAAC;QACTf,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEG,OAAO,CAACqB,OAAO,CAACC,IAAI,CAAC,wBAAwB,EAAEV,MAAM,CAAC;MACtE,CAAC;MACDW,MAAM,EAAE,SAAAA,OAACC,IAAI,EAAK;QAChBpB,OAAO,CAACoB,IAAI,CAAC;MACf,CAAC;MACDC,OAAO,EAAE,SAAAA,QAACC,KAAK,EAAK;QAClB7B,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEG,OAAO,CAACqB,OAAO,CAACC,IAAI,CAAC,wBAAwB,EAAE;UAAE3B,EAAE,EAAFA,EAAE;UAAED,GAAG,EAAHA,GAAG;UAAEiB,QAAQ,EAAE;QAAE,CAAC,CAAC;QACtFN,MAAM,CAACqB,KAAK,CAAC;MACf;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,eAAejC,OAAO"}
1
+ {"version":3,"names":["LoaderModule","MessageType","sendToMessage","EMessageStatus","load","loadGlb","url","id","events","sceneControl","_sceneControl$context","dracoPath","context","storeManagement","get","Promise","resolve","reject","loadGLTF","autoBackward","isCache","draco","onProgress","progress","params","loaded","total","messageType","Event","messageName","status","Success","global","onLoad","gltf","onError","error","emitter","emit"],"sources":["../../../../../src/module/entity/model/load/loadGlb.ts"],"sourcesContent":["import { LoaderModule, type SceneControl } from '@anov/3d-core'\nimport { MessageType, sendToMessage } from '../../../../utils/messageFn'\nimport { EMessageStatus } from '../../../../messageStatus'\n\nconst load = new LoaderModule()\n\nconst loadGlb = (url: string, id: string, events?: any, sceneControl?: SceneControl) => {\n const dracoPath = sceneControl?.context.storeManagement.get('decoderPath') ?? './draco/'\n return new Promise((resolve, reject) => {\n load.loadGLTF({\n url,\n autoBackward: false,\n isCache: true,\n draco: true,\n dracoPath,\n onProgress: (progress) => {\n const params = { id, url, progress: progress.loaded / progress.total }\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n params)\n // sceneControl?.context.emitter.emit('model-loading-progress', params)\n },\n onLoad: (gltf) => {\n resolve(gltf)\n },\n onError: (error) => {\n sceneControl?.context.emitter.emit('model-loading-progress', { id, url, progress: 1 })\n reject(error)\n },\n })\n })\n}\n\nexport default loadGlb"],"mappings":"AAAA,SAASA,YAAY,QAA2B,eAAe;AAC/D,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AAEvB,IAAMC,IAAI,GAAG,IAAIJ,YAAY,CAAC,CAAC;AAE/B,IAAMK,OAAO,GAAG,SAAVA,OAAOA,CAAIC,GAAW,EAAEC,EAAU,EAAEC,MAAY,EAAEC,YAA2B,EAAK;EAAA,IAAAC,qBAAA;EACtF,IAAMC,SAAS,IAAAD,qBAAA,GAAGD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,OAAO,CAACC,eAAe,CAACC,GAAG,CAAC,aAAa,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,UAAU;EACxF,OAAO,IAAIK,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACtCb,IAAI,CAACc,QAAQ,CAAC;MACZZ,GAAG,EAAHA,GAAG;MACHa,YAAY,EAAE,KAAK;MACnBC,OAAO,EAAE,IAAI;MACbC,KAAK,EAAE,IAAI;MACXV,SAAS,EAATA,SAAS;MACTW,UAAU,EAAE,SAAAA,WAACC,QAAQ,EAAK;QACxB,IAAMC,MAAM,GAAG;UAAEjB,EAAE,EAAFA,EAAE;UAAED,GAAG,EAAHA,GAAG;UAAEiB,QAAQ,EAAEA,QAAQ,CAACE,MAAM,GAAGF,QAAQ,CAACG;QAAM,CAAC;QACtExB,aAAa,CACX;UACEyB,WAAW,EAAE1B,WAAW,CAAC2B,KAAK;UAC9BC,WAAW,EAAE,YAAY;UACzBC,MAAM,EAAE3B,cAAc,CAAC4B,OAAO;UAC9BC,MAAM,EAAE;QACV,CAAC,EACDR,MAAM,CAAC;QACT;MACF,CAAC;MACDS,MAAM,EAAE,SAAAA,OAACC,IAAI,EAAK;QAChBlB,OAAO,CAACkB,IAAI,CAAC;MACf,CAAC;MACDC,OAAO,EAAE,SAAAA,QAACC,KAAK,EAAK;QAClB3B,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEG,OAAO,CAACyB,OAAO,CAACC,IAAI,CAAC,wBAAwB,EAAE;UAAE/B,EAAE,EAAFA,EAAE;UAAED,GAAG,EAAHA,GAAG;UAAEiB,QAAQ,EAAE;QAAE,CAAC,CAAC;QACtFN,MAAM,CAACmB,KAAK,CAAC;MACf;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,eAAe/B,OAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.326",
3
+ "version": "0.0.327",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -30,8 +30,8 @@
30
30
  "rxjs": "7.8.1",
31
31
  "three-mesh-bvh": "^0.9.0",
32
32
  "uuid": "^9.0.1",
33
- "@anov/3d-ability": "^0.0.171",
34
- "@anov/3d-core": "^0.0.108"
33
+ "@anov/3d-core": "^0.0.108",
34
+ "@anov/3d-ability": "^0.0.171"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/uuid": "^9.0.7",