@realsee/dnalogel 2.12.0 → 2.13.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 (343) hide show
  1. package/dist/CSS3DRenderPlugin/utils/index.d.ts +0 -1
  2. package/{libs/PanoTagPlugin/controller/TagCacheController.d.ts → dist/PanoTagPlugin/controller/TagCache.d.ts} +7 -7
  3. package/dist/PanoTagPlugin/controller/TagComputer.d.ts +3 -36
  4. package/dist/PanoTagPlugin/controller/TagRender.d.ts +58 -0
  5. package/dist/PanoTagPlugin/controller/TagUtil.d.ts +56 -0
  6. package/dist/PanoTagPlugin/controller/index.d.ts +16 -72
  7. package/dist/PanoTagPlugin/typings/controller.d.ts +15 -16
  8. package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +2 -0
  9. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +16 -0
  10. package/dist/PanoTagPlugin/utils/device.d.ts +1 -0
  11. package/dist/PanoTagPlugin/utils/model/imageModel.d.ts +8 -0
  12. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +7 -7
  13. package/dist/index.cjs.js +46 -46
  14. package/dist/index.js +3854 -3790
  15. package/dist/index.umd.js +46 -46
  16. package/docs/assets/search.js +1 -1
  17. package/docs/classes/CSS3DRender.html +31 -31
  18. package/docs/classes/CruisePluginController.html +25 -25
  19. package/docs/classes/Magnifier.html +20 -20
  20. package/docs/classes/ModelRoomLabelController.html +11 -11
  21. package/docs/classes/Object3DHelperController.html +25 -25
  22. package/docs/classes/PaintBrush.html +15 -15
  23. package/docs/classes/PanoMeasurePluginLine.html +23 -23
  24. package/docs/classes/PanoMeasurePluginModel.html +22 -22
  25. package/docs/classes/PanoMeasurePluginPoint.html +14 -14
  26. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  27. package/docs/classes/PanoTagPluginController.html +112 -229
  28. package/docs/classes/Util.BetterTween.html +8 -8
  29. package/docs/classes/Util.FivePointSelector.html +12 -12
  30. package/docs/classes/Util.Interval.html +12 -12
  31. package/docs/classes/Util.Magnifier.html +17 -17
  32. package/docs/classes/Util.PointDomHelper.html +11 -11
  33. package/docs/classes/Util.PointHelper.html +11 -11
  34. package/docs/classes/Util.Rectangle.html +13 -13
  35. package/docs/enums/CameraMovementEffect.html +7 -7
  36. package/docs/enums/ContentType.html +19 -19
  37. package/docs/enums/DIRECTION.html +9 -9
  38. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  39. package/docs/enums/DimensionType.html +7 -7
  40. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  41. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  42. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  43. package/docs/enums/PointType.html +7 -7
  44. package/docs/enums/Rotation.html +8 -8
  45. package/docs/functions/CSS3DRenderPlugin.html +9 -6
  46. package/docs/functions/CameraMovementPlugin.html +9 -6
  47. package/docs/functions/CruisePlugin.html +9 -6
  48. package/docs/functions/GuideLinePlugin.html +9 -6
  49. package/docs/functions/ItemLabelPlugin.html +9 -6
  50. package/docs/functions/MapviewFloorplanPlugin.html +9 -6
  51. package/docs/functions/ModelChassisCompassPlugin.html +9 -6
  52. package/docs/functions/ModelEntryDoorGuidePlugin.html +9 -6
  53. package/docs/functions/ModelFloorplanPlugin.html +9 -6
  54. package/docs/functions/ModelItemLabelPlugin.html +9 -6
  55. package/docs/functions/ModelRoomLabelPlugin.html +9 -6
  56. package/docs/functions/ModelTVVideoPlugin.html +9 -6
  57. package/docs/functions/ModelViewPlugin.html +9 -6
  58. package/docs/functions/Object3DHelperPlugin.html +9 -6
  59. package/docs/functions/PanoCompassPlugin.html +9 -6
  60. package/docs/functions/PanoCursorRaycasterPlugin.html +9 -6
  61. package/docs/functions/PanoDoorLabelPlugin.html +9 -6
  62. package/docs/functions/PanoFloorplanRadarPlugin.html +9 -6
  63. package/docs/functions/PanoMeasurePlugin.html +9 -6
  64. package/docs/functions/PanoRulerPlugin.html +9 -6
  65. package/docs/functions/PanoRulerProPlugin.html +9 -6
  66. package/docs/functions/PanoSpatialTagPlugin.html +9 -6
  67. package/docs/functions/PanoTagPlugin.html +12 -14
  68. package/docs/functions/PanoVideoPlugin.html +9 -6
  69. package/docs/functions/TopviewFloorplanPlugin.html +9 -6
  70. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  71. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  72. package/docs/functions/Util.getFrameTime.html +5 -5
  73. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  74. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  75. package/docs/functions/Util.isNil.html +5 -5
  76. package/docs/functions/Util.nextFrame.html +5 -5
  77. package/docs/functions/Util.notNil.html +5 -5
  78. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  79. package/docs/functions/Util.tweenProgress.html +5 -5
  80. package/docs/functions/pluginFlag.html +9 -6
  81. package/docs/index.html +8 -5
  82. package/docs/interfaces/AddTagConfig.html +6 -6
  83. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  84. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  85. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  86. package/docs/interfaces/EventMap.html +15 -15
  87. package/docs/interfaces/FloorplanBounding.html +8 -8
  88. package/docs/interfaces/FloorplanData.html +10 -10
  89. package/docs/interfaces/FloorplanEntrance.html +11 -11
  90. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  91. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  92. package/docs/interfaces/FloorplanFloorData.html +9 -9
  93. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  94. package/docs/interfaces/FloorplanObserver.html +9 -9
  95. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  96. package/docs/interfaces/FloorplanPosition.html +7 -7
  97. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  98. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  99. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  100. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  101. package/docs/interfaces/FloorplanServerData.html +7 -7
  102. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  103. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  104. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  105. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  106. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  107. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  108. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  109. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  110. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  111. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  112. package/docs/interfaces/HelperOffset.html +8 -8
  113. package/docs/interfaces/ImagePlaneGroup.html +68 -0
  114. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  115. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  116. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  117. package/docs/interfaces/MinMax.html +7 -7
  118. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  119. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  120. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  121. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  122. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  123. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  124. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  125. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  126. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  127. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  128. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  129. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  130. package/docs/interfaces/ModelViewPluginExportType.html +11 -11
  131. package/docs/interfaces/Object3DHelperState.html +8 -8
  132. package/docs/interfaces/ObjectHelperControllers.html +9 -9
  133. package/docs/interfaces/PaintBrushAction.html +12 -12
  134. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  135. package/docs/interfaces/PaintBrushState.html +10 -10
  136. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  137. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +9 -6
  138. package/docs/interfaces/PanoMeasureParameterType.html +14 -14
  139. package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -8
  140. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -7
  141. package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -7
  142. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -8
  143. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  144. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  145. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  146. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  147. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  148. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  149. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  150. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +9 -6
  151. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +9 -6
  152. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  153. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  154. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  155. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  156. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  157. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  158. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  159. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +6 -6
  160. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +8 -8
  161. package/docs/interfaces/PanoVideoPluginType.PluginData.html +6 -6
  162. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +9 -9
  163. package/docs/interfaces/PanoVideoPluginType.PluginState.html +6 -6
  164. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +8 -8
  165. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +10 -10
  166. package/docs/interfaces/Point.html +8 -8
  167. package/docs/interfaces/Room.html +9 -9
  168. package/docs/interfaces/RoomInfo.html +7 -7
  169. package/docs/interfaces/RoomLabel.html +14 -14
  170. package/docs/interfaces/RoomRules.html +9 -6
  171. package/docs/interfaces/Rooms.html +9 -6
  172. package/docs/interfaces/Scissor.html +9 -9
  173. package/docs/interfaces/State.html +8 -8
  174. package/docs/interfaces/{TagCache.html → TagCacheInterface.html} +30 -30
  175. package/docs/interfaces/TagConfig.html +19 -10
  176. package/docs/interfaces/TagGLTFObjectGroup.html +68 -0
  177. package/docs/interfaces/TagIconUrl.html +11 -11
  178. package/docs/interfaces/TagObjectGroup.html +68 -0
  179. package/docs/interfaces/TagStyle.html +6 -6
  180. package/docs/interfaces/Tags.html +9 -9
  181. package/docs/interfaces/TemporaryState.html +6 -6
  182. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  183. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  184. package/docs/modules/PanoVideoPluginType.html +5 -5
  185. package/docs/modules/Util.html +5 -5
  186. package/docs/modules.html +12 -6
  187. package/docs/types/ArrayPosition.html +9 -6
  188. package/docs/types/AudioAppearance.html +9 -6
  189. package/docs/types/AudioTagTypeConfigKey.html +9 -6
  190. package/docs/types/CSS3DRenderExportType.html +9 -6
  191. package/docs/types/CSS3DRenderPluginExportType.html +9 -6
  192. package/docs/types/CSS3DRenderPluginParameterType.html +9 -6
  193. package/docs/types/ClassFunctionParameters.html +9 -6
  194. package/docs/types/Color.html +9 -6
  195. package/docs/types/ContentTypeConfigKey.html +9 -6
  196. package/docs/types/ContentTypeConfigKeySplit.html +9 -6
  197. package/docs/types/ContentTypeMap.html +9 -6
  198. package/docs/types/Create3DDomContainerReturnType.html +9 -6
  199. package/docs/types/Create3DElementReturnType.html +9 -6
  200. package/docs/types/CruisePluginExportType.html +9 -6
  201. package/docs/types/Direction-1.html +9 -6
  202. package/docs/types/Direction4.html +9 -6
  203. package/docs/types/FloorplanRuleLabels.html +9 -6
  204. package/docs/types/FloorplanServerRuleLabels.html +9 -6
  205. package/docs/types/GuideLinePluginExportType.html +9 -6
  206. package/docs/types/HelperEventMap.html +9 -6
  207. package/docs/types/LoadTagConfig.html +9 -6
  208. package/docs/types/MapviewFloorplanPluginParameterType.html +9 -6
  209. package/docs/types/MapviewFloorplanPluginReturnType.html +9 -6
  210. package/docs/types/MediaData.html +9 -6
  211. package/docs/types/MediaStore.html +9 -6
  212. package/docs/types/ModelElement.html +9 -6
  213. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +9 -6
  214. package/docs/types/ModelFloorplanPluginParameterType.html +9 -6
  215. package/docs/types/ModelFloorplanPluginReturnType.html +9 -6
  216. package/docs/types/ModelRoomLabelPluginParameters.html +9 -6
  217. package/docs/types/ModelRoomLabelPluginReturnType.html +9 -6
  218. package/docs/types/MoveArgs.html +9 -6
  219. package/docs/types/MoveOpts.html +9 -6
  220. package/docs/types/Object3DHelperEventMap.html +9 -6
  221. package/docs/types/ObjectFit.html +9 -6
  222. package/docs/types/PaintBrushEventMap.html +9 -6
  223. package/docs/types/PanoCompassPluginData.html +9 -6
  224. package/docs/types/PanoCompassPluginExportType.html +9 -6
  225. package/docs/types/PanoCompassPluginParameterType.html +9 -6
  226. package/docs/types/PanoFloorplanRadarPluginParameterType.html +9 -6
  227. package/docs/types/PanoFloorplanRadarPluginReturnType.html +9 -6
  228. package/docs/types/PanoIndex.html +9 -6
  229. package/docs/types/PanoMeasurePluginEvent.html +9 -6
  230. package/docs/types/PanoMeasureReturnType.html +9 -6
  231. package/docs/types/PanoSpatialTagPluginId.html +9 -6
  232. package/docs/types/PanoTagPluginExportInterface.html +9 -6
  233. package/docs/types/PanoTagPluginParamsInterface.html +9 -6
  234. package/docs/types/PanoVideoPluginParameterType.html +9 -6
  235. package/docs/types/PanoVideoPluginReturnType.html +9 -6
  236. package/docs/types/PlaneTag.html +9 -6
  237. package/docs/types/PlaneTagElement.html +9 -6
  238. package/docs/types/Point2DElement.html +9 -6
  239. package/docs/types/Point2DTag.html +9 -6
  240. package/docs/types/Point3DElement.html +9 -6
  241. package/docs/types/Point3DTag.html +9 -6
  242. package/docs/types/PointTag.html +9 -6
  243. package/docs/types/PointTagElement.html +9 -6
  244. package/docs/types/Position.html +9 -6
  245. package/docs/types/RotateArgs.html +9 -6
  246. package/docs/types/RotateOpts.html +9 -6
  247. package/docs/types/RuleLabelsKey.html +9 -6
  248. package/docs/types/RuleLabelsValue.html +9 -6
  249. package/docs/types/StickType.html +9 -6
  250. package/docs/types/Tag.html +9 -6
  251. package/docs/types/Tag2D.html +9 -6
  252. package/docs/types/Tag3D.html +9 -6
  253. package/docs/types/TagContentType.html +9 -6
  254. package/docs/types/TagDimensionType.html +9 -6
  255. package/docs/types/TagElement.html +10 -7
  256. package/docs/types/TagEvents.html +9 -6
  257. package/docs/types/TagGLTFObject.html +9 -6
  258. package/docs/types/TagHooks.html +9 -6
  259. package/docs/types/TagIconSize.html +9 -6
  260. package/docs/types/TagId.html +9 -6
  261. package/docs/types/TagPointType.html +9 -6
  262. package/docs/types/TopviewFloorplanPluginParameterType.html +9 -6
  263. package/docs/types/TopviewFloorplanPluginReturnType.html +9 -6
  264. package/docs/types/WorkCode.html +9 -6
  265. package/docs/variables/FLOOR_TYPE_MAP.html +9 -6
  266. package/docs/variables/PLUGIN.html +9 -6
  267. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +9 -6
  268. package/docs/variables/ROOM_TYPE_MAP.html +9 -6
  269. package/docs/variables/VERSION.html +9 -6
  270. package/docs/variables/itemLabelPluginServerParams.html +9 -6
  271. package/docs/variables/modelItemLabelPluginServerParams.html +9 -6
  272. package/docs/variables/modelRoomLabelPluginServerParams.html +9 -6
  273. package/libs/CSS3DRenderPlugin/CSS3DRender.js +2 -2
  274. package/libs/CSS3DRenderPlugin/Controller.js +2 -2
  275. package/libs/CSS3DRenderPlugin/index.js +2 -2
  276. package/libs/CSS3DRenderPlugin/utils/index.d.ts +0 -1
  277. package/libs/CSS3DRenderPlugin/utils/index.js +8 -10
  278. package/libs/CSS3DRenderPlugin/utils/three/CSS3DObject.js +6 -6
  279. package/libs/ModelTVVideoPlugin/Plugin.js +1 -1
  280. package/libs/ModelTVVideoPlugin/index.js +1 -1
  281. package/libs/Object3DHelperPlugin/Controller.js +1 -1
  282. package/libs/Object3DHelperPlugin/index.js +1 -1
  283. package/libs/PanoCompassPlugin/Controller.js +1 -1
  284. package/libs/PanoCompassPlugin/index.js +1 -1
  285. package/libs/PanoSpatialTagPlugin/Plugin.js +1 -1
  286. package/libs/PanoSpatialTagPlugin/index.js +1 -1
  287. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +1 -1
  288. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +1 -1
  289. package/libs/PanoTagPlugin/Components/Tag/index.js +16 -16
  290. package/libs/PanoTagPlugin/Components/TagContainer.js +1 -1
  291. package/libs/PanoTagPlugin/Components/TagItem.js +20 -20
  292. package/{dist/PanoTagPlugin/controller/TagCacheController.d.ts → libs/PanoTagPlugin/controller/TagCache.d.ts} +7 -7
  293. package/libs/PanoTagPlugin/controller/{TagCacheController.js → TagCache.js} +11 -11
  294. package/libs/PanoTagPlugin/controller/TagComputer.d.ts +3 -36
  295. package/libs/PanoTagPlugin/controller/TagComputer.js +168 -289
  296. package/libs/PanoTagPlugin/controller/TagRender.d.ts +58 -0
  297. package/libs/PanoTagPlugin/controller/TagRender.js +314 -0
  298. package/libs/PanoTagPlugin/controller/TagUtil.d.ts +56 -0
  299. package/libs/PanoTagPlugin/controller/TagUtil.js +172 -0
  300. package/libs/PanoTagPlugin/controller/index.d.ts +16 -72
  301. package/libs/PanoTagPlugin/controller/index.js +170 -330
  302. package/libs/PanoTagPlugin/index.js +51 -46
  303. package/libs/PanoTagPlugin/mocks/v1/mock-80P6A03eQRQKY3oqLj.d.ts +4 -0
  304. package/libs/PanoTagPlugin/mocks/v1/mock-80P6A03eQRQKY3oqLj.js +6 -0
  305. package/libs/PanoTagPlugin/mocks/v1/mock-80QG2vMPboNv5DWrom.d.ts +93 -0
  306. package/libs/PanoTagPlugin/mocks/v1/mock-80QG2vMPboNv5DWrom.js +5622 -0
  307. package/libs/PanoTagPlugin/mocks/v1/mock-test3-realsee-cn-4zr0A5.js +1325 -0
  308. package/libs/PanoTagPlugin/mocks/v1/mock1.d.ts +173 -0
  309. package/libs/PanoTagPlugin/mocks/v1/mock1.js +121 -0
  310. package/libs/PanoTagPlugin/mocks/v1/mock2.d.ts +233 -0
  311. package/libs/PanoTagPlugin/mocks/v1/mock2.js +296 -0
  312. package/libs/PanoTagPlugin/mocks/v1/mock3.d.ts +22 -0
  313. package/libs/PanoTagPlugin/mocks/v1/mock3.js +32 -0
  314. package/libs/PanoTagPlugin/mocks/v1/mock4.d.ts +56 -0
  315. package/libs/PanoTagPlugin/mocks/v1/mock4.js +60 -0
  316. package/libs/PanoTagPlugin/mocks/v1/mock5.d.ts +13 -0
  317. package/libs/PanoTagPlugin/mocks/v1/mock5.js +17 -0
  318. package/libs/PanoTagPlugin/mocks/v1/mock6.d.ts +16 -0
  319. package/libs/PanoTagPlugin/mocks/v1/mock6.js +27 -0
  320. package/libs/PanoTagPlugin/mocks/v1/mock7.d.ts +22 -0
  321. package/libs/PanoTagPlugin/mocks/v1/mock7.js +228 -0
  322. package/libs/PanoTagPlugin/typings/controller.d.ts +15 -16
  323. package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +2 -0
  324. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +16 -0
  325. package/libs/PanoTagPlugin/utils/addDebugPoints.js +1 -1
  326. package/libs/PanoTagPlugin/utils/device.d.ts +1 -0
  327. package/libs/PanoTagPlugin/utils/device.js +4 -0
  328. package/libs/PanoTagPlugin/utils/index.js +32 -33
  329. package/libs/PanoTagPlugin/utils/model/imageModel.d.ts +8 -0
  330. package/libs/PanoTagPlugin/utils/model/imageModel.js +31 -0
  331. package/libs/PanoTagPlugin/utils/planeNormal.js +1 -1
  332. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +7 -7
  333. package/libs/PanoTagPlugin/utils/tagPosition.js +1 -1
  334. package/libs/PanoVideoPlugin/Controller.js +1 -1
  335. package/libs/PanoVideoPlugin/VideoMeshController.js +1 -1
  336. package/libs/PanoVideoPlugin/index.js +1 -1
  337. package/libs/base/BasePlugin.js +1 -1
  338. package/libs/index.js +123 -119
  339. package/libs/shared-utils/three/loadTexture.js +19 -19
  340. package/package.json +1 -1
  341. /package/dist/{CSS3DRenderPlugin/utils → shared-utils/three}/centerPoint.d.ts +0 -0
  342. /package/libs/{CSS3DRenderPlugin/utils → shared-utils/three}/centerPoint.d.ts +0 -0
  343. /package/libs/{CSS3DRenderPlugin/utils → shared-utils/three}/centerPoint.js +0 -0
