@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.10.0 → 3.11.0

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.
Files changed (73) hide show
  1. package/dist/RenderingEngine.d.ts +12 -20
  2. package/dist/RenderingEngine.d.ts.map +1 -1
  3. package/dist/RenderingEngine.js +63 -477
  4. package/dist/RenderingEngine.js.map +1 -1
  5. package/dist/interfaces/IRenderingEngine.d.ts +1 -0
  6. package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
  7. package/dist/loaders/EnvironmentMapLoader.d.ts.map +1 -1
  8. package/dist/loaders/EnvironmentMapLoader.js +13 -3
  9. package/dist/loaders/EnvironmentMapLoader.js.map +1 -1
  10. package/dist/loaders/GeometryLoader.d.ts.map +1 -1
  11. package/dist/loaders/GeometryLoader.js +2 -0
  12. package/dist/loaders/GeometryLoader.js.map +1 -1
  13. package/dist/loaders/MaterialLoader.d.ts +2 -2
  14. package/dist/loaders/MaterialLoader.d.ts.map +1 -1
  15. package/dist/loaders/MaterialLoader.js +13 -17
  16. package/dist/loaders/MaterialLoader.js.map +1 -1
  17. package/dist/managers/ARManager.d.ts +18 -0
  18. package/dist/managers/ARManager.d.ts.map +1 -0
  19. package/dist/managers/ARManager.js +129 -0
  20. package/dist/managers/ARManager.js.map +1 -0
  21. package/dist/managers/FlagManager.d.ts +20 -0
  22. package/dist/managers/FlagManager.d.ts.map +1 -0
  23. package/dist/managers/FlagManager.js +144 -0
  24. package/dist/managers/FlagManager.js.map +1 -0
  25. package/dist/managers/RenderingManager.d.ts.map +1 -1
  26. package/dist/managers/RenderingManager.js +5 -2
  27. package/dist/managers/RenderingManager.js.map +1 -1
  28. package/dist/managers/SceneTracingManager.d.ts +8 -0
  29. package/dist/managers/SceneTracingManager.d.ts.map +1 -1
  30. package/dist/managers/SceneTracingManager.js +13 -6
  31. package/dist/managers/SceneTracingManager.js.map +1 -1
  32. package/dist/managers/SceneTreeManager.d.ts +1 -7
  33. package/dist/managers/SceneTreeManager.d.ts.map +1 -1
  34. package/dist/managers/SceneTreeManager.js +40 -198
  35. package/dist/managers/SceneTreeManager.js.map +1 -1
  36. package/dist/managers/SettingsManager.d.ts +29 -0
  37. package/dist/managers/SettingsManager.d.ts.map +1 -0
  38. package/dist/managers/SettingsManager.js +285 -0
  39. package/dist/managers/SettingsManager.js.map +1 -0
  40. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js +2 -2
  41. package/dist/managers/postprocessing/ao/poissionDenoise/PoissionDenoisePass.js.map +1 -1
  42. package/dist/managers/sceneTree/SDTFUtils.d.ts +7 -0
  43. package/dist/managers/sceneTree/SDTFUtils.d.ts.map +1 -0
  44. package/dist/managers/sceneTree/SDTFUtils.js +51 -0
  45. package/dist/managers/sceneTree/SDTFUtils.js.map +1 -0
  46. package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts +10 -0
  47. package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts.map +1 -0
  48. package/dist/managers/sceneTree/SceenTreeManagerUtils.js +174 -0
  49. package/dist/managers/sceneTree/SceenTreeManagerUtils.js.map +1 -0
  50. package/dist/shaders/PCSS.d.ts +1 -1
  51. package/dist/shaders/PCSS.d.ts.map +1 -1
  52. package/dist/shaders/PCSS.js +1 -1
  53. package/package.json +17 -17
  54. package/dist/managers/environmentGeometry/GroundProjection.d.ts +0 -19
  55. package/dist/managers/environmentGeometry/GroundProjection.d.ts.map +0 -1
  56. package/dist/managers/environmentGeometry/GroundProjection.js +0 -66
  57. package/dist/managers/environmentGeometry/GroundProjection.js.map +0 -1
  58. package/dist/managers/environmentGeometry/SkyBottom.d.ts +0 -1
  59. package/dist/managers/environmentGeometry/SkyBottom.d.ts.map +0 -1
  60. package/dist/managers/environmentGeometry/SkyBottom.js +0 -2
  61. package/dist/managers/environmentGeometry/SkyBottom.js.map +0 -1
  62. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts +0 -2
  63. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.d.ts.map +0 -1
  64. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js +0 -99
  65. package/dist/managers/postprocessing/ao/hbao/shader/hbao_utils.js.map +0 -1
  66. package/dist/managers/postprocessing/effects/ToneMappingEffect.d.ts +0 -1
  67. package/dist/managers/postprocessing/effects/ToneMappingEffect.d.ts.map +0 -1
  68. package/dist/managers/postprocessing/effects/ToneMappingEffect.js +0 -2
  69. package/dist/managers/postprocessing/effects/ToneMappingEffect.js.map +0 -1
  70. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingPass.d.ts +0 -1
  71. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingPass.d.ts.map +0 -1
  72. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingPass.js +0 -160
  73. package/dist/managers/postprocessing/effects/tone-mapping/ToneMappingPass.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RenderingManager.js","sourceRoot":"","sources":["../../src/managers/RenderingManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mHAAqF;AACrF,+HAAgG;AAChG,6GAI2D;AAE3D,iFAAgE;AAChE,+EAO4C;AAC5C,yEAMyC;AACzC,gDAAkC;AAClC,6CAA+B;AAI/B,MAAa,gBAAgB;IAmD5B,6BAA6B;IAE7B,2BAA2B;IAE3B,YAA6B,gBAAiC;QAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;QAtD9D,0BAA0B;QAET,qBAAgB,GAChC,0DAAe,CAAC,QAAQ,CAAC;QACT,0BAAqB,GACrC,qEAAoB,CAAC,QAAQ,CAAC;QACd,eAAU,GAAc,kCAAS,CAAC,QAAQ,CAAC;QAC3C,iBAAY,GAAgB,oCAAW,CAAC,QAAQ,CAAC;QACjD,YAAO,GAAW,+BAAM,CAAC,QAAQ,CAAC;QAClC,gBAAW,GAAe,mCAAU,CAAC,QAAQ,CAAC;QAC9C,UAAK,GAAU,8BAAI,CAAC,QAAQ,CAAC;QAEtC,qBAAgB,GAAY,IAAI,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAChC,yBAAoB,GAAY,KAAK,CAAC;QACtC,+BAA0B,GAAY,KAAK,CAAC;QAC5C,YAAO,GAAW,CAAC,CAAC;QACpB,YAAO,GAAY,IAAI,CAAC;QACxB,kBAAa,GACpB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACvB,wBAAmB,GAC1B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACvB,cAAS,GAAY,KAAK,CAAC;QAC3B,cAAS,GAKb;YACH,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACT,CAAC;QACM,oBAAe,GAAG,IAAI,CAAC;QACvB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,qBAAgB,GAAW,CAAC,CAAC;QAC7B,sBAAiB,GAAY,KAAK,CAAC;QACnC,aAAQ,GAAY,KAAK,CAAC;QAC1B,sBAAiB,GAAY,KAAK,CAAC;QACnC,iBAAY,GAAY,KAAK,CAAC;QAC9B,+BAA0B,GAAY,KAAK,CAAC;QAC5C,uCAAkC,GAAW,CAAC,CAAC;QAC/C,gCAA2B,GAA0B,IAAI,CAAC;QAG1D,sBAAiB,GAAY,KAAK,CAAC;QACnC,WAAM,GAAW,CAAC,CAAC;QACnB,iCAA4B,GAAY,KAAK,CAAC;IAMW,CAAC;IAElE,8BAA8B;IAE9B,yCAAyC;IAEzC,IAAW,mBAAmB;QAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAClC,CAAC;IAED,IAAW,mBAAmB,CAAC,KAAc;QAC5C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,IAAW,yBAAyB;QACnC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACxC,CAAC;IAED,IAAW,yBAAyB,CAAC,KAAc;QAClD,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,IAAW,gBAAgB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,IAAW,gBAAgB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,4CAA4C;IAE5C,8BAA8B;IAEvB,OAAO,CACb,MAAyB,EACzB,QAMC;;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrD,cAAc,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChE,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAA,MAAM,CAAC,aAAa,0CAAE,YAAY,CACjC,cAAc,EACd,MAAA,MAAM,CAAC,aAAa,0CAAE,UAAU,CAChC,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9B,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;YACxB,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAChC;QAED,OAAO,cAAc,CAAC;IACvB,CAAC;IAEM,UAAU,CAChB,MAAyB,EACzB,QAMC;;QAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAEzD,iBAAiB,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC9C,MAAA,MAAM,CAAC,aAAa,0CAAE,YAAY,CACjC,iBAAiB,EACjB,MAAA,MAAM,CAAC,aAAa,0CAAE,UAAU,CAChC,CAAC;QAEF,IAAI,QAAQ,CAAC,eAAe,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,eAAe,CAAC;YACnC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACjC,GAAG,CAAC,SAAS,CAAC,GAAG,CAChB,cAAc;gBACb,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAC5D,CAAC;YACF,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACnC;QAED,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAEM,cAAc,CAAC,MAAyB;QAC9C,MAAM,mBAAmB,GAAG;YAC3B,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,qBAAqB,EAAE,IAAI;YAC3B,OAAO,EAAE,IAAI;YACb,kBAAkB,EAAE,IAAI;YACxB,MAAM;SACN,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC9D,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QAEtC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE;YACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CACxC,2BAA2B,CAC3B,CAAC;YACF,wEAAwE;YACxE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CACxC,SAAS,CAAC,uBAAuB,CACjC,CAAC;YACF,IAAI,YAAY,KAAK,oBAAoB,EAAE;gBAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAChB,6LAA6L,CAC7L,CAAC;aACF;SACD;QAED,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE/B,QAAQ,CAAC,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC;QACjD,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QACtC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACjD,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QACtC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACrC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,QAAQ;aAC9B,UAAU,EAAE;aACZ,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,uBAAuB,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEM,wBAAwB,CAAC,KAAa;QAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAChB,yGAAyG,CACzG,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAC9D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC3B,2CAA2C,CAC3C,CAAC;SACF;aAAM;YACN,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,oBAAoB,GAAG,KAAK,CAAC;SAC/D;IACF,CAAC;IAEM,aAAa,CACnB,OAAe,WAAW,EAC1B,iBAAyB,CAAC;QAE1B,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CACzD,IAAI,EACJ,cAAc,CACd,CAAC;IACH,CAAC;IAEM,IAAI;QACV,IAAI;YACH,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CACpD,IAAI,CAAC,eAAe,EACpB,GAAG,CACH,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;YACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;YAEvD,IAAI,CAAC,YAAY,CAAC,WAAW,CAC5B,kCAAS,CAAC,MAAM,CAAC,YAAY,EAC7B,CAAC,CAAC,EAAE,EAAE;gBACL,MAAM,WAAW,GAAiB,CAAC,CAAC;gBACpC,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE;oBACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,CACD,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,kCAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChE,MAAM,WAAW,GAAiB,CAAC,CAAC;gBACpC,IAAI,WAAW,CAAC,UAAU,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE;oBACtD,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,GAAG,GAAG,EAAE;gBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,EAAE;gBAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAc,CAAC,QAAQ,GAAG,GAAG,EAAE;gBAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACrC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;gBACvB,kDAAkD,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAc,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;YACpC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;gBACvB,mDAAmD,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAc,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;YACpC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;gBACvB,oDAAoD,CAAC;YACtD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAc,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEpE,IAAI,CAAC,MAAM,GAAG;gBACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,KAAK,EAAE,GAAG,EAAE;oBACX,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChB,CAAC;gBACD,GAAG,EAAE,GAAG,EAAE;oBACT,MAAM,CAAC,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,EAAE,CAAC;gBACd,CAAC;aACD,CAAC;SACF;QAAC,OAAO,CAAC,EAAE;YACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,CAAC;SACR;IACF,CAAC;IAEM,MAAM;QACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAa,EAAE,MAAc;QAC1C,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CACnD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC9B,CAAC;IAEM,eAAe;QACrB,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,iCAAiC;IAEjC,+BAA+B;IAEvB,2BAA2B;QAClC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;QACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC;IAEO,OAAO,CACd,IAAY,EACZ,SAAiB,EACjB,gBAAyB;;QAEzB,8CAA8C;QAC9C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1D,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;QAE1C,mBAAmB;QACnB,IACC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,IAAI;YACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;gBACtB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe;YACvD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,mBAAmB,KAAK,KAAK,EACnE;YACD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CACrD,IAAI,CAAC,KAAK,CAAC,IAAI,CACf,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,2CAAkB,CAAC,gBAAgB,EAE9D,EAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAC,CAAC,CAAC;SACzC;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,oBAAoB;YAC7C,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CACzC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC9B,CAAC;QAEH,IAAI,gBAAgB,KAAK,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/D,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,IAAI,CAAC,iBAAiB;YACzB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,CAChD,SAAS,EACT,SAAS,EACT,EAAC,kBAAkB,EAAE,IAAI,EAAC,CAC1B,CAAC;QACH,IAAI,IAAI,CAAC,iBAAiB;YACzB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QAE7D,uBAAuB;QACvB,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAC,GACnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,YAAY;YAChB,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,cAAc;gBAChD,IAAI,CAAC,SAAS,CAAC,aAAa,KAAK,aAAa;gBAC9C,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAC,CAAC;QAEhE,mHAAmH;QACnH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM;YAC9D,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAChD,SAAS,EACT,MAAM,CACN;YACF,CAAC,CAAC,KAAK,CAAC;QAET,4CAA4C;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE7C,sBAAsB;QACtB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAErC,uDAAuD;QACvD,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE;YAC/B,iBAAiB;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEtB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;gBACzB,IAAI,CAAC,YAAY,CAAC,SAAS,CAC1B,kCAAS,CAAC,QAAQ,CAAC,eAAe,EAClC,EAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAC,CACtC,CAAC;YAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO;SACP;aAAM;YACN,sGAAsG;YACtG,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBACrD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAEvB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;oBACxB,IAAI,CAAC,YAAY,CAAC,SAAS,CAC1B,kCAAS,CAAC,QAAQ,CAAC,gBAAgB,EACnC,EAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAC,CACtC,CAAC;gBAEH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACrB;iBAAM;gBACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;oBACxB,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;aAChE;SACD;QAED,0FAA0F;QAC1F,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,KAAK,IAAI;YACrE,OAAO;QAER,+DAA+D;QAC/D,uFAAuF;QACvF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,sDAAsD;QACtD,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,IACC,CAAC,WAAW,CAAC,MAAM,CAClB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,CAChD,EACA;YACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CACrC,aAAa,EACb,cAAc,CACd,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CACjD,aAAa,EACb,cAAc,CACd,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBACpD,KAAK,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;gBACrD,MAAM,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,CACnD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAC/B,CAAC;SACF;QAED,6GAA6G;QAC7G,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GACrB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1D,oDAAoD;QACpD,8EAA8E;QAC9E,IAAI,MAAM,EAAE;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzD,8DAA8D;gBAC9D,IACC,CAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,WAAW;oBAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CACpD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CACxB;oBAED,SAAS;gBACV,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CACzC,CAAC,CACD,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;gBACzD,IAAI,SAAS,EAAE;oBACd,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;iBAC1B;qBAAM;oBACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;wBAC7C,EAAE,EAAE,gBAAgB;wBACpB,MAAM;qBACN,CAAC,CAAC;iBACH;aACD;YACD,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,UAAU,CAChD,SAAS,EACT,SAAS,EACT,EAAC,kBAAkB,EAAE,IAAI,EAAC,CAC1B,CAAC;SACF;QAED,uDAAuD;QACvD,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,eAAe,CAC5D,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,MAAM,CACvB,CAAC;QAEF,uDAAuD;QACvD,kCAAkC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO;YAC/C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB;gBACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU;gBACtD,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAClC,IAAI,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO;YAC/D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QACxD,IAAI,kBAAkB,EACrB,kBAAkB,GAAG,IAAI,CAAC;QAC3B,0BAA0B;QAC1B,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,KAAK,EAAE;YAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC;YACxD,IAAI,EAAE,EAAE;gBACP,kBAAkB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAC3C,IAAI,CAAC,gBAAgB,CAAC,EAAE,CACN,CAAC;gBACpB,IAAI,kBAAkB,EAAE;oBACvB,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC;oBAChD,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;iBACnC;aACD;SACD;QAED,2BAA2B;QAC3B,IAAI,MAAM,CAAC,eAAe,EAAE;YAC3B,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO;gBACnD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;YAC7D,MAAA,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,aAAa,0CAAE,MAAM,EAAE,CAAC;SACzE;QAED,kCAAkC;QAClC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI;aAC5D,gBAAgB,CAAC,0BAA0B;YAC5C,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,cAAc;YAC3D,CAAC,CAAC,IAAI,CAAC;QACR,mCAAmC;QACnC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAC3C,IAAI,KAAK,CAAC,KAAK,CACd,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAClC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAChC,CACD,EACD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAChC,CAAC;QAEF,iDAAiD;QACjD,MAAM,oBAAoB,GACzB,CAAC,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC9D,IAAI,CAAC,gBAAgB,CAAC,qBAAqB;iBACzC,oBAAoB,CAAC;YACxB,CAAC,CACA,IAAI,CAAC,gBAAgB,CAAC,qBAAqB;iBACzC,4BAA4B,KAAK,KAAK;gBACxC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,IAAI,CAClC,CAAC;QAEH,wDAAwD;QACxD,IAAI,MAAM,CAAC,mBAAmB,KAAK,IAAI,EAAE;YACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,IAAI,oBAAoB,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CACjD,SAAS,EACT,MAAM,CACN,CAAC;aACF;iBAAM;gBACN,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CACjB,IAAI,CAAC,gBAAgB,CAAC,gBAAiB;qBACxD,KAAK,EACP,MAAM,CACN,CAAC;aACF;YAED,gEAAgE;YAChE,IACC,IAAI,CAAC,kCAAkC;gBACvC,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,EACjD;gBACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAC1B,kCAAS,CAAC,SAAS,CAAC,yBAAyB,EAC7C,EAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAC,CACtC,CAAC;gBACF,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC9B;iBAAM;gBACN,IAAI,CAAC,kCAAkC,IAAI,SAAS,CAAC;aACrD;SACD;aAAM;YACN,IAAI,oBAAoB,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,CACjD,SAAS,EACT,MAAM,CACN,CAAC;aACF;iBAAM;gBACN,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CACjB,IAAI,CAAC,gBAAgB,CAAC,gBAAiB;qBACxD,KAAK,EACP,MAAM,CACN,CAAC;aACF;YAED,iDAAiD;YACjD,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAC1B,kCAAS,CAAC,SAAS,CAAC,yBAAyB,EAC7C,EAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAC,CACtC,CAAC;gBACF,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC9B;SACD;QAED,mDAAmD;QACnD,IAAI,kBAAkB;YAAE,kBAAkB,CAAC,OAAO,GAAG,kBAAkB,CAAC;QAExE,IAAI,IAAI,CAAC,gBAAgB,CAAC,qBAAqB;YAC9C,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAC1C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAC9B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC5B,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;IAEO,aAAa;QAMpB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EACtB,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE;YAC5C,KAAK,GAAoB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAW;iBAC/D,WAAW,CAAC;YACd,MAAM,GAAoB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAW;iBAChE,YAAY,CAAC;SACf;QAED,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;QAC9B,IAAI,aAAa,GAAG,KAAK,EACxB,cAAc,GAAG,MAAM,CAAC;QAEzB,IACC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK;YACxD,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,EACzD;YACD,IACC,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBACzD,MAAM;gBACP,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,EACzD;gBACD,aAAa;oBACZ,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBAClD,cAAc;oBACb,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,GAAG,MAAM,CAAC;aAC3D;iBAAM;gBACN,aAAa;oBACZ,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC5D,cAAc;oBACb,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,CAAC;aACnD;SACD;QACD,OAAO;YACN,KAAK;YACL,aAAa;YACb,MAAM;YACN,cAAc;SACd,CAAC;IACH,CAAC;IAEO,6BAA6B;QACpC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACvE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CACpD,IAAI,CAAC,iBAAiB,EACtB,GAAG,CACH,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC;IAEO,sBAAsB;QAO7B,kGAAkG;QAClG,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IACC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM;YACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,IAAI;YAEnC,SAAS,GAAG,IAAI,CAAC;QAElB,6BAA6B;QAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IACC,IAAI,CAAC,gBAAgB,KAAK,IAAI;YAC9B,IAAI,CAAC,cAAc,KAAK,IAAI;YAC5B,IAAI,CAAC,YAAY,KAAK,IAAI;YAC1B,IAAI,CAAC,iBAAiB,KAAK,IAAI;YAC/B,IAAI,CAAC,oBAAoB,KAAK,IAAI;YAElC,SAAS,GAAG,IAAI,CAAC;QAElB,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IACC,IAAI,CAAC,iBAAiB,KAAK,IAAI;YAC/B,IAAI,CAAC,0BAA0B,KAAK,IAAI;YACxC,IAAI,CAAC,4BAA4B,KAAK,IAAI,EACzC;YACD,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;YAC1C,eAAe,GAAG,IAAI,CAAC;SACvB;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAO,CAAC;YAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,mDAAW,CAAC,WAAW,EAAE;gBAC5C,MAAM,QAAQ,GAA8B,CACvB,MAAO,CAAC,QAAQ,CACpC,CAAC;gBACF,IACC,QAAQ,CAAC,kBAAkB,KAAK,IAAI;oBACpC,QAAQ,CAAC,iBAAiB,KAAK,CAAC;oBAEhC,OAAO;wBACN,SAAS;wBACT,SAAS,EAAE,IAAI;wBACf,eAAe;wBACf,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;wBACpC,mBAAmB,EAAE,KAAK;qBAC1B,CAAC;aACH;SACD;aAAM;YACN,SAAS,GAAG,KAAK,CAAC;SAClB;QAED,iCAAiC;QACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAAE,QAAQ,GAAG,IAAI,CAAC;QAEhD,qCAAqC;QACrC,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IACC,IAAI,CAAC,0BAA0B,KAAK,IAAI;YACxC,QAAQ,KAAK,KAAK;YAClB,IAAI,CAAC,oBAAoB,KAAK,KAAK;YACnC,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1D,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,KAAK,KAAK;YAChD,IAAI,CAAC,iBAAiB,KAAK,KAAK;YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU;YAEvD,mBAAmB,GAAG,IAAI,CAAC;QAE5B,OAAO;YACN,SAAS;YACT,SAAS;YACT,eAAe;YACf,QAAQ;YACR,mBAAmB;SACnB,CAAC;IACH,CAAC;IAEO,mBAAmB;QAC1B,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,KAAK,KAAK,EAAE;YAChD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CACpD,IAAI,CAAC,iBAAiB,EACtB,CAAC,CACD,CAAC;YACF,OAAO,CAAC,CAAC;SACT;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACzB,IAAI,CAAC,kCAAkC,EACvC,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAClD,CAAC;QACF,MAAM,UAAU,GACf,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,4BAA4B,CAAC;QAEhE,IAAI,UAAU,GAAG,IAAI,EAAE;YACtB,MAAM,gBAAgB,GAAG,UAAU,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CACpD,IAAI,CAAC,iBAAiB,EACtB,gBAAgB,CAChB,CAAC;SACF;aAAM;YACN,MAAM,gBAAgB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1D,iDAAiD;YACjD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CACpD,IAAI,CAAC,iBAAiB;gBACrB,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBAC9C,gBAAgB,EAClB,GAAG,CACH,CAAC;SACF;QACD,OAAO,UAAU,CAAC;IACnB,CAAC;IAEO,cAAc;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;SAC7C;aAAM;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;gBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACjD;IACF,CAAC;IAEO,qBAAqB;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAEO,0BAA0B;QACjC,IAAI,CAAC,2BAA2B,GAAG,UAAU,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACpC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAEO,cAAc;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAClC,CAAC;IAEO,yBAAyB;QAChC,IAAI,IAAI,CAAC,2BAA2B;YACnC,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAChD,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACtC,CAAC;IAEO,aAAa;QACpB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAEO,cAAc,CAAC,MAAe;QACrC,IACC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe;YAC9C,uCAAiB,CAAC,IAAI,EACrB;YACD,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,cAAc,CAC3D,MAAM,CACN,CAAC;YACF,IAAI,MAAM,EAAE;gBACX,IACC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACzD,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAEzD,OAAO;gBACR,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;oBACrD,WAAW,CAAC;aACb;iBAAM;gBACN,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;aAC5D;SACD;aAAM,IACN,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe;YAC9C,uCAAiB,CAAC,OAAO,EACxB;YACD,IAAI,MAAM,EAAE;gBACX,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU;oBACvD,SAAS,CAAC;aACX;iBAAM;gBACN,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU;oBACvD,QAAQ,CAAC;aACV;SACD;IACF,CAAC;IAEO,UAAU,CAAC,MAAe;QACjC,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc;YACvC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;gBAC1D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM;YAC/B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,MAAM;gBACnD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC;IACZ,CAAC;CAGD;AAp4BD,4CAo4BC"}
