@anov/3d 0.0.288 → 0.0.290
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/anov3d.js +43 -40
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +118 -94
- package/dist/applicationApi.js.map +1 -1
- package/dist/hooksManager.js +10 -10
- package/dist/hooksManager.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/messageStatus.js +3 -3
- package/dist/messageStatus.js.map +1 -1
- package/dist/module/animation/index.js +113 -61
- package/dist/module/animation/index.js.map +1 -1
- package/dist/module/animation/motion/index.js +91 -58
- package/dist/module/animation/motion/index.js.map +1 -1
- package/dist/module/animation/strategy.js +21 -7
- package/dist/module/animation/strategy.js.map +1 -1
- package/dist/module/camera/index.js +278 -216
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/develop/index.js +35 -27
- package/dist/module/develop/index.js.map +1 -1
- package/dist/module/entity/area/index.js +87 -29
- package/dist/module/entity/area/index.js.map +1 -1
- package/dist/module/entity/bar/index.js +24 -5
- package/dist/module/entity/bar/index.js.map +1 -1
- package/dist/module/entity/bar/style/bar_01.js +52 -13
- package/dist/module/entity/bar/style/bar_01.js.map +1 -1
- package/dist/module/entity/bar/style/index.js +21 -7
- package/dist/module/entity/bar/style/index.js.map +1 -1
- package/dist/module/entity/baseEntity.js +66 -43
- package/dist/module/entity/baseEntity.js.map +1 -1
- package/dist/module/entity/batch/index.js +168 -77
- package/dist/module/entity/batch/index.js.map +1 -1
- package/dist/module/entity/dispose.js +16 -14
- package/dist/module/entity/dispose.js.map +1 -1
- package/dist/module/entity/flyline/index.js +90 -34
- package/dist/module/entity/flyline/index.js.map +1 -1
- package/dist/module/entity/group/index.js +75 -59
- package/dist/module/entity/group/index.js.map +1 -1
- package/dist/module/entity/heatmap/index.js +79 -62
- package/dist/module/entity/heatmap/index.js.map +1 -1
- package/dist/module/entity/hybridList.js +67 -49
- package/dist/module/entity/hybridList.js.map +1 -1
- package/dist/module/entity/index.js +644 -442
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/infoPanel/index.js +76 -23
- package/dist/module/entity/infoPanel/index.js.map +1 -1
- package/dist/module/entity/light/pointLight/index.js +84 -48
- package/dist/module/entity/light/pointLight/index.js.map +1 -1
- package/dist/module/entity/mark/index.js +101 -51
- package/dist/module/entity/mark/index.js.map +1 -1
- package/dist/module/entity/model/index.js +151 -108
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/model/load/loadFbx.js +8 -8
- package/dist/module/entity/model/load/loadFbx.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +11 -13
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/entity/model/load.js +57 -19
- package/dist/module/entity/model/load.js.map +1 -1
- package/dist/module/entity/poi/index.js +90 -34
- package/dist/module/entity/poi/index.js.map +1 -1
- package/dist/module/entity/shape/index.js +136 -67
- package/dist/module/entity/shape/index.js.map +1 -1
- package/dist/module/entity/spline/index.js +75 -22
- package/dist/module/entity/spline/index.js.map +1 -1
- package/dist/module/entity/strategy.js +274 -92
- package/dist/module/entity/strategy.js.map +1 -1
- package/dist/module/entity/traffic/realismTraffic/index.js +88 -59
- package/dist/module/entity/traffic/realismTraffic/index.js.map +1 -1
- package/dist/module/entity/traffic/streamerTraffic/index.js +81 -50
- package/dist/module/entity/traffic/streamerTraffic/index.js.map +1 -1
- package/dist/module/entity/utils.js +13 -11
- package/dist/module/entity/utils.js.map +1 -1
- package/dist/module/entity/videoPanel/index.js +76 -23
- package/dist/module/entity/videoPanel/index.js.map +1 -1
- package/dist/module/environment/index.js +73 -54
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/environment/season/index.js +184 -342
- package/dist/module/environment/season/index.js.map +1 -1
- package/dist/module/eventBus/entityEvents.js +1 -1
- package/dist/module/eventBus/entityEvents.js.map +1 -1
- package/dist/module/eventBus/index.js +93 -79
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/module/material/index.js +334 -279
- package/dist/module/material/index.js.map +1 -1
- package/dist/module/scene/fileParse.js +369 -276
- package/dist/module/scene/fileParse.js.map +1 -1
- package/dist/module/scene/index.js +161 -106
- package/dist/module/scene/index.js.map +1 -1
- package/dist/module/tool/index.js +33 -26
- package/dist/module/tool/index.js.map +1 -1
- package/dist/sdkEntry.js +23 -2
- package/dist/sdkEntry.js.map +1 -1
- package/dist/utils/abstract.js +15 -12
- package/dist/utils/abstract.js.map +1 -1
- package/dist/utils/index.js +24 -23
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/messageFn.js +18 -17
- package/dist/utils/messageFn.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","FogExp2","use","utils","Map","CMap","Water","MessageType","sendToMessage","EMessageStatus","EObjectType","emitter","FileParse","constructor","app","_defineProperty","modelProgress","parseScene","json","action","off","clear","scene","index","scenes","nodes","layers","sceneNode","console","error","modelCount","parsedNodes","parseNode","nodeIndex","_objectSpread","filter","Boolean","addListener","addLayers","environment","setEnvironment","addNodes","indexes","result","forEach","node","warn","type","camera","set","id","childModelCount","children","childResult","push","_this","_asyncToGenerator","map","addSingelNode","Promise","all","params","time","weather","environmentManage","hour","currentTime","value","setTime","timeRange","timeToRange2400","setWeather","exposure","undefined","renderer","useScene","toneMappingExposure","layerIndex","orbitControls","length","load","control","sccData","water","update","add","color","density","fog","_this2","isDefineType","isEnumValue","nodeObject","entity","clone","childPromises","childIndex","childNodes","child","initialResult","create","asyncTask","on","data","progress","has","progressValue","Array","from","values","reduce","sum","currentProgress","totalProgress","messageType","Event","messageName","status","Success","global","state","setMaterialParams","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","Object","includes","timePattern","test","minute","split","Number","dateTime","_this3","_this3$scene$nodes","_ref","delete","_x","apply","arguments"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import _ from 'lodash'\nimport { FogExp2, use, utils } from '@anov/3d-core'\nimport { Map as CMap } 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}\nconst { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n action: string\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n parseScene(json, action) {\n this.json = json\n this.action = action\n 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 try {\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 this.addListener()\n this.addLayers()\n this.scene.environment && this.setEnvironment(this.scene.environment)\n return this.addNodes(this.scene.nodes)\n }\n catch (error) {\n return false\n }\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 { time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n let hour = 12\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 const { exposure } = this.scene // 曝光度\n if (exposure !== undefined) {\n const { renderer } = use.useScene()\n renderer.toneMappingExposure = exposure\n }\n }\n\n addLayers() {\n const { layers, layerIndex } = this.scene\n const { scene, camera, renderer, orbitControls } = use.useScene()\n layerIndex && layerIndex.forEach((index) => {\n if (index >= layers.length)\n return\n const type = layers[index].type\n switch (type) {\n case 'city':{\n CMap.load({\n scene,\n camera,\n renderer,\n control: orbitControls,\n sccData: layers[index],\n })\n break\n }\n case 'water':{\n const water = new Water(layers[index])\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) {\n 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 const totalProgress = progressValue / this.scene.modelCount\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: totalProgress, state: this.action })\n })\n }\n else {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: 1, state: this.action })\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"],"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","_","FogExp2","use","utils","Map","CMap","Water","MessageType","sendToMessage","EMessageStatus","EObjectType","emitter","FileParse","app","modelProgress","parseScene","json","action","off","clear","_ref","_ref$scene","scene","index","scenes","nodes","layers","sceneNode","console","_this$parseNode","parseNode","nodeIndex","modelCount","parsedNodes","Boolean","addListener","addLayers","environment","setEnvironment","addNodes","indexes","_this","result","node","warn","concat","camera","set","id","childModelCount","children","childResult","_addNodes","_callee","_this2","_callee$","_context","map","addSingelNode","all","_x","params","time","weather","environmentManage","hour","currentTime","setTime","timeRange","timeToRange2400","setWeather","exposure","_use$useScene","useScene","renderer","toneMappingExposure","_this$scene","layerIndex","_use$useScene2","orbitControls","load","control","sccData","water","update","add","_layers$index","color","density","fog","_addSingelNode","_callee2","_this3","isDefineType","nodeObject","childPromises","childNodes","initialResult","_callee2$","_context2","isEnumValue","entity","clone","childIndex","child","asyncTask","_x2","_this4","on","data","progress","has","progressValue","Array","from","reduce","sum","currentProgress","totalProgress","messageType","Event","messageName","status","Success","global","state","setMaterialParams","_this5","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","includes","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","minute","dateTime","_clear","_callee4","_this$scene$nodes","_this6","_callee4$","_context4","_ref2","_callee3","_callee3$","_context3","delete","_x3"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import _ from 'lodash'\nimport { FogExp2, use, utils } from '@anov/3d-core'\nimport { Map as CMap } 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}\nconst { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n action: string\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n parseScene(json, action) {\n this.json = json\n this.action = action\n 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 try {\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 this.addListener()\n this.addLayers()\n this.scene.environment && this.setEnvironment(this.scene.environment)\n return this.addNodes(this.scene.nodes)\n }\n catch (error) {\n return false\n }\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 { time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n let hour = 12\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 const { exposure } = this.scene // 曝光度\n if (exposure !== undefined) {\n const { renderer } = use.useScene()\n renderer.toneMappingExposure = exposure\n }\n }\n\n addLayers() {\n const { layers, layerIndex } = this.scene\n const { scene, camera, renderer, orbitControls } = use.useScene()\n layerIndex && layerIndex.forEach((index) => {\n if (index >= layers.length)\n return\n const type = layers[index].type\n switch (type) {\n case 'city':{\n CMap.load({\n scene,\n camera,\n renderer,\n control: orbitControls,\n sccData: layers[index],\n })\n break\n }\n case 'water':{\n const water = new Water(layers[index])\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) {\n 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 const totalProgress = progressValue / this.scene.modelCount\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: totalProgress, state: this.action })\n })\n }\n else {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: 1, state: this.action })\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"],"mappings":"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"}
|
|
@@ -1,124 +1,179 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
1
3
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
2
4
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
6
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
7
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
3
8
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" ==
|
|
5
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
|
+
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); }
|
|
6
11
|
import { use, utils } from '@anov/3d-core';
|
|
7
12
|
import { MessageType, sendToMessage } from "../../utils/messageFn";
|
|
8
13
|
import { EMessageStatus } from "../../messageStatus";
|
|
9
14
|
import { hybridList } from "../entity/index";
|
|
10
15
|
import FileParse from "./fileParse";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
constructor(app) {
|
|
16
|
+
var emitter = utils.emitter;
|
|
17
|
+
export var Scene = /*#__PURE__*/function () {
|
|
18
|
+
function Scene(app) {
|
|
19
|
+
_classCallCheck(this, Scene);
|
|
16
20
|
_defineProperty(this, "app", void 0);
|
|
17
21
|
_defineProperty(this, "sccParse", void 0);
|
|
18
22
|
this.app = app;
|
|
19
23
|
this.sccParse = new FileParse(this.app);
|
|
20
24
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
handleScene(params, action) {
|
|
39
|
-
var _this3 = this;
|
|
40
|
-
return _asyncToGenerator(function* () {
|
|
41
|
-
try {
|
|
42
|
-
const {
|
|
43
|
-
scc
|
|
44
|
-
} = params;
|
|
45
|
-
const data = yield _this3.sccParse.parseScene(scc, action);
|
|
46
|
-
emitter.off('model-loading-progress');
|
|
47
|
-
// 发送加载结果消息
|
|
48
|
-
sendToMessage({
|
|
49
|
-
messageType: MessageType.Event,
|
|
50
|
-
messageName: 'onLoaded',
|
|
51
|
-
status: data === false ? EMessageStatus.EventHandleFailed : EMessageStatus.Success,
|
|
52
|
-
global: false
|
|
53
|
-
}, {
|
|
54
|
-
progress: 1,
|
|
55
|
-
state: action
|
|
56
|
-
});
|
|
57
|
-
} catch (error) {
|
|
58
|
-
console.error(`Error during scene ${action}:`, error);
|
|
59
|
-
emitter.off('model-loading-progress');
|
|
60
|
-
sendToMessage({
|
|
61
|
-
messageType: MessageType.Event,
|
|
62
|
-
messageName: 'onLoaded',
|
|
63
|
-
status: EMessageStatus.EventHandleFailed,
|
|
64
|
-
global: false
|
|
65
|
-
}, {
|
|
66
|
-
progress: 1,
|
|
67
|
-
state: action
|
|
68
|
-
});
|
|
25
|
+
_createClass(Scene, [{
|
|
26
|
+
key: "init",
|
|
27
|
+
value: function () {
|
|
28
|
+
var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
|
|
29
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
30
|
+
while (1) switch (_context.prev = _context.next) {
|
|
31
|
+
case 0:
|
|
32
|
+
this.handleScene(params, 'scene.init');
|
|
33
|
+
return _context.abrupt("return", params);
|
|
34
|
+
case 2:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
37
|
+
}
|
|
38
|
+
}, _callee, this);
|
|
39
|
+
}));
|
|
40
|
+
function init(_x) {
|
|
41
|
+
return _init.apply(this, arguments);
|
|
69
42
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return
|
|
92
|
-
}
|
|
93
|
-
|
|
43
|
+
return init;
|
|
44
|
+
}()
|
|
45
|
+
}, {
|
|
46
|
+
key: "switch",
|
|
47
|
+
value: function () {
|
|
48
|
+
var _switch2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
49
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
50
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
51
|
+
case 0:
|
|
52
|
+
hybridList.clear(); // todo 需要处理多场景切换、多场景实例等问题
|
|
53
|
+
this.handleScene(params, 'scene.switch');
|
|
54
|
+
return _context2.abrupt("return", params);
|
|
55
|
+
case 3:
|
|
56
|
+
case "end":
|
|
57
|
+
return _context2.stop();
|
|
58
|
+
}
|
|
59
|
+
}, _callee2, this);
|
|
60
|
+
}));
|
|
61
|
+
function _switch(_x2) {
|
|
62
|
+
return _switch2.apply(this, arguments);
|
|
63
|
+
}
|
|
64
|
+
return _switch;
|
|
65
|
+
}() // 统一的处理函数
|
|
66
|
+
}, {
|
|
67
|
+
key: "handleScene",
|
|
68
|
+
value: function () {
|
|
69
|
+
var _handleScene = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params, action) {
|
|
70
|
+
var scc, data;
|
|
71
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
72
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
_context3.prev = 0;
|
|
75
|
+
scc = params.scc;
|
|
76
|
+
_context3.next = 4;
|
|
77
|
+
return this.sccParse.parseScene(scc, action);
|
|
78
|
+
case 4:
|
|
79
|
+
data = _context3.sent;
|
|
80
|
+
emitter.off('model-loading-progress');
|
|
81
|
+
// 发送加载结果消息
|
|
82
|
+
sendToMessage({
|
|
83
|
+
messageType: MessageType.Event,
|
|
84
|
+
messageName: 'onLoaded',
|
|
85
|
+
status: data === false ? EMessageStatus.EventHandleFailed : EMessageStatus.Success,
|
|
86
|
+
global: false
|
|
87
|
+
}, {
|
|
88
|
+
progress: 1,
|
|
89
|
+
state: action
|
|
90
|
+
});
|
|
91
|
+
_context3.next = 14;
|
|
92
|
+
break;
|
|
93
|
+
case 9:
|
|
94
|
+
_context3.prev = 9;
|
|
95
|
+
_context3.t0 = _context3["catch"](0);
|
|
96
|
+
console.error("Error during scene ".concat(action, ":"), _context3.t0);
|
|
97
|
+
emitter.off('model-loading-progress');
|
|
98
|
+
sendToMessage({
|
|
99
|
+
messageType: MessageType.Event,
|
|
100
|
+
messageName: 'onLoaded',
|
|
101
|
+
status: EMessageStatus.EventHandleFailed,
|
|
102
|
+
global: false
|
|
103
|
+
}, {
|
|
104
|
+
progress: 1,
|
|
105
|
+
state: action
|
|
106
|
+
});
|
|
107
|
+
case 14:
|
|
108
|
+
case "end":
|
|
109
|
+
return _context3.stop();
|
|
110
|
+
}
|
|
111
|
+
}, _callee3, this, [[0, 9]]);
|
|
112
|
+
}));
|
|
113
|
+
function handleScene(_x3, _x4) {
|
|
114
|
+
return _handleScene.apply(this, arguments);
|
|
115
|
+
}
|
|
116
|
+
return handleScene;
|
|
117
|
+
}()
|
|
118
|
+
}, {
|
|
119
|
+
key: "destroy",
|
|
120
|
+
value: function destroy() {
|
|
121
|
+
var _this$app$sceneContro;
|
|
122
|
+
(_this$app$sceneContro = this.app.sceneControl) === null || _this$app$sceneContro === void 0 || _this$app$sceneContro.destroy();
|
|
123
|
+
return true;
|
|
94
124
|
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
125
|
+
}, {
|
|
126
|
+
key: "setSize",
|
|
127
|
+
value: function setSize(params) {
|
|
128
|
+
var width = params.width,
|
|
129
|
+
height = params.height;
|
|
130
|
+
if (width && height) {
|
|
131
|
+
var _use$useScene = use.useScene(),
|
|
132
|
+
camera = _use$useScene.camera,
|
|
133
|
+
renderer = _use$useScene.renderer;
|
|
134
|
+
var aspectRatio = width / height;
|
|
135
|
+
camera.aspect = aspectRatio;
|
|
136
|
+
camera.updateProjectionMatrix();
|
|
137
|
+
renderer.setSize(width, height);
|
|
138
|
+
return params;
|
|
139
|
+
} else {
|
|
140
|
+
throw new Error('参数格式错误');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
key: "changeStyle",
|
|
145
|
+
value: function changeStyle(params) {
|
|
146
|
+
var style = params.style,
|
|
147
|
+
_params$mode = params.mode,
|
|
148
|
+
mode = _params$mode === void 0 ? 'auto' : _params$mode,
|
|
149
|
+
duration = params.duration,
|
|
150
|
+
_params$center = params.center,
|
|
151
|
+
center = _params$center === void 0 ? [0, 0, 0] : _params$center,
|
|
152
|
+
_params$genPlane = params.genPlane,
|
|
153
|
+
genPlane = _params$genPlane === void 0 ? true : _params$genPlane,
|
|
154
|
+
_params$rules = params.rules,
|
|
155
|
+
rules = _params$rules === void 0 ? [] : _params$rules;
|
|
105
156
|
|
|
106
|
-
// @ts-ignore
|
|
107
|
-
this.app.entity.materialSwitchSystem.switchType(style, {
|
|
108
|
-
mode,
|
|
109
|
-
duration,
|
|
110
|
-
center,
|
|
111
|
-
genPlane,
|
|
112
|
-
rules
|
|
113
|
-
});
|
|
114
|
-
if (style === 'Real')
|
|
115
157
|
// @ts-ignore
|
|
116
|
-
this.app.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
158
|
+
this.app.entity.materialSwitchSystem.switchType(style, {
|
|
159
|
+
mode: mode,
|
|
160
|
+
duration: duration,
|
|
161
|
+
center: center,
|
|
162
|
+
genPlane: genPlane,
|
|
163
|
+
rules: rules
|
|
164
|
+
});
|
|
165
|
+
if (style === 'Real')
|
|
166
|
+
// @ts-ignore
|
|
167
|
+
this.app.environment.open();else
|
|
168
|
+
// @ts-ignore
|
|
169
|
+
this.app.environment.close();
|
|
170
|
+
}
|
|
171
|
+
}, {
|
|
172
|
+
key: "setScaleRatio",
|
|
173
|
+
value: function setScaleRatio(params) {
|
|
174
|
+
return params;
|
|
175
|
+
}
|
|
176
|
+
}]);
|
|
177
|
+
return Scene;
|
|
178
|
+
}();
|
|
124
179
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["use","utils","MessageType","sendToMessage","EMessageStatus","hybridList","FileParse","emitter","Scene","constructor","app","_defineProperty","sccParse","init","params","_this","_asyncToGenerator","handleScene","switch","_this2","clear","action","_this3","scc","data","parseScene","off","messageType","Event","messageName","status","EventHandleFailed","Success","global","progress","state","error","console","destroy","_this$app$sceneContro","sceneControl","setSize","width","height","camera","renderer","useScene","aspectRatio","aspect","updateProjectionMatrix","Error","changeStyle","style","mode","duration","center","genPlane","rules","entity","materialSwitchSystem","switchType","environment","open","close","setScaleRatio"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import { use, utils } from '@anov/3d-core'\nimport type { MaterialSwitchSystem } from '@anov/3d-ability'\nimport { 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\nconst { emitter } = utils\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 const data = await this.sccParse.parseScene(scc, action)\n\n emitter.off('model-loading-progress')\n // 发送加载结果消息\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: data === false ? EMessageStatus.EventHandleFailed : EMessageStatus.Success,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n catch (error) {\n console.error(`Error during scene ${action}:`, error)\n emitter.off('model-loading-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 } = use.useScene()\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","use","utils","MessageType","sendToMessage","EMessageStatus","hybridList","FileParse","emitter","Scene","app","sccParse","_init","_callee","params","_callee$","_context","handleScene","init","_x","_switch2","_callee2","_callee2$","_context2","clear","_switch","_x2","_handleScene","_callee3","action","scc","data","_callee3$","_context3","parseScene","off","messageType","Event","messageName","status","EventHandleFailed","Success","global","progress","state","t0","console","concat","_x3","_x4","destroy","_this$app$sceneContro","sceneControl","setSize","width","height","_use$useScene","useScene","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 { use, utils } from '@anov/3d-core'\nimport type { MaterialSwitchSystem } from '@anov/3d-ability'\nimport { 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\nconst { emitter } = utils\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 const data = await this.sccParse.parseScene(scc, action)\n\n emitter.off('model-loading-progress')\n // 发送加载结果消息\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: data === false ? EMessageStatus.EventHandleFailed : EMessageStatus.Success,\n global: false,\n },\n {\n progress: 1,\n state: action,\n },\n )\n }\n catch (error) {\n console.error(`Error during scene ${action}:`, error)\n emitter.off('model-loading-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 } = use.useScene()\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,12 +1,17 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
1
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
5
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
6
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
3
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" ==
|
|
5
|
-
function _toPrimitive(t, r) { if ("object" !=
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
6
10
|
import { BuildingSplit as BuildingSplitManage } from '@anov/3d-ability';
|
|
7
11
|
import { hybridList } from "../entity";
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
var Tool = /*#__PURE__*/function () {
|
|
13
|
+
function Tool(app) {
|
|
14
|
+
_classCallCheck(this, Tool);
|
|
10
15
|
_defineProperty(this, "app", void 0);
|
|
11
16
|
_defineProperty(this, "buildingMap", void 0);
|
|
12
17
|
this.app = app;
|
|
@@ -14,28 +19,30 @@ class Tool {
|
|
|
14
19
|
}
|
|
15
20
|
|
|
16
21
|
// 楼层拆分
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
_createClass(Tool, [{
|
|
23
|
+
key: "buildingSplit",
|
|
24
|
+
value: function buildingSplit(json) {
|
|
25
|
+
var _building;
|
|
26
|
+
var building = null;
|
|
27
|
+
var entityId = json.entityId,
|
|
28
|
+
floor = json.floor,
|
|
29
|
+
animation = json.animation;
|
|
30
|
+
if (this.buildingMap.has(entityId)) {
|
|
31
|
+
building = this.buildingMap.get(entityId);
|
|
32
|
+
} else {
|
|
33
|
+
var entity = hybridList.get(entityId);
|
|
34
|
+
if (!entity) throw new Error("id: ".concat(entityId, " \u627E\u4E0D\u5230\u8BE5\u6A21\u578B"));
|
|
35
|
+
building = new BuildingSplitManage(entity);
|
|
36
|
+
this.buildingMap.set(entityId, building);
|
|
37
|
+
}
|
|
38
|
+
var result = (_building = building) === null || _building === void 0 ? void 0 : _building.split({
|
|
39
|
+
floor: floor,
|
|
40
|
+
animation: animation
|
|
41
|
+
});
|
|
42
|
+
return _objectSpread(_objectSpread({}, json), result);
|
|
32
43
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
return _objectSpread(_objectSpread({}, json), result);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
44
|
+
}]);
|
|
45
|
+
return Tool;
|
|
46
|
+
}();
|
|
40
47
|
export default Tool;
|
|
41
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BuildingSplit","BuildingSplitManage","hybridList","Tool","
|
|
1
|
+
{"version":3,"names":["BuildingSplit","BuildingSplitManage","hybridList","Tool","app","_classCallCheck","_defineProperty","buildingMap","Map","_createClass","key","value","buildingSplit","json","_building","building","entityId","floor","animation","has","get","entity","Error","concat","set","result","split","_objectSpread"],"sources":["../../../src/module/tool/index.ts"],"sourcesContent":["import { BuildingSplit as BuildingSplitManage } from '@anov/3d-ability'\nimport type Anov3D from '../..'\nimport type { BaseModule } from '../../utils/abstract'\nimport { hybridList } from '../entity'\n\ntype ResourceParams = {\n url: string\n}\n\ntype LanelineControl = {\n index: number\n direction?: number\n}\n\nexport type CreateTransParams = {\n path: string\n width?: number\n divide?: number\n resource: ResourceParams[]\n baseTime?: number\n totalNum?: number\n control?: LanelineControl[]\n}\n\nclass Tool implements BaseModule {\n app: Anov3D\n buildingMap: Map<string, BuildingSplitManage>\n\n constructor(app: Anov3D) {\n this.app = app\n this.buildingMap = new Map()\n }\n\n // 楼层拆分\n buildingSplit(json) {\n let building: BuildingSplitManage = null\n const { entityId, floor, animation } = json\n\n if (this.buildingMap.has(entityId)) {\n building = this.buildingMap.get(entityId)\n }\n else {\n const entity = hybridList.get(entityId)\n if (!entity)\n throw new Error(`id: ${entityId} 找不到该模型`)\n building = new BuildingSplitManage(entity)\n this.buildingMap.set(entityId, building)\n }\n const result = building?.split({ floor, animation })\n return { ...json, ...result }\n }\n}\n\nexport default Tool"],"mappings":";;;;;;;;;AAAA,SAASA,aAAa,IAAIC,mBAAmB,QAAQ,kBAAkB;AAGvE,SAASC,UAAU;AAAmB,IAqBhCC,IAAI;EAIR,SAAAA,KAAYC,GAAW,EAAE;IAAAC,eAAA,OAAAF,IAAA;IAAAG,eAAA;IAAAA,eAAA;IACvB,IAAI,CAACF,GAAG,GAAGA,GAAG;IACd,IAAI,CAACG,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC;EAC9B;;EAEA;EAAAC,YAAA,CAAAN,IAAA;IAAAO,GAAA;IAAAC,KAAA,EACA,SAAAC,cAAcC,IAAI,EAAE;MAAA,IAAAC,SAAA;MAClB,IAAIC,QAA6B,GAAG,IAAI;MACxC,IAAQC,QAAQ,GAAuBH,IAAI,CAAnCG,QAAQ;QAAEC,KAAK,GAAgBJ,IAAI,CAAzBI,KAAK;QAAEC,SAAS,GAAKL,IAAI,CAAlBK,SAAS;MAElC,IAAI,IAAI,CAACX,WAAW,CAACY,GAAG,CAACH,QAAQ,CAAC,EAAE;QAClCD,QAAQ,GAAG,IAAI,CAACR,WAAW,CAACa,GAAG,CAACJ,QAAQ,CAAC;MAC3C,CAAC,MACI;QACH,IAAMK,MAAM,GAAGnB,UAAU,CAACkB,GAAG,CAACJ,QAAQ,CAAC;QACvC,IAAI,CAACK,MAAM,EACT,MAAM,IAAIC,KAAK,QAAAC,MAAA,CAAQP,QAAQ,0CAAS,CAAC;QAC3CD,QAAQ,GAAG,IAAId,mBAAmB,CAACoB,MAAM,CAAC;QAC1C,IAAI,CAACd,WAAW,CAACiB,GAAG,CAACR,QAAQ,EAAED,QAAQ,CAAC;MAC1C;MACA,IAAMU,MAAM,IAAAX,SAAA,GAAGC,QAAQ,cAAAD,SAAA,uBAARA,SAAA,CAAUY,KAAK,CAAC;QAAET,KAAK,EAALA,KAAK;QAAEC,SAAS,EAATA;MAAU,CAAC,CAAC;MACpD,OAAAS,aAAA,CAAAA,aAAA,KAAYd,IAAI,GAAKY,MAAM;IAC7B;EAAC;EAAA,OAAAtB,IAAA;AAAA;AAGH,eAAeA,IAAI"}
|