Jelajahi Sumber

激光3dtiles算法提前上

dsx 2 tahun lalu
induk
melakukan
3256dcc826

+ 7 - 5
src/main/java/com/fdkankan/contro/mq/service/impl/BuildSceneServiceImpl.java

@@ -241,7 +241,7 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
 
             Map<String,String> damFileHeaders = new HashMap<>();
             damFileHeaders.put("Content-Encoding","gzip");
-            if(modelKind.equals(ModelKind.DAM.code())){
+            if (!ObjectUtils.isEmpty(cameraType) && !cameraType.equals(14)) {
                 if (!fYunFileService.getFyunType().equals(FYunTypeEnum.LOCAL.code())) {
                     // dam 文件设置请求头
                     uploadFiles.entrySet().stream().filter(entry -> FileNameUtil.extName(entry.getKey()).equals("dam"))
@@ -379,16 +379,18 @@ public class BuildSceneServiceImpl implements IBuildSceneService {
         }
 
         //exportMeshObj这个是字段由app写入的
-        if (this.modelKind.equals(ModelKind.DAM.code()) &&
-            ((fdageData.containsKey("exportMeshObj") && fdageData.getIntValue("exportMeshObj") == 1)
-            || (!ObjectUtils.isEmpty(cameraType) && (!cameraType.equals(14))))) {
+        if (!ObjectUtils.isEmpty(cameraType) && !cameraType.equals(14)) {
             CreateObjUtil.convertTxtToDam(path + File.separator + "results" + File.separator + "tex" + File.separator + "modeldata.txt", path + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam");
             CreateObjUtil.convertDamToLzma(path + File.separator + "results/");
             CreateObjUtil.convertTxtToDam(path + File.separator + "results" + File.separator + "tex" + File.separator + "modeldata.txt", path + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam");
             map.put(path + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam.lzma", imagesPath + ConstantFileName.modelUUID + "_50k.dam.lzma");
             map.put(path + File.separator + "results" + File.separator + ConstantFileName.modelUUID + "_50k.dam", imagesPath + ConstantFileName.modelUUID + "_50k.dam");
         }
-        if(this.modelKind.equals(ModelKind.THREE_D_TILE.code())){
+
+        if(this.modelKind.equals(ModelKind.THREE_D_TILE.code())
+                && (!ObjectUtils.isEmpty(cameraType) && cameraType == 14 )//是激光场景
+                && (fdageData.containsKey("exportMeshObj") && fdageData.getIntValue("exportMeshObj") == 1)//选择生成obj
+        ){
             List<String> list = FileUtils.list(new File(path + File.separator + "results" + File.separator + ModelKind.THREE_D_TILE.code()));
             if(CollUtil.isEmpty(list)){
                 log.error("3dtiles目录异常,3dtiles地址:{}", new File(path + File.separator + "results" + File.separator + ModelKind.THREE_D_TILE.code()));

+ 21 - 12
src/main/java/com/fdkankan/contro/service/impl/SceneFileBuildServiceImpl.java

@@ -622,12 +622,14 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
                 callV3Service(preParams, api);
                 return Boolean.TRUE;
             }
-        }else if (Objects.nonNull(scenePro) &&
-            scenePro.getSceneSource() != SceneSource.JG.code() &&
-            scenePro.getIsUpgrade() == CommonStatus.NO.code().intValue()){
-            callV3Service(preParams,api);
-            return Boolean.TRUE;
         }
+        // TODO: 2023/1/12 3dtiles临时上激光场景
+//        else if (Objects.nonNull(scenePro) &&
+//            scenePro.getSceneSource() != SceneSource.JG.code() &&
+//            scenePro.getIsUpgrade() == CommonStatus.NO.code().intValue()){
+//            callV3Service(preParams,api);
+//            return Boolean.TRUE;
+//        }
         return Boolean.FALSE;
     }
 
@@ -761,7 +763,6 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         scenePlus.setNum(projectNum);
         scenePlus.setSceneSource(1);
         scenePlusExt.setDataSource(dataSource);
-        scenePlusExt.setModelKind(modelKind);
 
         if(resolution == null || resolution.intValue() == 0){
             scenePlusExt.setSceneScheme(cameraType.intValue());
@@ -779,6 +780,7 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
         if(cameraType.longValue() == 14 ){
             scenePlus.setSceneSource(4);
             scenePlusExt.setSceneScheme(10);
+            scenePlusExt.setModelKind(modelKind);
         }
 
         if (pic != null && pic.length() > 5) {
@@ -1077,14 +1079,21 @@ public class SceneFileBuildServiceImpl extends ServiceImpl<ISceneFileBuildMapper
     public ResultData rebuildScene(String num,Boolean force,Boolean deleteExtras) throws IOException {
 
         ScenePro scenePro = sceneProService.getByNum(num);
+
+        // TODO: 2023/1/12 3dtiles临时上激光场景
+//        if(Objects.nonNull(scenePro) && (Objects.isNull(scenePro.getIsUpgrade())
+//            || scenePro.getIsUpgrade() != CommonStatus.YES.code().intValue())){
+//            if(scenePro.getSceneSource() == SceneSource.JG.code().intValue()){
+//                return rebuildV3Scene(scenePro,num,force);
+//            }else{
+//                return rebuildV3SceneToMini(scenePro);
+//            }
+//        }
+
         //如果是v3场景,不允许重算,需要升级v4后再调此接口进行重算
         if(Objects.nonNull(scenePro) && (Objects.isNull(scenePro.getIsUpgrade())
-            || scenePro.getIsUpgrade() != CommonStatus.YES.code().intValue())){
-            if(scenePro.getSceneSource() == SceneSource.JG.code().intValue()){
-                return rebuildV3Scene(scenePro,num,force);
-            }else{
-                return rebuildV3SceneToMini(scenePro);
-            }
+                || scenePro.getIsUpgrade() != CommonStatus.YES.code().intValue())){
+            return rebuildV3Scene(scenePro,num,force);
         }
 
         ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);