邵佳豪 3 years ago
parent
commit
d394c31691
  1. 60
      src/app/babylon/controller/config-manager.ts
  2. 961
      src/app/babylon/controller/inputController.ts
  3. 6
      src/app/babylon/controller/scene-manager.ts
  4. 127
      src/app/babylon/model/data/mark/all-mark-data.ts
  5. 320
      src/app/babylon/model/data/mark/mark-data.ts
  6. 5
      src/app/babylon/model/data/mark/mark-plan-data.ts
  7. 19
      src/app/babylon/model/info/mark/model-info-mark.ts
  8. 4
      src/app/babylon/model/info/mark/other/mark-plan-area-info.ts
  9. 12
      src/app/babylon/model/info/mark/other/mark-plan-multi-line-info.ts
  10. 11
      src/app/babylon/tool/speaking-tool.ts
  11. 24
      src/app/babylon/view/building-window/building-window.ts
  12. 66
      src/app/babylon/view/mark-window/mark-window.ts
  13. BIN
      src/assets/mesh/mark/disaster/syd/SYD.bin
  14. 131
      src/assets/mesh/mark/disaster/syd/SYD.gltf
  15. 5
      src/assets/mesh/mark/disaster/syd/SYD.gltf.manifest
  16. BIN
      src/assets/mesh/mark/disaster/syd/ShangYuanC.jpg
  17. BIN
      src/assets/mesh/outdoor/ZhuTi/FireExtinguisher_FireExtinguisher_AlbedoTransparency.png
  18. BIN
      src/assets/mesh/outdoor/ZhuTi/LuZhuang.jpg
  19. BIN
      src/assets/mesh/outdoor/ZhuTi/QiCaiXiang.jpg
  20. BIN
      src/assets/mesh/outdoor/ZhuTi/SanXiang.jpg
  21. BIN
      src/assets/mesh/outdoor/ZhuTi/ShaDai.jpg
  22. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_BanGong.jpg
  23. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_ChuGuan.png
  24. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_GX1.jpg
  25. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_JYJ1.jpg
  26. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_JYJ2.jpg
  27. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_JingGai.jpg
  28. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_JingGai1.jpg
  29. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_SXT.png
  30. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_SheDeng1.jpg
  31. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_floor1.jpg
  32. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_floor2.jpg
  33. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_gg1.jpg
  34. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_gg2.jpg
  35. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_gg3.jpg
  36. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_gg4.jpg
  37. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_gg5.jpg
  38. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_gg6.jpg
  39. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_glass1.jpg
  40. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_guitai1.jpg
  41. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall1.jpg
  42. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall10.jpg
  43. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall11.jpg
  44. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall12.jpg
  45. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall2.jpg
  46. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall3.jpg
  47. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall4.jpg
  48. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall5.jpg
  49. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall6.jpg
  50. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall7.jpg
  51. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall8.jpg
  52. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_wall9.jpg
  53. BIN
      src/assets/mesh/outdoor/ZhuTi/ZHSY_yinxiang.jpg
  54. BIN
      src/assets/mesh/outdoor/ZhuTi/ZhuTi.bin
  55. 10098
      src/assets/mesh/outdoor/ZhuTi/ZhuTi.gltf
  56. BIN
      src/assets/mesh/outdoor/ZhuTi/mhq-xiang.jpg
  57. 5
      yarn.lock

60
src/app/babylon/controller/config-manager.ts

