@realsee/dnalogel 2.27.3 → 2.27.4-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 (378) hide show
  1. package/dist/AreaMakerPlugin/Controller.d.ts +94 -0
  2. package/dist/AreaMakerPlugin/index.d.ts +4 -0
  3. package/dist/AreaMakerPlugin/typing.d.ts +148 -0
  4. package/dist/AreaMakerPlugin/utils/Item.d.ts +114 -0
  5. package/dist/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -5
  6. package/dist/base/BasePluginWithData.d.ts +1 -1
  7. package/dist/components/AreaLabel/Assets/roomLabelBg.d.ts +1 -0
  8. package/dist/components/AreaLabel/LabelItem.svelte.d.ts +1 -0
  9. package/dist/index.cjs.js +52 -52
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +4945 -4288
  12. package/dist/index.umd.js +54 -54
  13. package/dist/shared-utils/index.d.ts +1 -0
  14. package/dist/shared-utils/math/planimetry.d.ts +1 -1
  15. package/dist/shared-utils/three/core/Object3D.d.ts +8 -0
  16. package/dist/shared-utils/three/index.d.ts +2 -0
  17. package/dist/shared-utils/three/objects/LineSegments.d.ts +9 -0
  18. package/docs/.nojekyll +1 -0
  19. package/docs/assets/highlight.css +120 -0
  20. package/docs/assets/main.js +58 -0
  21. package/docs/assets/search.js +1 -0
  22. package/docs/assets/style.css +1367 -0
  23. package/docs/classes/AreaMakerPluginPluginType.AreaMakerController.html +711 -0
  24. package/docs/classes/AreaMakerPluginPluginType.AreaMakerItem.html +671 -0
  25. package/docs/classes/CSS3DRender.html +769 -0
  26. package/docs/classes/CruisePluginController.html +668 -0
  27. package/docs/classes/GuideLineItem.GuideLineItem.html +487 -0
  28. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +788 -0
  29. package/docs/classes/Magnifier.html +476 -0
  30. package/docs/classes/ModelRoomLabelController.html +394 -0
  31. package/docs/classes/Object3DHelperController.html +636 -0
  32. package/docs/classes/PaintBrush.html +498 -0
  33. package/docs/classes/PanoMeasurePluginLine.html +518 -0
  34. package/docs/classes/PanoMeasurePluginModel.html +567 -0
  35. package/docs/classes/PanoMeasurePluginPoint.html +358 -0
  36. package/docs/classes/PanoMeasurePluginPolyline.html +563 -0
  37. package/docs/classes/PanoTagPluginController.html +1086 -0
  38. package/docs/classes/Util.BetterTween.html +411 -0
  39. package/docs/classes/Util.Interval.html +427 -0
  40. package/docs/classes/Util.LineSegments.html +379 -0
  41. package/docs/classes/Util.Magnifier.html +498 -0
  42. package/docs/classes/Util.Object3D.html +401 -0
  43. package/docs/classes/Util.PointDomHelper.html +402 -0
  44. package/docs/classes/Util.PointHelper.html +393 -0
  45. package/docs/classes/Util.PointSelectorHelper.html +449 -0
  46. package/docs/classes/Util.Rectangle.html +450 -0
  47. package/docs/enums/CameraMovementEffect.html +306 -0
  48. package/docs/enums/ContentType.html +442 -0
  49. package/docs/enums/DIRECTION.html +316 -0
  50. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +316 -0
  51. package/docs/enums/DimensionType.html +306 -0
  52. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +309 -0
  53. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +316 -0
  54. package/docs/enums/PaintBrushTypeEnum.html +309 -0
  55. package/docs/enums/PointType.html +306 -0
  56. package/docs/enums/Rotation.html +313 -0
  57. package/docs/functions/AreaMakerPluginPlugin.html +284 -0
  58. package/docs/functions/CSS3DRenderPlugin.html +284 -0
  59. package/docs/functions/CameraMovementPlugin.html +289 -0
  60. package/docs/functions/CruisePlugin.html +286 -0
  61. package/docs/functions/GuideLinePlugin.html +286 -0
  62. package/docs/functions/ItemLabelPlugin.html +286 -0
  63. package/docs/functions/MapviewFloorplanPlugin.html +286 -0
  64. package/docs/functions/ModelChassisCompassPlugin.html +289 -0
  65. package/docs/functions/ModelEntryDoorGuidePlugin.html +289 -0
  66. package/docs/functions/ModelFloorplanPlugin.html +286 -0
  67. package/docs/functions/ModelItemLabelPlugin.html +286 -0
  68. package/docs/functions/ModelRoomLabelPlugin.html +284 -0
  69. package/docs/functions/ModelTVVideoPlugin.html +286 -0
  70. package/docs/functions/ModelViewPlugin.html +289 -0
  71. package/docs/functions/Object3DHelperPlugin.html +284 -0
  72. package/docs/functions/PanoCompassPlugin.html +286 -0
  73. package/docs/functions/PanoCursorRaycasterPlugin.html +290 -0
  74. package/docs/functions/PanoDoorLabelPlugin.html +286 -0
  75. package/docs/functions/PanoFloorplanRadarPlugin.html +286 -0
  76. package/docs/functions/PanoMeasurePlugin.html +286 -0
  77. package/docs/functions/PanoRulerPlugin.html +289 -0
  78. package/docs/functions/PanoRulerProPlugin.html +289 -0
  79. package/docs/functions/PanoSpatialTagPlugin.html +289 -0
  80. package/docs/functions/PanoTagPlugin.html +291 -0
  81. package/docs/functions/PanoVideoPlugin.html +295 -0
  82. package/docs/functions/PipelinePlugin.html +284 -0
  83. package/docs/functions/TopviewFloorplanPlugin.html +286 -0
  84. package/docs/functions/Util.absoluteUrl.html +321 -0
  85. package/docs/functions/Util.equal.html +333 -0
  86. package/docs/functions/Util.getCoordsFromClient.html +323 -0
  87. package/docs/functions/Util.getCoordsFromElement.html +323 -0
  88. package/docs/functions/Util.getFrameTime.html +315 -0
  89. package/docs/functions/Util.getIntersectFromRelativePosition.html +323 -0
  90. package/docs/functions/Util.getRaycasterFromFivePointer.html +323 -0
  91. package/docs/functions/Util.isAbsoluteURL.html +316 -0
  92. package/docs/functions/Util.isModelLike.html +316 -0
  93. package/docs/functions/Util.isNil.html +324 -0
  94. package/docs/functions/Util.isPanoramaLike.html +316 -0
  95. package/docs/functions/Util.nextFrame.html +329 -0
  96. package/docs/functions/Util.notNil.html +324 -0
  97. package/docs/functions/Util.requestAnimationFrameInterval.html +345 -0
  98. package/docs/functions/Util.tweenProgress.html +318 -0
  99. package/docs/functions/Util.uuid.html +314 -0
  100. package/docs/functions/pluginFlag.html +284 -0
  101. package/docs/index.html +350 -0
  102. package/docs/interfaces/AddTagConfig.html +299 -0
  103. package/docs/interfaces/AreaMakerPluginPluginType.AnimeOptions.html +325 -0
  104. package/docs/interfaces/AreaMakerPluginPluginType.Config.html +330 -0
  105. package/docs/interfaces/AreaMakerPluginPluginType.EventMap.html +616 -0
  106. package/docs/interfaces/AreaMakerPluginPluginType.Params.html +329 -0
  107. package/docs/interfaces/AreaMakerPluginPluginType.ServerAreaMakerItem.html +379 -0
  108. package/docs/interfaces/AreaMakerPluginPluginType.ServerAreaMakerItemV1.html +364 -0
  109. package/docs/interfaces/AreaMakerPluginPluginType.ServerDataV1.html +329 -0
  110. package/docs/interfaces/AreaMakerPluginPluginType.ServerDataV2.html +322 -0
  111. package/docs/interfaces/AreaMakerPluginPluginType.ShowHideOptions.html +321 -0
  112. package/docs/interfaces/AreaMakerPluginPluginType.State.html +350 -0
  113. package/docs/interfaces/CSS3DRenderPluginEventMap.html +445 -0
  114. package/docs/interfaces/CSS3DRenderPluginState.html +321 -0
  115. package/docs/interfaces/CameraMovementPluginExportType.html +354 -0
  116. package/docs/interfaces/CruisePluginTypes.Config.html +355 -0
  117. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +357 -0
  118. package/docs/interfaces/CruisePluginTypes.EventMap.html +692 -0
  119. package/docs/interfaces/CruisePluginTypes.MoveAction.html +381 -0
  120. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +417 -0
  121. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +407 -0
  122. package/docs/interfaces/CruisePluginTypes.PluginData.html +347 -0
  123. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +315 -0
  124. package/docs/interfaces/CruisePluginTypes.PluginState.html +404 -0
  125. package/docs/interfaces/EventMap.html +538 -0
  126. package/docs/interfaces/FloorplanBounding.html +328 -0
  127. package/docs/interfaces/FloorplanData.html +331 -0
  128. package/docs/interfaces/FloorplanEntrance.html +356 -0
  129. package/docs/interfaces/FloorplanExtraObject.html +346 -0
  130. package/docs/interfaces/FloorplanExtraObject3D.html +335 -0
  131. package/docs/interfaces/FloorplanFloorData.html +324 -0
  132. package/docs/interfaces/FloorplanImagePosition.html +310 -0
  133. package/docs/interfaces/FloorplanObserver.html +328 -0
  134. package/docs/interfaces/FloorplanOutlineItem.html +324 -0
  135. package/docs/interfaces/FloorplanPosition.html +310 -0
  136. package/docs/interfaces/FloorplanRoomItem.html +375 -0
  137. package/docs/interfaces/FloorplanRoomLabelItem.html +316 -0
  138. package/docs/interfaces/FloorplanServerBounding.html +328 -0
  139. package/docs/interfaces/FloorplanServerComputedData.html +327 -0
  140. package/docs/interfaces/FloorplanServerData.html +310 -0
  141. package/docs/interfaces/FloorplanServerDoorItem.html +327 -0
  142. package/docs/interfaces/FloorplanServerDoorPosition.html +313 -0
  143. package/docs/interfaces/FloorplanServerEntrance.html +356 -0
  144. package/docs/interfaces/FloorplanServerFloorData.html +324 -0
  145. package/docs/interfaces/FloorplanServerImagePosition.html +310 -0
  146. package/docs/interfaces/FloorplanServerObserver.html +328 -0
  147. package/docs/interfaces/FloorplanServerOutlineItem.html +324 -0
  148. package/docs/interfaces/FloorplanServerPosition.html +310 -0
  149. package/docs/interfaces/FloorplanServerRoomItem.html +387 -0
  150. package/docs/interfaces/FloorplanServerRoomLabelItem.html +316 -0
  151. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +319 -0
  152. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +357 -0
  153. package/docs/interfaces/GuideLinePluginType.EventMap.html +521 -0
  154. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +352 -0
  155. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +343 -0
  156. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +410 -0
  157. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +342 -0
  158. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +467 -0
  159. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +339 -0
  160. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +467 -0
  161. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +304 -0
  162. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +325 -0
  163. package/docs/interfaces/GuideLinePluginType.PluginState.html +350 -0
  164. package/docs/interfaces/GuideLinePluginType.Route.html +366 -0
  165. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +348 -0
  166. package/docs/interfaces/HelperOffset.html +328 -0
  167. package/docs/interfaces/ImagePlaneGroup.html +302 -0
  168. package/docs/interfaces/ItemLabelPluginData.html +299 -0
  169. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +384 -0
  170. package/docs/interfaces/ItemLabelPluginParametersType.html +320 -0
  171. package/docs/interfaces/MinMax.html +306 -0
  172. package/docs/interfaces/ModelChassisCompassPluginData.html +306 -0
  173. package/docs/interfaces/ModelChassisCompassPluginExportType.html +342 -0
  174. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +306 -0
  175. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +313 -0
  176. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +350 -0
  177. package/docs/interfaces/ModelItemLabelPluginData.html +299 -0
  178. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +384 -0
  179. package/docs/interfaces/ModelItemLabelPluginParametersType.html +306 -0
  180. package/docs/interfaces/ModelRoomLabelPluginData.html +299 -0
  181. package/docs/interfaces/ModelTVVideoPluginData.html +320 -0
  182. package/docs/interfaces/ModelTVVideoPluginExportType.html +344 -0
  183. package/docs/interfaces/ModelTVVideoPluginParameterType.html +299 -0
  184. package/docs/interfaces/ModelViewPluginExportType.html +412 -0
  185. package/docs/interfaces/Object3DHelperState.html +313 -0
  186. package/docs/interfaces/ObjectHelperControllers.html +320 -0
  187. package/docs/interfaces/PaintBrushAction.html +359 -0
  188. package/docs/interfaces/PaintBrushConfigs.html +357 -0
  189. package/docs/interfaces/PaintBrushState.html +341 -0
  190. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +421 -0
  191. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +278 -0
  192. package/docs/interfaces/PanoMeasureParameterType.html +445 -0
  193. package/docs/interfaces/PanoMeasurePluginLineJson.html +313 -0
  194. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +310 -0
  195. package/docs/interfaces/PanoMeasurePluginPointJson.html +306 -0
  196. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +316 -0
  197. package/docs/interfaces/PanoRulerPluginExportType.html +373 -0
  198. package/docs/interfaces/PanoRulerPluginOptions.html +322 -0
  199. package/docs/interfaces/PanoRulerPluginParameterType.html +313 -0
  200. package/docs/interfaces/PanoRulerProPluginExportType.html +349 -0
  201. package/docs/interfaces/PanoRulerProPluginOptions.html +319 -0
  202. package/docs/interfaces/PanoRulerProPluginParameterType.html +306 -0
  203. package/docs/interfaces/PanoRulerProPluginState.html +313 -0
  204. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +292 -0
  205. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +281 -0
  206. package/docs/interfaces/PanoSpatialTagPluginData.html +349 -0
  207. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +331 -0
  208. package/docs/interfaces/PanoSpatialTagPluginExportType.html +427 -0
  209. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +327 -0
  210. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +348 -0
  211. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +334 -0
  212. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +327 -0
  213. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +319 -0
  214. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +337 -0
  215. package/docs/interfaces/PanoVideoPluginType.PluginData.html +310 -0
  216. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +416 -0
  217. package/docs/interfaces/PanoVideoPluginType.PluginState.html +310 -0
  218. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +345 -0
  219. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +364 -0
  220. package/docs/interfaces/Point.html +313 -0
  221. package/docs/interfaces/Room.html +320 -0
  222. package/docs/interfaces/RoomInfo.html +306 -0
  223. package/docs/interfaces/RoomLabel.html +382 -0
  224. package/docs/interfaces/RoomRules.html +281 -0
  225. package/docs/interfaces/Rooms.html +281 -0
  226. package/docs/interfaces/Scissor.html +340 -0
  227. package/docs/interfaces/State.html +327 -0
  228. package/docs/interfaces/TagCacheInterface.html +351 -0
  229. package/docs/interfaces/TagConfig.html +541 -0
  230. package/docs/interfaces/TagGLTFObjectGroup.html +302 -0
  231. package/docs/interfaces/TagIconUrl.html +359 -0
  232. package/docs/interfaces/TagObjectGroup.html +302 -0
  233. package/docs/interfaces/TagStyle.html +312 -0
  234. package/docs/interfaces/Tags.html +542 -0
  235. package/docs/interfaces/TemporaryState.html +299 -0
  236. package/docs/interfaces/Util.MagnifierParameter.html +386 -0
  237. package/docs/interfaces/Util.MouseGroupParameter.html +345 -0
  238. package/docs/interfaces/Util.PointIntersection.html +360 -0
  239. package/docs/modules/AreaMakerPluginPluginType.html +319 -0
  240. package/docs/modules/CruisePluginTypes.html +324 -0
  241. package/docs/modules/GuideLineItem.html +285 -0
  242. package/docs/modules/GuideLineModeItem.html +290 -0
  243. package/docs/modules/GuideLinePluginType.html +344 -0
  244. package/docs/modules/PanoVideoPluginType.html +297 -0
  245. package/docs/modules/Util.html +345 -0
  246. package/docs/modules.html +532 -0
  247. package/docs/types/AreaMakerPluginPluginType.AreaMakerItemEventMap.html +327 -0
  248. package/docs/types/AreaMakerPluginPluginType.PluginData.html +297 -0
  249. package/docs/types/AreaMakerPluginPluginType.ServerData.html +297 -0
  250. package/docs/types/ArrayPosition.html +275 -0
  251. package/docs/types/AudioAppearance.html +275 -0
  252. package/docs/types/AudioTagTypeConfigKey.html +275 -0
  253. package/docs/types/CSS3DRenderExportType.html +275 -0
  254. package/docs/types/CSS3DRenderPluginExportType.html +275 -0
  255. package/docs/types/CSS3DRenderPluginParameterType.html +275 -0
  256. package/docs/types/ClassFunctionParameters.html +282 -0
  257. package/docs/types/Color.html +275 -0
  258. package/docs/types/ContentTypeConfigKey.html +275 -0
  259. package/docs/types/ContentTypeConfigKeySplit.html +275 -0
  260. package/docs/types/ContentTypeMap.html +275 -0
  261. package/docs/types/Create3DDomContainerReturnType.html +275 -0
  262. package/docs/types/Create3DElementReturnType.html +275 -0
  263. package/docs/types/CruisePluginExportType.html +275 -0
  264. package/docs/types/CruisePluginTypes.CruiseData.html +314 -0
  265. package/docs/types/CruisePluginTypes.MoveEffect.html +291 -0
  266. package/docs/types/DeprecatedMediaPlaneProperty.html +287 -0
  267. package/docs/types/DeprecatedTagProperty.html +290 -0
  268. package/docs/types/Direction-1.html +275 -0
  269. package/docs/types/Direction4.html +275 -0
  270. package/docs/types/ElementRenderer.html +299 -0
  271. package/docs/types/FloorplanRuleLabels.html +278 -0
  272. package/docs/types/FloorplanServerRuleLabels.html +275 -0
  273. package/docs/types/GuideLinePluginExportType.html +275 -0
  274. package/docs/types/GuideLinePluginType.GuideLineItem.html +347 -0
  275. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +368 -0
  276. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +301 -0
  277. package/docs/types/GuideLinePluginType.GuideLineStyle.html +304 -0
  278. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +304 -0
  279. package/docs/types/GuideLinePluginType.PathItem.html +304 -0
  280. package/docs/types/GuideLinePluginType.PluginData.html +313 -0
  281. package/docs/types/HelperEventMap.html +513 -0
  282. package/docs/types/LoadTagConfig.html +275 -0
  283. package/docs/types/MapviewFloorplanPluginParameterType.html +275 -0
  284. package/docs/types/MapviewFloorplanPluginReturnType.html +275 -0
  285. package/docs/types/MediaData.html +291 -0
  286. package/docs/types/MediaStore.html +280 -0
  287. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +282 -0
  288. package/docs/types/ModelFloorplanPluginParameterType.html +275 -0
  289. package/docs/types/ModelFloorplanPluginReturnType.html +275 -0
  290. package/docs/types/ModelRoomLabelPluginParameters.html +275 -0
  291. package/docs/types/ModelRoomLabelPluginReturnType.html +275 -0
  292. package/docs/types/MoveArgs.html +285 -0
  293. package/docs/types/MoveOpts.html +283 -0
  294. package/docs/types/Object3DHelperEventMap.html +368 -0
  295. package/docs/types/ObjectFit.html +275 -0
  296. package/docs/types/PaintBrushEventMap.html +306 -0
  297. package/docs/types/PanoCompassPluginData.html +275 -0
  298. package/docs/types/PanoCompassPluginExportType.html +275 -0
  299. package/docs/types/PanoCompassPluginParameterType.html +275 -0
  300. package/docs/types/PanoFloorplanRadarPluginParameterType.html +275 -0
  301. package/docs/types/PanoFloorplanRadarPluginReturnType.html +275 -0
  302. package/docs/types/PanoIndex.html +275 -0
  303. package/docs/types/PanoMeasurePluginEvent.html +275 -0
  304. package/docs/types/PanoMeasureReturnType.html +275 -0
  305. package/docs/types/PanoSpatialTagPluginId.html +275 -0
  306. package/docs/types/PanoTagPluginExportInterface.html +275 -0
  307. package/docs/types/PanoTagPluginParamsInterface.html +275 -0
  308. package/docs/types/PanoVideoPluginParameterType.html +275 -0
  309. package/docs/types/PanoVideoPluginReturnType.html +275 -0
  310. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +283 -0
  311. package/docs/types/PipelinePluginParameterType.html +275 -0
  312. package/docs/types/PipelinePluginReturnType.html +275 -0
  313. package/docs/types/PlaneTag.html +283 -0
  314. package/docs/types/Point2DTag.html +283 -0
  315. package/docs/types/Point3DTag.html +283 -0
  316. package/docs/types/PointTag.html +280 -0
  317. package/docs/types/PointTagInstance.html +280 -0
  318. package/docs/types/Position.html +275 -0
  319. package/docs/types/RotateArgs.html +287 -0
  320. package/docs/types/RotateOpts.html +283 -0
  321. package/docs/types/RuleLabelsKey.html +275 -0
  322. package/docs/types/RuleLabelsValue.html +275 -0
  323. package/docs/types/StickType.html +275 -0
  324. package/docs/types/Tag.html +341 -0
  325. package/docs/types/Tag2D.html +283 -0
  326. package/docs/types/Tag3D.html +283 -0
  327. package/docs/types/TagConfigByKey.html +280 -0
  328. package/docs/types/TagContentType.html +275 -0
  329. package/docs/types/TagDimensionType.html +277 -0
  330. package/docs/types/TagElement.html +285 -0
  331. package/docs/types/TagEvents.html +328 -0
  332. package/docs/types/TagGLTFObject.html +298 -0
  333. package/docs/types/TagHooks.html +275 -0
  334. package/docs/types/TagId.html +275 -0
  335. package/docs/types/TagInstance.html +347 -0
  336. package/docs/types/TagPointType.html +278 -0
  337. package/docs/types/TagRendererMap.html +280 -0
  338. package/docs/types/TopviewFloorplanPluginParameterType.html +275 -0
  339. package/docs/types/TopviewFloorplanPluginReturnType.html +275 -0
  340. package/docs/types/WorkCode.html +275 -0
  341. package/docs/variables/FLOOR_TYPE_MAP.html +285 -0
  342. package/docs/variables/PLUGIN.html +275 -0
  343. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +278 -0
  344. package/docs/variables/ROOM_TYPE_MAP.html +285 -0
  345. package/docs/variables/defaultGlobalConfig.html +275 -0
  346. package/docs/variables/itemLabelPluginServerParams.html +282 -0
  347. package/docs/variables/modelItemLabelPluginServerParams.html +282 -0
  348. package/docs/variables/modelRoomLabelPluginServerParams.html +282 -0
  349. package/libs/AreaMakerPlugin/Controller.d.ts +94 -0
  350. package/libs/AreaMakerPlugin/Controller.js +336 -0
  351. package/libs/AreaMakerPlugin/index.d.ts +4 -0
  352. package/libs/AreaMakerPlugin/index.js +37 -0
  353. package/libs/AreaMakerPlugin/typing.d.ts +148 -0
  354. package/libs/AreaMakerPlugin/typing.js +1 -0
  355. package/libs/AreaMakerPlugin/utils/Item.d.ts +114 -0
  356. package/libs/AreaMakerPlugin/utils/Item.js +263 -0
  357. package/libs/GuideLinePlugin/GuideLineModeItem/index.js +42 -39
  358. package/libs/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -5
  359. package/libs/GuideLinePlugin/utils/createLineGeometry.js +13 -13
  360. package/libs/base/BasePlugin.js +1 -1
  361. package/libs/base/BasePluginWithData.d.ts +1 -1
  362. package/libs/components/AreaLabel/Assets/roomLabelBg.d.ts +1 -0
  363. package/libs/components/AreaLabel/Assets/roomLabelBg.js +4 -0
  364. package/libs/components/AreaLabel/LabelItem.js +125 -0
  365. package/libs/components/AreaLabel/LabelItem.svelte.d.ts +1 -0
  366. package/libs/index.d.ts +1 -0
  367. package/libs/index.js +120 -112
  368. package/libs/shared-utils/index.d.ts +1 -0
  369. package/libs/shared-utils/index.js +27 -21
  370. package/libs/shared-utils/logger.js +1 -1
  371. package/libs/shared-utils/math/planimetry.d.ts +1 -1
  372. package/libs/shared-utils/math/planimetry.js +36 -29
  373. package/libs/shared-utils/three/core/Object3D.d.ts +8 -0
  374. package/libs/shared-utils/three/core/Object3D.js +22 -0
  375. package/libs/shared-utils/three/index.d.ts +2 -0
  376. package/libs/shared-utils/three/objects/LineSegments.d.ts +9 -0
  377. package/libs/shared-utils/three/objects/LineSegments.js +9 -0
  378. package/package.json +2 -2