1
+ {"version":3,"file":"RenderingManager.js","sourceRoot":"","sources":["../../src/managers/RenderingManager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { IManager } from "@shapediver/viewer.rendering-engine.rendering-engine";
2
+ import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
3
+ import { IGeometryData, IIntersectionFilter } from "@shapediver/viewer.shared.types";
2
4
  import { vec2, vec3 } from "gl-matrix";
3
5
  import { RenderingEngine } from "../RenderingEngine";
4
6
  export declare class SceneTracingManager implements IManager {
5
7
  private readonly _renderingEngine;
8
+ private readonly _intersectionManager;
6
9
  private readonly _raycaster;
7
10
  constructor(_renderingEngine: RenderingEngine);
8
11
  convert3Dto2D(p: vec3): {
@@ -22,5 +25,10 @@ export declare class SceneTracingManager implements IManager {
22
25
  origin: vec3;
23
26
  direction: vec3;
24
27
  };
28
+ raytraceScene(origin: vec3, direction: vec3, filterCriteria?: IIntersectionFilter[]): {
29
+ distance: number;
30
+ node: ITreeNode;
31
+ data?: IGeometryData;
32
+ }[];
25
33
  }
26
34
  //# sourceMappingURL=SceneTracingManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneTracingManager.d.ts","sourceRoot":"","sources":["../../src/managers/SceneTracingManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAC,MAAM,sDAAsD,CAAC;AAE9E,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAErC,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,mBAAoB,YAAW,QAAQ;IASvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAN7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;gBAMvB,gBAAgB,EAAE,eAAe;IAMvD,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG;QAC9B,SAAS,EAAE,IAAI,CAAC;QAChB,MAAM,EAAE,IAAI,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,EAAE,OAAO,CAAC;KAChB;IA4FM,IAAI,IAAI,IAAI;IAEnB;;;;;OAKG;IACI,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG;QAC9C,MAAM,EAAE,IAAI,CAAC;QACb,SAAS,EAAE,IAAI,CAAC;KAChB;CAyHD"}
1
+ {"version":3,"file":"SceneTracingManager.d.ts","sourceRoot":"","sources":["../../src/managers/SceneTracingManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,QAAQ,EAAC,MAAM,sDAAsD,CAAC;AAC9E,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAE9D,OAAO,EACN,aAAa,EACb,mBAAmB,EACnB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAErC,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,mBAAoB,YAAW,QAAQ;IAKvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAJ7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CACR;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;gBAEvB,gBAAgB,EAAE,eAAe;IAEvD,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG;QAC9B,SAAS,EAAE,IAAI,CAAC;QAChB,MAAM,EAAE,IAAI,CAAC;QACb,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,EAAE,OAAO,CAAC;KAChB;IA4FM,IAAI,IAAI,IAAI;IAEnB;;;;;OAKG;IACI,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG;QAC9C,MAAM,EAAE,IAAI,CAAC;QACb,SAAS,EAAE,IAAI,CAAC;KAChB;IAwHM,aAAa,CACnB,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,IAAI,EACf,cAAc,CAAC,EAAE,mBAAmB,EAAE,GACpC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,aAAa,CAAA;KAAC,EAAE;CAc9D"}
@@ -24,20 +24,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.SceneTracingManager = void 0;
27
+ const THREE = __importStar(require("three"));
27
28
  const viewer_rendering_engine_camera_engine_1 = require("@shapediver/viewer.rendering-engine.camera-engine");
29
+ const viewer_rendering_engine_intersection_engine_1 = require("@shapediver/viewer.rendering-engine.intersection-engine");
28
30
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
29
31
  const gl_matrix_1 = require("gl-matrix");
30
- const THREE = __importStar(require("three"));
31
32
  class SceneTracingManager {
32
- // #endregion Properties (1)
33
- // #region Constructors (1)
34
33
  constructor(_renderingEngine) {
35
34
  this._renderingEngine = _renderingEngine;
36
- // #region Properties (1)
35
+ this._intersectionManager = viewer_rendering_engine_intersection_engine_1.IntersectionEngine.instance;
37
36
  this._raycaster = new THREE.Raycaster();
38
37
  }
39
- // #endregion Constructors (1)
40
- // #region Public Methods (3)
41
38
  convert3Dto2D(p) {
42
39
  const canvasPageCoordinates = this._renderingEngine.canvas.getBoundingClientRect(), width = this._renderingEngine.canvas.width, height = this._renderingEngine.canvas.height;
43
40
  const camera = this._renderingEngine.cameraEngine.camera;
@@ -135,6 +132,16 @@ class SceneTracingManager {
135
132
  direction = gl_matrix_1.vec3.normalize(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), camera.unproject(gl_matrix_1.vec3.fromValues(_mouse_x, _mouse_y, 0.5)), origin));
136
133
  return { origin, direction };
137
134
  }
135
+ raytraceScene(origin, direction, filterCriteria) {
136
+ const intersect = this._intersectionManager.intersect({ origin, direction }, this._renderingEngine.id, filterCriteria);
137
+ return intersect.map((i) => {
138
+ return {
139
+ distance: i.distance,
140
+ node: i.node,
141
+ data: i.geometryData,
142
+ };
143
+ });
144
+ }
138
145
  }
139
146
  exports.SceneTracingManager = SceneTracingManager;
140
147
  //# sourceMappingURL=SceneTracingManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneTracingManager.js","sourceRoot":"","sources":["../../src/managers/SceneTracingManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SceneTracingManager.js","sourceRoot":"","sources":["../../src/managers/SceneTracingManager.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,11 @@ export declare class SceneTreeManager implements IManager {
27
27
  get boundingBox(): IBox;
28
28
  get lastRendererType(): RENDERER_TYPE;
29
29
  get lastRootVersion(): string;
30
+ get mainNode(): SDObject;
30
31
  get scene(): THREE.Scene;
31
32
  get suspendSceneUpdates(): boolean;
32
33
  set suspendSceneUpdates(value: boolean);
33
34
  init(): void;
34
- isEmpty(): boolean;
35
35
  /**
36
36
  * Convert the data of the scene graph node into the format of the implementation.
37
37
  *
@@ -39,7 +39,6 @@ export declare class SceneTreeManager implements IManager {
39
39
  * @param obj the corresponding type node
40
40
  */
41
41
  updateData(node: ITreeNode, obj: SDObject, data: ITreeNodeData, filter: UpdateFilter, isVisibleInHierarchy: boolean, skeleton?: THREE.Skeleton): void;
42
- updateMorphWeights(node?: ITreeNode, obj?: SDObject): void;
43
42
  /**
44
43
  * Update the current node via the scene graph node.
45
44
  * Convert the data if needed.
@@ -49,11 +48,6 @@ export declare class SceneTreeManager implements IManager {
49
48
  */
50
49
  updateNode(node: ITreeNode | undefined, obj: THREE.Object3D | undefined, filter?: UpdateFilter, visibleInHierarchy?: boolean, skeleton?: THREE.Skeleton): void;
51
50
  updateSceneTree(root: ITreeNode): void;
52
- private collectSDTFItemData;
53
- private createSDTFOverview;
54
- private getBone;
55
- private injectAttributeData;
56
- private removeData;
57
51
  }
58
52
  export {};
59
53
  //# sourceMappingURL=SceneTreeManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneTreeManager.d.ts","sourceRoot":"","sources":["../../src/managers/SceneTreeManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAC,MAAM,sDAAsD,CAAC;AAC9E,OAAO,EAAM,IAAI,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAEN,SAAS,EACT,aAAa,EAEb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAUN,aAAa,EAGb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAYnD,aAAK,YAAY,GAAG;IACnB,kBAAkB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAMF,qBAAa,gBAAiB,YAAW,QAAQ;IA0BpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAvB7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2C;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAE9C,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,yBAAyB,CAGxB;IACT,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,aAAa,CACU;IAC/B,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAkB;gBAMjB,gBAAgB,EAAE,eAAe;IAQ9D,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED,IAAW,gBAAgB,IAAI,aAAa,CAE3C;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,KAAK,gBAEf;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAMM,IAAI,IAAI,IAAI;IAEZ,OAAO;IAYd;;;;;OAKG;IACI,UAAU,CAChB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GACvB,IAAI;IAiKA,kBAAkB,CACxB,IAAI,GAAE,SAA2B,EACjC,GAAG,GAAE,QAAyB;IAsC/B;;;;;;OAMG;IACI,UAAU,CAChB,IAAI,uBAA6B,EACjC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,EAC/B,MAAM,GAAE,YAA0C,EAClD,kBAAkB,GAAE,OAAc,EAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ;IAgOnB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAkI7C,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,UAAU;CA4FlB"}
1
+ {"version":3,"file":"SceneTreeManager.d.ts","sourceRoot":"","sources":["../../src/managers/SceneTreeManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,QAAQ,EAAC,MAAM,sDAAsD,CAAC;AAC9E,OAAO,EAAM,IAAI,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAEN,SAAS,EACT,aAAa,EAEb,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EAQN,aAAa,EACb,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAYnD,aAAK,YAAY,GAAG;IACnB,kBAAkB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAMF,qBAAa,gBAAiB,YAAW,QAAQ;IA0BpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAvB7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2C;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAE9C,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,yBAAyB,CAGxB;IACT,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,aAAa,CACU;IAC/B,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAkB;gBAMjB,gBAAgB,EAAE,eAAe;IAQ9D,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED,IAAW,gBAAgB,IAAI,aAAa,CAE3C;IAED,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,IAAW,QAAQ,aAElB;IAED,IAAW,KAAK,gBAEf;IAED,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED,IAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAMM,IAAI,IAAI,IAAI;IAEnB;;;;;OAKG;IACI,UAAU,CAChB,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,YAAY,EACpB,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GACvB,IAAI;IA6GP;;;;;;OAMG;IACI,UAAU,CAChB,IAAI,uBAA6B,EACjC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,EAC/B,MAAM,GAAE,YAA0C,EAClD,kBAAkB,GAAE,OAAc,EAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ;IAmPnB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAmJ7C"}
@@ -28,6 +28,7 @@ const viewer_rendering_engine_camera_engine_1 = require("@shapediver/viewer.rend
28
28
  const viewer_rendering_engine_light_engine_1 = require("@shapediver/viewer.rendering-engine.light-engine");
29
29
  const viewer_shared_math_1 = require("@shapediver/viewer.shared.math");
30
30
  const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
31
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
31
32
  const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
32
33
  const gl_matrix_1 = require("gl-matrix");
33
34
  const THREE = __importStar(require("three"));
@@ -35,8 +36,8 @@ const SDBone_1 = require("../objects/SDBone");
35
36
  const SDData_1 = require("../objects/SDData");
36
37
  const SDObject_1 = require("../objects/SDObject");
37
38
  const ThreejsData_1 = require("../types/ThreejsData");
38
- /* eslint-disable @typescript-eslint/no-empty-function */
39
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
39
+ const SceenTreeManagerUtils_1 = require("./sceneTree/SceenTreeManagerUtils");
40
+ const SDTFUtils_1 = require("./sceneTree/SDTFUtils");
40
41
  // #endregion Type aliases (1)
41
42
  // #region Classes (1)
42
43
  class SceneTreeManager {
@@ -69,6 +70,9 @@ class SceneTreeManager {
69
70
  get lastRootVersion() {
70
71
  return this._lastRootVersion;
71
72
  }
73
+ get mainNode() {
74
+ return this._mainNode;
75
+ }
72
76
  get scene() {
73
77
  return this._scene;
74
78
  }
@@ -81,15 +85,6 @@ class SceneTreeManager {
81
85
  // #endregion Public Getters And Setters (4)
82
86
  // #region Public Methods (6)
83
87
  init() { }
84
- isEmpty() {
85
- return ((this._boundingBox.min[0] === 0 &&
86
- this._boundingBox.min[1] === 0 &&
87
- this._boundingBox.min[2] === 0 &&
88
- this._boundingBox.max[0] === 0 &&
89
- this._boundingBox.max[1] === 0 &&
90
- this._boundingBox.max[2] === 0) ||
91
- this._boundingBox.isEmpty());
92
- }
93
88
  /**
94
89
  * Convert the data of the scene graph node into the format of the implementation.
95
90
  *
@@ -107,7 +102,7 @@ class SceneTreeManager {
107
102
  obj.add(dataChild);
108
103
  }
109
104
  if (this._renderingEngine.type === viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES) {
110
- this.injectAttributeData(node, data);
105
+ (0, SDTFUtils_1.injectAttributeData)(this._renderingEngine, this._currentSDTFOverview, node, data);
111
106
  }
112
107
  else {
113
108
  const sdtfTransform = node.getTransformation("sdtf");
@@ -125,39 +120,12 @@ class SceneTreeManager {
125
120
  const instanceTransformationData = (_a = node.parent) === null || _a === void 0 ? void 0 : _a.data.find((d) => d instanceof viewer_shared_types_1.InstanceData);
126
121
  if (filter.transformationOnly === false)
127
122
  this._renderingEngine.geometryLoader.load(data, dataChild, newChild, skeleton, instanceTransformationData);
128
- let bb = new viewer_shared_math_1.Box();
129
- if (skeleton) {
130
- bb = data.primitive.computeBoundingBox(node.worldMatrix);
131
- }
132
- else {
133
- const clone = dataChild.clone();
134
- clone.applyTransformation(node.worldMatrix);
135
- const threeBox = new THREE.Box3().setFromObject(clone, true);
136
- bb = new viewer_shared_math_1.Box(gl_matrix_1.vec3.fromValues(threeBox.min.x, threeBox.min.y, threeBox.min.z), gl_matrix_1.vec3.fromValues(threeBox.max.x, threeBox.max.y, threeBox.max.z));
137
- }
138
- // adjust the general BB
139
- node.boundingBox.union(bb);
140
- // create the specific BB if it doesn't exist yet
141
- if (!node.boundingBoxViewport[this._renderingEngine.id])
142
- node.boundingBoxViewport[this._renderingEngine.id] =
143
- new viewer_shared_math_1.Box();
144
- // adjust the specific BB
145
- node.boundingBoxViewport[this._renderingEngine.id].union(bb);
146
123
  }
147
124
  break;
148
125
  case data instanceof ThreejsData_1.ThreejsData:
149
126
  {
150
127
  dataChild.SDtype = SDData_1.SD_DATA_TYPE.THREEJS;
151
128
  dataChild.add(data.obj);
152
- const bbThree = new THREE.Box3().setFromObject(data.obj);
153
- // adjust the general BB
154
- node.boundingBox.union(new viewer_shared_math_1.Box(gl_matrix_1.vec3.fromValues(...bbThree.min.toArray()), gl_matrix_1.vec3.fromValues(...bbThree.max.toArray())));
155
- // create the specific BB if it doesn't exist yet
156
- if (!node.boundingBoxViewport[this._renderingEngine.id])
157
- node.boundingBoxViewport[this._renderingEngine.id] =
158
- new viewer_shared_math_1.Box();
159
- // adjust the specific BB
160
- node.boundingBoxViewport[this._renderingEngine.id].union(new viewer_shared_math_1.Box(gl_matrix_1.vec3.fromValues(...bbThree.min.toArray()), gl_matrix_1.vec3.fromValues(...bbThree.max.toArray())));
161
129
  }
162
130
  break;
163
131
  case data instanceof viewer_shared_types_1.AbstractMaterialData:
@@ -191,34 +159,7 @@ class SceneTreeManager {
191
159
  // if there is no valid conversion here, call the convertData of the implementation
192
160
  break;
193
161
  }
194
- }
195
- updateMorphWeights(node = this._tree.root, obj = this._mainNode) {
196
- if (!node || !obj)
197
- return;
198
- for (let i = 0, len = node.data.length; i < len; i++) {
199
- if (node.data[i] instanceof viewer_shared_types_1.GeometryData) {
200
- const data = node.data[i];
201
- const dataChild = (obj.children.find((oc) => oc.SDid === data.id &&
202
- oc.SDversion === data.version));
203
- if (dataChild)
204
- dataChild.traverse((o) => {
205
- if (o instanceof THREE.Points ||
206
- o instanceof THREE.LineSegments ||
207
- o instanceof THREE.LineLoop ||
208
- o instanceof THREE.Line ||
209
- o instanceof THREE.Mesh)
210
- o.morphTargetInfluences = data.morphWeights;
211
- });
212
- }
213
- }
214
- for (let i = 0, len = node.children.length; i < len; i++) {
215
- const nodeChild = node.children[i];
216
- if (!nodeChild)
217
- continue;
218
- const objChild = (obj.children.find((oc) => oc.SDid === nodeChild.id));
219
- if (objChild)
220
- this.updateMorphWeights(nodeChild, objChild);
221
- }
162
+ (0, SceenTreeManagerUtils_1.assignBoundingBox)(node, data, this._renderingEngine.id, dataChild, skeleton !== undefined);
222
163
  }
223
164
  /**
224
165
  * Update the current node via the scene graph node.
@@ -287,7 +228,7 @@ class SceneTreeManager {
287
228
  }
288
229
  });
289
230
  dataToRemove.forEach((dTR) => {
290
- this.removeData(dTR);
231
+ (0, SceenTreeManagerUtils_1.removeData)(this._renderingEngine, dTR);
291
232
  convertedObject.remove(dTR);
292
233
  });
293
234
  // remove all child nodes in the transformed object that do not exist anymore
@@ -312,7 +253,7 @@ class SceneTreeManager {
312
253
  childrenToRemove.forEach((cTR) => {
313
254
  cTR.traverse((o) => {
314
255
  if (o instanceof SDData_1.SDData)
315
- this.removeData(o);
256
+ (0, SceenTreeManagerUtils_1.removeData)(this._renderingEngine, o);
316
257
  });
317
258
  convertedObject.remove(cTR);
318
259
  });
@@ -321,7 +262,7 @@ class SceneTreeManager {
321
262
  if (node.skinNode === true) {
322
263
  const bones = [];
323
264
  for (let i = 0; i < node.bones.length; i++)
324
- bones.push(this.getBone(node.bones[i]));
265
+ bones.push((0, SceenTreeManagerUtils_1.getBone)(this._mainNode, node.bones[i]));
325
266
  const boneInverses = [];
326
267
  for (let i = 0; i < node.boneInverses.length; i++)
327
268
  boneInverses.push(new THREE.Matrix4().fromArray(node.boneInverses[i]));
@@ -334,8 +275,16 @@ class SceneTreeManager {
334
275
  const isVisibleInHierarchy = visibleInHierarchy && isVisible;
335
276
  // convert all data items of the current node
336
277
  // old versions will be replaced by new ones
337
- for (let i = 0, len = node.data.length; i < len; i++)
338
- this.updateData(node, convertedObject, node.data[i], filter, isVisibleInHierarchy, skeleton);
278
+ for (let i = 0, len = node.data.length; i < len; i++) {
279
+ const convertedObjectData = (convertedObject.children.find((oc) => oc.SDid === node.data[i].id &&
280
+ oc.SDversion === node.data[i].version));
281
+ if (!convertedObjectData) {
282
+ this.updateData(node, convertedObject, node.data[i], filter, isVisibleInHierarchy, skeleton);
283
+ }
284
+ else {
285
+ (0, SceenTreeManagerUtils_1.assignBoundingBox)(node, node.data[i], this._renderingEngine.id, convertedObjectData, skeleton !== undefined);
286
+ }
287
+ }
339
288
  // add new children and update the ones that have a different version
340
289
  for (let i = 0, len = node.children.length; i < len; i++) {
341
290
  const nodeChild = node.children[i];
@@ -383,18 +332,33 @@ class SceneTreeManager {
383
332
  updateSceneTree(root) {
384
333
  var _a, _b;
385
334
  // check if we currently have the same root version
386
- if (this._tree.root.version === this._lastRootVersion)
335
+ if (this._tree.root.version === this._lastRootVersion &&
336
+ this._renderingEngine.type === this._lastRendererType)
387
337
  return;
388
338
  // check if scene tree updates are currently suspended
389
339
  if (this._suspendSceneUpdates)
390
340
  return;
391
341
  this._lastRootVersion = this._tree.root.version;
342
+ if (this._renderingEngine.type !== this._lastRendererType) {
343
+ root.traverseData((data) => {
344
+ if (data instanceof viewer_shared_types_1.GeometryData) {
345
+ data.updateVersion();
346
+ }
347
+ });
348
+ }
392
349
  this._lastRendererType = this._renderingEngine.type;
393
350
  if (this._renderingEngine.closed)
394
351
  return;
395
352
  const oldBB = this._boundingBox.clone();
396
353
  this._boundingBox = new viewer_shared_math_1.Box();
397
354
  this._renderingEngine.lightLoader.shadowMapCount = 0;
355
+ // directional lights need to be updated every time
356
+ // as they are sensitive to the bounding box
357
+ root.traverseData((data) => {
358
+ if (data instanceof viewer_rendering_engine_light_engine_1.DirectionalLight) {
359
+ data.updateVersion();
360
+ }
361
+ });
398
362
  if (!this._mainNode) {
399
363
  this._mainNode = new SDObject_1.SDObject(root.id, root.version);
400
364
  const oldObj = root.convertedObject[this._renderingEngine.id];
@@ -404,12 +368,13 @@ class SceneTreeManager {
404
368
  this._scene.add(this._mainNode);
405
369
  }
406
370
  this._boundingBoxSensitiveData = [];
407
- this._currentSDTFOverview = this.createSDTFOverview();
371
+ this._currentSDTFOverview = (0, SDTFUtils_1.createSDTFOverview)(root);
408
372
  this.updateNode(root, this._mainNode);
409
373
  this._boundingBox =
410
374
  root.boundingBoxViewport[this._renderingEngine.id].clone();
411
- for (let i = 0; i < this._boundingBoxSensitiveData.length; i++)
375
+ for (let i = 0; i < this._boundingBoxSensitiveData.length; i++) {
412
376
  this._renderingEngine.lightLoader.adjustToBoundingBox(this._boundingBoxSensitiveData[i].data, this._boundingBoxSensitiveData[i].dataChild, this._boundingBox);
377
+ }
413
378
  if (!(this._boundingBox.min[0] === oldBB.min[0] &&
414
379
  this._boundingBox.min[1] === oldBB.min[1] &&
415
380
  this._boundingBox.min[2] === oldBB.min[2] &&
@@ -459,129 +424,6 @@ class SceneTreeManager {
459
424
  // we compile the shaders
460
425
  this._renderingEngine.renderer.compile(this._renderingEngine.scene, this._hiddenCamera);
461
426
  }
462
- // #endregion Public Methods (6)
463
- // #region Private Methods (5)
464
- collectSDTFItemData(node) {
465
- for (let i = 0, len = node.data.length; i < len; i++)
466
- if (node.data[i] instanceof viewer_shared_types_1.SDTFItemData)
467
- return node.data[i];
468
- if (!node.parent)
469
- return;
470
- return this.collectSDTFItemData(node.parent);
471
- }
472
- createSDTFOverview(node = this._tree.root) {
473
- const out = new viewer_shared_types_1.SDTFOverviewData({});
474
- for (let i = 0, len = node.data.length; i < len; i++)
475
- if (node.data[i] instanceof viewer_shared_types_1.SDTFOverviewData)
476
- out.merge(node.data[i]);
477
- for (let i = 0, len = node.children.length; i < len; i++)
478
- out.merge(new viewer_shared_types_1.SDTFOverviewData(this.createSDTFOverview(node.children[i])));
479
- return out.overview;
480
- }
481
- getBone(node) {
482
- let bone;
483
- this._mainNode.traverse((o) => {
484
- if (o.SDid === node.id)
485
- bone = o;
486
- });
487
- return bone;
488
- }
489
- injectAttributeData(node, data) {
490
- const itemData = this.collectSDTFItemData(node);
491
- const visData = {
492
- material: new viewer_shared_types_1.MaterialStandardData({
493
- color: this._renderingEngine.defaultMaterialColor,
494
- opacity: 1,
495
- }),
496
- matrix: gl_matrix_1.mat4.create(),
497
- };
498
- if (this._renderingEngine.visualizeAttributes) {
499
- const userVisData = this._renderingEngine.visualizeAttributes(this._currentSDTFOverview, itemData);
500
- this._inputValidator.validateAndError("Viewer.visualizeAttributes", userVisData, "object", true);
501
- this._inputValidator.validateAndError("Viewer.visualizeAttributes", userVisData.matrix, "mat4", true);
502
- visData.material = userVisData.material;
503
- visData.matrix = userVisData.matrix;
504
- }
505
- node.addTransformation({
506
- id: "sdtf",
507
- matrix: visData.matrix,
508
- });
509
- if (data instanceof viewer_shared_types_1.GeometryData)
510
- data.attributeMaterial = visData.material;
511
- }
512
- removeData(dataObject) {
513
- if (dataObject.userData.removed === true)
514
- return;
515
- dataObject.userData.removed = true;
516
- switch (true) {
517
- case dataObject.SDtype === SDData_1.SD_DATA_TYPE.GEOMETRY:
518
- dataObject.traverse((o) => {
519
- if (dataObject.id !== o.id && o.userData.removed === true)
520
- return;
521
- o.userData.removed = true;
522
- if (o instanceof THREE.Mesh ||
523
- o instanceof THREE.Line ||
524
- o instanceof THREE.Points ||
525
- o instanceof THREE.LineSegments ||
526
- o instanceof THREE.LineLoop) {
527
- this.scene.remove(o);
528
- this._renderingEngine.geometryLoader.removeFromGeometryCache(o.geometry.userData.SDid +
529
- "_" +
530
- o.geometry.userData.SDversion);
531
- this._renderingEngine.materialLoader.removeFromMaterialCache(o.material.userData.SDid +
532
- "_" +
533
- o.material.userData.SDversion);
534
- const texturesToRemove = [];
535
- for (const t in o.material) {
536
- if (o.material[t] instanceof THREE.Texture) {
537
- o.material[t].name = t;
538
- if (t !== "envMap") {
539
- if (!texturesToRemove.includes(o.material[t]))
540
- texturesToRemove.push(o.material[t]);
541
- }
542
- }
543
- }
544
- for (const texture of texturesToRemove) {
545
- if (texture.userData.cacheKey) {
546
- this._renderingEngine.materialLoader
547
- .threeJsTextureCache[texture.userData.cacheKey].usage--;
548
- }
549
- else {
550
- if (texture.name === "sphericalNormalMap") {
551
- this._renderingEngine.geometryLoader.removeFromGemSphericalMapsCache(o.geometry.userData.primitiveSDid +
552
- "_" +
553
- o.geometry.userData
554
- .primitiveSDversion);
555
- texture.dispose();
556
- }
557
- else {
558
- texture.dispose();
559
- }
560
- }
561
- }
562
- }
563
- });
564
- break;
565
- case dataObject.SDtype === SDData_1.SD_DATA_TYPE.THREEJS:
566
- break;
567
- case dataObject.SDtype === SDData_1.SD_DATA_TYPE.MATERIAL:
568
- break;
569
- case dataObject.SDtype === SDData_1.SD_DATA_TYPE.LIGHT:
570
- dataObject.traverse((o) => {
571
- if (o instanceof THREE.Light)
572
- o.dispose();
573
- });
574
- break;
575
- case dataObject.SDtype === SDData_1.SD_DATA_TYPE.HTML_ELEMENT_ANCHOR:
576
- this._renderingEngine.htmlElementAnchorLoader.removeData(dataObject.SDid, dataObject.SDversion);
577
- break;
578
- case dataObject.SDtype === SDData_1.SD_DATA_TYPE.ANIMATION:
579
- break;
580
- default:
581
- // if there is no valid conversion here, call the convertData of the implementation
582
- break;
583
- }
584
- }
585
427
  }
586
428
  exports.SceneTreeManager = SceneTreeManager;
587
429
  // #endregion Classes (1)