@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
@@ -1,411 +1,290 @@
1
- var V = Object.defineProperty, j = Object.defineProperties;
2
- var B = Object.getOwnPropertyDescriptors;
3
- var P = Object.getOwnPropertySymbols;
4
- var U = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
5
- var T = (g, d, e) => d in g ? V(g, d, { enumerable: !0, configurable: !0, writable: !0, value: e }) : g[d] = e, C = (g, d) => {
6
- for (var e in d || (d = {}))
7
- U.call(d, e) && T(g, e, d[e]);
8
- if (P)
9
- for (var e of P(d))
10
- w.call(d, e) && T(g, e, d[e]);
11
- return g;
12
- }, I = (g, d) => j(g, B(d));
13
- var m = (g, d, e) => (T(g, typeof d != "symbol" ? d + "" : d, e), e);
14
- import x from "object-assign-deep";
15
- import * as k from "three";
16
- import { DefaultConfig as R } from "../tag.config.js";
17
- import { isMediaModelTag as b, is3DTag as $ } from "../utils/tag/tagCheck.js";
18
- import { anyPositionToVector3 as A } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
19
- import { planeNormal as E } from "../utils/planeNormal.js";
20
- import { getTagPosition as D, tagPosition as M } from "../utils/tagPosition.js";
21
- import { checkRange as y } from "../utils/checkRange.js";
22
- import { TagCacheController as S } from "./TagCacheController.js";
1
+ var B = Object.defineProperty, U = Object.defineProperties;
2
+ var V = Object.getOwnPropertyDescriptors;
3
+ var x = Object.getOwnPropertySymbols;
4
+ var M = Object.prototype.hasOwnProperty, D = Object.prototype.propertyIsEnumerable;
5
+ var y = (d, f, e) => f in d ? B(d, f, { enumerable: !0, configurable: !0, writable: !0, value: e }) : d[f] = e, I = (d, f) => {
6
+ for (var e in f || (f = {}))
7
+ M.call(f, e) && y(d, e, f[e]);
8
+ if (x)
9
+ for (var e of x(f))
10
+ D.call(f, e) && y(d, e, f[e]);
11
+ return d;
12
+ }, P = (d, f) => U(d, V(f));
13
+ var T = (d, f, e) => (y(d, typeof f != "symbol" ? f + "" : f, e), e);
14
+ import * as R from "three";
15
+ import { isMediaModelTag as h, is3DTag as j } from "../utils/tag/tagCheck.js";
16
+ import { tagPosition as C, getTagPosition as k } from "../utils/tagPosition.js";
17
+ import { checkRange as g } from "../utils/checkRange.js";
23
18
  import "hammerjs";
24
19
  import "@realsee/five";
25
20
  import "@tweenjs/tween.js";
26
21
  import "../../CSS3DRenderPlugin/CSS3DRender.js";
27
22
  import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
28
- import { notNil as F } from "../../shared-utils/isNil.js";
23
+ import { notNil as S } from "../../shared-utils/isNil.js";
29
24
  import "../../shared-utils/animationFrame/BetterTween.js";
30
- import "../../CSS3DRenderPlugin/utils/centerPoint.js";
31
- import "../../base/BasePlugin.js";
32
- import "../../shared-utils/Subscribe.js";
25
+ import { TagUtil as $ } from "./TagUtil.js";
26
+ import "../../CSS3DRenderPlugin/utils/positionToVector3.js";
27
+ import "../../shared-utils/three/centerPoint.js";
33
28
  import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
34
29
  import "three/examples/jsm/renderers/CSS3DRenderer";
35
30
  import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
36
31
  import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
37
32
  import "../../CSS3DRenderPlugin/utils/even.js";
33
+ import "../../shared-utils/Subscribe.js";
38
34
  import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
39
35
  import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
40
36
  import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
41
37
  import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
42
38
  import "../../shared-utils/animationFrame/index.js";