@@ -0,0 +1,263 @@
1
+ var f = Object.defineProperty;
2
+ var d = (n, t, e) => t in n ? f(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
+ var i = (n, t, e) => (d(n, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import * as a from "three";
5
+ import "hammerjs";
6
+ import "@realsee/five";
7
+ import "../../vendor/@tweenjs/tween/dist/tween.esm.js.js";
8
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
9
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
10
+ import { Object3D as b } from "../../shared-utils/three/core/Object3D.js";
11
+ import { LineSegments as k } from "../../shared-utils/three/objects/LineSegments.js";
12
+ import { BetterTween as y } from "../../shared-utils/animationFrame/BetterTween.js";
13
+ import { LabelItem as O } from "../../components/AreaLabel/LabelItem.js";
14
+ import { getCenterPointOfPoints as T } from "../../shared-utils/math/planimetry.js";
15
+ import { Subscribe as C } from "../../shared-utils/Subscribe.js";
16
+ import "../../shared-utils/positionToVector3.js";
17
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
18
+ import "three/examples/jsm/renderers/CSS3DRenderer";
19
+ import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
20
+ import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
21
+ import "../../CSS3DRenderPlugin/utils/even.js";
22
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
23
+ import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
24
+ import "../../shared-utils/three/centerPoint.js";
25
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
26
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
27
+ import "../../shared-utils/animationFrame/index.js";
28
+ import "../../vendor/svelte/internal/index.js";
29
+ import "../../components/AreaLabel/Assets/roomLabelBg.js";
30
+ class M extends b {
31
+ constructor(e) {
32
+ super();
33
+ i(this, "areaMakerItem");
34
+ this.areaMakerItem = e;
35
+ }
36
+ raycast(e, s) {
37
+ this.areaMakerItem.makerObject.raycast(e, s);
38
+ }
39
+ }
40
+ class q {
41
+ constructor(t, e) {
42
+ i(this, "id");
43
+ /** 标注名称 */
44
+ i(this, "name", "");
45
+ /** 标注几何体 */
46
+ i(this, "makerObject");
47
+ /** 标注几何体的边框 */
48
+ i(this, "outline");
49
+ /** 标注底面 Y 坐标 */
50
+ i(this, "bottomY");
51
+ /** 标注透明度 */
52
+ i(this, "opacity");
53
+ /** 标注高度 */
54
+ i(this, "height");
55
+ /** 标注所在楼层 */
56
+ i(this, "floorIndex");
57
+ /** 标注底面形状 */
58
+ i(this, "shape");
59
+ /** 是否被挂载 */
60
+ i(this, "mounted", !1);
61
+ /** 查询问题使用的调试对象 */
62
+ i(this, "checkMsg", {
63
+ /** 当标注没有展示时,可以通过这个字段查看原因 */
64
+ checkVisibleMsg: "",
65
+ /** 当标注标签没有展示时,可以通过这个字段查看原因 */
66
+ checkTagVisibleMsg: ""
67
+ });
68
+ /** 模型容器 */
69
+ i(this, "modelGroup");
70
+ /** 标注是否可见 */
71
+ i(this, "visible", !1);
72
+ // ==================== 标签相关 ====================
73
+ /** 标注标签实例 */
74
+ i(this, "tagApp");
75
+ /** 标注标签是否可见 */
76
+ i(this, "tagVisible", !1);
77
+ /** 标注标签的世界坐标 */
78
+ i(this, "tagPosition", new a.Vector3());
79
+ /** 标注标签的 NDC 坐标 */
80
+ i(this, "tagNDCPosition", new a.Vector3());
81
+ /** 标注标签的 transform */
82
+ i(this, "tagTransform", { left: 0, top: 0 });
83
+ /** 标注标签的显示层级 */
84
+ i(this, "tagZIndex", 0);
85
+ i(this, "hooks", new C());
86
+ /** Plugin 实例 */
87
+ i(this, "plugin");
88
+ /** 标注透明度动画 */
89
+ i(this, "opacityAnime");
90
+ /** 显示标注 */
91
+ // public show() {
92
+ // return this.doOpacityAnime({
93
+ // duration: 500,
94
+ // makerObjectOpacity: [this.makerObject.material.opacity, this.opacity],
95
+ // outlineOpacity: [this.outline.material.opacity, 1],
96
+ // ...options,
97
+ // })
98
+ // }
99
+ /** 隐藏标注 */
100
+ // public hide() {
101
+ // return this.doOpacityAnime({
102
+ // duration: 500,
103
+ // makerObjectOpacity: [this.makerObject.material.opacity, 0],
104
+ // outlineOpacity: [this.outline.material.opacity, 0],
105
+ // ...options,
106
+ // })
107
+ // }
108
+ /** 透明度动画 */
109
+ i(this, "doOpacityAnime", (t) => {
110
+ var h;
111
+ (h = this.opacityAnime) == null || h.dispose();
112
+ const e = t.duration, [s, o] = t.makerObjectOpacity, [r, l] = t.outlineOpacity;
113
+ if (e === 0) {
114
+ this.makerObject.material.opacity = o, this.outline.material.opacity = l;
115
+ return;
116
+ }
117
+ return new Promise((p) => {
118
+ this.opacityAnime = new y({ makerObjectOpacity: s, outlineOpacity: r }).to({
119
+ makerObjectOpacity: o,
120
+ outlineOpacity: l
121
+ }).onUpdate(({ makerObjectOpacity: c, outlineOpacity: m }) => {
122
+ this.makerObject.material.opacity = c, this.outline.material.opacity = m, this.plugin.five.needsRender = !0;
123
+ }).onComplete(() => p(!0)).onDispose(() => {
124
+ this.makerObject.material.opacity = o, this.outline.material.opacity = l, this.plugin.five.needsRender = !0, p(!1);
125
+ }).play();
126
+ });
127
+ });
128
+ /** 插件 Config 变化时更新自身 depthTest */
129
+ i(this, "onPluginConfigChange", (t) => {
130
+ this.makerObject.material.depthTest = t.config.modelDepthTest, this.outline.material.depthTest = t.config.modelDepthTest, this.plugin.five.needsRender = !0;
131
+ });
132
+ /** 更新标注可见性 */
133
+ i(this, "updateVisible", () => {
134
+ const { result: t, msg: e } = this.checkVisible();
135
+ this.checkMsg.checkVisibleMsg = e, this.visible !== t && (this.visible = t, this.modelGroup.visible = t, this.plugin.five.needsRender = !0);
136
+ });
137
+ /** 检测标注是否可见 */
138
+ i(this, "checkVisible", () => {
139
+ if (!this.plugin.state.visible)
140
+ return { result: !1, msg: "插件不可见" };
141
+ const e = this.plugin.five.model.shownFloor;
142
+ return e === null || e === this.floorIndex ? { result: !0, msg: "" } : { result: !1, msg: `模型高亮楼层不符合展示条件, 当前高亮楼层为:${e}` };
143
+ });
144
+ /** 更新标注标签 */
145
+ i(this, "updateTag", () => {
146
+ this.tagApp && (this.updateTagNDCPosition(), this.updateTagDomTransform(), this.updateTagVisible());
147
+ });
148
+ /** 更新标注标签的 NDC Position */
149
+ i(this, "updateTagNDCPosition", () => {
150
+ const e = this.tagPosition.clone().project(this.plugin.five.camera);
151
+ this.tagNDCPosition.copy(e);
152
+ });
153
+ /** 更新标注标签的 transform */
154
+ i(this, "updateTagDomTransform", () => {
155
+ var o;
156
+ const t = this.tagNDCPosition, e = Math.round((t.x + 1) / 2 * this.plugin.tagDomContainer.clientWidth), s = Math.round((-t.y + 1) / 2 * this.plugin.tagDomContainer.clientHeight);
157
+ this.tagTransform.left === e && this.tagTransform.top === s || (this.tagTransform = { left: e, top: s }, (o = this.tagApp) == null || o.$set({ transform: `translate(${e}px, ${s}px)` }));
158
+ });
159
+ /** 更新标注标签可见性 */
160
+ i(this, "updateTagVisible", () => {
161
+ var s;
162
+ const { result: t, msg: e } = this.checkTagVisible();
163
+ this.checkMsg.checkTagVisibleMsg = e, this.tagVisible !== t && (this.tagVisible = t, (s = this.tagApp) == null || s.$set({ visible: t }));
164
+ });
165
+ /** 检测标注标签是否可见 */
166
+ i(this, "checkTagVisible", () => {
167
+ if (!this.visible)
168
+ return { result: !1, msg: "标注整体不可见" };
169
+ const e = this.plugin.five, s = new a.Raycaster(), o = e.camera.position.clone();
170
+ s.set(o.clone(), this.tagPosition.clone().sub(o).normalize());
171
+ const [r] = e.model.intersectRaycaster(s), l = this.tagPosition.distanceTo(e.camera.position);
172
+ if (r && r.distance + 0.1 < l)
173
+ return { result: !1, msg: "标注标签被 Five 模型遮挡" };
174
+ const h = this.tagNDCPosition;
175
+ return Math.abs(h.x) > 1.2 || Math.abs(h.y) > 1.2 || Math.abs(h.z) > 1 ? { result: !1, msg: "标注标签不在屏幕内" } : { result: !0, msg: "" };
176
+ });
177
+ /** 相机位姿发生变化时,更新标签 */
178
+ i(this, "onFiveCameraUpdate", () => {
179
+ this.tagApp && this.visible && (this.updateTagNDCPosition(), this.updateTagDomTransform(), this.updateTagVisible());
180
+ });
181
+ var p, c, m;
182
+ const s = e.object_data, o = s.bottom_y, r = s.height, l = new a.Color((p = s.color) != null ? p : "#FFFFFF"), h = (c = s.opacity) != null ? c : 0.4;
183
+ this.id = e.id, this.name = (m = e.name) != null ? m : "", this.plugin = t, this.height = r, this.bottomY = o, this.opacity = h, this.shape = new a.Shape().fromJSON(s.shape), this.floorIndex = e.floor_index, this.makerObject = new a.Mesh(u(this.shape, r), v(l, h)), g(this.makerObject, o), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline = new k(
184
+ new a.EdgesGeometry(this.makerObject.geometry),
185
+ new a.LineBasicMaterial({ color: l, transparent: !0 })
186
+ ), g(this.outline, o), this.outline.material.depthTest = this.plugin.config.modelDepthTest, this.setHeight(r), this.modelGroup = new M(this);
187
+ }
188
+ /** 挂载标注 */
189
+ mount() {
190
+ if (this.mounted = !0, this.updateVisible(), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline.material.depthTest = this.plugin.config.modelDepthTest, this.modelGroup.add(this.makerObject, this.outline), !!this.name) {
191
+ const e = this.plugin.tagDomContainer, s = {
192
+ content: this.name,
193
+ visible: this.tagVisible,
194
+ transform: `translate(${this.tagTransform.left}px, ${this.tagTransform.top}px)`,
195
+ onClick: (o) => this.hooks.emit("tagClick", { target: this, nativeEvent: o })
196
+ };
197
+ this.tagApp = new O({ target: e, props: s }), this.updateTag();
198
+ }
199
+ this.plugin.five.needsRender = !0, this.plugin.hooks.on("configChange", this.onPluginConfigChange), this.plugin.hooks.on("stateChange", this.updateVisible), this.plugin.five.on("modeChange", this.updateVisible), this.plugin.five.on("modelShownFloorChange", this.updateVisible), this.plugin.five.on("cameraUpdate", this.onFiveCameraUpdate);
200
+ }
201
+ /** 卸载标注 */
202
+ unmount() {
203
+ var t;
204
+ this.mounted = !1, this.modelGroup.remove(...this.modelGroup.children), (t = this.tagApp) == null || t.$destroy(), this.tagApp = null, this.plugin.hooks.off("configChange", this.onPluginConfigChange), this.plugin.hooks.off("stateChange", this.updateVisible), this.plugin.five.off("modeChange", this.updateVisible), this.plugin.five.off("modelShownFloorChange", this.updateVisible), this.plugin.five.off("cameraUpdate", this.onFiveCameraUpdate);
205
+ }
206
+ /** 更改标注透明度
207
+ * @param opacity 标注透明度,范围:0-1
208
+ */
209
+ setOpacity(t) {
210
+ var e;
211
+ this.opacity = t, (e = this.opacityAnime) == null || e.dispose(), this.makerObject.material.opacity = t, this.plugin.five.needsRender = !0;
212
+ }
213
+ /** 更改标注颜色
214
+ * @param color 标注颜色,支持 hex
215
+ * @example setColor('#FF0000')
216
+ */
217
+ setColor(t) {
218
+ const e = new a.Color(t);
219
+ this.makerObject.material.color = e, this.outline.material.color = e, this.plugin.five.needsRender = !0;
220
+ }
221
+ /** 更改标注高度
222
+ * @param height 标注高度,单位:米
223
+ */
224
+ setHeight(t) {
225
+ if (t <= 0)
226
+ throw new Error("高度必须大于 0");
227
+ this.height = t, this.makerObject.geometry = u(this.shape, t), this.outline.geometry = new a.EdgesGeometry(this.makerObject.geometry);
228
+ const e = this.shape.extractPoints(10).shape.slice(0, -1), s = T(e), o = new a.Vector3(s.x, s.y, t);
229
+ g(o, this.bottomY), this.tagPosition.copy(o), this.updateTag(), this.plugin.five.needsRender = !0;
230
+ }
231
+ /** 更改标注标签的显示层级
232
+ * @description 为什么需要这个方法
233
+ * 在相机朝向或位置发生变化时,各个标签所在的坐标与相机的远近关系发生了变化,所以标签的层级也会有变化。
234
+ * 比如:
235
+ * - 相机 -> 标签 A -> 标签 B: 标签 A 在标签 B 的前面
236
+ * - 标签 A <- 标签 B <- 相机: 标签 A 在标签 B 的后面
237
+ * 但是当前元素是无法感知到这种变化的,所以需要通过父元素调用这个方法来更新标签的层级。
238
+ */
239
+ setTagZIndex(t) {
240
+ var e;
241
+ this.tagZIndex !== t && ((e = this.tagApp) == null || e.$set({ zIndex: t }));
242
+ }
243
+ }
244
+ function u(n, t) {
245
+ return new a.ExtrudeBufferGeometry(n, {
246
+ depth: t,
247
+ bevelEnabled: !1
248
+ });
249
+ }
250
+ function v(n, t) {
251
+ return new a.MeshBasicMaterial({
252
+ color: n,
253
+ opacity: t,
254
+ transparent: !0
255
+ });
256
+ }
257
+ function g(n, t) {
258
+ const e = new a.Matrix4(), s = new a.Matrix4().makeRotationX(Math.PI / 2), o = new a.Matrix4().makeTranslation(0, 0, -t), r = new a.Matrix4().makeScale(1, 1, -1);
259
+ e.multiply(s), e.multiply(o), e.multiply(r), n.applyMatrix4(e);
260
+ }
261
+ export {
262
+ q as AreaMakerItem
263
+ };
@@ -2,14 +2,14 @@ var k = Object.defineProperty, w = Object.defineProperties;
2
2
  var P = Object.getOwnPropertyDescriptors;
3
3
  var C = Object.getOwnPropertySymbols;
4
4
  var F = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
5
- var v = (n, e, t) => e in n ? k(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, m = (n, e) => {
5
+ var v = (n, e, t) => e in n ? k(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t, p = (n, e) => {
6
6
  for (var t in e || (e = {}))
7
7
  F.call(e, t) && v(n, t, e[t]);
8
8
  if (C)
9
9
  for (var t of C(e))
10
10
  L.call(e, t) && v(n, t, e[t]);
11
11
  return n;
12
- }, p = (n, e) => w(n, P(e));
12
+ }, c = (n, e) => w(n, P(e));
13
13
  var i = (n, e, t) => (v(n, typeof e != "symbol" ? e + "" : e, t), t);
14
14
  import * as l from "three";
15
15
  import { logWarning as T, logError as V } from "../../shared-utils/log.js";
@@ -185,19 +185,19 @@ class R {
185
185
  this.mesh.material.uniforms.vOffset.value = t, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
186
186
  });
187
187
  i(this, "onFlickerAnimeUpdate", (e) => {
188
- var a, r;
188
+ var r, a, o, d;
189
189
  const { progress: t } = e, s = 1 - t;
190
- this.mesh.material.uniforms.flicker.value = s, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0, this.startTagContainer.tag && b(this.startTagContainer.tag) && ((a = this.startTagContainer.app) == null || a.$set(p(m({}, this.startTagContainer.tag.data), {
190
+ this.mesh.material.uniforms.flicker.value = s, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0, this.startTagContainer.tag && b(this.startTagContainer.tag) && ((o = this.startTagContainer.app) == null || o.$set(c(p({}, this.startTagContainer.tag.data), {
191
191
  opacity: s,
192
192
  name: this.name,
193
- distance: Math.round(this.curvePath.getLength())
194
- }))), this.endTagContainer.tag && b(this.endTagContainer.tag) && ((r = this.endTagContainer.app) == null || r.$set(p(m({}, this.endTagContainer.tag.data), { opacity: s })));
193
+ distance: Math.round((a = (r = this.curvePath) == null ? void 0 : r.getLength()) != null ? a : 0)
194
+ }))), this.endTagContainer.tag && b(this.endTagContainer.tag) && ((d = this.endTagContainer.app) == null || d.$set(c(p({}, this.endTagContainer.tag.data), { opacity: s })));
195
195
  });
196
196
  i(this, "logWarning", (e) => T("GuideLineModeItem: ", e));
197
197
  i(this, "logError", (e) => V("GuideLineModeItem: ", e));
198
- var r, o;
198
+ var a, o;
199
199
  this.five = e, this.mode = t.mode, this.plugin = t.plugin, this.parent = t.parent, this.startTagContainer = { tag: null, plugin: new y(this.five) }, this.endTagContainer = { tag: null, plugin: new y(this.five) };
200
- const s = new l.BufferGeometry(), a = new l.ShaderMaterial({
200
+ const s = new l.BufferGeometry(), r = new l.ShaderMaterial({
201
201
  vertexShader: B,
202
202
  fragmentShader: I,
203
203
  transparent: !0,
@@ -216,7 +216,7 @@ class R {
216
216
  vOffset: { value: 0 }
217
217
  }
218
218
  });
219
- this.mesh = new l.Mesh(s, a), this.mesh.name = "GuideLineModeItem", this.mode === "panorama" && (this.parent.hooks.on("walkStart", this.onWalkAnimationStart), this.parent.hooks.on("walkEnded", this.onWalkAnimationEnd)), this.updateVisible(), this.onFiveModeChange(this.five.getCurrentState().mode), this.onFiveModelShownFloorChange((o = (r = this.five.model) == null ? void 0 : r.shownFloor) != null ? o : null), this.flowAnime.onUpdate(this.onFlowAnimeUpdate), this.flickerAnime.onUpdate(this.onFlickerAnimeUpdate), this.parent.hooks.on("show", this.updateVisible), this.parent.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("show", this.updateVisible), this.plugin.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("enable", this.updateVisible), this.plugin.hooks.on("disable", this.updateVisible), this.plugin.hooks.on("dispose", this.dispose), this.five.on("modeChange", this.onFiveModeChange), this.five.on("modelShownFloorChange", this.onFiveModelShownFloorChange);
219
+ this.mesh = new l.Mesh(s, r), this.mesh.name = "GuideLineModeItem", this.mode === "panorama" && (this.parent.hooks.on("walkStart", this.onWalkAnimationStart), this.parent.hooks.on("walkEnded", this.onWalkAnimationEnd)), this.updateVisible(), this.onFiveModeChange(this.five.getCurrentState().mode), this.onFiveModelShownFloorChange((o = (a = this.five.model) == null ? void 0 : a.shownFloor) != null ? o : null), this.flowAnime.onUpdate(this.onFlowAnimeUpdate), this.flickerAnime.onUpdate(this.onFlickerAnimeUpdate), this.parent.hooks.on("show", this.updateVisible), this.parent.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("show", this.updateVisible), this.plugin.hooks.on("hide", this.updateVisible), this.plugin.hooks.on("enable", this.updateVisible), this.plugin.hooks.on("disable", this.updateVisible), this.plugin.hooks.on("dispose", this.dispose), this.five.on("modeChange", this.onFiveModeChange), this.five.on("modelShownFloorChange", this.onFiveModelShownFloorChange);
220
220
  }
221
221
  get panoGroup() {
222
222
  return this._panoGroup;
@@ -265,26 +265,26 @@ class R {
265
265
  return this.logError("setPathByPanoGroup: work is not ready");
266
266
  const s = S(e);
267
267
  if (this._panoGroup = s, (t == null ? void 0 : t.skipPanoGroup) !== void 0) {
268
- const r = t.skipPanoGroup ? s.map((o) => this.five.work.observers[o]).map((o) => o.standingPosition.clone()) : null;
269
- this.skippedPositions = r;
268
+ const a = t.skipPanoGroup ? s.map((o) => this.five.work.observers[o]).map((o) => o.standingPosition.clone()) : null;
269
+ this.skippedPositions = a;
270
270
  }
271
- const a = this.getPathFromPanoGroup(s, this.five.work, t);
272
- this.path = a, this.setGeometryByPath(a, t);
271
+ const r = this.getPathFromPanoGroup(s, this.five.work, t);
272
+ this.path = r, this.setGeometryByPath(r, t);
273
273
  }
274
274
  /** 通过路径设置线条形状 */
275
275
  setGeometryByPath(e, t) {
276
- var f, g, c;
276
+ var h, g, f;
277
277
  if (this.disposed)
278
278
  return this.logError("disposed");
279
- const s = (f = t == null ? void 0 : t.scale) != null ? f : this.scale, a = (g = t == null ? void 0 : t.width) != null ? g : this.width, r = (c = t == null ? void 0 : t.unit_length) != null ? c : this.unitLength;
280
- this.path = e, this.scale = s, this.width = a, this.unitLength = r;
281
- const { geometry: o, maxU: u, curvePath: d, curvePoints: h } = U({
279
+ const s = (h = t == null ? void 0 : t.scale) != null ? h : this.scale, r = (g = t == null ? void 0 : t.width) != null ? g : this.width, a = (f = t == null ? void 0 : t.unit_length) != null ? f : this.unitLength;
280
+ this.path = e, this.scale = s, this.width = r, this.unitLength = a;
281
+ const { geometry: o, maxU: d, curvePath: m, curvePoints: u } = U({
282
282
  path: e,
283
- width: a * s,
284
- unitLength: r * s,
283
+ width: r * s,
284
+ unitLength: a * s,
285
285
  skipPositions: this.skippedPositions
286
286
  });
287
- this._curvePath = d, this._curvePoints = h, this.mesh.geometry = o, this.mesh.material.needsUpdate = !0, this.mesh.material.uniforms.maxU.value = u, this.five.needsRender = !0;
287
+ this._curvePath = m, this._curvePoints = u, this.mesh.geometry = o, this.mesh.material.needsUpdate = !0, this.mesh.material.uniforms.maxU.value = d, this.five.needsRender = !0;
288
288
  }
289
289
  /** 设置线条材质 */
290
290
  setMartial(e) {
@@ -371,32 +371,35 @@ class R {
371
371
  return this.disposed ? this.logError("disposed") : this.cacheLengths.length !== 0 ? this.cacheLengths[e] : (this.cacheLengths = this.getPanoGroupLengths(), this.cacheLengths[e]);
372
372
  }
373
373
  getPanoGroupLengths() {
374
- const e = this.panoGroup.map((h) => this.five.work.observers[h]), t = this.curvePoints.length, s = this.curvePath.getLength(), a = t - 1, r = s / a, o = this.curvePath.getLengths(a), u = [];
375
- let d = 0;
374
+ var u;
375
+ if (!this.curvePoints || !this.curvePath)
376
+ return [];
377
+ const e = this.panoGroup.map((h) => this.five.work.observers[h]), t = this.curvePoints.length, s = this.curvePath.getLength(), r = t - 1, a = s / r, o = (u = this.curvePath.getLengths(r)) != null ? u : [], d = [];
378
+ let m = 0;
376
379
  for (let h = 0; h < t; h++) {
377
- const f = this.curvePoints[h], g = e[d];
378
- if (!g)
380
+ const g = this.curvePoints[h], f = e[m];
381
+ if (!f)
379
382
  break;
380
- g.standingPosition.clone().setY(0).distanceTo(f.clone().setY(0)) < r && (u.push(o[h]), d += 1);
383
+ f.standingPosition.clone().setY(0).distanceTo(g.clone().setY(0)) < a && (d.push(o[h]), m += 1);
381
384
  }
382
- return u;
385
+ return d;
383
386
  }
384
387
  setTag(e, t) {
385
- const s = e === "start" ? this.startTagContainer : this.endTagContainer;
386
- t || s.plugin.clearTags();
387
- const r = A({}, {
388
+ const s = this.curvePath, r = e === "start" ? this.startTagContainer : this.endTagContainer;
389
+ t || r.plugin.clearTags();
390
+ const o = A({}, {
388
391
  contentType: "Custom",
389
392
  stickType: "2DPoint",
390
393
  config: { visibleConfig: { visibleFiveMode: ["Floorplan", "Mapview"], followModelVisibility: !1 } },
391
394
  style: { point: { enabled: !1 } },
392
395
  data: {}
393
396
  }, t);
394
- s.tag = r, b(r) && (s.tag.element = (o) => {
395
- var h;
396
- (h = s.app) == null || h.$destroy();
397
- const u = e === "start" ? p(m({}, r.data), { name: this.name, distance: Math.round(this.curvePath.getLength()), i18n: this.plugin.config.i18n }) : r.data, d = new O({ target: o, intro: !0, props: u });
398
- return s.app = d, () => d.$destroy();
399
- }), s.plugin.load({ tagList: [s.tag] });
397
+ r.tag = o, b(o) && (r.tag.element = (d) => {
398
+ var h, g;
399
+ (h = r.app) == null || h.$destroy();
400
+ const m = e === "start" ? c(p({}, o.data), { name: this.name, distance: Math.round((g = s.getLength()) != null ? g : 0), i18n: this.plugin.config.i18n }) : o.data, u = new O({ target: d, intro: !0, props: m });
401
+ return r.app = u, () => u.$destroy();
402
+ }), r.plugin.load({ tagList: [r.tag] });
400
403
  }
401
404
  doShow() {
402
405
  this.mode === "model" && this.flowAnime.play(), this.five.scene.add(this.mesh), this.startTagContainer.plugin.show(), this.endTagContainer.plugin.show(), this.five.needsRender = !0;
@@ -408,18 +411,18 @@ class R {
408
411
  getPathFromPanoGroup(e, t, s) {
409
412
  if (e.length < 2)
410
413
  return [];
411
- const r = e.map((o) => t.observers[o]).map((o) => o.standingPosition.toArray());
412
- return [m({ type: "CatmullRomCurve3", points: r }, s)];
414
+ const a = e.map((o) => t.observers[o]).map((o) => o.standingPosition.toArray());
415
+ return [p({ type: "CatmullRomCurve3", points: a }, s)];
413
416
  }
414
417
  }
415
418
  function b(n) {
416
419
  return n.contentType === "Custom";
417
420
  }
418
- const te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
421
+ const ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
419
422
  __proto__: null,
420
423
  GuideLineModeItem: R
421
424
  }, Symbol.toStringTag, { value: "Module" }));
422
425
  export {
423
426
  R as GuideLineModeItem,
424
- te as GuideLineModeItem$1
427
+ ie as GuideLineModeItem$1
425
428
  };
@@ -17,11 +17,6 @@ interface LineGeometryOption {
17
17
  * @returns THREE BufferGeometry
18
18
  */
19
19
  export declare function createLineGeometry(options: LineGeometryOption): {
20
- geometry: THREE.BufferGeometry;
21
- maxU: number;
22
- curvePath?: undefined;
23
- curvePoints?: undefined;
24
- } | {
25
20
  geometry: THREE.BufferGeometry;
26
21
  maxU: number;
27
22
  curvePath: THREE.CurvePath<THREE.Vector3>;
@@ -11,31 +11,31 @@ const z = 2, M = 3, X = 3, k = 2;
11
11
  function Q(e) {
12
12
  const i = e.width, g = e.unitLength / i, c = i / 2, E = e.path;
13
13
  if (E.length === 0)
14
- return { geometry: new n.BufferGeometry(), maxU: 0 };
14
+ return { geometry: new n.BufferGeometry(), maxU: 0, curvePath: null, curvePoints: null };
15
15
  const u = new n.CurvePath();
16
16
  E.forEach((t) => {
17
- const m = I(t);
18
- m && u.add(m);
17
+ const l = I(t);
18
+ l && u.add(l);
19
19
  });
20
20
  const w = Math.ceil(u.getLength() * 100);
21
21
  u.arcLengthDivisions = w;
22
22
  const o = u.getPoints(w), y = o.length, L = G(o.map((t) => [t.x, t.z])), B = (y - 1) * z * M, d = 2 * y, C = d * X, U = d * k, r = new Uint32Array(B), s = new Float32Array(C), a = new Float32Array(U);
23
- let N = 0, R = 0;
23
+ let N = 0, P = 0;
24
24
  for (let t = 0; t < o.length; t++) {
25
- const [m, A] = L[t][0], T = o[t], { x: _, y: b, z: P } = T, f = new x(_ + m * c, b + 0.05, P + A * c);
26
- s[t * 6 + 0] = f.x, s[t * 6 + 1] = f.y, s[t * 6 + 2] = f.z;
27
- const h = new x(_ - m * c, b + 0.05, P - A * c);
28
- s[t * 6 + 3] = h.x, s[t * 6 + 4] = h.y, s[t * 6 + 5] = h.z, N += t > 0 ? o[t - 1].clone().sub(o[t]).length() : 0;
29
- const v = N / i / g;
30
- if (R = v, a[t * 4 + 0] = 0, a[t * 4 + 1] = v, a[t * 4 + 2] = 1, a[t * 4 + 3] = v, e.skipPositions) {
31
- const V = new n.Vector3().lerpVectors(f, h, 0.5);
25
+ const [l, R] = L[t][0], T = o[t], { x: A, y: _, z: b } = T, v = new x(A + l * c, _ + 0.05, b + R * c);
26
+ s[t * 6 + 0] = v.x, s[t * 6 + 1] = v.y, s[t * 6 + 2] = v.z;
27
+ const f = new x(A - l * c, _ + 0.05, b - R * c);
28
+ s[t * 6 + 3] = f.x, s[t * 6 + 4] = f.y, s[t * 6 + 5] = f.z, N += t > 0 ? o[t - 1].clone().sub(o[t]).length() : 0;
29
+ const h = N / i / g;
30
+ if (P = h, a[t * 4 + 0] = 0, a[t * 4 + 1] = h, a[t * 4 + 2] = 1, a[t * 4 + 3] = h, e.skipPositions) {
31
+ const V = new n.Vector3().lerpVectors(v, f, 0.5);
32
32
  if (e.skipPositions.some((F) => F.distanceTo(V) < 0.26))
33
33
  continue;
34
34
  }
35
35
  t !== o.length - 1 && (r[t * 6 + 0] = t * 2 + 0, r[t * 6 + 1] = t * 2 + 2, r[t * 6 + 2] = t * 2 + 1, r[t * 6 + 3] = t * 2 + 2, r[t * 6 + 4] = t * 2 + 3, r[t * 6 + 5] = t * 2 + 1);
36
36
  }
37
- const l = new n.BufferGeometry();
38
- return l.setAttribute("position", new n.BufferAttribute(s, 3)), l.setAttribute("uv", new n.BufferAttribute(a, 2)), l.setIndex(new n.BufferAttribute(r, 1)), { geometry: l, maxU: R, curvePath: u, curvePoints: o };
37
+ const m = new n.BufferGeometry();
38
+ return m.setAttribute("position", new n.BufferAttribute(s, 3)), m.setAttribute("uv", new n.BufferAttribute(a, 2)), m.setIndex(new n.BufferAttribute(r, 1)), { geometry: m, maxU: P, curvePath: u, curvePoints: o };
39
39
  }
40
40
  function I(e) {
41
41
  if (O(e)) {
@@ -14,7 +14,7 @@ let b = class {
14
14
  /**
15
15
  * @realsee/dnalogel 版本号
16
16
  */
17
- i(this, "VERSION", "2.27.3");
17
+ i(this, "VERSION", "2.27.4-0");
18
18
  i(this, "five");
19
19
  /**
20
20
  * 插件事件钩子
@@ -16,7 +16,7 @@ declare abstract class Controller<PluginState extends State, PluginEventMap exte
16
16
  */
17
17
  abstract load(serverData: PluginServerData, state?: PluginState, userAction?: boolean): Promise<void>;
18
18
  /** 把原始数据转化为插件数据 */
19
- protected abstract formatData?(serverData: PluginServerData): Promise<PluginData>;
19
+ protected abstract formatData?(serverData: PluginServerData): Promise<PluginData> | PluginData;
20
20
  }
21
21
  export type { State, EventMap, Config };
22
22
  export type { BaseOptions } from './BasePlugin';
@@ -0,0 +1 @@
1
+ export declare const ROOM_LABEL_BG = "data:image/png;base64,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";
@@ -0,0 +1,4 @@
1
+ const A = "data:image/png;base64,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";
2
+ export {
3
+ A as ROOM_LABEL_BG
4
+ };