@anov/3d 0.0.321 → 0.0.322

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.
@@ -0,0 +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","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","MessageNexus","MittDriver","createEmitter","LogLevel","emitter","messageHub","instanceId","loggerEnabled","logLevel","DEBUG","_currentScene","_callbackRegistry","Map","callbackRegistry","set","get","has","delete","_delete","cb","setGlobalScene","scene","getGlobalScene","notify","params","NexusEmitterAdapter","nexus","emit","event","console","on","handler","unbind","onNotification","handlerMap","off","typeHandlers","_callee","_callee$","_context","_x","_x2","createNexusEmitter","emitterLikeMitt"],"sources":["../../../src/module/message/hub.ts"],"sourcesContent":["import MessageNexus, { MittDriver, createEmitter, NotificationHandler, LogLevel } from 'message-nexus'\nimport type { SceneControl } from '@anov/3d-core'\n\n/**\n * 共享的底层事件总线\n * 它是兼容 mitt 接口的,将作为 SceneControl 的心脏注入\n */\nconst emitter = createEmitter()\n\n/**\n * 全局消息中枢\n * 接管所有业务逻辑和协议转换\n */\nexport const messageHub = new MessageNexus(new MittDriver(emitter), {\n instanceId: 'anov-3d-message-hub',\n loggerEnabled: true,\n logLevel: LogLevel.DEBUG, // 需要开启日志级别:DevTools → Console → 选择:Verbose\n})\n\n/**\n * 全局场景实例持有者\n */\nlet _currentScene: SceneControl | null = null\n\n/**\n * 全局回调注册表,用于存储不依赖于特定场景实例的事件回调函数\n */\nconst _callbackRegistry = new Map<string, any>()\n\nexport const callbackRegistry = {\n set: (key: string, value: any) => _callbackRegistry.set(key, value),\n get: <T = any>(key: string): T | undefined => _callbackRegistry.get(key),\n has: (key: string) => _callbackRegistry.has(key),\n delete: (key: string) => _callbackRegistry.delete(key),\n forEach: (cb: (value: any, key: string) => void) => _callbackRegistry.forEach(cb),\n}\n\nexport const setGlobalScene = (scene: SceneControl) => {\n _currentScene = scene\n}\n\nexport const getGlobalScene = () => _currentScene\n\n/**\n * 快捷通知方法\n */\nexport const notify = (method: string, params?: any) => messageHub.notify({ method, params })\n\n/**\n * 快捷请求方法\n */\nexport const invoke = (method: string, params?: any) => messageHub.invoke({ method, params })\n\n \n \n/**\n* 将 MessageNexus 封装为符合 Emitter 习惯的适配器\n* 兼容 mitt 接口,避免修改太多代码\n*/\nclass NexusEmitterAdapter<T extends Record<string, any> = Record<string, any>> {\n private nexus: MessageNexus\n private handlerMap: Map<keyof T, Map<NotificationHandler, () => void>> = new Map()\n\n constructor(nexus: MessageNexus) {\n this.nexus = nexus\n }\n\n /**\n * 发送消息 (映射到 MessageNexus.notify)\n * @param type 事件名称 (method)\n * @param event 消息数据 (params)\n */\n emit<K extends keyof T>(type: K, event: T[K]): void {\n console\n this.nexus.notify({\n method: type as string,\n params: event\n })\n }\n\n /**\n * 监听消息 (映射到 MessageNexus.onNotification)\n * @param type 事件名称 (method)\n * @param handler 回调函数\n */\n on<K extends keyof T>(type: K, handler: NotificationHandler<T[K]>): void {\n const unbind = this.nexus.onNotification(type as string, handler)\n\n // 存储解绑函数以便后续使用 off 移除\n if (!this.handlerMap.has(type)) {\n this.handlerMap.set(type, new Map())\n }\n this.handlerMap.get(type)!.set(handler as NotificationHandler, unbind)\n }\n\n /**\n * 移除监听 (映射到清理函数)\n * @param type 事件名称\n * @param handler 要移除的回调函数\n */\n off<K extends keyof T>(type: K, handler: NotificationHandler<T[K]>): void {\n const typeHandlers = this.handlerMap.get(type)\n if (typeHandlers && typeHandlers.has(handler as NotificationHandler)) {\n const unbind = typeHandlers.get(handler as NotificationHandler)!\n unbind()\n typeHandlers.delete(handler as NotificationHandler)\n }\n }\n\n /**\n * 支持 Promise 风格的远程调用 (扩展功能)\n */\n async invoke<K extends keyof T, R = any>(type: K, event: T[K]): Promise<R> {\n return this.nexus.invoke({\n method: type as string,\n params: event\n })\n }\n}\n\n/**\n * 工厂函数\n */\nfunction createNexusEmitter<T extends Record<string, any>>(nexus: MessageNexus) {\n return new NexusEmitterAdapter<T>(nexus)\n}\n\n// mitt 的替代品, 兼容 mitt 接口但是统一使用 message-nexus\nexport const emitterLikeMitt = createNexusEmitter(messageHub)"],"mappings":"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"}
@@ -386,7 +386,7 @@ var FileParse = /*#__PURE__*/function () {
386
386
  return total;
387
387
  };
388
388
  var sendProgress = function sendProgress(total) {
389
- sendToMessage(_this5.app, {
389
+ sendToMessage({
390
390
  messageType: MessageType.Event,
391
391
  messageName: 'onProgress',
392
392
  status: EMessageStatus.Success,
@@ -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","_","FogExp2","Vector3","Geo3D","Water","MessageType","sendToMessage","EMessageStatus","EObjectType","WeatherMode","StaticType","FileParse","app","modelProgress","Map","_parseScene","_callee","json","action","_ref","_ref$scene","index","scenes","nodes","layers","sceneNode","_this$parseNode","modelCount","parsedNodes","_callee$","_context","sceneControl","context","emitter","off","clear","scene","console","parseNode","nodeIndex","Boolean","addLayers","addListener","environment","setEnvironment","addNodes","parseScene","_x","_x2","indexes","_this","result","node","warn","concat","camera","set","id","childModelCount","children","childResult","_addNodes","_callee2","_this2","_callee2$","_context2","map","addSingelNode","all","_x3","params","_params$mode","mode","dynamic","source","static","time","weather","environmentManage","hour","currentTime","setTime","timeRange","timeToRange2400","setWeather","hdr","color","setMode","exposure","renderer","toneMappingExposure","_addLayers","_callee4","_this3","_this$scene","layerIndex","_this$app$sceneContro","orbitControls","_callee4$","_context4","_ref2","_callee3","sccData","_sccData","panelAttribute","offsetPosition","_Geo3D$CoordUtil$thre","lon","lat","alt","water","_layers$index","density","_callee3$","_context3","t0","loadCity","private","position","_construct","_toConsumableArray","num","isFinite","CoordUtil","threeDXYZToLonLat2","center","load","control","addEventListener","MapEventType","onProgress","emit","update","add","fog","_x4","_addSingelNode","_callee5","_this4","isDefineType","nodeObject","childPromises","childNodes","initialResult","_callee5$","_context5","isEnumValue","entity","clone","childIndex","child","asyncTask","_x5","_this5","cityProgress","total","calcTotalProgress","cityNormalized","Math","min","modelNormalized","sendProgress","messageType","Event","messageName","status","Success","global","progress","state","on","data","has","progressValue","Array","from","reduce","sum","currentProgress","setMaterialParams","_this6","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","includes","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","minute","dateTime","_clear","_callee7","_this$scene$nodes","_this7","_callee7$","_context7","_ref3","_callee6","_callee6$","_context6","delete","_x6"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import _ from 'lodash'\nimport { FogExp2, Vector3 } from '@anov/3d-core'\nimport * as Geo3D from '@anov/geo-3d'\nimport { Water } from '@anov/3d-ability'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\nenum EObjectType {\n 'camera' = 'camera',\n 'environment' = 'environment',\n 'scene' = 'scene',\n 'animation' = 'animation',\n 'material' = 'material',\n 'entity' = 'entity',\n}\nenum WeatherMode {\n dynamic = 'dynamic',\n static = 'static',\n}\nexport enum StaticType {\n hdr = 'hdr',\n color = 'color',\n none = 'none',\n}\n// const { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n action: string\n loadCity = false\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n async parseScene(json, action) {\n this.json = json\n this.action = action\n this.app.sceneControl.context.emitter.off('model-loading-progress')\n this.modelProgress.clear()\n const { scene: index = 0, scenes, nodes, layers } = json || {}\n const sceneNode = scenes && scenes[index]\n if (!sceneNode) {\n console.error('Invalid scene or nodeIndex.')\n return\n }\n // 递归解析节点并计算模型节点的数量\n const { modelCount, nodes: parsedNodes } = this.parseNode(sceneNode.nodeIndex, nodes, 0)\n this.scene = {\n index,\n ...sceneNode,\n nodes: parsedNodes.filter(Boolean),\n layers,\n modelCount, // 计算模型节点数量并放到 scene 对象中\n }\n await this.addLayers()\n this.addListener()\n this.scene.environment && this.setEnvironment(this.scene.environment)\n return this.addNodes(this.scene.nodes)\n }\n\n // 递归解析节点,并计算模型节点数量\n parseNode(indexes, nodes, modelCount) {\n const result = {\n modelCount,\n nodes: [],\n }\n\n indexes.forEach((index) => {\n const node = nodes[index]\n if (!node) {\n console.warn(`Node with index ${index} not found.`)\n return\n }\n\n if (node.type === EObjectType.camera)\n return\n\n // 如果是 'model' 类型的节点,增加计数\n if (node.type === 'model') {\n this.modelProgress.set(node.id, 0)\n result.modelCount++\n }\n\n // 如果节点有子节点,递归处理\n const childModelCount = result.modelCount\n if (node.children) {\n const childResult = this.parseNode(node.children, nodes, childModelCount)\n result.modelCount = childResult.modelCount\n result.nodes.push({ ...node, children: childResult.nodes.filter(Boolean) })\n }\n else {\n result.nodes.push(node)\n }\n })\n\n return result\n }\n\n async addNodes(nodes) {\n const result = nodes.map((node) => {\n return this.addSingelNode(node)\n })\n\n return Promise.all(result)\n }\n\n // 解析环境\n setEnvironment(params) {\n const { mode = WeatherMode.dynamic, static: source, time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n let hour = 12\n if (mode === WeatherMode.dynamic) { // 动态天空\n const currentTime = time?.value || time?.time\n if (currentTime) {\n environmentManage.setTime({ time: currentTime })\n const timeRange = this.timeToRange2400(currentTime)\n if (timeRange)\n hour = timeRange.hour\n }\n if (weather?.weather)\n environmentManage.setWeather({ weather: weather.weather, time: hour })\n }\n else if (mode === WeatherMode.static && source) { // 静态天空:HDR、颜色\n const { type, hdr, color } = source\n switch (type) {\n case StaticType.hdr:\n environmentManage.setMode({ mode: StaticType.hdr, ...hdr })\n break\n case StaticType.color:\n environmentManage.setMode({ mode: StaticType.color, color: color.value })\n break\n }\n }\n if (weather?.weather)\n // @ts-ignore\n environmentManage.setWeather({ weather: weather.weather, time: hour })\n\n const { exposure } = this.scene\n if (exposure !== undefined) {\n const { renderer } = this.app.sceneControl.context\n renderer.toneMappingExposure = exposure\n }\n }\n\n async addLayers() {\n const { layers, layerIndex } = this.scene\n const { scene, camera, renderer, orbitControls } = this.app.sceneControl.context\n layerIndex && layerIndex.forEach(async (index) => {\n if (index >= layers.length)\n return\n const type = layers[index].type\n switch (type) {\n case 'city':{\n this.loadCity = true\n let sccData = layers[index]\n const { private: panelAttribute, scene: sceneNode } = sccData\n // 中心点偏移\n if (panelAttribute?.position) {\n const offsetPosition = new Vector3(...panelAttribute.position.map(num => Number.isFinite(num) ? num : 0))\n const { lon, lat, alt } = Geo3D.CoordUtil.threeDXYZToLonLat2(offsetPosition, { lon: sceneNode.center[0], lat: sceneNode.center[1], alt: sceneNode.center[2] })\n sccData = { ...sccData, scene: { ...sccData.scene, center: [lon, lat, alt] } }\n }\n const map = await Geo3D.Map.load({\n scene,\n camera,\n renderer,\n control: orbitControls,\n sccData,\n })\n map?.addEventListener(Geo3D.MapEventType.onProgress, (v) => {\n this.app.sceneControl.context.emitter.emit('city-loaded-progress', v)\n })\n break\n }\n case 'water':{\n const water = new Water(layers[index], this.app.sceneControl)\n water.update()\n scene.add(water)\n break\n }\n case 'fog':{\n const { color, density } = layers[index]\n scene.fog = new FogExp2(color, density)\n break\n }\n }\n })\n }\n\n // 解析单个节点\n async addSingelNode(node) {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n\n if (!nodeObject) {\n console.error(`Unknown node type: ${node.type}`)\n return\n }\n const params = _.clone(node)\n if (node.type === 'group' && node.children) {\n const childPromises = node.children.map(childIndex => this.addSingelNode(childIndex))\n const childNodes = await Promise.all(childPromises)\n params.children = childNodes.map(child => child.id)\n }\n\n // 判断逻辑:符合夸引擎调用逻辑,先通过initialResult表示调用成功,然后通过asyncTask表示执行成功\n const initialResult = await nodeObject.create(params)\n await initialResult.asyncTask\n return node\n }\n\n addListener() {\n if (this.scene.modelCount > 0 || this.loadCity) {\n let modelProgress = 0 // 模型整体进度 0~1\n let cityProgress = 0 // 城市整体进度 0~1\n let total = 0 //\n\n const calcTotalProgress = () => {\n // 城市进度:50% 映射为 100%\n const cityNormalized = this.loadCity ? Math.min(1, cityProgress * 1.25) : 1\n const modelNormalized = this.scene.modelCount > 0 ? modelProgress : 1\n\n if (this.loadCity && this.scene.modelCount > 0)\n total = (cityNormalized + modelNormalized) / 2\n else if (this.loadCity)\n total = cityNormalized\n else\n total = modelNormalized\n\n return total\n }\n\n const sendProgress = (total: number) => {\n sendToMessage(\n this.app,\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: total, state: this.action },\n )\n if (total >= 1)\n this.app.sceneControl.context.emitter.emit('scene-loaded')\n }\n\n if (this.scene.modelCount > 0) {\n this.app.sceneControl.context.emitter.on('model-loading-progress', (data: any) => {\n const { id, progress } = data\n if (!this.modelProgress.has(id))\n return\n this.modelProgress.set(id, progress)\n // 更新累积进度\n const progressValue = Array.from(this.modelProgress.values()).reduce((sum, currentProgress) => sum + currentProgress, 0)\n // 计算进度\n modelProgress = progressValue / this.scene.modelCount\n sendProgress(calcTotalProgress())\n })\n }\n\n if (this.loadCity) {\n this.app.sceneControl.context.emitter.on('city-loaded-progress', (data: any) => {\n cityProgress = data.progress\n total < 1 && sendProgress(calcTotalProgress())\n })\n }\n }\n else {\n sendToMessage(\n this.app,\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: 1, state: this.action },\n )\n this.app.sceneControl.context.emitter.emit('scene-loaded')\n }\n }\n\n // 获取节点参数\n setMaterialParams(node) {\n const { materials } = node\n // 处理材质节点\n if (materials) {\n const updatedMaterials = materials.map((item) => {\n const material = this.getMaterialNode(item.material)\n if (material)\n return { ...item, materialId: material.materialId }\n }).filter(Boolean)\n node.override = { materials: updatedMaterials }\n }\n }\n\n getMaterialNode(index) {\n const materials = this.json.materials\n return (materials && materials.length > index) ? materials[index] : null\n }\n\n isEnumValue(enumObj, value) {\n return Object.values(enumObj).includes(value)\n }\n\n timeToRange2400(time) {\n // 检查输入时间格式是否正确,包括 24:00\n const timePattern = /^(?:([01]?\\d|2[0-3]):([0-5]\\d)|24:00)$/\n if (!timePattern.test(time)) {\n console.error('Invalid time format. Please use \"HH:MM\" format.')\n return null\n }\n\n // 分离小时和分钟\n const [hour, minute] = time.split(':').map(Number)\n\n // 特殊处理 24:00\n if (hour === 24 && minute === 0)\n return { hour, minute, dateTime: 2400 }\n\n // 计算转换后的值\n const dateTime = hour * 100 + (minute / 60) * 100\n\n return { hour, minute, dateTime }\n }\n\n // 清除场景所有对象\n async clear() {\n const result = this.scene.nodes?.map(async (node) => {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n return nodeObject.delete(node)\n })\n this.setEnvironment({\n weather: {\n type: 'Sunny',\n },\n time: {\n value: '12:00',\n },\n })\n this.modelProgress.clear()\n\n return Promise.all(result)\n }\n}\n\nexport default FileParse\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","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","_","FogExp2","Vector3","Geo3D","Water","MessageType","sendToMessage","EMessageStatus","EObjectType","WeatherMode","StaticType","FileParse","app","modelProgress","Map","_parseScene","_callee","json","action","_ref","_ref$scene","index","scenes","nodes","layers","sceneNode","_this$parseNode","modelCount","parsedNodes","_callee$","_context","sceneControl","context","emitter","off","clear","scene","console","parseNode","nodeIndex","Boolean","addLayers","addListener","environment","setEnvironment","addNodes","parseScene","_x","_x2","indexes","_this","result","node","warn","concat","camera","set","id","childModelCount","children","childResult","_addNodes","_callee2","_this2","_callee2$","_context2","map","addSingelNode","all","_x3","params","_params$mode","mode","dynamic","source","static","time","weather","environmentManage","hour","currentTime","setTime","timeRange","timeToRange2400","setWeather","hdr","color","setMode","exposure","renderer","toneMappingExposure","_addLayers","_callee4","_this3","_this$scene","layerIndex","_this$app$sceneContro","orbitControls","_callee4$","_context4","_ref2","_callee3","sccData","_sccData","panelAttribute","offsetPosition","_Geo3D$CoordUtil$thre","lon","lat","alt","water","_layers$index","density","_callee3$","_context3","t0","loadCity","private","position","_construct","_toConsumableArray","num","isFinite","CoordUtil","threeDXYZToLonLat2","center","load","control","addEventListener","MapEventType","onProgress","emit","update","add","fog","_x4","_addSingelNode","_callee5","_this4","isDefineType","nodeObject","childPromises","childNodes","initialResult","_callee5$","_context5","isEnumValue","entity","clone","childIndex","child","asyncTask","_x5","_this5","cityProgress","total","calcTotalProgress","cityNormalized","Math","min","modelNormalized","sendProgress","messageType","Event","messageName","status","Success","global","progress","state","on","data","has","progressValue","Array","from","reduce","sum","currentProgress","setMaterialParams","_this6","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","includes","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","minute","dateTime","_clear","_callee7","_this$scene$nodes","_this7","_callee7$","_context7","_ref3","_callee6","_callee6$","_context6","delete","_x6"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import _ from 'lodash'\nimport { FogExp2, Vector3 } from '@anov/3d-core'\nimport * as Geo3D from '@anov/geo-3d'\nimport { Water } from '@anov/3d-ability'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\nenum EObjectType {\n 'camera' = 'camera',\n 'environment' = 'environment',\n 'scene' = 'scene',\n 'animation' = 'animation',\n 'material' = 'material',\n 'entity' = 'entity',\n}\nenum WeatherMode {\n dynamic = 'dynamic',\n static = 'static',\n}\nexport enum StaticType {\n hdr = 'hdr',\n color = 'color',\n none = 'none',\n}\n// const { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n action: string\n loadCity = false\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n async parseScene(json, action) {\n this.json = json\n this.action = action\n this.app.sceneControl.context.emitter.off('model-loading-progress')\n this.modelProgress.clear()\n const { scene: index = 0, scenes, nodes, layers } = json || {}\n const sceneNode = scenes && scenes[index]\n if (!sceneNode) {\n console.error('Invalid scene or nodeIndex.')\n return\n }\n // 递归解析节点并计算模型节点的数量\n const { modelCount, nodes: parsedNodes } = this.parseNode(sceneNode.nodeIndex, nodes, 0)\n this.scene = {\n index,\n ...sceneNode,\n nodes: parsedNodes.filter(Boolean),\n layers,\n modelCount, // 计算模型节点数量并放到 scene 对象中\n }\n await this.addLayers()\n this.addListener()\n this.scene.environment && this.setEnvironment(this.scene.environment)\n return this.addNodes(this.scene.nodes)\n }\n\n // 递归解析节点,并计算模型节点数量\n parseNode(indexes, nodes, modelCount) {\n const result = {\n modelCount,\n nodes: [],\n }\n\n indexes.forEach((index) => {\n const node = nodes[index]\n if (!node) {\n console.warn(`Node with index ${index} not found.`)\n return\n }\n\n if (node.type === EObjectType.camera)\n return\n\n // 如果是 'model' 类型的节点,增加计数\n if (node.type === 'model') {\n this.modelProgress.set(node.id, 0)\n result.modelCount++\n }\n\n // 如果节点有子节点,递归处理\n const childModelCount = result.modelCount\n if (node.children) {\n const childResult = this.parseNode(node.children, nodes, childModelCount)\n result.modelCount = childResult.modelCount\n result.nodes.push({ ...node, children: childResult.nodes.filter(Boolean) })\n }\n else {\n result.nodes.push(node)\n }\n })\n\n return result\n }\n\n async addNodes(nodes) {\n const result = nodes.map((node) => {\n return this.addSingelNode(node)\n })\n\n return Promise.all(result)\n }\n\n // 解析环境\n setEnvironment(params) {\n const { mode = WeatherMode.dynamic, static: source, time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n let hour = 12\n if (mode === WeatherMode.dynamic) { // 动态天空\n const currentTime = time?.value || time?.time\n if (currentTime) {\n environmentManage.setTime({ time: currentTime })\n const timeRange = this.timeToRange2400(currentTime)\n if (timeRange)\n hour = timeRange.hour\n }\n if (weather?.weather)\n environmentManage.setWeather({ weather: weather.weather, time: hour })\n }\n else if (mode === WeatherMode.static && source) { // 静态天空:HDR、颜色\n const { type, hdr, color } = source\n switch (type) {\n case StaticType.hdr:\n environmentManage.setMode({ mode: StaticType.hdr, ...hdr })\n break\n case StaticType.color:\n environmentManage.setMode({ mode: StaticType.color, color: color.value })\n break\n }\n }\n if (weather?.weather)\n // @ts-ignore\n environmentManage.setWeather({ weather: weather.weather, time: hour })\n\n const { exposure } = this.scene\n if (exposure !== undefined) {\n const { renderer } = this.app.sceneControl.context\n renderer.toneMappingExposure = exposure\n }\n }\n\n async addLayers() {\n const { layers, layerIndex } = this.scene\n const { scene, camera, renderer, orbitControls } = this.app.sceneControl.context\n layerIndex && layerIndex.forEach(async (index) => {\n if (index >= layers.length)\n return\n const type = layers[index].type\n switch (type) {\n case 'city':{\n this.loadCity = true\n let sccData = layers[index]\n const { private: panelAttribute, scene: sceneNode } = sccData\n // 中心点偏移\n if (panelAttribute?.position) {\n const offsetPosition = new Vector3(...panelAttribute.position.map(num => Number.isFinite(num) ? num : 0))\n const { lon, lat, alt } = Geo3D.CoordUtil.threeDXYZToLonLat2(offsetPosition, { lon: sceneNode.center[0], lat: sceneNode.center[1], alt: sceneNode.center[2] })\n sccData = { ...sccData, scene: { ...sccData.scene, center: [lon, lat, alt] } }\n }\n const map = await Geo3D.Map.load({\n scene,\n camera,\n renderer,\n control: orbitControls,\n sccData,\n })\n map?.addEventListener(Geo3D.MapEventType.onProgress, (v) => {\n this.app.sceneControl.context.emitter.emit('city-loaded-progress', v)\n })\n break\n }\n case 'water':{\n const water = new Water(layers[index], this.app.sceneControl)\n water.update()\n scene.add(water)\n break\n }\n case 'fog':{\n const { color, density } = layers[index]\n scene.fog = new FogExp2(color, density)\n break\n }\n }\n })\n }\n\n // 解析单个节点\n async addSingelNode(node) {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n\n if (!nodeObject) {\n console.error(`Unknown node type: ${node.type}`)\n return\n }\n const params = _.clone(node)\n if (node.type === 'group' && node.children) {\n const childPromises = node.children.map(childIndex => this.addSingelNode(childIndex))\n const childNodes = await Promise.all(childPromises)\n params.children = childNodes.map(child => child.id)\n }\n\n // 判断逻辑:符合夸引擎调用逻辑,先通过initialResult表示调用成功,然后通过asyncTask表示执行成功\n const initialResult = await nodeObject.create(params)\n await initialResult.asyncTask\n return node\n }\n\n addListener() {\n if (this.scene.modelCount > 0 || this.loadCity) {\n let modelProgress = 0 // 模型整体进度 0~1\n let cityProgress = 0 // 城市整体进度 0~1\n let total = 0 //\n\n const calcTotalProgress = () => {\n // 城市进度:50% 映射为 100%\n const cityNormalized = this.loadCity ? Math.min(1, cityProgress * 1.25) : 1\n const modelNormalized = this.scene.modelCount > 0 ? modelProgress : 1\n\n if (this.loadCity && this.scene.modelCount > 0)\n total = (cityNormalized + modelNormalized) / 2\n else if (this.loadCity)\n total = cityNormalized\n else\n total = modelNormalized\n\n return total\n }\n\n const sendProgress = (total: number) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: total, state: this.action },\n )\n if (total >= 1)\n this.app.sceneControl.context.emitter.emit('scene-loaded')\n }\n\n if (this.scene.modelCount > 0) {\n this.app.sceneControl.context.emitter.on('model-loading-progress', (data: any) => {\n const { id, progress } = data\n if (!this.modelProgress.has(id))\n return\n this.modelProgress.set(id, progress)\n // 更新累积进度\n const progressValue = Array.from(this.modelProgress.values()).reduce((sum, currentProgress) => sum + currentProgress, 0)\n // 计算进度\n modelProgress = progressValue / this.scene.modelCount\n sendProgress(calcTotalProgress())\n })\n }\n\n if (this.loadCity) {\n this.app.sceneControl.context.emitter.on('city-loaded-progress', (data: any) => {\n cityProgress = data.progress\n total < 1 && sendProgress(calcTotalProgress())\n })\n }\n }\n else {\n sendToMessage(\n this.app,\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: 1, state: this.action },\n )\n this.app.sceneControl.context.emitter.emit('scene-loaded')\n }\n }\n\n // 获取节点参数\n setMaterialParams(node) {\n const { materials } = node\n // 处理材质节点\n if (materials) {\n const updatedMaterials = materials.map((item) => {\n const material = this.getMaterialNode(item.material)\n if (material)\n return { ...item, materialId: material.materialId }\n }).filter(Boolean)\n node.override = { materials: updatedMaterials }\n }\n }\n\n getMaterialNode(index) {\n const materials = this.json.materials\n return (materials && materials.length > index) ? materials[index] : null\n }\n\n isEnumValue(enumObj, value) {\n return Object.values(enumObj).includes(value)\n }\n\n timeToRange2400(time) {\n // 检查输入时间格式是否正确,包括 24:00\n const timePattern = /^(?:([01]?\\d|2[0-3]):([0-5]\\d)|24:00)$/\n if (!timePattern.test(time)) {\n console.error('Invalid time format. Please use \"HH:MM\" format.')\n return null\n }\n\n // 分离小时和分钟\n const [hour, minute] = time.split(':').map(Number)\n\n // 特殊处理 24:00\n if (hour === 24 && minute === 0)\n return { hour, minute, dateTime: 2400 }\n\n // 计算转换后的值\n const dateTime = hour * 100 + (minute / 60) * 100\n\n return { hour, minute, dateTime }\n }\n\n // 清除场景所有对象\n async clear() {\n const result = this.scene.nodes?.map(async (node) => {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n return nodeObject.delete(node)\n })\n this.setEnvironment({\n weather: {\n type: 'Sunny',\n },\n time: {\n value: '12:00',\n },\n })\n this.modelProgress.clear()\n\n return Promise.all(result)\n }\n}\n\nexport default FileParse\n"],"mappings":"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"}
@@ -91,7 +91,7 @@ export var Scene = /*#__PURE__*/function () {
91
91
  console.error("Error during scene ".concat(action, ":"), error);
92
92
  this.app.sceneControl.context.emitter.off('model-loading-progress');
93
93
  this.app.sceneControl.context.emitter.off('city-loaded-progress');
94
- sendToMessage(this.app, {
94
+ sendToMessage({
95
95
  messageType: MessageType.Event,
96
96
  messageName: 'onLoaded',
97
97
  status: EMessageStatus.EventHandleFailed,
@@ -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","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","MessageType","sendToMessage","EMessageStatus","hybridList","FileParse","Scene","app","sccParse","_init","_callee","params","_callee$","_context","handleScene","init","_x","_switch2","_callee2","_callee2$","_context2","clear","_switch","_x2","_handleScene","_callee3","action","_this","scc","_callee3$","_context3","parseScene","sceneControl","context","emitter","on","messageType","Event","messageName","status","Success","global","progress","state","off","console","concat","EventHandleFailed","_x3","_x4","destroy","_this$app$sceneContro","setSize","width","height","_this$app$sceneContro2","camera","renderer","aspectRatio","aspect","updateProjectionMatrix","changeStyle","style","_params$mode","mode","duration","_params$center","center","_params$genPlane","genPlane","_params$rules","rules","entity","materialSwitchSystem","switchType","environment","open","close","setScaleRatio"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity/index'\nimport FileParse from './fileParse'\n\nexport class Scene implements BaseModule {\n app: Anov3D\n\n private sccParse: FileParse\n\n constructor(app: Anov3D) {\n this.app = app\n this.sccParse = new FileParse(this.app)\n }\n\n async init(params) {\n this.handleScene(params, 'scene.init')\n return params\n }\n\n async switch(params) {\n hybridList.clear() // todo 需要处理多场景切换、多场景实例等问题\n this.handleScene(params, 'scene.switch')\n return params\n }\n\n // 统一的处理函数\n async handleScene(params, action) {\n try {\n const { scc } = params\n this.sccParse.parseScene(scc, action)\n\n this.app.sceneControl.context.emitter.on('scene-loaded', () => {\n // 发送加载结果消息\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n this.app.sceneControl.context.emitter.off('model-loading-progress')\n this.app.sceneControl.context.emitter.off('city-loaded-progress')\n })\n }\n catch (error) {\n console.error(`Error during scene ${action}:`, error)\n this.app.sceneControl.context.emitter.off('model-loading-progress')\n this.app.sceneControl.context.emitter.off('city-loaded-progress')\n sendToMessage(\n this.app,\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.EventHandleFailed,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n }\n\n destroy() {\n this.app.sceneControl?.destroy()\n return true\n }\n\n setSize(params: { width?: number; height?: number }) {\n const { width, height } = params\n\n if (width && height) {\n const { camera, renderer } = this.app.sceneControl.context\n const aspectRatio = width / height\n\n camera.aspect = aspectRatio\n camera.updateProjectionMatrix()\n renderer.setSize(width, height)\n return params\n }\n else {\n throw new Error('参数格式错误')\n }\n }\n\n changeStyle(params: {\n style: string\n mode: 'auto' | 'time'\n duration?: number\n center?: number[]\n genPlane?: boolean\n rules?: {\n type: string\n keys: string[]\n material: string\n }[]\n }) {\n const { style, mode = 'auto', duration, center = [0, 0, 0], genPlane = true, rules = [] } = params\n\n // @ts-ignore\n this.app.entity.materialSwitchSystem.switchType(style, {\n mode,\n duration,\n center,\n genPlane,\n rules,\n })\n\n if (style === 'Real')\n // @ts-ignore\n this.app.environment.open()\n\n else\n // @ts-ignore\n this.app.environment.close()\n }\n\n setScaleRatio(params) {\n return params\n }\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","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","MessageType","sendToMessage","EMessageStatus","hybridList","FileParse","Scene","app","sccParse","_init","_callee","params","_callee$","_context","handleScene","init","_x","_switch2","_callee2","_callee2$","_context2","clear","_switch","_x2","_handleScene","_callee3","action","_this","scc","_callee3$","_context3","parseScene","sceneControl","context","emitter","on","messageType","Event","messageName","status","Success","global","progress","state","off","console","concat","EventHandleFailed","_x3","_x4","destroy","_this$app$sceneContro","setSize","width","height","_this$app$sceneContro2","camera","renderer","aspectRatio","aspect","updateProjectionMatrix","changeStyle","style","_params$mode","mode","duration","_params$center","center","_params$genPlane","genPlane","_params$rules","rules","entity","materialSwitchSystem","switchType","environment","open","close","setScaleRatio"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity/index'\nimport FileParse from './fileParse'\n\nexport class Scene implements BaseModule {\n app: Anov3D\n\n private sccParse: FileParse\n\n constructor(app: Anov3D) {\n this.app = app\n this.sccParse = new FileParse(this.app)\n }\n\n async init(params) {\n this.handleScene(params, 'scene.init')\n return params\n }\n\n async switch(params) {\n hybridList.clear() // todo 需要处理多场景切换、多场景实例等问题\n this.handleScene(params, 'scene.switch')\n return params\n }\n\n // 统一的处理函数\n async handleScene(params, action) {\n try {\n const { scc } = params\n this.sccParse.parseScene(scc, action)\n\n this.app.sceneControl.context.emitter.on('scene-loaded', () => {\n // 发送加载结果消息\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n this.app.sceneControl.context.emitter.off('model-loading-progress')\n this.app.sceneControl.context.emitter.off('city-loaded-progress')\n })\n }\n catch (error) {\n console.error(`Error during scene ${action}:`, error)\n this.app.sceneControl.context.emitter.off('model-loading-progress')\n this.app.sceneControl.context.emitter.off('city-loaded-progress')\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.EventHandleFailed,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n }\n\n destroy() {\n this.app.sceneControl?.destroy()\n return true\n }\n\n setSize(params: { width?: number; height?: number }) {\n const { width, height } = params\n\n if (width && height) {\n const { camera, renderer } = this.app.sceneControl.context\n const aspectRatio = width / height\n\n camera.aspect = aspectRatio\n camera.updateProjectionMatrix()\n renderer.setSize(width, height)\n return params\n }\n else {\n throw new Error('参数格式错误')\n }\n }\n\n changeStyle(params: {\n style: string\n mode: 'auto' | 'time'\n duration?: number\n center?: number[]\n genPlane?: boolean\n rules?: {\n type: string\n keys: string[]\n material: string\n }[]\n }) {\n const { style, mode = 'auto', duration, center = [0, 0, 0], genPlane = true, rules = [] } = params\n\n // @ts-ignore\n this.app.entity.materialSwitchSystem.switchType(style, {\n mode,\n duration,\n center,\n genPlane,\n rules,\n })\n\n if (style === 'Real')\n // @ts-ignore\n this.app.environment.open()\n\n else\n // @ts-ignore\n this.app.environment.close()\n }\n\n setScaleRatio(params) {\n return params\n }\n}\n"],"mappings":"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"}
@@ -31,7 +31,7 @@ export var getValueByKey = function getValueByKey(obj, key) {
31
31
  export var getFnByFnkey = function getFnByFnkey(iEngine, fnkey, id) {
32
32
  var handleFunction = getValueByKey(iEngine, fnkey);
33
33
  if (typeof handleFunction !== 'function') {
34
- sendToMessage(iEngine, {
34
+ sendToMessage({
35
35
  messageType: MessageType.Api,
36
36
  messageName: fnkey,
37
37
  status: messageStatus.ModuleNotRegister.code
@@ -1 +1 @@
1
- {"version":3,"names":["Vector3","messageStatus","MessageType","sendToMessage","getValueByKey","obj","key","undefined","keys","split","middleObj","index","length","currentKey","_typeof","getFnByFnkey","iEngine","fnkey","id","handleFunction","messageType","Api","messageName","status","ModuleNotRegister","code","Error","fnkeyArrary","context","slice","join","bind","getSceneInfo","scene","objects","vertices","triangles","i","l","children","object","traverseVisible","isMesh","isPoints","geometry","attributes","position","count","object2Vector3","x","y","z"],"sources":["../../src/utils/index.ts"],"sourcesContent":["import type { Scene } from '@anov/3d-core'\nimport { Vector3 } from '@anov/3d-core'\nimport type Anov3D from '..'\nimport { messageStatus } from '../messageStatus'\nimport { MessageType, sendToMessage } from './messageFn'\n\ninterface ObjectType {\n [key: string]: any\n\n}\n\n/**\n * get value by key\n * notic: to mark proxy, so need take it layer by layer\n * @param obj\n * @param key\n */\nexport const getValueByKey = <T extends ObjectType>(obj: T, key: string) => {\n if (!key)\n return undefined\n\n const keys = key.split('.')\n let middleObj = obj\n\n for (let index = 0; index < keys.length; index++) {\n const currentKey = keys[index]\n\n if (typeof middleObj === 'object') {\n if (!(currentKey in (middleObj)))\n return undefined\n else\n middleObj = middleObj[currentKey]\n }\n else {\n return undefined\n }\n }\n\n return middleObj\n}\n\n/**\n * getFnByFnkey\n * @param iEngine\n * @param fnkey\n */\nexport const getFnByFnkey = (iEngine: Anov3D, fnkey: string, id: string) => {\n const handleFunction = getValueByKey(iEngine, fnkey) as any\n\n if (typeof handleFunction !== 'function') {\n sendToMessage(\n iEngine,\n {\n messageType: MessageType.Api,\n messageName: fnkey,\n status: messageStatus.ModuleNotRegister.code,\n },\n {\n id,\n },\n )\n throw new Error('this function is not exist')\n }\n\n const fnkeyArrary = fnkey.split('.')\n\n let context: any = iEngine\n\n if (fnkeyArrary.length > 1)\n context = getValueByKey(iEngine, fnkeyArrary.slice(0, fnkeyArrary.length - 1).join('.'))\n\n return handleFunction.bind(context)\n}\n\n/**\n * get scene object vertice and triangle\n * @param scene\n * @returns\n */\nexport const getSceneInfo = (scene: Scene) => {\n let objects = 0\n let vertices = 0\n let triangles = 0\n\n for (let i = 0, l = scene.children.length; i < l; i++) {\n const object = scene.children[i]\n\n object.traverseVisible((object) => {\n objects++\n\n // @ts-ignore\n if (object.isMesh || object.isPoints) {\n // @ts-ignore\n const geometry = object.geometry\n\n if (geometry && geometry.attributes.position) {\n vertices += geometry.attributes.position.count\n\n // @ts-ignore\n if (object.isMesh) {\n if (geometry.index !== null)\n\n triangles += geometry.index.count / 3\n\n else\n\n triangles += geometry.attributes.position.count / 3\n }\n }\n }\n })\n }\n\n return {\n objects,\n vertices,\n triangles,\n }\n}\n\nexport const object2Vector3 = (obj: { x: number; y: number; z: number }) => {\n return new Vector3(obj.x, obj.y, obj.z)\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Vector3","messageStatus","MessageType","sendToMessage","getValueByKey","obj","key","undefined","keys","split","middleObj","index","length","currentKey","_typeof","getFnByFnkey","iEngine","fnkey","id","handleFunction","messageType","Api","messageName","status","ModuleNotRegister","code","Error","fnkeyArrary","context","slice","join","bind","getSceneInfo","scene","objects","vertices","triangles","i","l","children","object","traverseVisible","isMesh","isPoints","geometry","attributes","position","count","object2Vector3","x","y","z"],"sources":["../../src/utils/index.ts"],"sourcesContent":["import type { Scene } from '@anov/3d-core'\nimport { Vector3 } from '@anov/3d-core'\nimport type Anov3D from '..'\nimport { messageStatus } from '../messageStatus'\nimport { MessageType, sendToMessage } from './messageFn'\n\ninterface ObjectType {\n [key: string]: any\n\n}\n\n/**\n * get value by key\n * notic: to mark proxy, so need take it layer by layer\n * @param obj\n * @param key\n */\nexport const getValueByKey = <T extends ObjectType>(obj: T, key: string) => {\n if (!key)\n return undefined\n\n const keys = key.split('.')\n let middleObj = obj\n\n for (let index = 0; index < keys.length; index++) {\n const currentKey = keys[index]\n\n if (typeof middleObj === 'object') {\n if (!(currentKey in (middleObj)))\n return undefined\n else\n middleObj = middleObj[currentKey]\n }\n else {\n return undefined\n }\n }\n\n return middleObj\n}\n\n/**\n * getFnByFnkey\n * @param iEngine\n * @param fnkey\n */\nexport const getFnByFnkey = (iEngine: Anov3D, fnkey: string, id: string) => {\n const handleFunction = getValueByKey(iEngine, fnkey) as any\n\n if (typeof handleFunction !== 'function') {\n sendToMessage(\n {\n messageType: MessageType.Api,\n messageName: fnkey,\n status: messageStatus.ModuleNotRegister.code,\n },\n {\n id,\n },\n )\n throw new Error('this function is not exist')\n }\n\n const fnkeyArrary = fnkey.split('.')\n\n let context: any = iEngine\n\n if (fnkeyArrary.length > 1)\n context = getValueByKey(iEngine, fnkeyArrary.slice(0, fnkeyArrary.length - 1).join('.'))\n\n return handleFunction.bind(context)\n}\n\n/**\n * get scene object vertice and triangle\n * @param scene\n * @returns\n */\nexport const getSceneInfo = (scene: Scene) => {\n let objects = 0\n let vertices = 0\n let triangles = 0\n\n for (let i = 0, l = scene.children.length; i < l; i++) {\n const object = scene.children[i]\n\n object.traverseVisible((object) => {\n objects++\n\n // @ts-ignore\n if (object.isMesh || object.isPoints) {\n // @ts-ignore\n const geometry = object.geometry\n\n if (geometry && geometry.attributes.position) {\n vertices += geometry.attributes.position.count\n\n // @ts-ignore\n if (object.isMesh) {\n if (geometry.index !== null)\n\n triangles += geometry.index.count / 3\n\n else\n\n triangles += geometry.attributes.position.count / 3\n }\n }\n }\n })\n }\n\n return {\n objects,\n vertices,\n triangles,\n }\n}\n\nexport const object2Vector3 = (obj: { x: number; y: number; z: number }) => {\n return new Vector3(obj.x, obj.y, obj.z)\n}\n"],"mappings":"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"}
@@ -5,8 +5,8 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
6
  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); }
7
7
  import { v4 as uuidv4 } from 'uuid';
8
- import { SceneControl } from '@anov/3d-core';
9
8
  import { EMessageStatus, codeMessageMap } from "../messageStatus";
9
+ import { messageHub } from "../module/message/hub";
10
10
  export var MessageType = /*#__PURE__*/function (MessageType) {
11
11
  MessageType[MessageType["Event"] = 0] = "Event";
12
12
  MessageType[MessageType["Api"] = 1] = "Api";
@@ -20,20 +20,13 @@ var getResponseMsg = function getResponseMsg(status) {
20
20
 
21
21
  /**
22
22
  * sendToMessage
23
- * fixme 发送消息是一个同步的操作,用户并不知道消息发送后的状态,应该返回一个 Promise, 发送消息的同时提供 next hook 将会是一个不错的设计
24
- * fixme sendToMessage 代码中的各处,使得调试变得困难,应该将 sendToMessage 的逻辑抽离出来,提供一个更清晰的接口
25
- * @param app
26
- * @param messageName
27
- * @param status
28
- * @param res
29
- * @returns
23
+ * 重构后:完全独立,不再依赖任何实例。
24
+ * @param messageBody
25
+ * @param res
26
+ * @returns
30
27
  */
31
- export var sendToMessage = function sendToMessage(app, messageBody, res) {
32
- var _res$failMessage, _ref;
33
- if (!app) {
34
- console.error('app is undefined');
35
- return;
36
- }
28
+ export var sendToMessage = function sendToMessage(messageBody, res) {
29
+ var _failMessage, _ref;
37
30
  var messageType = messageBody.messageType,
38
31
  messageName = messageBody.messageName,
39
32
  _messageBody$status = messageBody.status,
@@ -48,19 +41,22 @@ export var sendToMessage = function sendToMessage(app, messageBody, res) {
48
41
  name: messageName,
49
42
  code: status,
50
43
  // @ts-ignore
51
- msg: (_res$failMessage = res === null || res === void 0 ? void 0 : res.failMessage) !== null && _res$failMessage !== void 0 ? _res$failMessage : responseMsg,
44
+ msg: (_failMessage = res === null || res === void 0 ? void 0 : res.failMessage) !== null && _failMessage !== void 0 ? _failMessage : responseMsg,
52
45
  result: _objectSpread({}, (_ref = res) !== null && _ref !== void 0 ? _ref : {})
53
46
  };
54
- if (app instanceof SceneControl) {
55
- if (messageType === MessageType.Api) app.context.emitter.emit('message', response);else if (messageType === MessageType.Event) app.context.emitter.emit('event', _objectSpread(_objectSpread({}, response), {}, {
56
- name: "".concat(response.name),
57
- global: global
58
- }));
59
- } else {
60
- if (messageType === MessageType.Api) app.emit('message', response);else if (messageType === MessageType.Event) app.emit('event', _objectSpread(_objectSpread({}, response), {}, {
61
- name: "".concat(response.name),
62
- global: global
63
- }));
47
+ if (messageType === MessageType.Api) {
48
+ messageHub.notify({
49
+ method: 'message',
50
+ params: response
51
+ });
52
+ } else if (messageType === MessageType.Event) {
53
+ messageHub.notify({
54
+ method: 'event',
55
+ params: _objectSpread(_objectSpread({}, response), {}, {
56
+ name: "".concat(response.name),
57
+ global: global
58
+ })
59
+ });
64
60
  }
65
61
  };
66
62
  //# sourceMappingURL=messageFn.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["v4","uuidv4","SceneControl","EMessageStatus","codeMessageMap","MessageType","getResponseMsg","status","_codeMessageMap$statu","sendToMessage","app","messageBody","res","_res$failMessage","_ref","console","error","messageType","messageName","_messageBody$status","Success","id","_messageBody$global","global","uid","responseMsg","response","name","code","msg","failMessage","result","_objectSpread","Api","context","emitter","emit","Event","concat"],"sources":["../../src/utils/messageFn.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\nimport { SceneControl } from '@anov/3d-core'\nimport type Anov3D from '../sdkEntry'\nimport { EMessageStatus, codeMessageMap } from '../messageStatus'\n\nexport enum MessageType {\n Event,\n Api,\n}\n\ntype MessageDataType = {\n messageType: MessageType\n messageName: string\n status?: number\n id?: string\n global?: boolean // is global event, default is true, only for event\n}\n\nconst getResponseMsg = (status: number) => {\n // @ts-ignore\n return codeMessageMap[status] ?? '未知错误'\n}\n\n/**\n * sendToMessage\n * fixme 发送消息是一个同步的操作,用户并不知道消息发送后的状态,应该返回一个 Promise, 发送消息的同时提供 next hook 将会是一个不错的设计\n * fixme sendToMessage 代码中的各处,使得调试变得困难,应该将 sendToMessage 的逻辑抽离出来,提供一个更清晰的接口\n * @param app\n * @param messageName\n * @param status\n * @param res\n * @returns\n */\nexport const sendToMessage = (app: Anov3D | SceneControl, messageBody: MessageDataType, res?: unknown) => {\n if(!app){\n console.error('app is undefined')\n return\n }\n const { messageType, messageName, status = EMessageStatus.Success, id, global = true } = messageBody\n\n const uid = uuidv4()\n const responseMsg = getResponseMsg(status)\n\n const response = {\n id: id ?? uid,\n name: messageName,\n code: status,\n // @ts-ignore\n msg: res?.failMessage ?? responseMsg,\n result: {\n ...(res as any ?? {}),\n },\n }\n\n if (app instanceof SceneControl) {\n if (messageType === MessageType.Api)\n app.context.emitter.emit('message', response)\n else if (messageType === MessageType.Event)\n app.context.emitter.emit('event', { ...response, name: `${response.name}`, global })\n }\n else {\n if (messageType === MessageType.Api)\n app.emit('message', response)\n else if (messageType === MessageType.Event)\n app.emit('event', { ...response, name: `${response.name}`, global })\n }\n}\n"],"mappings":";;;;;;AAAA,SAASA,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,YAAY,QAAQ,eAAe;AAE5C,SAASC,cAAc,EAAEC,cAAc;AAEvC,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAavB,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,MAAc,EAAK;EAAA,IAAAC,qBAAA;EACzC;EACA,QAAAA,qBAAA,GAAOJ,cAAc,CAACG,MAAM,CAAC,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,MAAM;AACzC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,GAA0B,EAAEC,WAA4B,EAAEC,GAAa,EAAK;EAAA,IAAAC,gBAAA,EAAAC,IAAA;EACxG,IAAG,CAACJ,GAAG,EAAC;IACNK,OAAO,CAACC,KAAK,CAAC,kBAAkB,CAAC;IACjC;EACF;EACA,IAAQC,WAAW,GAAsEN,WAAW,CAA5FM,WAAW;IAAEC,WAAW,GAAyDP,WAAW,CAA/EO,WAAW;IAAAC,mBAAA,GAAyDR,WAAW,CAAlEJ,MAAM;IAANA,MAAM,GAAAY,mBAAA,cAAGhB,cAAc,CAACiB,OAAO,GAAAD,mBAAA;IAAEE,EAAE,GAAoBV,WAAW,CAAjCU,EAAE;IAAAC,mBAAA,GAAoBX,WAAW,CAA7BY,MAAM;IAANA,MAAM,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;EAEpF,IAAME,GAAG,GAAGvB,MAAM,CAAC,CAAC;EACpB,IAAMwB,WAAW,GAAGnB,cAAc,CAACC,MAAM,CAAC;EAE1C,IAAMmB,QAAQ,GAAG;IACfL,EAAE,EAAEA,EAAE,aAAFA,EAAE,cAAFA,EAAE,GAAIG,GAAG;IACbG,IAAI,EAAET,WAAW;IACjBU,IAAI,EAAErB,MAAM;IACZ;IACAsB,GAAG,GAAAhB,gBAAA,GAAED,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEkB,WAAW,cAAAjB,gBAAA,cAAAA,gBAAA,GAAIY,WAAW;IACpCM,MAAM,EAAAC,aAAA,MAAAlB,IAAA,GACAF,GAAG,cAAAE,IAAA,cAAAA,IAAA,GAAW,CAAC,CAAC;EAExB,CAAC;EAED,IAAIJ,GAAG,YAAYR,YAAY,EAAE;IAC/B,IAAIe,WAAW,KAAKZ,WAAW,CAAC4B,GAAG,EACjCvB,GAAG,CAACwB,OAAO,CAACC,OAAO,CAACC,IAAI,CAAC,SAAS,EAAEV,QAAQ,CAAC,MAC1C,IAAIT,WAAW,KAAKZ,WAAW,CAACgC,KAAK,EACxC3B,GAAG,CAACwB,OAAO,CAACC,OAAO,CAACC,IAAI,CAAC,OAAO,EAAAJ,aAAA,CAAAA,aAAA,KAAON,QAAQ;MAAEC,IAAI,KAAAW,MAAA,CAAKZ,QAAQ,CAACC,IAAI,CAAE;MAAEJ,MAAM,EAANA;IAAM,EAAE,CAAC;EACxF,CAAC,MACI;IACH,IAAIN,WAAW,KAAKZ,WAAW,CAAC4B,GAAG,EACjCvB,GAAG,CAAC0B,IAAI,CAAC,SAAS,EAAEV,QAAQ,CAAC,MAC1B,IAAIT,WAAW,KAAKZ,WAAW,CAACgC,KAAK,EACxC3B,GAAG,CAAC0B,IAAI,CAAC,OAAO,EAAAJ,aAAA,CAAAA,aAAA,KAAON,QAAQ;MAAEC,IAAI,KAAAW,MAAA,CAAKZ,QAAQ,CAACC,IAAI,CAAE;MAAEJ,MAAM,EAANA;IAAM,EAAE,CAAC;EACxE;AACF,CAAC"}
1
+ {"version":3,"names":["v4","uuidv4","EMessageStatus","codeMessageMap","messageHub","MessageType","getResponseMsg","status","_codeMessageMap$statu","sendToMessage","messageBody","res","_failMessage","_ref","messageType","messageName","_messageBody$status","Success","id","_messageBody$global","global","uid","responseMsg","response","name","code","msg","failMessage","result","_objectSpread","Api","notify","method","params","Event","concat"],"sources":["../../src/utils/messageFn.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\nimport { EMessageStatus, codeMessageMap } from '../messageStatus'\nimport { messageHub } from '../module/message/hub'\n\nexport enum MessageType {\n Event,\n Api,\n}\n\nexport type MessageDataType = {\n messageType: MessageType\n messageName: string\n status?: number\n id?: string\n global?: boolean // is global event, default is true, only for event\n}\n\nconst getResponseMsg = (status: number) => {\n // @ts-ignore\n return codeMessageMap[status] ?? '未知错误'\n}\n\n/**\n * sendToMessage\n * 重构后:完全独立,不再依赖任何实例。\n * @param messageBody \n * @param res \n * @returns \n */\nexport const sendToMessage = (messageBody: MessageDataType, res?: unknown) => {\n const { messageType, messageName, status = EMessageStatus.Success, id, global = true } = messageBody\n\n const uid = uuidv4()\n const responseMsg = getResponseMsg(status)\n\n const response = {\n id: id ?? uid,\n name: messageName,\n code: status,\n // @ts-ignore\n msg: (res as any)?.failMessage ?? responseMsg,\n result: {\n ...(res as any ?? {}),\n },\n }\n\n if (messageType === MessageType.Api) {\n messageHub.notify({ method: 'message', params: response })\n }\n else if (messageType === MessageType.Event) {\n messageHub.notify({ method: 'event', params: { ...response, name: `${response.name}`, global } })\n }\n}\n"],"mappings":";;;;;;AAAA,SAASA,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,cAAc,EAAEC,cAAc;AACvC,SAASC,UAAU;AAEnB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAavB,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,MAAc,EAAK;EAAA,IAAAC,qBAAA;EACzC;EACA,QAAAA,qBAAA,GAAOL,cAAc,CAACI,MAAM,CAAC,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,MAAM;AACzC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,WAA4B,EAAEC,GAAa,EAAK;EAAA,IAAAC,YAAA,EAAAC,IAAA;EAC5E,IAAQC,WAAW,GAAsEJ,WAAW,CAA5FI,WAAW;IAAEC,WAAW,GAAyDL,WAAW,CAA/EK,WAAW;IAAAC,mBAAA,GAAyDN,WAAW,CAAlEH,MAAM;IAANA,MAAM,GAAAS,mBAAA,cAAGd,cAAc,CAACe,OAAO,GAAAD,mBAAA;IAAEE,EAAE,GAAoBR,WAAW,CAAjCQ,EAAE;IAAAC,mBAAA,GAAoBT,WAAW,CAA7BU,MAAM;IAANA,MAAM,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;EAEpF,IAAME,GAAG,GAAGpB,MAAM,CAAC,CAAC;EACpB,IAAMqB,WAAW,GAAGhB,cAAc,CAACC,MAAM,CAAC;EAE1C,IAAMgB,QAAQ,GAAG;IACfL,EAAE,EAAEA,EAAE,aAAFA,EAAE,cAAFA,EAAE,GAAIG,GAAG;IACbG,IAAI,EAAET,WAAW;IACjBU,IAAI,EAAElB,MAAM;IACZ;IACAmB,GAAG,GAAAd,YAAA,GAAGD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAUgB,WAAW,cAAAf,YAAA,cAAAA,YAAA,GAAIU,WAAW;IAC7CM,MAAM,EAAAC,aAAA,MAAAhB,IAAA,GACAF,GAAG,cAAAE,IAAA,cAAAA,IAAA,GAAW,CAAC,CAAC;EAExB,CAAC;EAED,IAAIC,WAAW,KAAKT,WAAW,CAACyB,GAAG,EAAE;IACnC1B,UAAU,CAAC2B,MAAM,CAAC;MAAEC,MAAM,EAAE,SAAS;MAAEC,MAAM,EAAEV;IAAS,CAAC,CAAC;EAC5D,CAAC,MACI,IAAIT,WAAW,KAAKT,WAAW,CAAC6B,KAAK,EAAE;IAC1C9B,UAAU,CAAC2B,MAAM,CAAC;MAAEC,MAAM,EAAE,OAAO;MAAEC,MAAM,EAAAJ,aAAA,CAAAA,aAAA,KAAON,QAAQ;QAAEC,IAAI,KAAAW,MAAA,CAAKZ,QAAQ,CAACC,IAAI,CAAE;QAAEJ,MAAM,EAANA;MAAM;IAAG,CAAC,CAAC;EACnG;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.321",
3
+ "version": "0.0.322",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -25,12 +25,13 @@
25
25
  "javascript-state-machine": "^3.1.0",
26
26
  "localforage": "^1.10.0",
27
27
  "lodash": "^4.17.21",
28
+ "message-nexus": "^1.1.3",
28
29
  "resize-observer-polyfill": "^1.5.1",
29
30
  "rxjs": "7.8.1",
30
31
  "three-mesh-bvh": "^0.9.0",
31
32
  "uuid": "^9.0.1",
32
- "@anov/3d-ability": "^0.0.166",
33
- "@anov/3d-core": "^0.0.103"
33
+ "@anov/3d-ability": "^0.0.167",
34
+ "@anov/3d-core": "^0.0.104"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/uuid": "^9.0.7",