@@ -0,0 +1,314 @@
1
+ var R = Object.defineProperty;
2
+ var O = (p, m, e) => m in p ? R(p, m, { enumerable: !0, configurable: !0, writable: !0, value: e }) : p[m] = e;
3
+ var l = (p, m, e) => (O(p, typeof m != "symbol" ? m + "" : m, e), e);
4
+ var C = (p, m, e) => new Promise((t, i) => {
5
+ var o = (a) => {
6
+ try {
7
+ r(e.next(a));
8
+ } catch (n) {
9
+ i(n);
10
+ }
11
+ }, s = (a) => {
12
+ try {
13
+ r(e.throw(a));
14
+ } catch (n) {
15
+ i(n);
16
+ }
17
+ }, r = (a) => a.done ? t(a.value) : Promise.resolve(a.value).then(o, s);
18
+ r((e = e.apply(p, m)).next());
19
+ });
20
+ import { TagComputer as w } from "./TagComputer.js";
21
+ import { Group as S, Quaternion as G, Vector3 as T, Matrix4 as b } from "three";
22
+ import x from "../Components/TagContainer.js";
23
+ import A from "../Components/Tag/index.js";
24
+ import { arrayPositionToVector3 as D } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
25
+ import { planeNormal as j } from "../utils/planeNormal.js";
26
+ import { isMediaModelTag as f } from "../utils/tag/tagCheck.js";
27
+ import { normalPositionToPositions as E } from "../utils/normalPositionToPositions.js";
28
+ import { CSS3DRenderPlugin as V } from "../../CSS3DRenderPlugin/index.js";
29
+ import { loadGLTF as k } from "../../shared-utils/three/GLTFLoader.js";
30
+ import I from "../utils/model/imageModel.js";
31
+ import "../utils/tagPosition.js";
32
+ import "../../shared-utils/three/centerPoint.js";
33
+ import "../utils/checkRange.js";
34
+ import "hammerjs";
35
+ import "@realsee/five";
36
+ import "@tweenjs/tween.js";
37
+ import "../../CSS3DRenderPlugin/CSS3DRender.js";
38
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
39
+ import "three/examples/jsm/renderers/CSS3DRenderer";
40
+ import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
41
+ import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
42
+ import "../../CSS3DRenderPlugin/utils/even.js";
43
+ import "../../shared-utils/Subscribe.js";
44
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
45
+ import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
46
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
47
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
48
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
49
+ import "../../shared-utils/isNil.js";
50
+ import "../../shared-utils/animationFrame/BetterTween.js";
51
+ import "../../shared-utils/animationFrame/index.js";
52
+ import "./TagUtil.js";
53
+ import "object-assign-deep";
54
+ import "../tag.config.js";
55
+ import "./TagCache.js";
56
+ import "../../base/BasePlugin.js";
57
+ import "../../vendor/svelte/store/index.js";
58
+ import "../../vendor/svelte/internal/index.js";
59
+ import "../utils/device.js";
60
+ import "../Components/TagItem.js";
61
+ import "../utils/noTypecheck.js";
62
+ import "../Components/Common/TagPoint.js";
63
+ import "../Components/Common/Shadow.js";
64
+ import "../../vendor/svelte/transition/index.js";
65
+ import "../../vendor/svelte/easing/index.js";
66
+ import "../Components/Common/Icon/Icon.js";
67
+ import "../utils/getImageInfo.js";
68
+ import "../utils/px2rem.js";
69
+ import "../Assets/Icon.js";
70
+ import "../Components/Tag/TextTag/index.js";
71
+ import "../Components/Tag/TextTag/TextTag.js";
72
+ import "../Components/Common/Line/Straight.js";
73
+ import "../../shared-utils/uuid.js";
74
+ import "../Components/Common/Text/FlyMText.js";
75
+ import "../Components/Common/Text/FlyText.js";
76
+ import "animejs";
77
+ import "../utils/search.js";
78
+ import "../utils/constants.js";
79
+ import "../Components/Common/Arrow.js";
80
+ import "../utils/doUtil.js";
81
+ import "../Components/Tag/TextTag/TextPlaneTag.js";
82
+ import "../Components/Common/Text/MText.js";
83
+ import "../Components/Tag/ImageTextTag.js";
84
+ import "../Components/Common/Line/Polyline.js";
85
+ import "../Components/Common/Media.js";
86
+ import "../../vendor/svelte-carousel/src/components/Carousel/Carousel.js";
87
+ import "../../vendor/svelte-carousel/src/components/Dots/Dots.js";
88
+ import "../../vendor/svelte-carousel/src/components/Dot/Dot.js";
89
+ import "../../vendor/svelte-carousel/src/components/Arrow/Arrow.js";
90
+ import "../../vendor/svelte-carousel/src/direction.js";
91
+ import "../../vendor/svelte-carousel/src/components/Progress/Progress.js";
92
+ import "../../vendor/svelte-carousel/src/actions/swipeable/swipeable.js";
93
+ import "../../vendor/svelte-carousel/src/actions/swipeable/event.js";
94
+ import "../../vendor/svelte-carousel/src/utils/event.js";
95
+ import "../../vendor/svelte-carousel/src/units.js";
96
+ import "../../vendor/svelte-carousel/src/actions/hoverable/hoverable.js";
97
+ import "../../vendor/svelte-carousel/src/actions/hoverable/event.js";
98
+ import "../../vendor/svelte-carousel/src/actions/tappable/tappable.js";
99
+ import "../../vendor/svelte-carousel/src/utils/math.js";
100
+ import "../../vendor/svelte-carousel/src/actions/tappable/event.js";
101
+ import "../../vendor/svelte-carousel/src/utils/page.js";
102
+ import "../../vendor/svelte-carousel/src/utils/clones.js";
103
+ import "../../vendor/svelte-carousel/src/utils/object.js";
104
+ import "../../vendor/svelte-carousel/src/components/Carousel/createCarousel.js";
105
+ import "../../vendor/simply-reactive/src/simply-reactive.js";
106
+ import "lodash.get";
107
+ import "lodash.clonedeep";
108
+ import "../../vendor/simply-reactive/src/utils/subscription.js";
109
+ import "../../vendor/simply-reactive/src/utils/object.js";
110
+ import "lodash.isequal";
111
+ import "../../vendor/simply-reactive/src/utils/watcher.js";
112
+ import "../../vendor/svelte-carousel/src/utils/lazy.js";
113
+ import "../../vendor/svelte-carousel/src/utils/ProgressManager.js";
114
+ import "../../vendor/svelte-carousel/src/utils/interval.js";
115
+ import "../Components/Common/MediaItem.js";
116
+ import "../Components/Tag/MarketingTag.js";
117
+ import "../Components/Tag/AudioTag/index.js";
118
+ import "../Components/Tag/AudioTag/AudioTag.js";
119
+ import "../Components/Common/Audio.js";
120
+ import "../utils/audio/SharedAudio.js";
121
+ import "../../shared-utils/audio.js";
122
+ import "../Components/Common/Icon/audioIcon.js";
123
+ import "../Components/Tag/AudioTag/AudioPlaneTag.js";
124
+ import "../Components/Tag/MediaPlane.js";
125
+ import "../Components/Tag/LinkTag.js";
126
+ import "../Components/Tag/CustomTag.js";
127
+ import "../../CSS3DRenderPlugin/Controller.js";
128
+ import "../../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js";
129
+ import "@realsee/five/gltf-loader";
130
+ import "../../shared-utils/three/loadTexture.js";
131
+ class We extends w {
132
+ constructor(e) {
133
+ super(e);
134
+ l(this, "group", new S());
135
+ l(this, "imagePlaneGroup", new S());
136
+ l(this, "gltfObjectGroup", new S());
137
+ l(this, "enabledModelTagSet", /* @__PURE__ */ new Set());
138
+ l(this, "temporaryState", { visible: !0 });
139
+ l(this, "TagContainerSvelte");
140
+ l(this, "loadModel", (e) => C(this, null, function* () {
141
+ var a;
142
+ const t = e.data.modelUrl;
143
+ if (!t)
144
+ return;
145
+ const i = k(t).then((n) => Object.assign(n.scene, { customID: e.id, isTagModel: !0 }));
146
+ e.model = { promise: i };
147
+ const o = yield i;
148
+ if (((a = e.model) == null ? void 0 : a.promise) !== i || (e.model.object = o, !this.tags.includes(e)))
149
+ return;
150
+ o.visible = e.state.visible, new b().fromArray(e.matrix).decompose(o.position, o.quaternion, o.scale), o.updateWorldMatrix(!0, !0), this.getVisibleByFloorIndex(e) || (o.visible = !1);
151
+ const r = this.gltfObjectGroup.children.find((n) => n.customID === e.id);
152
+ return r && this.gltfObjectGroup.remove(r), this.gltfObjectGroup.add(o), this.updateTagCss3DObjectMatrix(e, o), o;
153
+ }));
154
+ this.group.name = "PanoTagPluginModelGroup", this.gltfObjectGroup.name = "PanoTagPluginGLTFObjectGroup", this.imagePlaneGroup.name = "ImagePlaneGroup", this.group.add(this.gltfObjectGroup), this.group.add(this.imagePlaneGroup);
155
+ }
156
+ clearTags() {
157
+ this.tags.forEach((e) => {
158
+ var t, i;
159
+ (i = (t = e.imageModel) == null ? void 0 : t.parent) == null || i.remove(e.imageModel);
160
+ }), this.tags = [], this.enabledModelTagSet.clear(), this.clearCache(), this.disposeAllCSS3DContainer(), this.updateRenderAllTags();
161
+ }
162
+ updateRenderAllTags() {
163
+ this.enabledModelTagSet.clear(), this.tags.forEach((e) => e.stickType === "Model" && this.enabledModelTagSet.add(e.id)), this.updateRenderPointTag(), this.updateRenderPlaneTag(), this.updateRenderModelTag(), this.updateRenderImageModel();
164
+ }
165
+ updateRenderImageModel() {
166
+ this.sort([...this.filterImageModel]).forEach((t) => {
167
+ var o, s, r, a;
168
+ const i = (o = t.data.mediaData[0]) == null ? void 0 : o.url;
169
+ !i || (t.imageModel && (t.imageModel.visible = (r = (s = t.state) == null ? void 0 : s.visible) != null ? r : !0), ((a = t.imageModel) == null ? void 0 : a.imageSrc) !== i && (t.imageModel = new I(i, t.position.map(D)), t.imageModel.name = "PanoTagPluginImageModel", this.imagePlaneGroup.add(t.imageModel)));
170
+ });
171
+ }
172
+ updateRenderPlaneTag() {
173
+ this.sort([...this.filter3DTag]).forEach((t) => {
174
+ var a, n, u;
175
+ if (f(t) && ((a = t.model) == null ? void 0 : a.object) && this.updateTagCss3DObjectMatrix(t, (n = t.model) == null ? void 0 : n.object), t.tag3DContentSvelte) {
176
+ const { svelteApp: d, domContainer: M, initialNormal: h, currentNormal: c } = t.tag3DContentSvelte;
177
+ if (this.updateTagCss3DObjectVisible(t), d.$set({ tag: t, hooks: this.hooks, state: this.state, temporaryState: this.temporaryState }), !h.equals(c)) {
178
+ const g = new G().setFromUnitVectors(h, c);
179
+ M.css3DObject.setRotationFromQuaternion(g);
180
+ }
181
+ return;
182
+ }
183
+ if (((u = t.state) == null ? void 0 : u.visible) === !1)
184
+ return;
185
+ if (this.css3DRenderPlugin || (this.css3DRenderPlugin = V(this.five)), t.stickType === "3DPoint" && !t.normal)
186
+ return console.error("updateRenderPlaneTag: \u4E09\u7EF4\u70B9\u6807\u7B7E\u7F3A\u5C11\u6CD5\u5411\u91CF\uFF01");
187
+ const i = (() => {
188
+ if (t.stickType === "Plane")
189
+ return t.position;
190
+ if (f(t))
191
+ return t.data.mediaPosition;
192
+ const d = t;
193
+ return E(
194
+ this.five.camera.position,
195
+ D(d.position),
196
+ D(d.normal)
197
+ );
198
+ })();
199
+ if (!i)
200
+ return;
201
+ const o = function() {
202
+ if (t.normal)
203
+ return D(t.normal);
204
+ if (t.stickType === "Plane")
205
+ return j(t.position);
206
+ if (t.contentType === "MediaModel")
207
+ return j(i);
208
+ }();
209
+ if (!o)
210
+ return;
211
+ const s = this.getTagConfig(t).tag3DConfig, r = this.css3DRenderPlugin.create3DDomContainer(i, s);
212
+ !r || (this.updateTagCss3DObjectVisible(t), this.store.css3DRenderDisposer.set(t.id, r.dispose), t.tag3DContentSvelte = {
213
+ svelteApp: new A({
214
+ target: r.container,
215
+ props: {
216
+ tag: t,
217
+ hooks: this.hooks,
218
+ state: this.state,
219
+ mediaStore: this.mediaStore,
220
+ temporaryState: this.temporaryState
221
+ }
222
+ }),
223
+ domContainer: r,
224
+ initialNormal: o,
225
+ currentNormal: o
226
+ });
227
+ }), this.clearUnusedPanelTag();
228
+ }
229
+ updateRenderModelTag() {
230
+ const e = (i) => !this.enabledModelTagSet.has(i.customID);
231
+ this.gltfObjectGroup.remove(...this.gltfObjectGroup.children.filter(e)), this.tags.filter(f).forEach((i) => {
232
+ var o;
233
+ (o = i.model) == null || o.promise.then((s) => {
234
+ s.visible = i.state.visible;
235
+ });
236
+ });
237
+ }
238
+ updateTagModelVisible() {
239
+ this.tags.forEach((e) => {
240
+ var t, i, o;
241
+ e.imageModel && (e.imageModel.visible = (o = ((t = e.state) == null ? void 0 : t.visible) && ((i = this.state) == null ? void 0 : i.visible)) != null ? o : !0);
242
+ });
243
+ }
244
+ updateTagCss3DObjectMatrix(e, t) {
245
+ var g, v, P, y;
246
+ const i = (P = (v = (g = e.mergedConfig) == null ? void 0 : g.tag3DConfig) == null ? void 0 : v.ratio) != null ? P : 216e-5, o = (y = e.tag3DContentSvelte) == null ? void 0 : y.domContainer.css3DObject;
247
+ if (!o)
248
+ return;
249
+ const s = f(e) ? e.data.mediaPosition : e.position;
250
+ t.updateWorldMatrix(!1, !1);
251
+ const r = t.matrixWorld, a = new T().fromArray(s[0]), n = new T().fromArray(s[2]), u = new T().lerpVectors(a, n, 0.5).add(new T(0, 0, 5e-4)), d = new b().setPosition(u), M = new b().makeScale(i, i, i), h = new b().multiply(r).multiply(d).multiply(M);
252
+ h.decompose(o.position, o.quaternion, o.scale);
253
+ const c = o.opacityMesh;
254
+ !c || h.decompose(c.position, c.quaternion, c.scale);
255
+ }
256
+ addMediaModelTag(e) {
257
+ return C(this, null, function* () {
258
+ const t = e.filter(f).map(this.loadModel);
259
+ yield Promise.all(t), this.setModelMedialVisible(), this.updateRenderAllTags();
260
+ });
261
+ }
262
+ updateRenderPointTag() {
263
+ var t;
264
+ const e = this.sort(this.filterPointTag);
265
+ if (this.setPointTagPosition(), this.TagContainerSvelte)
266
+ this.TagContainerSvelte.$set({ tags: e, state: this.state, temporaryState: this.temporaryState });
267
+ else {
268
+ const i = (t = this.five.getElement()) == null ? void 0 : t.parentElement;
269
+ if (!i)
270
+ return console.error("updateRenderPlaneTag: tag2DContainer not found");
271
+ this.TagContainerSvelte = new x({
272
+ target: i,
273
+ props: { hooks: this.hooks, tags: e, state: this.state, temporaryState: this.temporaryState, mediaStore: this.mediaStore }
274
+ });
275
+ }
276
+ }
277
+ updateTagContainerVisible() {
278
+ var e;
279
+ (e = this.TagContainerSvelte) == null || e.$set({
280
+ state: this.state,
281
+ temporaryState: this.temporaryState,
282
+ withAnimation: this.store.visibleWithAnimation
283
+ }), this.filter3DTag.forEach((t) => {
284
+ var i, o, s, r;
285
+ (s = (o = (i = t.tag3DContentSvelte) == null ? void 0 : i.domContainer) == null ? void 0 : o.css3DObject) == null || s.setVisible(this.state.visible), (r = t.tag3DContentSvelte) == null || r.svelteApp.$set({
286
+ state: this.state,
287
+ temporaryState: this.temporaryState,
288
+ withAnimation: this.store.visibleWithAnimation
289
+ });
290
+ });
291
+ }
292
+ disposeAllCSS3DContainer() {
293
+ for (const [e, t] of this.store.css3DRenderDisposer)
294
+ t == null || t();
295
+ this.store.css3DRenderDisposer = /* @__PURE__ */ new Map();
296
+ }
297
+ clearUnusedPanelTag() {
298
+ this.filter2DPointTag.forEach((e) => {
299
+ var t;
300
+ (t = e.tag3DContentSvelte) == null || t.domContainer.dispose(), e.tag3DContentSvelte = void 0;
301
+ });
302
+ for (const [e, t] of this.store.css3DRenderDisposer) {
303
+ const i = this.getTagById(e);
304
+ (!i || i.stickType === "2DPoint") && (t == null || t(), this.store.css3DRenderDisposer.delete(e));
305
+ }
306
+ }
307
+ updateTagCss3DObjectVisible(e) {
308
+ var t, i, o, s, r;
309
+ (r = (i = (t = e.tag3DContentSvelte) == null ? void 0 : t.domContainer) == null ? void 0 : i.css3DObject) == null || r.setVisible((s = this.state.visible && ((o = e.state) == null ? void 0 : o.visible)) != null ? s : !0), this.five.needsRender = !0;
310
+ }
311
+ }
312
+ export {
313
+ We as TagRender
314
+ };
@@ -0,0 +1,56 @@
1
+ import type { TagElement, TagContentType, StickType, TagId, TagConfig, PlaneTag, MediaStore } from '../typings';
2
+ import type { Tag, Tags, Point2DElement, Point3DElement, PlaneTagElement, PointTagElement, Point3DTag, ModelElement } from '../typings';
3
+ import { TagCache } from './TagCache';
4
+ import { CSS3DRenderPluginExportType } from '../../CSS3DRenderPlugin';
5
+ import { Five } from '@realsee/five';
6
+ export declare abstract class TagUtil extends TagCache {
7
+ config: Pick<Tags, 'globalConfig' | 'contentTypeConfig'>;
8
+ tags: TagElement[];
9
+ protected mediaStore: MediaStore;
10
+ /** css3DRenderPlugin */
11
+ protected css3DRenderPlugin?: CSS3DRenderPluginExportType;
12
+ protected store: {
13
+ /** 清理函数数组 */
14
+ disposers: (() => any)[];
15
+ visibleWithAnimation?: boolean;
16
+ css3DRenderDisposer: Map<TagId, () => void>;
17
+ eventListenerDisposer?: () => void;
18
+ resizeObserverDisposer?: () => void;
19
+ resizeObserverDisposerAdding: boolean;
20
+ disposed: boolean;
21
+ };
22
+ protected get isPanorama(): boolean;
23
+ protected constructor(five: Five);
24
+ getTagById<C extends TagContentType = any, S extends StickType = any>(id: TagId): TagElement<C, S> | undefined;
25
+ /** 暂停当前标签内进行的所有多媒体 */
26
+ pauseCurrentMedia(): void;
27
+ /**
28
+ * @description: 获取merge后的配置
29
+ * TODO: 缓存
30
+ */
31
+ getTagConfig(tag: Tag<any, any>): TagConfig<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown", StickType>;
32
+ protected loadVideoFirstFrame(): void;
33
+ protected updateTagConfig(params?: {
34
+ force?: boolean;
35
+ }): void;
36
+ protected can<T extends TagElement<any, any>>(action: 'show' | 'hide' | 'fold' | 'unfold' | 'renderByMesh', paramsTag: T): boolean;
37
+ /**
38
+ * @description: 获取角度
39
+ */
40
+ protected getAngle(tag: Point3DTag | PlaneTag, panoIndex?: number): number;
41
+ /**
42
+ * @description: 获取距离
43
+ */
44
+ protected getDistance(tag: Tag<any, any>, panoIndex?: number): number;
45
+ protected get filterPointTag(): PointTagElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
46
+ protected get filter2DPointTag(): Point2DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
47
+ protected get filter3DPointTag(): Point3DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
48
+ protected get filterImageModel(): PlaneTagElement<"MediaPlane">[];
49
+ protected get filterModelTag(): ModelElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
50
+ protected get filter3DTag(): (TagElement<any, "Plane"> | TagElement<any, "Model"> | TagElement<any, "3DPoint">)[];
51
+ /**
52
+ * @description 检查是否已经销毁
53
+ * @returns isDisposed; 已经销毁返回 true,否则返回 false
54
+ */
55
+ protected checkDisposed(): boolean;
56
+ }
@@ -0,0 +1,172 @@
1
+ var h = Object.defineProperty;
2
+ var y = (c, d, e) => d in c ? h(c, d, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[d] = e;
3
+ var a = (c, d, e) => (y(c, typeof d != "symbol" ? d + "" : d, e), e);
4
+ import T from "object-assign-deep";
5
+ import * as C from "three";
6
+ import { DefaultConfig as v } from "../tag.config.js";
7
+ import { anyPositionToVector3 as m } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
8
+ import { planeNormal as b } from "../utils/planeNormal.js";
9
+ import { tagPosition as k, getTagPosition as P } from "../utils/tagPosition.js";
10
+ import { TagCache as D } from "./TagCache.js";
11
+ import { writable as w } from "../../vendor/svelte/store/index.js";
12
+ import { isIOSWX as M } from "../utils/device.js";
13
+ import "../../shared-utils/three/centerPoint.js";
14
+ import "../utils/tag/tagCheck.js";
15
+ import "../../base/BasePlugin.js";
16
+ import "../../shared-utils/Subscribe.js";
17
+ import "../../vendor/svelte/internal/index.js";
18
+ class z extends D {
19
+ constructor(e) {
20
+ super(e);
21
+ a(this, "config", v);
22
+ a(this, "tags", []);
23
+ a(this, "mediaStore", w({
24
+ currentMediaElement: null
25
+ }));
26
+ a(this, "css3DRenderPlugin");
27
+ a(this, "store", {
28
+ disposers: [],
29
+ disposed: !1,
30
+ resizeObserverDisposerAdding: !1,
31
+ css3DRenderDisposer: /* @__PURE__ */ new Map()
32
+ });
33
+ }
34
+ get isPanorama() {
35
+ return this.five.currentMode === "Panorama";
36
+ }
37
+ getTagById(e) {
38
+ const o = this.tags.find((i) => i.id === e);
39
+ if (!o) {
40
+ console.warn(`error: can not find tag id ${e} by getTagById()`);
41
+ return;
42
+ }
43
+ return o;
44
+ }
45
+ pauseCurrentMedia() {
46
+ this.mediaStore.set({ currentMediaElement: null });
47
+ }
48
+ getTagConfig(e) {
49
+ var t, f;
50
+ if (!e)
51
+ return (t = this.config.globalConfig) != null ? t : {};
52
+ const o = {};
53
+ this.config.contentTypeConfig && Object.keys(this.config.contentTypeConfig).forEach((g) => {
54
+ const n = g;
55
+ if (o[n])
56
+ return;
57
+ const r = n.split("-");
58
+ if (r.length === 1) {
59
+ const [s] = r;
60
+ e.contentType === s && (o[n] = this.config.contentTypeConfig[n]);
61
+ }
62
+ if (r.length === 2) {
63
+ const [s = "Any", l = "Any"] = r;
64
+ (e.stickType === s || s === "Any") && (e.contentType === l || l === "Any") && (o[n] = this.config.contentTypeConfig[n]);
65
+ }
66
+ if (r.length === 3) {
67
+ const [s = "Any", l, p] = r;
68
+ if (l === "Audio" && e.contentType === "Audio") {
69
+ const u = e;
70
+ (u.stickType === s || s === "Any") && u.data.appearance === p && (o[n] = this.config.contentTypeConfig[n]);
71
+ }
72
+ }
73
+ });
74
+ const i = T({}, this.config.globalConfig, ...Object.values(o), e.config);
75
+ return typeof i.unfoldedConfig == "object" && (i.unfoldedConfig.disableFold && (i.unfoldedConfig = { keep: "unfolded" }), i.unfoldedConfig.disableUnfold && (i.unfoldedConfig = { keep: "folded" }), i.unfoldedConfig.keep && (i.unfoldedConfig = { keep: i.unfoldedConfig.keep })), typeof i.visibleConfig == "object" && i.visibleConfig.keep && (i.visibleConfig = { keep: i.visibleConfig.keep, visibleFiveMode: (f = i.visibleConfig) == null ? void 0 : f.visibleFiveMode }), i;
76
+ }
77
+ loadVideoFirstFrame() {
78
+ M && this.hooks.emit("loadVideoFirstFrame");
79
+ }
80
+ updateTagConfig(e) {
81
+ e != null && e.force && this.clearCache(), this.tags.forEach((o) => {
82
+ const i = this.getTagConfig(o);
83
+ o.mergedConfig = i;
84
+ });
85
+ }
86
+ can(e, o) {
87
+ const i = o, t = this.getTagConfig(i);
88
+ if (!t || typeof t != "object")
89
+ return !0;
90
+ if (e === "show" || e === "hide") {
91
+ if (!t.visibleConfig || typeof t.visibleConfig != "object")
92
+ return !0;
93
+ if (e === "show" && t.visibleConfig.keep === "hidden" || e === "hide" && (t.visibleConfig.keep === "visible" || t.visibleConfig.alwaysShowWhenMovePano))
94
+ return !1;
95
+ }
96
+ if (e === "fold" || e === "unfold") {
97
+ if (!t.unfoldedConfig || typeof t.unfoldedConfig != "object")
98
+ return !0;
99
+ if (e === "fold" && t.unfoldedConfig.keep === "unfolded" || e === "unfold" && t.unfoldedConfig.keep === "folded")
100
+ return !1;
101
+ }
102
+ if (e === "renderByMesh")
103
+ if (i.contentType === "MediaPlane" && i.stickType === "Plane") {
104
+ const f = i.data.mediaData;
105
+ return f.length === 1 && f[0].type === "Image" && t.renderType === "Mesh";
106
+ } else
107
+ return !1;
108
+ return !0;
109
+ }
110
+ getAngle(e, o) {
111
+ var f, g, n;
112
+ const i = (f = this.five.panoIndex) != null ? f : o;
113
+ if (i === void 0)
114
+ throw new Error(`getDistance(): fivePanoIndex is ${i}`);
115
+ const t = this.getCache({ panoIndex: o, id: e.id });
116
+ if (t.angle !== void 0)
117
+ return t.angle;
118
+ {
119
+ const r = (n = (g = this.five.work) == null ? void 0 : g.observers[i]) == null ? void 0 : n.position;
120
+ if (r === void 0)
121
+ throw new Error(`getAngleRange(): observerPosition is ${r}`);
122
+ const s = (() => e.stickType === "3DPoint" ? m(e.normal) : b(e.position))();
123
+ if (!s)
124
+ return;
125
+ const l = new C.Vector3().copy(r).sub(k(e.position)), p = s.angleTo(l) * 180 / Math.PI;
126
+ return t.angle = p, t.angle;
127
+ }
128
+ }
129
+ getDistance(e, o) {
130
+ var f, g, n;
131
+ const i = (f = this.five.panoIndex) != null ? f : o;
132
+ if (i === void 0)
133
+ throw new Error(`getDistance(): fivePanoIndex is ${i}`);
134
+ const t = this.getCache({ panoIndex: o, id: e.id });
135
+ if (t.distance !== void 0)
136
+ return t.distance;
137
+ {
138
+ const r = (n = (g = this.five.work) == null ? void 0 : g.observers[i]) == null ? void 0 : n.position;
139
+ if (r === void 0)
140
+ throw new Error(`getDistance(): observerPosition is ${r}`);
141
+ const s = P(e);
142
+ if (!s)
143
+ return -1;
144
+ const l = r.distanceTo(s);
145
+ return t.distance = l, l;
146
+ }
147
+ }
148
+ get filterPointTag() {
149
+ return this.tags.filter((e) => e.stickType === "2DPoint" || e.stickType === "3DPoint").filter((e) => e.position);
150
+ }
151
+ get filter2DPointTag() {
152
+ return this.tags.filter((e) => e.stickType === "2DPoint").filter((e) => e.position);
153
+ }
154
+ get filter3DPointTag() {
155
+ return this.tags.filter((e) => e.stickType === "3DPoint").filter((e) => e.position);
156
+ }
157
+ get filterImageModel() {
158
+ return this.tags.filter((e) => this.can("renderByMesh", e));
159
+ }
160
+ get filterModelTag() {
161
+ return this.tags.filter((e) => e.stickType === "Model");
162
+ }
163
+ get filter3DTag() {
164
+ return this.tags.filter((e) => e.stickType === "3DPoint" || e.stickType === "Plane" || e.stickType === "Model").filter((e) => !this.can("renderByMesh", e));
165
+ }
166
+ checkDisposed() {
167
+ return this.store.disposed ? (console.error("PanoTagPluginController has been disposed"), !0) : !1;
168
+ }
169
+ }
170
+ export {
171
+ z as TagUtil
172
+ };