43
- class pe extends S {
39
+ import "object-assign-deep";
40
+ import "../tag.config.js";
41
+ import "../utils/planeNormal.js";
42
+ import "./TagCache.js";
43
+ import "../../base/BasePlugin.js";
44
+ import "../../vendor/svelte/store/index.js";
45
+ import "../../vendor/svelte/internal/index.js";
46
+ import "../utils/device.js";
47
+ class be extends $ {
44
48
  constructor(e) {
45
49
  super(e);
46
- m(this, "tags", []);
47
- m(this, "config", R);
48
- m(this, "raycaster", new k.Raycaster());
49
- }
50
- get isPanorama() {
51
- return this.five.currentMode === "Panorama";
50
+ T(this, "raycaster", new R.Raycaster());
52
51
  }
53
- getTagById(e) {
54
- const t = this.tags.find((i) => i.id === e);
55
- if (!t) {
56
- console.warn(`error: can not find tag id ${e} by getTagById()`);
57
- return;
58
- }
59
- return t;
60
- }
61
- changeContentTypeConfig(e, t, i = !0) {
62
- this.config.contentTypeConfig || (this.config.contentTypeConfig = {}), i ? this.config.contentTypeConfig[e] = x({}, this.config.contentTypeConfig[e], t) : this.config.contentTypeConfig[e] = t, this.clearCache();
63
- }
64
- getVisibleByPanoIndex(e, t) {
65
- var n;
66
- const i = this.getCache({ panoIndex: t, id: e.id }), o = (n = this.five.panoIndex) != null ? n : t;
67
- if (b(e))
52
+ getVisibleByPanoIndex(e, i) {
53
+ var t;
54
+ const n = this.getCache({ panoIndex: i, id: e.id }), s = (t = this.five.panoIndex) != null ? t : i;
55
+ if (h(e))
68
56
  return !0;
69
- if (i.visible !== void 0)
70
- return i.visible;
57
+ if (n.visible !== void 0)
58
+ return n.visible;
71
59
  {
72
- const f = (() => {
73
- var c, u, a;
74
- const s = (c = this.getTagConfig(e).visibleConfig) != null ? c : {}, l = this.getDistance(e);
75
- if (typeof s == "function")
76
- return { value: s(this.five, { tag: e, distance: l }), reason: "config function result" };
77
- if (s.keep === "hidden")
60
+ const l = (() => {
61
+ var v, p, a;
62
+ const o = (v = this.getTagConfig(e).visibleConfig) != null ? v : {}, u = this.getDistance(e);
63
+ if (typeof o == "function")
64
+ return { value: o(this.five, { tag: e, distance: u }), reason: "config function result" };
65
+ if (o.keep === "hidden")
78
66
  return { value: !1, reason: "config.keep is hidden" };
79
- if (s.keep === "visible")
67
+ if (o.keep === "visible")
80
68
  return { value: !0, reason: "config.keep is visible" };
81
- if (s.visiblePanoIndex !== void 0 && s.visiblePanoIndex !== "all" && o !== void 0) {
82
- if (Array.isArray(s.visiblePanoIndex) && !s.visiblePanoIndex.includes(o))
69
+ if (o.visiblePanoIndex !== void 0 && o.visiblePanoIndex !== "all" && s !== void 0) {
70
+ if (Array.isArray(o.visiblePanoIndex) && !o.visiblePanoIndex.includes(s))
83
71
  return {
84
72
  value: !1,
85
- reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${o}, visiblePanoIndex: ${s.visiblePanoIndex}`
73
+ reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${s}, visiblePanoIndex: ${o.visiblePanoIndex}`
86
74
  };
87
- if (s.visiblePanoIndex === "current" && o !== ((u = e.fiveState) == null ? void 0 : u.panoIndex))
75
+ if (o.visiblePanoIndex === "current" && s !== ((p = e.fiveState) == null ? void 0 : p.panoIndex))
88
76
  return {
89
77
  value: !1,
90
- reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${o}, tag.panoIndex: ${(a = e.fiveState) == null ? void 0 : a.panoIndex}`
78
+ reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${s}, tag.panoIndex: ${(a = e.fiveState) == null ? void 0 : a.panoIndex}`
91
79
  };
92
80
  }
93
- if (s.visibleDistance !== void 0 && s.visibleDistance !== "unLimited" && y(l, s.visibleDistance) === !1)
81
+ if (o.visibleDistance !== void 0 && o.visibleDistance !== "unLimited" && g(u, o.visibleDistance) === !1)
94
82
  return {
95
83
  value: !1,
96
- reason: `distance is not in visibleDistance. distance: ${l}, visibleDistance: ${s.visibleDistance}`
84
+ reason: `distance is not in visibleDistance. distance: ${u}, visibleDistance: ${o.visibleDistance}`
97
85
  };
98
- if (s.intersectRaycaster !== !1 && (typeof s.intersectRaycaster != "object" || s.intersectRaycaster.enabled !== !1)) {
99
- if (o === void 0)
86
+ if (o.intersectRaycaster !== !1 && (typeof o.intersectRaycaster != "object" || o.intersectRaycaster.enabled !== !1)) {
87
+ if (s === void 0)
100
88
  return {
101
89
  value: !1,
102
- reason: `intersectRaycaster check failed: fivePanoIndex is ${o}`
90
+ reason: `intersectRaycaster check failed: fivePanoIndex is ${s}`
103
91
  };
104
- const r = this.getRaycasterFromPanoIndex(e, o), p = this.getTagEnableByIntersect(e, r);
105
- if (p.value === !1)
106
- return p;
92
+ const r = this.getRaycasterFromPanoIndex(e, s), c = this.getTagEnableByIntersect(e, r);
93
+ if (c.value === !1)
94
+ return c;
107
95
  }
108
- if (s.angleRange && $(e)) {
96
+ if (o.angleRange && j(e)) {
109
97
  const r = this.getAngle(e);
110
- if (y(r, s.angleRange) === !1)
111
- return { value: !1, reason: `angle is not in angleRange. angle: ${r}, angleRange: ${s.angleRange}` };
98
+ if (g(r, o.angleRange) === !1)
99
+ return { value: !1, reason: `angle is not in angleRange. angle: ${r}, angleRange: ${o.angleRange}` };
112
100
  }
113
101
  return {
114
102
  value: !0,
115
103
  reason: "all check passed"
116
104
  };
117
105
  })();
118
- return i.visible = f.value, i.__debug_visible_reason__ = f, i.visible;
106
+ return n.visible = l.value, n.__debug_visible_reason__ = l, n.visible;
119
107
  }
120
108
  }
121
- getVisibleByFiveMode(e, t) {
122
- var n;
123
- const i = (n = this.getTagConfig(e).visibleConfig) != null ? n : {};
124
- if (typeof i == "function")
125
- return t === "Panorama";
126
- const o = i == null ? void 0 : i.visibleFiveMode;
127
- return o ? o.includes(t) : t === "Panorama";
109
+ getVisibleByFiveMode(e, i) {
110
+ var t;
111
+ const n = (t = this.getTagConfig(e).visibleConfig) != null ? t : {};
112
+ if (typeof n == "function")
113
+ return i === "Panorama";
114
+ const s = n == null ? void 0 : n.visibleFiveMode;
115
+ return s ? s.includes(i) : i === "Panorama";
128
116
  }
129
117
  getVisibleByFloorIndex(e) {
130
- var f;
131
- const t = e.fiveState;
132
- if (!t)
118
+ var l;
119
+ const i = e.fiveState;
120
+ if (!i)
133
121
  return !0;
134
- const i = t.panoIndex, o = (f = this.five.work.observers[i]) == null ? void 0 : f.floorIndex, n = this.five.model.shownFloor;
135
- return n === null || n === o;
122
+ const n = i.panoIndex, s = (l = this.five.work.observers[n]) == null ? void 0 : l.floorIndex, t = this.five.model.shownFloor;
123
+ return t === null || t === s;
136
124
  }
137
125
  getVisible(e) {
138
- const t = this.five.getCurrentState(), i = this.getVisibleByFiveMode(e, t.mode), o = b(e) ? this.getVisibleByFloorIndex(e) : !0, n = t.mode === "Panorama" ? this.getVisibleByPanoIndex(e, t.panoIndex) : !0;
139
- return i && n && o;
126
+ const i = this.five.getCurrentState(), n = this.getVisibleByFiveMode(e, i.mode), s = h(e) ? this.getVisibleByFloorIndex(e) : !0, t = i.mode === "Panorama" ? this.getVisibleByPanoIndex(e, i.panoIndex) : !0;
127
+ return n && t && s;
140
128
  }
141
129
  getModelMedialVisibleByPanoIndex(e) {
142
- const t = this.five.getCurrentState().panoIndex, i = this.getCache({ panoIndex: t, id: e.id });
143
- if (i.modelMedialVisible !== void 0)
144
- return i.modelMedialVisible;
145
- const o = this.getRaycasterFromPanoIndex(e, t), n = this.getTagEnableByIntersect(e, o);
146
- return i.modelMedialVisible = n.value, i.__debug_visible_reason__ = n, n.value !== !1;
130
+ const i = this.five.getCurrentState().panoIndex, n = this.getCache({ panoIndex: i, id: e.id });
131
+ if (n.modelMedialVisible !== void 0)
132
+ return n.modelMedialVisible;
133
+ const s = this.getRaycasterFromPanoIndex(e, i), t = this.getTagEnableByIntersect(e, s);
134
+ return n.modelMedialVisible = t.value, n.__debug_visible_reason__ = t, t.value !== !1;
147
135
  }
148
- getUnfoldedByPanoIndex(e, t) {
136
+ getUnfoldedByPanoIndex(e, i) {
149
137
  if (!this.getVisibleByPanoIndex(e))
150
138
  return;
151
- const o = this.getCache({ panoIndex: t, id: e.id });
152
- if (o.unfolded !== void 0)
153
- return o.unfolded;
139
+ const s = this.getCache({ panoIndex: i, id: e.id });
140
+ if (s.unfolded !== void 0)
141
+ return s.unfolded;
154
142
  {
155
- const n = this.getTagConfig(e).unfoldedConfig;
156
- if (!n)
143
+ const t = this.getTagConfig(e).unfoldedConfig;
144
+ if (!t)
157
145
  return;
158
- const f = (() => {
159
- const l = this.getDistance(e);
160
- if (typeof n == "function")
161
- return n(this.five, { tag: e, distance: l });
162
- if (n.keep === "folded")
146
+ const l = (() => {
147
+ const u = this.getDistance(e);
148
+ if (typeof t == "function")
149
+ return t(this.five, { tag: e, distance: u });
150
+ if (t.keep === "folded")
163
151
  return !1;
164
- if (n.keep === "unfolded")
152
+ if (t.keep === "unfolded")
165
153
  return !0;
166
- if (n.unfoldDistance && y(l, n.unfoldDistance) === !1)
154
+ if (t.unfoldDistance && g(u, t.unfoldDistance) === !1)
167
155
  return !1;
168
156
  })();
169
- o.unfolded = f;
170
- const s = this.getUnfoldedByCamera(e);
171
- return s !== void 0 ? s : o.unfolded;
157
+ s.unfolded = l;
158
+ const o = this.getUnfoldedByCamera(e);
159
+ return o !== void 0 ? o : s.unfolded;
172
160
  }
173
161
  }
174
162
  getUnfoldedByCamera(e) {
175
163
  return this.getVisibleByPanoIndex(e) ? (() => {
176
- var f;
177
- const o = this.getDistance(e), n = this.getTagConfig(e).unfoldedConfig;
178
- if (!!n) {
179
- if (typeof n == "function")
180
- return n(this.five, { tag: e, distance: o });
181
- if (n.keep === "folded")
164
+ var l;
165
+ const s = this.getDistance(e), t = this.getTagConfig(e).unfoldedConfig;
166
+ if (!!t) {
167
+ if (typeof t == "function")
168
+ return t(this.five, { tag: e, distance: s });
169
+ if (t.keep === "folded")
182
170
  return !1;
183
- if (n.keep === "unfolded")
171
+ if (t.keep === "unfolded")
184
172
  return !0;
185
- if (n.autoUnfold === void 0 || n.autoUnfold === !1 || n.autoUnfold.enable === !1 || !n.autoUnfold.strategy)
173
+ if (t.autoUnfold === void 0 || t.autoUnfold === !1 || t.autoUnfold.enable === !1 || !t.autoUnfold.strategy)
186
174
  return;
187
- if (n.autoUnfold.strategy === "ScreenPostion") {
188
- const s = this.getTagProject(e);
189
- if (s && y(s.x, n.autoUnfold.autoUnfoldProjectX) === !1)
175
+ if (t.autoUnfold.strategy === "ScreenPostion") {
176
+ const o = this.getTagProject(e);
177
+ if (o && g(o.x, t.autoUnfold.autoUnfoldProjectX) === !1)
190
178
  return !1;
191
179
  }
192
- if (n.autoUnfold.strategy === "MinimumDistance") {
193
- const c = this.filterPointTag().filter((a) => this.getVisibleByPanoIndex(a)).filter((a) => {
180
+ if (t.autoUnfold.strategy === "MinimumDistance") {
181
+ const v = this.filterPointTag.filter((a) => this.getVisibleByPanoIndex(a)).filter((a) => {
194
182
  const r = this.getTagProject(a);
195
183
  if (!r)
196
184
  return !1;
197
- const { x: p, y: v, z: h } = r;
198
- return !(Math.abs(h) > 1 || Math.abs(p) > 1 || Math.abs(v) > 1);
185
+ const { x: c, y: b, z: m } = r;
186
+ return !(Math.abs(m) > 1 || Math.abs(c) > 1 || Math.abs(b) > 1);
199
187
  }).map((a) => ({ tag: a, id: a.id, tagConfig: this.getTagConfig(a).unfoldedConfig })).filter(({ tag: a, tagConfig: r }) => {
200
- var p, v;
201
- return !(typeof r != "object" || r.keep || r.autoUnfold === !1 || ((p = r.autoUnfold) == null ? void 0 : p.enable) === !1 || ((v = r.autoUnfold) == null ? void 0 : v.strategy) !== "MinimumDistance");
202
- }).map((a) => I(C({}, a), { distance: this.getDistance(a.tag) })).filter(({ distance: a, tagConfig: r }) => {
203
- var p, v;
204
- return !(a === void 0 || typeof r != "object" || r.autoUnfold === !1 || ((p = r.autoUnfold) == null ? void 0 : p.enable) === !1 || ((v = r.autoUnfold) == null ? void 0 : v.strategy) !== "MinimumDistance" || r.autoUnfold.distance && y(a, r.autoUnfold.distance) === !1);
188
+ var c, b;
189
+ return !(typeof r != "object" || r.keep || r.autoUnfold === !1 || ((c = r.autoUnfold) == null ? void 0 : c.enable) === !1 || ((b = r.autoUnfold) == null ? void 0 : b.strategy) !== "MinimumDistance");
190
+ }).map((a) => P(I({}, a), { distance: this.getDistance(a.tag) })).filter(({ distance: a, tagConfig: r }) => {
191
+ var c, b;
192
+ return !(a === void 0 || typeof r != "object" || r.autoUnfold === !1 || ((c = r.autoUnfold) == null ? void 0 : c.enable) === !1 || ((b = r.autoUnfold) == null ? void 0 : b.strategy) !== "MinimumDistance" || r.autoUnfold.distance && g(a, r.autoUnfold.distance) === !1);
205
193
  }).sort((a, r) => a.distance - r.distance).findIndex((a) => a.id === e.id);
206
- if (c === -1 || c <= ((f = n.autoUnfold.maxNumber) != null ? f : 1) - 1 === !1)
194
+ if (v === -1 || v <= ((l = t.autoUnfold.maxNumber) != null ? l : 1) - 1 === !1)
207
195
  return !1;
208
196
  }
209
197
  return !0;
210
198
  }
211
199
  })() : void 0;
212
200
  }
213
- getDistance(e, t) {
214
- var n, f, s;
215
- const i = (n = this.five.panoIndex) != null ? n : t;
216
- if (i === void 0)
217
- throw new Error(`getDistance(): fivePanoIndex is ${i}`);
218
- const o = this.getCache({ panoIndex: t, id: e.id });
219
- if (o.distance !== void 0)
220
- return o.distance;
221
- {
222
- const l = (s = (f = this.five.work) == null ? void 0 : f.observers[i]) == null ? void 0 : s.position;
223
- if (l === void 0)
224
- throw new Error(`getDistance(): observerPosition is ${l}`);
225
- const c = D(e);
226
- if (!c)
227
- return -1;
228
- const u = l.distanceTo(c);
229
- return o.distance = u, u;
230
- }
231
- }
232
- getAngle(e, t) {
233
- var n, f, s;
234
- const i = (n = this.five.panoIndex) != null ? n : t;
235
- if (i === void 0)
236
- throw new Error(`getDistance(): fivePanoIndex is ${i}`);
237
- const o = this.getCache({ panoIndex: t, id: e.id });
238
- if (o.angle !== void 0)
239
- return o.angle;
240
- {
241
- const l = (s = (f = this.five.work) == null ? void 0 : f.observers[i]) == null ? void 0 : s.position;
242
- if (l === void 0)
243
- throw new Error(`getAngleRange(): observerPosition is ${l}`);
244
- const c = (() => e.stickType === "3DPoint" ? A(e.normal) : E(e.position))();
245
- if (!c)
246
- return;
247
- const u = new k.Vector3().copy(l).sub(M(e.position)), a = c.angleTo(u) * 180 / Math.PI;
248
- return o.angle = a, o.angle;
249
- }
250
- }
251
- getTagConfig(e) {
252
- var o, n;
253
- if (!e)
254
- return (o = this.config.globalConfig) != null ? o : {};
255
- const t = {};
256
- this.config.contentTypeConfig && Object.keys(this.config.contentTypeConfig).forEach((f) => {
257
- const s = f;
258
- if (t[s])
259
- return;
260
- const l = s.split("-");
261
- if (l.length === 1) {
262
- const [c] = l;
263
- e.contentType === c && (t[s] = this.config.contentTypeConfig[s]);
264
- }
265
- if (l.length === 2) {
266
- const [c = "Any", u = "Any"] = l;
267
- (e.stickType === c || c === "Any") && (e.contentType === u || u === "Any") && (t[s] = this.config.contentTypeConfig[s]);
268
- }
269
- if (l.length === 3) {
270
- const [c = "Any", u, a] = l;
271
- if (u === "Audio" && e.contentType === "Audio") {
272
- const r = e;
273
- (r.stickType === c || c === "Any") && r.data.appearance === a && (t[s] = this.config.contentTypeConfig[s]);
274
- }
275
- }
276
- });
277
- const i = x({}, this.config.globalConfig, ...Object.values(t), e.config);
278
- 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: (n = i.visibleConfig) == null ? void 0 : n.visibleFiveMode }), i;
279
- }
280
- can(e, t) {
281
- const i = this.getTagConfig(t);
282
- if (!i || typeof i != "object")
283
- return !0;
284
- if (e === "show" || e === "hide") {
285
- if (!i.visibleConfig || typeof i.visibleConfig != "object")
286
- return !0;
287
- if (e === "show" && i.visibleConfig.keep === "hidden" || e === "hide" && (i.visibleConfig.keep === "visible" || i.visibleConfig.alwaysShowWhenMovePano))
288
- return !1;
289
- }
290
- if (e === "fold" || e === "unfold") {
291
- if (!i.unfoldedConfig || typeof i.unfoldedConfig != "object")
292
- return !0;
293
- if (e === "fold" && i.unfoldedConfig.keep === "unfolded" || e === "unfold" && i.unfoldedConfig.keep === "folded")
294
- return !1;
295
- }
296
- return !0;
297
- }
298
201
  sort(e) {
299
- return e.sort((t, i) => {
300
- const o = this.getDistance(t), n = this.getDistance(i);
301
- return o === void 0 || n === void 0 ? 0 : n - o;
202
+ return e.sort((i, n) => {
203
+ const s = this.getDistance(i), t = this.getDistance(n);
204
+ return s === void 0 || t === void 0 ? 0 : t - s;
302
205
  });
303
206
  }
304
207
  setPointTagPosition() {
305
- const e = this.filterPointTag();
306
- e.length !== 0 && e.forEach((t) => {
307
- var o;
308
- if (!((o = t.state) != null && o.visible)) {
309
- t.pointTagStyle = null;
208
+ const e = this.filterPointTag;
209
+ e.length !== 0 && e.forEach((i) => {
210
+ var s;
211
+ if (!((s = i.state) != null && s.visible)) {
212
+ i.pointTagStyle = null;
310
213
  return;
311
214
  }
312
- const i = this.getTagProject(t);
313
- if (!i) {
314
- t.pointTagStyle = null;
215
+ const n = this.getTagProject(i);
216
+ if (!n) {
217
+ i.pointTagStyle = null;
315
218
  return;
316
219
  }
317
- t.pointTagStyle = { leftPercent: (i.x + 1) / 2 * 100, topPercent: (-i.y + 1) / 2 * 100 };
220
+ i.pointTagStyle = { leftPercent: (n.x + 1) / 2 * 100, topPercent: (-n.y + 1) / 2 * 100 };
318
221
  });
319
222
  }
320
223
  setVisibleByPanoIndex() {
321
224
  this.tags.forEach((e) => {
322
- const t = this.getVisibleByPanoIndex(e);
323
- e.state && (e.state.visible = t);
225
+ const i = this.getVisibleByPanoIndex(e);
226
+ e.state && (e.state.visible = i);
324
227
  });
325
228
  }
326
229
  setModelMedialVisible() {
327
230
  const e = this.five.getCurrentState().mode;
328
- this.tags.forEach((t) => {
329
- var o;
330
- if (!b(t))
231
+ this.tags.forEach((i) => {
232
+ var s;
233
+ if (!h(i))
331
234
  return;
332
- if (!((o = t.model) != null && o.object)) {
333
- t.mediaVisible = !1;
235
+ if (!((s = i.model) != null && s.object)) {
236
+ i.mediaVisible = !1;
334
237
  return;
335
238
  }
336
- const i = e === "Panorama" ? this.getModelMedialVisibleByPanoIndex(t) : !0;
337
- t.mediaVisible = i;
239
+ const n = e === "Panorama" ? this.getModelMedialVisibleByPanoIndex(i) : !0;
240
+ i.mediaVisible = n;
338
241
  });
339
242
  }
340
243
  setUnfoldedByPanoIndex() {
341
244
  this.tags.forEach((e) => {
342
- const t = this.getUnfoldedByPanoIndex(e);
343
- if (!!e.state && (t !== void 0 && (e.state.unfolded = t), t && !e.state.visible)) {
344
- const i = this.getTagConfig(e);
345
- typeof i.unfoldedConfig == "object" && i.unfoldedConfig.autoUnfoldWhenHide !== !1 && (e.state.unfolded = !1);
245
+ const i = this.getUnfoldedByPanoIndex(e);
246
+ if (!!e.state && (i !== void 0 && (e.state.unfolded = i), i && !e.state.visible)) {
247
+ const n = this.getTagConfig(e);
248
+ typeof n.unfoldedConfig == "object" && n.unfoldedConfig.autoUnfoldWhenHide !== !1 && (e.state.unfolded = !1);
346
249
  }
347
250
  });
348
251
  }
349
252
  getTagProject(e) {
350
253
  if (!this.getVisibleByPanoIndex(e) || !e.position)
351
254
  return;
352
- const i = M(e.position), { x: o, y: n, z: f } = i.project(this.five.camera);
353
- if (!(f > 1))
354
- return { x: o, y: n, z: f };
355
- }
356
- filterPointTag() {
357
- return this.tags.filter((e) => e.stickType === "2DPoint" || e.stickType === "3DPoint").filter((e) => e.position);
358
- }
359
- filter2DPointTag() {
360
- return this.tags.filter((e) => e.stickType === "2DPoint").filter((e) => e.position);
361
- }
362
- filter3DPointTag() {
363
- return this.tags.filter((e) => e.stickType === "3DPoint").filter((e) => e.position);
364
- }
365
- filterModelTag() {
366
- return this.tags.filter((e) => e.stickType === "Model");
367
- }
368
- filter3DTag() {
369
- return this.tags.filter((e) => e.stickType === "3DPoint" || e.stickType === "Plane" || e.stickType === "Model");
370
- }
371
- filterPlaneTag() {
372
- return this.tags.filter((e) => e.stickType === "Plane");
373
- }
374
- updateTagConfig(e) {
375
- e != null && e.force && this.clearCache(), this.tags.forEach((t) => {
376
- const i = this.getTagConfig(t);
377
- t.mergedConfig = i;
378
- });
255
+ const n = C(e.position), { x: s, y: t, z: l } = n.project(this.five.camera);
256
+ if (!(l > 1))
257
+ return { x: s, y: t, z: l };
379
258
  }
380
- getTagEnableByIntersect(e, t) {
381
- var c, u, a;
382
- const i = (c = this.getTagConfig(e).visibleConfig) != null ? c : {}, o = this.getDistance(e), [n] = this.five.model.intersectRaycaster(t), f = (() => {
383
- if (!b(e))
259
+ getTagEnableByIntersect(e, i) {
260
+ var v, p, a;
261
+ const n = (v = this.getTagConfig(e).visibleConfig) != null ? v : {}, s = this.getDistance(e), [t] = this.five.model.intersectRaycaster(i), l = (() => {
262
+ if (!h(e))
384
263
  return;
385
- const r = this.tags.filter(b).map((v) => {
386
- var h;
387
- return (h = v.model) == null ? void 0 : h.object;
388
- }).filter(F);
389
- return t.intersectObjects(r, !0)[0];
390
- })(), s = (() => {
264
+ const r = this.tags.filter(h).map((b) => {
265
+ var m;
266
+ return (m = b.model) == null ? void 0 : m.object;
267
+ }).filter(S);
268
+ return i.intersectObjects(r, !0)[0];
269
+ })(), o = (() => {
391
270
  var r;
392
- return typeof i == "object" && typeof i.intersectRaycaster == "object" && (r = i.intersectRaycaster.distanceAccuracy) != null ? r : 0.01;
271
+ return typeof n == "object" && typeof n.intersectRaycaster == "object" && (r = n.intersectRaycaster.distanceAccuracy) != null ? r : 0.01;
393
272
  })();
394
- return Math.min((u = n == null ? void 0 : n.distance) != null ? u : 1 / 0, (a = f == null ? void 0 : f.distance) != null ? a : 1 / 0) + s < o ? {
273
+ return Math.min((p = t == null ? void 0 : t.distance) != null ? p : 1 / 0, (a = l == null ? void 0 : l.distance) != null ? a : 1 / 0) + o < s ? {
395
274
  value: !1,
396
- reason: `intersectRaycaster check failed: distance is ${o}, intersection.point is ${n == null ? void 0 : n.point.toArray()},
397
- customModelIntersection.point is ${f == null ? void 0 : f.point.toArray()} distanceError is ${s}`
275
+ reason: `intersectRaycaster check failed: distance is ${s}, intersection.point is ${t == null ? void 0 : t.point.toArray()},
276
+ customModelIntersection.point is ${l == null ? void 0 : l.point.toArray()} distanceError is ${o}`
398
277
  } : { value: !0, reason: "" };
399
278
  }
400
- getRaycasterFromPanoIndex(e, t) {
401
- var n;
402
- const i = (n = this.five.work.observers[t]) == null ? void 0 : n.position;
403
- if (i === void 0)
404
- throw new Error(`getVisible(): observerPosition is ${i}`);
405
- const o = D(e).sub(i).normalize();
406
- return this.raycaster.set(i, o), this.raycaster;
279
+ getRaycasterFromPanoIndex(e, i) {
280
+ var t;
281
+ const n = (t = this.five.work.observers[i]) == null ? void 0 : t.position;
282
+ if (n === void 0)
283
+ throw new Error(`getVisible(): observerPosition is ${n}`);
284
+ const s = k(e).sub(n).normalize();
285
+ return this.raycaster.set(n, s), this.raycaster;
407
286
  }
408
287
  }
409
288
  export {
410
- pe as TagComputer
289
+ be as TagComputer
411
290
  };
@@ -0,0 +1,58 @@
1
+ import { TagComputer } from './TagComputer';
2
+ import type { Tag, TagElement, TagGLTFObject, TagObjectGroup, TagGLTFObjectGroup, ImagePlaneGroup } from '../typings';
3
+ import type { TemporaryState } from '../typings';
4
+ import { Object3D } from 'three';
5
+ import TagContainerSvelte from '../Components/TagContainer.svelte';
6
+ import { Five } from '@realsee/five';
7
+ export declare abstract class TagRender extends TagComputer {
8
+ protected group: TagObjectGroup;
9
+ protected imagePlaneGroup: ImagePlaneGroup;
10
+ protected gltfObjectGroup: TagGLTFObjectGroup;
11
+ /** 维护一个可用模型表,用于快速删除不应该在场景中的模型 */
12
+ protected enabledModelTagSet: Set<string | number>;
13
+ /** 临时状态 */
14
+ protected temporaryState: TemporaryState;
15
+ /** 点标签 */
16
+ protected TagContainerSvelte?: TagContainerSvelte;
17
+ constructor(five: Five);
18
+ clearTags(): void;
19
+ /**
20
+ * @description: 更新所有标签
21
+ */
22
+ protected updateRenderAllTags(): void;
23
+ protected updateRenderImageModel(): void;
24
+ /**
25
+ * @description: 渲染3D贴片
26
+ */
27
+ protected updateRenderPlaneTag(): void;
28
+ /** 更新所有模型标签
29
+ *
30
+ * 1. 移除不应该在场景中的模型
31
+ * 2. 更新模型的可见性
32
+ *
33
+ * FIXME: 有性能问题,但是之前的逻辑都是这么写,暂时先这样吧
34
+ */
35
+ protected updateRenderModelTag(): void;
36
+ protected updateTagModelVisible(): void;
37
+ /** 更新标签中多媒体面片的位置
38
+ * @param tag 标签
39
+ * @param model 模型
40
+ * @param scale css3DObject 原始缩放比例
41
+ */
42
+ protected updateTagCss3DObjectMatrix<S extends 'Model' | 'Plane' = 'Model'>(tag: TagElement<any, S>, model: Object3D): void;
43
+ /** 添加模型标签 */
44
+ protected addMediaModelTag(tags: Tag[]): Promise<void>;
45
+ /**
46
+ * @description: 渲染单个点的标签
47
+ */
48
+ protected updateRenderPointTag(): void;
49
+ protected updateTagContainerVisible(): void;
50
+ protected disposeAllCSS3DContainer(): void;
51
+ /**
52
+ * @description: 检查并销毁不用的3D贴片
53
+ */
54
+ protected clearUnusedPanelTag(): void;
55
+ /** 加载外部模型 */
56
+ protected loadModel: (tag: TagElement<'MediaModel', 'Model'>) => Promise<TagGLTFObject>;
57
+ private updateTagCss3DObjectVisible;
58
+ }