@ -126,14 +126,8 @@ export class ConfigManager {
* *
*/ */
static s_markName = new Map<MarkType, string>([ static s_markName = new Map<MarkType, string>([
[MarkType.SYA, "伤员"],
[MarkType.SYB, "伤员"],
[MarkType.SYC, "伤员"],
[MarkType.SYD, "伤员"], [MarkType.SYD, "伤员"],
[MarkType.ZQR, "知情人"],
[MarkType.WXP, "危险品"],
[MarkType.ZWD, "杂物堆"],
[MarkType.PCD, "破拆点"],
[MarkType.H, "火"], [MarkType.H, "火"],
[MarkType.TPH, "突破火"], [MarkType.TPH, "突破火"],
[MarkType.SNH, "室内火"], [MarkType.SNH, "室内火"],
@ -141,69 +135,19 @@ export class ConfigManager {
[MarkType.YWB, "烟雾"], [MarkType.YWB, "烟雾"],
[MarkType.YWC, "烟雾"], [MarkType.YWC, "烟雾"],
[MarkType.MHF, "灭火服"], [MarkType.MHF, "灭火服"],
[MarkType.JYF, "救援服"],
[MarkType.GRF, "隔热服"],
[MarkType.FHF, "防化服"],
[MarkType.BHF, "避火服"],
[MarkType.YWXFY, "义务消防员"],
[MarkType.AQS, "安全哨"],
[MarkType.MTC, "摩托车"],
[MarkType.XLC, "巡逻车"],
[MarkType.SGC, "水罐车"],
[MarkType.PMC, "泡沫车"], [MarkType.PMC, "泡沫车"],
[MarkType.GPC, "高喷车"],
[MarkType.DGPTC, "登高平台车"],
[MarkType.YTC, "云梯车"],
[MarkType.QXJYC, "抢险救援车"],
[MarkType.QCC, "器材车"],
[MarkType.ZMC, "照明车"],
[MarkType.PCC, "破拆车"],
[MarkType.PYC, "排烟车"],
[MarkType.ZHC, "指挥车"],
[MarkType.GCGSC, "高层供水车"],
[MarkType.KQHXCQC, "空气呼吸充气车"],
[MarkType.GA, "公安"], [MarkType.GA, "公安"],
[MarkType.JJ, "交警"], [MarkType.JJ, "交警"],
[MarkType.YS, "医生"], [MarkType.YS, "医生"],
[MarkType.QXRY, "抢修人员"],
[MarkType.JHC, "救护车"], [MarkType.JHC, "救护车"],
[MarkType.JC, "警车"], [MarkType.JC, "警车"],
[MarkType.DLQXC, "电力抢修车"],
[MarkType.RQQXC, "燃气抢修车"],
[MarkType.GSQXC, "供水抢修车"],
[MarkType.HBJCC, "环保检测车"],
[MarkType.JTYSC, "交通运输车"],
[MarkType.WSFYC, "卫生防疫车"],
[MarkType.YJTXC, "应急通信车"],
[MarkType.JCA, "轿车"], [MarkType.JCA, "轿车"],
[MarkType.JCB, "轿车"],
[MarkType.JCC, "轿车"],
[MarkType.DSZ, "董事长"],
[MarkType.JL, "经理"], [MarkType.JL, "经理"],
[MarkType.FZ, "副总"],
[MarkType.MS, "秘书"],
[MarkType.ZJ, "总监"],
[MarkType.ZG, "主管"], [MarkType.ZG, "主管"],
[MarkType.ZZ, "组长"],
[MarkType.QT, "前台"],
[MarkType.SJS, "设计师"],
[MarkType.CXY, "程序员"],
[MarkType.ZYA, "职员"],
[MarkType.ZYB, "职员"],
[MarkType.JG, "技工"],
[MarkType.BA, "保安"],
[MarkType.JJX, "警戒线"], [MarkType.JJX, "警戒线"],
[MarkType.SD, "水带"],
[MarkType.JGLX, "进攻路线"], [MarkType.JGLX, "进攻路线"],
[MarkType.CT, "撤退"], [MarkType.CT, "撤退"],
[MarkType.ZHB, "指挥部"],
[MarkType.LT6, "6米拉梯"],
[MarkType.LT15, "15米拉梯"],
[MarkType.FSQ, "分水器"],
[MarkType.STB, "手抬泵"],
[MarkType.SP, "水炮"],
[MarkType.WZ, "文字"], [MarkType.WZ, "文字"],
[MarkType.JJQ, "集结区"],
[MarkType.QYSDA, "区域设定"], [MarkType.QYSDA, "区域设定"],
[MarkType.QYSDB, "区域设定"], [MarkType.QYSDB, "区域设定"],
]); ]);
@ -228,7 +172,7 @@ export class ConfigManager {
*/ */
static getMarkModelPath(pos: MarkTagPos, type: MarkType): string { static getMarkModelPath(pos: MarkTagPos, type: MarkType): string {
let result = ConfigManager.c_resPath_assetsRoot + "mark/" + pos.toLocaleLowerCase() + "/" + type.toLocaleLowerCase() + "/"; let result = ConfigManager.c_resPath_assetsRoot + "mesh/mark/" + pos.toLocaleLowerCase() + "/" + type.toLocaleLowerCase() + "/";
return result; return result;
} }

961
src/app/babylon/controller/inputController.ts

File diff suppressed because it is too large Load Diff

6
src/app/babylon/controller/scene-manager.ts

@ -496,7 +496,6 @@ export class SceneManager {
} }
else if (modelType == ModelType.Mark) { else if (modelType == ModelType.Mark) {
switch ((modelData as MarkData).type) { switch ((modelData as MarkData).type) {
case MarkType.JJQ:
case MarkType.QYSDA: case MarkType.QYSDA:
case MarkType.QYSDB: case MarkType.QYSDB:
modelData = plainToClass(MarkData_Area, modelData); modelData = plainToClass(MarkData_Area, modelData);
@ -506,10 +505,7 @@ export class SceneManager {
modelData = plainToClass(MarkData_Line, modelData); modelData = plainToClass(MarkData_Line, modelData);
modelInfo = new ModelInfo_mark_line(modelData as MarkData, null, defaultMesh, null, isNew); modelInfo = new ModelInfo_mark_line(modelData as MarkData, null, defaultMesh, null, isNew);
break; break;
case MarkType.SD:
modelData = plainToClass(MarkData_multiLine, modelData);
modelInfo = new ModelInfo_mark_multiLine(modelData as MarkData, null, defaultMesh, null, isNew);
break;
case MarkType.JGLX: case MarkType.JGLX:
modelData = plainToClass(MarkData_multiArrow_JG, modelData); modelData = plainToClass(MarkData_multiArrow_JG, modelData);
modelInfo = new ModelInfo_mark_multiArrow(modelData as MarkData, null, defaultMesh, null, isNew); modelInfo = new ModelInfo_mark_multiArrow(modelData as MarkData, null, defaultMesh, null, isNew);

127
src/app/babylon/model/data/mark/all-mark-data.ts

@ -16,16 +16,16 @@ export class AllMarkData {
marks_Disaster: MarkData[] = []; marks_Disaster: MarkData[] = [];
/** /**
* *
*/ */
@Type(() => MarkData) @Type(() => MarkData)
marks_FireFighting: MarkData[] = []; marks_Outside: MarkData[] = [];
/** // /**
* // * 联动力量
*/ // */
@Type(() => MarkData) // @Type(() => MarkData)
marks_Linkage: MarkData[] = []; // marks_Linkage: MarkData[] = [];
/** /**
* *
@ -34,24 +34,20 @@ export class AllMarkData {
marks_Inside: MarkData[] = []; marks_Inside: MarkData[] = [];
/** /**
* *
*/ */
@Type(() => MarkData) @Type(() => MarkData)
marks_Tool: MarkData[] = []; marks_Other: MarkData[] = [];
static CreateAllMarkData(): AllMarkData { static CreateAllMarkData(): AllMarkData {
let result = new AllMarkData(); let result = new AllMarkData();
//灾情 //灾情
let tagPos: MarkTagPos = MarkTagPos.Disaster; let tagPos: MarkTagPos = MarkTagPos.Disaster;
AllMarkData.newMarkData(MarkType.SYA, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.SYB, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.SYC, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.SYD, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.SYD, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.ZQR, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.DY, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.WXP, MarkKindType.Goods, tagPos, result); AllMarkData.newMarkData(MarkType.LYX, MarkKindType.Goods, tagPos, result);
AllMarkData.newMarkData(MarkType.ZWD, MarkKindType.Goods, tagPos, result); AllMarkData.newMarkData(MarkType.LYD, MarkKindType.Goods, tagPos, result);
AllMarkData.newMarkData(MarkType.PCD, MarkKindType.Goods, tagPos, result);
AllMarkData.newMarkData(MarkType.H, MarkKindType.Effect, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.H, MarkKindType.Effect, tagPos, result, undefined, false);
AllMarkData.newMarkData(MarkType.TPH, MarkKindType.Effect, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.TPH, MarkKindType.Effect, tagPos, result, undefined, false);
AllMarkData.newMarkData(MarkType.SNH, MarkKindType.Effect, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.SNH, MarkKindType.Effect, tagPos, result, undefined, false);
@ -59,81 +55,34 @@ export class AllMarkData {
AllMarkData.newMarkData(MarkType.YWB, MarkKindType.Effect, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.YWB, MarkKindType.Effect, tagPos, result, undefined, false);
AllMarkData.newMarkData(MarkType.YWC, MarkKindType.Effect, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.YWC, MarkKindType.Effect, tagPos, result, undefined, false);
//消防力量 //外部力量
tagPos = MarkTagPos.FireFighting; tagPos = MarkTagPos.Outside;
AllMarkData.newMarkData(MarkType.MHF, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.JYF, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.GRF, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.FHF, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.BHF, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.YWXFY, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.AQS, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.MTC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.XLC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.SGC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.PMC, MarkKindType.Car, tagPos, result); AllMarkData.newMarkData(MarkType.PMC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.GPC, MarkKindType.Car, tagPos, result); AllMarkData.newMarkData(MarkType.MHF, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.DGPTC, MarkKindType.Car, tagPos, result); AllMarkData.newMarkData(MarkType.JC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.YTC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.QXJYC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.QCC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.ZMC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.PCC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.PYC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.ZHC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.GCGSC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.KQHXCQC, MarkKindType.Car, tagPos, result);
//联动力量
tagPos = MarkTagPos.Linkage;
AllMarkData.newMarkData(MarkType.GA, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.JJ, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.JJ, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.YS, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.GA, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.QXRY, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.JHC, MarkKindType.Car, tagPos, result); AllMarkData.newMarkData(MarkType.JHC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.JC, MarkKindType.Car, tagPos, result); AllMarkData.newMarkData(MarkType.YS, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.DLQXC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.RQQXC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.GSQXC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.HBJCC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.JTYSC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.WSFYC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.YJTXC, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.JCA, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.JCB, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.JCC, MarkKindType.Car, tagPos, result);
//内部力量 //内部力量
tagPos = MarkTagPos.Inside; tagPos = MarkTagPos.Inside;
AllMarkData.newMarkData(MarkType.DSZ, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.JL, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.JL, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.FZ, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.MS, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.ZJ, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.ZG, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.ZG, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.ZZ, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.SYY, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.QT, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.JYY, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.SJS, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.XYY, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.CXY, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.XFSD, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.ZYA, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.XFSQ, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.ZYB, MarkKindType.Persion, tagPos, result); AllMarkData.newMarkData(MarkType.XFT, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.JG, MarkKindType.Persion, tagPos, result);
AllMarkData.newMarkData(MarkType.BA, MarkKindType.Persion, tagPos, result); //其他
tagPos = MarkTagPos.Other;
//标绘工具 AllMarkData.newMarkData(MarkType.GK, MarkKindType.Persion, tagPos, result);
tagPos = MarkTagPos.Tool; AllMarkData.newMarkData(MarkType.JCA, MarkKindType.Car, tagPos, result);
AllMarkData.newMarkData(MarkType.JJX, MarkKindType.Goods, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.JJX, MarkKindType.Goods, tagPos, result, undefined, false);
AllMarkData.newMarkData(MarkType.SD, MarkKindType.Goods, tagPos, result, undefined, false);
AllMarkData.newMarkData(MarkType.JGLX, MarkKindType.Virtual, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.JGLX, MarkKindType.Virtual, tagPos, result, undefined, false);
AllMarkData.newMarkData(MarkType.CT, MarkKindType.Virtual, tagPos, result, undefined, false); AllMarkData.newMarkData(MarkType.CT, MarkKindType.Virtual, tagPos, result, undefined, false);
AllMarkData.newMarkData(MarkType.ZHB, MarkKindType.Goods, tagPos, result, MarkTask.Unknown);
AllMarkData.newMarkData(MarkType.LT6, MarkKindType.Goods, tagPos, result);
AllMarkData.newMarkData(MarkType.LT15, MarkKindType.Goods, tagPos, result);
AllMarkData.newMarkData(MarkType.FSQ, MarkKindType.Goods, tagPos, result);
AllMarkData.newMarkData(MarkType.STB, MarkKindType.Goods, tagPos, result);
AllMarkData.newMarkData(MarkType.SP, MarkKindType.Goods, tagPos, result, MarkTask.WaterMonitor);
AllMarkData.newMarkData(MarkType.WZ, MarkKindType.Virtual, tagPos, result, MarkTask.Unknown); AllMarkData.newMarkData(MarkType.WZ, MarkKindType.Virtual, tagPos, result, MarkTask.Unknown);
AllMarkData.newMarkData(MarkType.JJQ, MarkKindType.Virtual, tagPos, result, MarkTask.Unknown, false);
AllMarkData.newMarkData(MarkType.QYSDA, MarkKindType.Virtual, tagPos, result, MarkTask.Unknown, false); AllMarkData.newMarkData(MarkType.QYSDA, MarkKindType.Virtual, tagPos, result, MarkTask.Unknown, false);
AllMarkData.newMarkData(MarkType.QYSDB, MarkKindType.Virtual, tagPos, result, MarkTask.Unknown, false); AllMarkData.newMarkData(MarkType.QYSDB, MarkKindType.Virtual, tagPos, result, MarkTask.Unknown, false);
@ -161,17 +110,17 @@ export class AllMarkData {
case MarkTagPos.Disaster: case MarkTagPos.Disaster:
list = allMarkData.marks_Disaster; list = allMarkData.marks_Disaster;
break; break;
case MarkTagPos.FireFighting: case MarkTagPos.Outside:
list = allMarkData.marks_FireFighting list = allMarkData.marks_Outside
break;
case MarkTagPos.Linkage:
list = allMarkData.marks_Linkage;
break; break;
// case MarkTagPos.Linkage:
// list = allMarkData.marks_Linkage;
// break;
case MarkTagPos.Inside: case MarkTagPos.Inside:
list = allMarkData.marks_Inside; list = allMarkData.marks_Inside;
break; break;
case MarkTagPos.Tool: case MarkTagPos.Other:
list = allMarkData.marks_Tool; list = allMarkData.marks_Other;
break; break;
} }
@ -197,7 +146,6 @@ export class AllMarkData {
let result = null; let result = null;
switch (type) { switch (type) {
case MarkType.JJQ:
case MarkType.QYSDA: case MarkType.QYSDA:
case MarkType.QYSDB: case MarkType.QYSDB:
result = new MarkData_Area(type.toString(), type, tagPos, kindType, icon, modelPath, modelName, taskType, isModel); result = new MarkData_Area(type.toString(), type, tagPos, kindType, icon, modelPath, modelName, taskType, isModel);
@ -205,9 +153,6 @@ export class AllMarkData {
case MarkType.JJX: case MarkType.JJX:
result = new MarkData_Line(type.toString(), type, tagPos, kindType, icon, modelPath, modelName, taskType, isModel); result = new MarkData_Line(type.toString(), type, tagPos, kindType, icon, modelPath, modelName, taskType, isModel);
break; break;
case MarkType.SD:
result = new MarkData_multiLine(type.toString(), type, tagPos, kindType, icon, modelPath, modelName, taskType, isModel);
break;
case MarkType.JGLX: case MarkType.JGLX:
result = new MarkData_multiArrow_JG(type.toString(), type, tagPos, kindType, icon, modelPath, modelName, taskType, isModel); result = new MarkData_multiArrow_JG(type.toString(), type, tagPos, kindType, icon, modelPath, modelName, taskType, isModel);
break; break;

320
src/app/babylon/model/data/mark/mark-data.ts

@ -17,7 +17,7 @@ export class MarkData extends ModelData {
/** /**
* *
*/ */
type: MarkType = MarkType.SYA; type: MarkType = MarkType.SYD;
/** /**
* tag * tag
@ -102,24 +102,19 @@ export enum MarkTagPos {
Disaster = "Disaster", Disaster = "Disaster",
/** /**
* *
*/ */
FireFighting = "FireFighting", Inside = "Inside",
/** /**
* *
*/ */
Linkage = "Linkage", Outside = "Outside",
/**
*
*/
Inside = "Inside",
/** /**
* *
*/ */
Tool = "Tool", Other = "Other",
} }
@ -161,42 +156,26 @@ export enum MarkKindType {
export enum MarkType { export enum MarkType {
//============灾情设定=============== //============灾情设定===============
/**
* A
*/
SYA = "SYA",
/**
* B
*/
SYB = "SYB",
/**
* C
*/
SYC = "SYC",
/** /**
* D * D
*/ */
SYD = "SYD", SYD = "SYD",
/** /**
* *
*/
ZQR = "ZQR",
/**
*
*/ */
WXP = "WXP", DY = "DT",
/** /**
* *
*/ */
ZWD = "ZWD", LYD = "LYD",
/** /**
* *
*/ */
PCD = "PCD", LYX = "LYX",
/** /**
* *
@ -228,123 +207,23 @@ export enum MarkType {
*/ */
YWC = "YWC", YWC = "YWC",
//==================消防力量================ //==================外部力量================
/** /**
* *
*/ */
MHF = "MHF", MHF = "MHF",
/**
*
*/
JYF = "JYF",
/**
*
*/
GRF = "GRF",
/**
*
*/
FHF = "FHF",
/**
*
*/
BHF = "BHF",
/**
*
*/
YWXFY = "YWXFY",
/**
*
*/
AQS = "AQS",
/**
*
*/
MTC = "MTC",
/**
*
*/
XLC = "XLC",
/**
*
*/
SGC = "SGC",
/** /**
* *
*/ */
PMC = "PMC", PMC = "PMC",
/**
*
*/
GPC = "GPC",
/**
*
*/
DGPTC = "DGPTC",
/**
*
*/
YTC = "YTC",
/**
*
*/
QXJYC = "QXJYC",
/**
*
*/
QCC = "QCC",
/** /**
* *
*/
ZMC = "ZMC",
/**
*
*/
PCC = "PCC",
/**
*
*/
PYC = "PYC",
/**
*
*/
ZHC = "ZHC",
/**
*
*/
GCGSC = "GCGSC",
/**
*
*/
KQHXCQC = "KQHXCQC",
//================联动力量===================
/**
*
*/ */
GA = "GA", JC = "JC",
/** /**
* *
@ -352,158 +231,78 @@ export enum MarkType {
JJ = "JJ", JJ = "JJ",
/** /**
* *
*/
YS = "YS",
/**
*
*/ */
QXRY = "QXRY", GA = "GA",
/** /**
* *
*/ */
JHC = "JHC", JHC = "JHC",
/**
*
*/
JC = "JC",
/**
*
*/
DLQXC = "DLQXC",
/** /**
* *
*/
RQQXC = "RQQXC",
/**
*
*/
GSQXC = "GSQXC",
/**
*
*/
HBJCC = "HBJCC",
/**
*
*/
JTYSC = "JTYSC",
/**
*
*/
WSFYC = "WSFYC",
/**
*
*/
YJTXC = "YJTXC",
/**
* 轿
*/
JCA = "JCA",
/**
* 轿
*/
JCB = "JCB",
/**
* 轿
*/ */
JCC = "JCC", YS = "YS",
//===============内部力量================= //===============内部力量=================
/**
*
*/
DSZ = "DSZ",
/** /**
* *
*/ */
JL = "JL", JL = "JL",
/**
*
*/
FZ = "FZ",
/**
*
*/
MS = "MS",
/**
*
*/
ZJ = "ZJ",
/** /**
* *
*/ */
ZG = "ZG", ZG = "ZG",
/** /**
* *
*/ */
ZZ = "ZZ", SYY = "SYY",
/** /**
* *
*/ */
QT = "QT", JYY = "JYY",
/** /**
* *
*/ */
SJS = "SJS", XYY = "XYY",
/** /**
* *
*/ */
CXY = "CXY", XFSD = "XFSD",
/** /**
* *
*/ */
ZYA = "ZYA", XFSQ = "XFSQ",
/** /**
* *
*/ */
ZYB = "ZYB", XFT = "XFT",
//===================其他===================
/** /**
* *
*/ */
JG = "JG", GK = "GK",
/** /**
* * 轿
*/ */
BA = "BA", JCA = "JCA",
//===================标绘工具===================
/** /**
* 线 * 线
*/ */
JJX = "JJX", JJX = "JJX",
/**
*
*/
SD = "SD",
/** /**
* 线 * 线
*/ */
@ -514,46 +313,11 @@ export enum MarkType {
*/ */
CT = "CT", CT = "CT",
/**
*
*/
ZHB = "ZHB",
/**
* 6
*/
LT6 = "LT6",
/**
* 15
*/
LT15 = "LT15",
/**
*
*/
FSQ = "FSQ",
/**
*
*/
STB = "STB",
/**
*
*/
SP = "SP",
/** /**
* *
*/ */
WZ = "WZ", WZ = "WZ",
/**
*
*/
JJQ = "JJQ",
/** /**
* *
*/ */
@ -588,11 +352,5 @@ export enum MarkTask {
* *
*/ */
Car, Car,
/**
*
*/
WaterMonitor
} }

5
src/app/babylon/model/data/mark/mark-plan-data.ts

@ -213,6 +213,11 @@ export class MarkNodeData {
@Type(() => ArcRotateCameraData) @Type(() => ArcRotateCameraData)
cameraData: ArcRotateCameraData; cameraData: ArcRotateCameraData;
/**
*
*/
showZP: boolean;
/** /**
* *
*/ */

19
src/app/babylon/model/info/mark/model-info-mark.ts

@ -374,10 +374,6 @@ export class ModelInfo_mark extends ModelInfo {
let result = false; let result = false;
switch (this.markData.type) { switch (this.markData.type) {
case MarkType.MHF: case MarkType.MHF:
case MarkType.JYF:
case MarkType.GRF:
case MarkType.FHF:
case MarkType.BHF:
result = true; result = true;
//五种消防员 //五种消防员
if (this.node_pt == null && this.models != null) { if (this.node_pt == null && this.models != null) {
@ -390,17 +386,13 @@ export class ModelInfo_mark extends ModelInfo {
// } // }
} }
break; break;
case MarkType.SGC:
case MarkType.PMC: case MarkType.PMC:
case MarkType.GPC:
case MarkType.GCGSC:
case MarkType.YTC:
//五种消防车 //五种消防车
result = true; result = true;
break; break;
case MarkType.SP:
result = true;
break;
default: default:
break; break;
} }
@ -455,10 +447,7 @@ export class ModelInfo_mark extends ModelInfo {
} }
switch (this.markData.type) { switch (this.markData.type) {
case MarkType.MHF: case MarkType.MHF:
case MarkType.JYF:
case MarkType.GRF:
case MarkType.FHF:
case MarkType.BHF:
//消防员,显隐喷枪 //消防员,显隐喷枪
if (this.node_pt != null) { if (this.node_pt != null) {
this.node_pt.setEnabled(show); this.node_pt.setEnabled(show);

4
src/app/babylon/model/info/mark/other/mark-plan-area-info.ts

@ -100,8 +100,8 @@ export class ModelInfo_mark_area extends ModelInfo_mark {
if (isNew) { if (isNew) {
switch (data.type) { switch (data.type) {
case MarkType.JJQ: data.pointData = this.getDefaultPoint_4(); // case MarkType.JJQ: data.pointData = this.getDefaultPoint_4();
break; // break;
case MarkType.QYSDA: data.pointData = this.getDefaultPoint_6(); case MarkType.QYSDA: data.pointData = this.getDefaultPoint_6();
break; break;
case MarkType.QYSDB: data.pointData = this.getDefaultPoint_8(); case MarkType.QYSDB: data.pointData = this.getDefaultPoint_8();

12
src/app/babylon/model/info/mark/other/mark-plan-multi-line-info.ts

@ -102,18 +102,18 @@ export class ModelInfo_mark_multiLine extends ModelInfo_mark {
if (this.lineData.pointData.length < 2) { if (this.lineData.pointData.length < 2) {
MarkWindow.instance.deleteMarkInfo(this); MarkWindow.instance.deleteMarkInfo(this);
} }
MarkWindow.instance.mulLineIsBreak_SD = -1; // MarkWindow.instance.mulLineIsBreak_SD = -1;
} }
onPointerObservable(eventData: PointerInfo, eventState: EventState) { onPointerObservable(eventData: PointerInfo, eventState: EventState) {
let instance = this; let instance = this;
if (MarkWindow.instance.mulLineIsBreak_SD < 0) { // if (MarkWindow.instance.mulLineIsBreak_SD < 0) {
instance.cancelCreate(); // instance.cancelCreate();
instance.removeEvent(); // instance.removeEvent();
return; // return;
} // }
switch (eventData.type) { switch (eventData.type) {
case PointerEventTypes.POINTERUP: case PointerEventTypes.POINTERUP:

11
src/app/babylon/tool/speaking-tool.ts

@ -16,6 +16,7 @@ export class SpeakingTool {
/** /**
* *
*
* @param msg * @param msg
*/ */
speak(msg: string) { speak(msg: string) {
@ -23,6 +24,9 @@ export class SpeakingTool {
} }
else { else {
this.clear();
let speakMsg = new SpeechSynthesisUtterance(msg); let speakMsg = new SpeechSynthesisUtterance(msg);
speakMsg.lang = "zh-CN"; speakMsg.lang = "zh-CN";
speakMsg.rate = 1; speakMsg.rate = 1;
@ -47,6 +51,13 @@ export class SpeakingTool {
window.speechSynthesis.resume(); window.speechSynthesis.resume();
} }
/**
*
*/
clear() {
window.speechSynthesis.cancel();
}
/** /**
* IE浏览器 * IE浏览器
*/ */

24
src/app/babylon/view/building-window/building-window.ts

@ -9,6 +9,7 @@ import { SceneManager } from "../../controller/scene-manager";
import { ServeManager } from "../../controller/serve-manager"; import { ServeManager } from "../../controller/serve-manager";
import { BuildingStatus } from "../../controller/status/building-status"; import { BuildingStatus } from "../../controller/status/building-status";
import { StatusManager } from "../../controller/status/status-manager"; import { StatusManager } from "../../controller/status/status-manager";
import { ArcRotateCameraData } from "../../model/data/camera-data";
import { BuildingData, BuildingData_ChemicalPlant, BuildingData_Environment, BuildingData_Normal, BuildingType } from "../../model/data/institution/building/building-data"; import { BuildingData, BuildingData_ChemicalPlant, BuildingData_Environment, BuildingData_Normal, BuildingType } from "../../model/data/institution/building/building-data";
import { JYZInfoMoudleType, JYZShowData } from "../../model/data/institution/jyz-show-data"; import { JYZInfoMoudleType, JYZShowData } from "../../model/data/institution/jyz-show-data";
import { ModelType } from "../../model/data/model-data/model-data"; import { ModelType } from "../../model/data/model-data/model-data";
@ -264,16 +265,31 @@ export class BuildingWindow extends UIBase {
recoverMoudleShow(type: JYZInfoMoudleType) { recoverMoudleShow(type: JYZInfoMoudleType) {
let showData = DataManager.institutionData.getMoudleShowData(type); let showData = DataManager.institutionData.getMoudleShowData(type);
if (showData != null) { if (showData != null) {
let camera = SceneManager.Instance.defaultCamera; //let camera = SceneManager.Instance.defaultCamera;
//showData.cameraData.setDataToCamera(camera); //showData.cameraData.setDataToCamera(camera);
let cameraData = showData.cameraData; let cameraData = showData.cameraData;
BabylonTool.AnimMoveCameraTargetAB(camera, 60, cameraData.target, cameraData.radius, cameraData.alpha, cameraData.beta); // BabylonTool.AnimMoveCameraTargetAB(camera, 60, cameraData.target, cameraData.radius, cameraData.alpha, cameraData.beta);
this.showZP(showData.showZP); // this.showZP(showData.showZP);
PlanComponent.instance.isOpenAwning = showData.showZP; // PlanComponent.instance.isOpenAwning = showData.showZP;
this.revoverCamera(cameraData, showData.showZP);
} }
} }
/**
*
* @param cameraData
* @param showZP
*/
revoverCamera(cameraData: ArcRotateCameraData, showZP: boolean) {
this.showZP(showZP);
PlanComponent.instance.isOpenAwning = showZP;
let camera = SceneManager.Instance.defaultCamera;
if (cameraData != null) {
BabylonTool.AnimMoveCameraTargetAB(camera, 60, cameraData.target, cameraData.radius, cameraData.alpha, cameraData.beta);
}
}
//#endregion //#endregion

66
src/app/babylon/view/mark-window/mark-window.ts

@ -1,5 +1,5 @@
import { AbstractMesh, Mesh, MeshBuilder, ParticleHelper, ThinEngine, Tools, Vector3 } from "@babylonjs/core"; import { AbstractMesh, Vector3 } from "@babylonjs/core";
import { PointerEventTypes, PointerInfo } from "@babylonjs/core/Events/pointerEvents"; import { PointerEventTypes, PointerInfo } from "@babylonjs/core/Events/pointerEvents";
import { EventState, Observer } from "@babylonjs/core/Misc/observable"; import { EventState, Observer } from "@babylonjs/core/Misc/observable";
import { classToClass } from "class-transformer"; import { classToClass } from "class-transformer";
@ -24,10 +24,12 @@ import { MarkNodeInfo } from "../../model/info/mark/mark-plan-info";
import { ModelInfo_mark } from "../../model/info/mark/model-info-mark"; import { ModelInfo_mark } from "../../model/info/mark/model-info-mark";
import { ModelInfo_building } from "../../model/info/model/model-info-building"; import { ModelInfo_building } from "../../model/info/model/model-info-building";
import { ModelInfo_facility } from "../../model/info/model/model-info-facility"; import { ModelInfo_facility } from "../../model/info/model/model-info-facility";
import { BabylonTool } from "../../tool/babylon-tool";
import { LoadTool } from "../../tool/load-tool"; import { LoadTool } from "../../tool/load-tool";
import { MeshPool, MeshPoolInfo } from "../../tool/mesh-pool"; import { MeshPool, MeshPoolInfo } from "../../tool/mesh-pool";
import { ParticleSystemTool } from "../../tool/particle-system-tool"; import { ParticleSystemTool } from "../../tool/particle-system-tool";
import { BuildingUIItem } from "../building-window/building-ui-item"; import { BuildingUIItem } from "../building-window/building-ui-item";
import { BuildingWindow } from "../building-window/building-window";
import { IndoorFloorUIItem } from "../indoor-window/indoor-floorui-item"; import { IndoorFloorUIItem } from "../indoor-window/indoor-floorui-item";
import { UIBase } from "../window-base/ui-base"; import { UIBase } from "../window-base/ui-base";
import { WeatherTool } from "./weather-tool"; import { WeatherTool } from "./weather-tool";
@ -64,10 +66,6 @@ export class MarkWindow extends UIBase {
*/ */
markLineIsBreak: number = -1; markLineIsBreak: number = -1;
/**
* 线 0-1--1
*/
mulLineIsBreak_SD: number = -1;
/** /**
* 线 0-1--1 * 线 0-1--1
@ -326,10 +324,15 @@ export class MarkWindow extends UIBase {
nodeCopy = classToClass(this.currentMarkNodeInfo.nodeData); nodeCopy = classToClass(this.currentMarkNodeInfo.nodeData);
} }
} }
this.clearNodeInfo();
let markPlanData: MarkPlanData = null;
if (DataManager.allMarkPlanData == null) {
return;
}
//更新新节点 //更新新节点
let markPlanData = DataManager.allMarkPlanData.getMarkPlanById(planId); markPlanData = DataManager.allMarkPlanData.getMarkPlanById(planId);
this.clearNodeInfo();
if (markPlanData != null) { //表示不是取消选中 if (markPlanData != null) { //表示不是取消选中
if (nodeCopy == null) { if (nodeCopy == null) {
nodeCopy = classToClass(markPlanData.getNodeById(nodeId)); nodeCopy = classToClass(markPlanData.getNodeById(nodeId));
@ -456,7 +459,6 @@ export class MarkWindow extends UIBase {
this.selectMarkDataPrefab(false, markData) this.selectMarkDataPrefab(false, markData)
//ThreeDimensionalHomeComponent.instance.beforeOneIcon = null //ThreeDimensionalHomeComponent.instance.beforeOneIcon = null
} }
this.mulLineIsBreak_SD = -1;
this.markLineIsBreak = -1; this.markLineIsBreak = -1;
this.mulArrowIsBreak_JG = -1; this.mulArrowIsBreak_JG = -1;
this.mulArrowIsBreak_CT = -1; this.mulArrowIsBreak_CT = -1;
@ -770,14 +772,6 @@ export class MarkWindow extends UIBase {
instance.markLineIsBreak = 1; instance.markLineIsBreak = 1;
} }
} }
else if (instance.currentMarkDataPrefab.type == MarkType.SD) {
if (instance.mulLineIsBreak_SD > 0) {
return;
}
else {
instance.mulLineIsBreak_SD = 1;
}
}
else if (instance.currentMarkDataPrefab.type == MarkType.JGLX) { else if (instance.currentMarkDataPrefab.type == MarkType.JGLX) {
if (instance.mulArrowIsBreak_JG > 0) { if (instance.mulArrowIsBreak_JG > 0) {
return; return;
@ -839,7 +833,7 @@ export class MarkWindow extends UIBase {
//是标绘物 //是标绘物
let l_markInfo = instance.getMarkInfoFromMesh(eventData.pickInfo.pickedMesh); let l_markInfo = instance.getMarkInfoFromMesh(eventData.pickInfo.pickedMesh);
if (l_markInfo != null) { if (l_markInfo != null) {
if (readyCreateMark == true && instance.currentMarkDataPrefab.type != MarkType.SD) //水带的起点是可以在分水器上的 if (readyCreateMark == true) //水带的起点是可以在分水器上的
{ {
readyCreateMark = false; readyCreateMark = false;
} }
@ -1033,7 +1027,8 @@ export class MarkWindow extends UIBase {
} }
markNodeData.cameraData.getDataFromCamera(SceneManager.Instance.defaultCamera); markNodeData.cameraData.getDataFromCamera(SceneManager.Instance.defaultCamera);
console.log("保存", markNodeData); markNodeData.showZP = BuildingWindow.instance.currentZPShow;
console.log("记录节点", markNodeData);
} }
/** /**
@ -1054,8 +1049,6 @@ export class MarkWindow extends UIBase {
let markDataId = this.currentMarkNodeInfo.getNextMarkDataId(); let markDataId = this.currentMarkNodeInfo.getNextMarkDataId();
// let newMarkInfo = currentMarkInfoPrefab.instance(markDataId.toString());
let instance = this; let instance = this;
//设置位置等 //设置位置等
let newMarkInfo = this.createMark(markDataId, currentMarkDataPrefab, true, worldPosition, null, false, true, (modelInfo: ModelInfo_mark) => { let newMarkInfo = this.createMark(markDataId, currentMarkDataPrefab, true, worldPosition, null, false, true, (modelInfo: ModelInfo_mark) => {
@ -1158,6 +1151,7 @@ export class MarkWindow extends UIBase {
updateNodeInfo() { updateNodeInfo() {
let environmentData = this.currentMarkNodeInfo.nodeData.getCurrentEnvironmentData(); let environmentData = this.currentMarkNodeInfo.nodeData.getCurrentEnvironmentData();
let cameraData = this.currentMarkNodeInfo.nodeData.cameraData; let cameraData = this.currentMarkNodeInfo.nodeData.cameraData;
let showZP = this.currentMarkNodeInfo.nodeData.showZP;
let instance = this; let instance = this;
if (environmentData.isOutdoor) //要在室外 if (environmentData.isOutdoor) //要在室外
{ {
@ -1177,7 +1171,15 @@ export class MarkWindow extends UIBase {
StatusManager.s_currentStatus.indoorWindow.onBtnToOutDoor(false); StatusManager.s_currentStatus.indoorWindow.onBtnToOutDoor(false);
} }
else if (StatusManager.s_currentStatus instanceof BuildingStatus) { else if (StatusManager.s_currentStatus instanceof BuildingStatus) {
this.currentMarkNodeInfo.nodeData.cameraData.setDataToCamera(SceneManager.Instance.defaultCamera); //this.currentMarkNodeInfo.nodeData.cameraData.setDataToCamera(SceneManager.Instance.defaultCamera);
// let camera = SceneManager.Instance.defaultCamera;
// if (cameraData != null) {
// BabylonTool.AnimMoveCameraTargetAB(camera, 60, cameraData.target, cameraData.radius, cameraData.alpha, cameraData.beta);
// }
//仅此分支生效
BuildingWindow.instance.revoverCamera(cameraData, showZP);
instance.clearEnterObserver(true); instance.clearEnterObserver(true);
for (let i = 0; i < StatusManager.s_currentStatus.buildingWindow.buildingUIItems.length; i++) { for (let i = 0; i < StatusManager.s_currentStatus.buildingWindow.buildingUIItems.length; i++) {
@ -1373,7 +1375,7 @@ export class MarkWindow extends UIBase {
* *
*/ */
isCreateMultiPointMark() { isCreateMultiPointMark() {
return !(this.mulLineIsBreak_SD < 0 && this.markLineIsBreak < 0 && this.mulArrowIsBreak_JG < 0 && this.mulArrowIsBreak_CT) return !(this.markLineIsBreak < 0 && this.mulArrowIsBreak_JG < 0 && this.mulArrowIsBreak_CT)
} }
@ -1393,13 +1395,6 @@ export class MarkWindow extends UIBase {
} }
if (data.type == MarkType.SD) {
this.mulLineIsBreak_SD = 0;
}
else {
this.mulLineIsBreak_SD = -1;
}
if (data.type == MarkType.JGLX) { if (data.type == MarkType.JGLX) {
this.mulArrowIsBreak_JG = 0; this.mulArrowIsBreak_JG = 0;
} }
@ -1469,8 +1464,8 @@ export class MarkWindow extends UIBase {
MeshPool.disposeMesh(result); MeshPool.disposeMesh(result);
}); });
} }
for (let i = 0; i < DataManager.allMarkData.marks_FireFighting.length; i++) { for (let i = 0; i < DataManager.allMarkData.marks_Outside.length; i++) {
MeshPool.importMesh(ModelType.Mark, DataManager.allMarkData.marks_FireFighting[i], true, false, LoadTool.c_tag_preloadMark, (meshBox: AbstractMesh, meshes: AbstractMesh[], result: MeshPoolInfo) => { MeshPool.importMesh(ModelType.Mark, DataManager.allMarkData.marks_Outside[i], true, false, LoadTool.c_tag_preloadMark, (meshBox: AbstractMesh, meshes: AbstractMesh[], result: MeshPoolInfo) => {
MeshPool.disposeMesh(result); MeshPool.disposeMesh(result);
}); });
} }
@ -1479,13 +1474,8 @@ export class MarkWindow extends UIBase {
MeshPool.disposeMesh(result); MeshPool.disposeMesh(result);
}); });
} }
for (let i = 0; i < DataManager.allMarkData.marks_Linkage.length; i++) { for (let i = 0; i < DataManager.allMarkData.marks_Other.length; i++) {
MeshPool.importMesh(ModelType.Mark, DataManager.allMarkData.marks_Linkage[i], true, false, LoadTool.c_tag_preloadMark, (meshBox: AbstractMesh, meshes: AbstractMesh[], result: MeshPoolInfo) => { MeshPool.importMesh(ModelType.Mark, DataManager.allMarkData.marks_Other[i], true, false, LoadTool.c_tag_preloadMark, (meshBox: AbstractMesh, meshes: AbstractMesh[], result: MeshPoolInfo) => {
MeshPool.disposeMesh(result);
});
}
for (let i = 0; i < DataManager.allMarkData.marks_Tool.length; i++) {
MeshPool.importMesh(ModelType.Mark, DataManager.allMarkData.marks_Tool[i], true, false, LoadTool.c_tag_preloadMark, (meshBox: AbstractMesh, meshes: AbstractMesh[], result: MeshPoolInfo) => {
MeshPool.disposeMesh(result); MeshPool.disposeMesh(result);
}); });
} }

BIN
src/assets/mesh/mark/disaster/syd/SYD.bin

Binary file not shown.

131
src/assets/mesh/mark/disaster/syd/SYD.gltf

@ -0,0 +1,131 @@
{
"asset" : {
"generator" : "Khronos glTF Blender I/O v1.6.16",
"version" : "2.0"
},
"extensionsUsed" : [
"KHR_draco_mesh_compression"
],
"extensionsRequired" : [
"KHR_draco_mesh_compression"
],
"scene" : 0,
"scenes" : [
{
"name" : "Scene",
"nodes" : [
0
]
}
],
"nodes" : [
{
"mesh" : 0,
"name" : "SYD"
}
],
"materials" : [
{
"doubleSided" : true,
"name" : "ShangYuanC",
"pbrMetallicRoughness" : {
"baseColorTexture" : {
"index" : 0
},
"metallicFactor" : 0,
"roughnessFactor" : 0.5
}
}
],
"meshes" : [
{
"name" : "SYC",
"primitives" : [
{
"attributes" : {
"POSITION" : 0,
"NORMAL" : 1,
"TEXCOORD_0" : 2
},
"extensions" : {
"KHR_draco_mesh_compression" : {
"bufferView" : 0,
"attributes" : {
"POSITION" : 0,
"NORMAL" : 1,
"TEXCOORD_0" : 2
}
}
},
"indices" : 3,
"material" : 0,
"mode" : 4
}
]
}
],
"textures" : [
{
"sampler" : 0,
"source" : 0
}
],
"images" : [
{
"mimeType" : "image/jpeg",
"name" : "ShangYuanC",
"uri" : "ShangYuanC.jpg"
}
],
"accessors" : [
{
"componentType" : 5126,
"count" : 2460,
"max" : [
0.28133630752563477,
0.3663977086544037,
0.9737323522567749
],
"min" : [
-0.3098154664039612,
-0.04694981500506401,
-0.8537102937698364
],
"type" : "VEC3"
},
{
"componentType" : 5126,
"count" : 2460,
"type" : "VEC3"
},
{
"componentType" : 5126,
"count" : 2460,
"type" : "VEC2"
},
{
"componentType" : 5123,
"count" : 11262,
"type" : "SCALAR"
}
],
"bufferViews" : [
{
"buffer" : 0,
"byteLength" : 20249,
"byteOffset" : 0
}
],
"samplers" : [
{
"magFilter" : 9729,
"minFilter" : 9987
}
],
"buffers" : [
{
"byteLength" : 20252,
"uri" : "SYD.bin"
}
]
}

5
src/assets/mesh/mark/disaster/syd/SYD.gltf.manifest

@ -0,0 +1,5 @@
{
"version" : 1,
"enableSceneOffline" : true,
"enableTexturesOffline" : true
}

BIN
src/assets/mesh/mark/disaster/syd/ShangYuanC.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/FireExtinguisher_FireExtinguisher_AlbedoTransparency.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 MiB

BIN
src/assets/mesh/outdoor/ZhuTi/LuZhuang.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/QiCaiXiang.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/SanXiang.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ShaDai.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_BanGong.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_ChuGuan.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_GX1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_JYJ1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_JYJ2.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_JingGai.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_JingGai1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_SXT.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_SheDeng1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_floor1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_floor2.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 540 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_gg1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_gg2.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_gg3.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 740 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_gg4.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_gg5.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 445 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_gg6.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 477 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_glass1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_guitai1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall1.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall10.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall11.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall12.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall2.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall3.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall4.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall5.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall6.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall7.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall8.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_wall9.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZHSY_yinxiang.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

BIN
src/assets/mesh/outdoor/ZhuTi/ZhuTi.bin

Binary file not shown.

10098
src/assets/mesh/outdoor/ZhuTi/ZhuTi.gltf

File diff suppressed because it is too large Load Diff

BIN
src/assets/mesh/outdoor/ZhuTi/mhq-xiang.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

5
yarn.lock

@ -7600,6 +7600,11 @@ mkdirp@^0.5.5, mkdirp@~0.5.1, mkdirp@~0.5.x:
dependencies: dependencies:
minimist "^1.2.5" minimist "^1.2.5"
moment@^2.29.1:
version "2.29.1"
resolved "https://registry.npm.taobao.org/moment/download/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
integrity sha1-sr52n6MZQL6e7qZGnAdeNQBvo9M=
move-concurrently@^1.0.1: move-concurrently@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"

Loading…
Cancel
Save