bill 2 gadi atpakaļ
vecāks
revīzija
2790d2ac7e
2 mainītis faili ar 11 papildinājumiem un 10 dzēšanām
  1. 1 1
      src/api/model.ts
  2. 10 9
      src/sdk/association.ts

+ 1 - 1
src/api/model.ts

@@ -75,7 +75,7 @@ const serviceToLocal = (serviceModel: ServiceModel): Model => ({
   url: serviceModel.modelUrl,
   title: serviceModel.modelTitle,
   fusionId: serviceModel.fusionId,
-  type:  (serviceModel.modelDateType === 'b3dm' || serviceModel.modelDateType === 'osgb') ? ModelType.OSGB : serviceModel.type === 2 ? ModelType.SWMX : ModelType.SWMX,
+  type:  serviceModel.modelDateType === 'osgb' ? ModelType.OSGB : serviceModel.modelDateType === 'b3dm' ? ModelType.B3DM : serviceModel.type === 2 ? ModelType.SWMX : ModelType.SWMX,
   size: serviceModel.modelSize,
   time: serviceModel.createTime
 })

+ 10 - 9
src/sdk/association.ts

@@ -51,9 +51,11 @@ const associationModels = (sdk: SDK) => {
       sceneModelMap.set(itemRaw, sceneModel)
 
       sceneModel.bus.on('transformChanged', transform => {
-        selfUpdate = true
-        Object.assign(item, transform)
-        nextTick(() => selfUpdate = false)
+        setTimeout(() => {
+          selfUpdate = true
+          Object.assign(item, transform)
+          nextTick(() => selfUpdate = false)
+        }, 100)
       })
       sceneModel.bus.on('changeSelect', select => {
         if (custom.currentModel === item && !select) {
@@ -93,25 +95,24 @@ const associationModels = (sdk: SDK) => {
           watchEffect(() => {
             item.bottom
             selfUpdate || getSceneModel(item)?.changeBottom(item.bottom)
-          })
+          }, {flush: 'sync'})
           watchEffect(() => {
             item.opacity
             selfUpdate || getSceneModel(item)?.changeOpacity(item.opacity)
-          })
+          }, {flush: 'sync'})
           watchEffect(() => {
             item.position
             selfUpdate || getSceneModel(item)?.changePosition(item.position)
-          })
+          }, {flush: 'sync'})
           watchEffect(() => {
             item.rotation
             selfUpdate || getSceneModel(item)?.changeRotation(item.rotation)
-          })
+          }, {flush: 'sync'})
           watchEffect(() => {
             item.scale
             selfUpdate || getSceneModel(item)?.changeScale(item.scale)
-          })
+          }, {flush: 'sync'})
           watchEffect(() => {
-            console.log("切换显示", item, modelShow.value)
             getSceneModel(item)?.changeShow(modelShow.value)
           })
           stopLoadedWatch()