@realsee/dnalogel 2.21.1 → 2.22.0-dev.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 (457) hide show
  1. package/dist/CruisePlugin/index.d.ts +2 -1
  2. package/dist/PanoMeasurePlugin/Components/Common/CircleButton.svelte.d.ts +1 -0
  3. package/dist/PanoMeasurePlugin/Components/Common/Exit.svelte.d.ts +1 -0
  4. package/dist/PanoMeasurePlugin/Components/Common/Switcher0.svelte.d.ts +1 -0
  5. package/dist/PanoMeasurePlugin/Components/Common/Switcher1.svelte.d.ts +1 -0
  6. package/dist/PanoMeasurePlugin/Components/Common/icons/index.d.ts +4 -0
  7. package/dist/PanoMeasurePlugin/Components/Controller0.svelte.d.ts +1 -0
  8. package/dist/PanoMeasurePlugin/Components/Controller1.svelte.d.ts +1 -0
  9. package/dist/PanoMeasurePlugin/Components/Tip.svelte.d.ts +1 -0
  10. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -4
  11. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +27 -18
  12. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +9 -2
  13. package/dist/PanoMeasurePlugin/Controller/index.d.ts +26 -9
  14. package/dist/PanoMeasurePlugin/Model/area.d.ts +74 -0
  15. package/dist/PanoMeasurePlugin/Model/index.d.ts +10 -0
  16. package/dist/PanoMeasurePlugin/Model/line.d.ts +7 -1
  17. package/dist/PanoMeasurePlugin/Model/polygon.d.ts +14 -0
  18. package/dist/PanoMeasurePlugin/Model/polyline.d.ts +4 -0
  19. package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +8 -4
  20. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +16 -12
  21. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +1 -1
  22. package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +10 -3
  23. package/dist/PanoMeasurePlugin/typings/data.d.ts +24 -0
  24. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +17 -3
  25. package/dist/PanoMeasurePlugin/typings/index.d.ts +1 -1
  26. package/dist/PanoMeasurePlugin/utils/dom/areaDom.d.ts +22 -0
  27. package/dist/PanoMeasurePlugin/utils/dom/base.d.ts +29 -0
  28. package/dist/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +27 -0
  29. package/dist/PanoMeasurePlugin/utils/generatePolygonGeometry.d.ts +6 -0
  30. package/dist/PanoMeasurePlugin/utils/geometryUtil.d.ts +7 -0
  31. package/dist/PanoMeasurePlugin/utils/isIntersecting.d.ts +15 -0
  32. package/dist/PanoMeasurePlugin/utils/line.d.ts +2 -1
  33. package/dist/PanoMeasurePlugin/utils/ndc2Screen.d.ts +2 -1
  34. package/dist/PanoTagPlugin/controller/index.d.ts +2 -1
  35. package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +1 -1
  36. package/dist/PanoTagPlugin/typings/tag/TagInstance.d.ts +2 -1
  37. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +0 -4
  38. package/dist/index.cjs.js +70 -66
  39. package/dist/index.js +8919 -6984
  40. package/dist/index.umd.js +64 -60
  41. package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -7
  42. package/{libs/PanoMeasurePlugin/utils → dist/shared-utils}/getIntersectionFromEvent.d.ts +1 -1
  43. package/dist/{PanoMeasurePlugin/utils → shared-utils}/getPointFromHammerEvent.d.ts +1 -1
  44. package/dist/shared-utils/isTouchDevice.d.ts +1 -0
  45. package/dist/shared-utils/safeObj.d.ts +1 -0
  46. package/dist/shared-utils/three/IObject3D.d.ts +7 -0
  47. package/dist/shared-utils/three/Magnifier.d.ts +5 -0
  48. package/dist/shared-utils/three/PointSelector.d.ts +92 -0
  49. package/dist/shared-utils/three/PointSelectorHelper.d.ts +41 -0
  50. package/dist/shared-utils/three/index.d.ts +1 -1
  51. package/dist/typings/typings.d.ts +4 -0
  52. package/docs/assets/search.js +1 -1
  53. package/docs/classes/CSS3DRender.html +32 -32
  54. package/docs/classes/CruisePluginController.html +27 -27
  55. package/docs/classes/GuideLineItem.GuideLineItem.html +21 -21
  56. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +36 -36
  57. package/docs/classes/Magnifier.html +21 -21
  58. package/docs/classes/ModelRoomLabelController.html +12 -12
  59. package/docs/classes/Object3DHelperController.html +26 -26
  60. package/docs/classes/PaintBrush.html +16 -16
  61. package/docs/classes/PanoMeasurePluginLine.html +72 -107
  62. package/docs/classes/PanoMeasurePluginModel.html +82 -25
  63. package/docs/classes/PanoMeasurePluginPoint.html +15 -15
  64. package/docs/classes/PanoMeasurePluginPolyline.html +39 -27
  65. package/docs/classes/PanoTagPluginController.html +52 -52
  66. package/docs/classes/Util.BetterTween.html +10 -10
  67. package/docs/classes/Util.Interval.html +13 -13
  68. package/docs/classes/Util.Magnifier.html +52 -19
  69. package/docs/classes/Util.PointDomHelper.html +12 -12
  70. package/docs/classes/Util.PointHelper.html +12 -12
  71. package/docs/classes/{Util.FivePointSelector.html → Util.PointSelectorHelper.html} +68 -29
  72. package/docs/classes/Util.Rectangle.html +14 -14
  73. package/docs/enums/CameraMovementEffect.html +8 -8
  74. package/docs/enums/ContentType.html +21 -21
  75. package/docs/enums/DIRECTION.html +10 -10
  76. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +10 -10
  77. package/docs/enums/DimensionType.html +8 -8
  78. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +9 -9
  79. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +10 -10
  80. package/docs/enums/PaintBrushTypeEnum.html +9 -9
  81. package/docs/enums/PointType.html +8 -8
  82. package/docs/enums/Rotation.html +9 -9
  83. package/docs/functions/CSS3DRenderPlugin.html +5 -5
  84. package/docs/functions/CameraMovementPlugin.html +5 -5
  85. package/docs/functions/CruisePlugin.html +9 -7
  86. package/docs/functions/GuideLinePlugin.html +6 -6
  87. package/docs/functions/ItemLabelPlugin.html +5 -5
  88. package/docs/functions/MapviewFloorplanPlugin.html +5 -5
  89. package/docs/functions/ModelChassisCompassPlugin.html +5 -5
  90. package/docs/functions/ModelEntryDoorGuidePlugin.html +5 -5
  91. package/docs/functions/ModelFloorplanPlugin.html +5 -5
  92. package/docs/functions/ModelItemLabelPlugin.html +5 -5
  93. package/docs/functions/ModelRoomLabelPlugin.html +5 -5
  94. package/docs/functions/ModelTVVideoPlugin.html +5 -5
  95. package/docs/functions/ModelViewPlugin.html +5 -5
  96. package/docs/functions/Object3DHelperPlugin.html +5 -5
  97. package/docs/functions/PanoCompassPlugin.html +5 -5
  98. package/docs/functions/PanoCursorRaycasterPlugin.html +5 -5
  99. package/docs/functions/PanoDoorLabelPlugin.html +5 -5
  100. package/docs/functions/PanoFloorplanRadarPlugin.html +5 -5
  101. package/docs/functions/PanoMeasurePlugin.html +5 -5
  102. package/docs/functions/PanoRulerPlugin.html +5 -5
  103. package/docs/functions/PanoRulerProPlugin.html +5 -5
  104. package/docs/functions/PanoSpatialTagPlugin.html +5 -5
  105. package/docs/functions/PanoTagPlugin.html +5 -5
  106. package/docs/functions/PanoVideoPlugin.html +5 -5
  107. package/docs/functions/TopviewFloorplanPlugin.html +5 -5
  108. package/docs/functions/Util.absoluteUrl.html +6 -6
  109. package/docs/functions/Util.getCoordsFromClient.html +6 -6
  110. package/docs/functions/Util.getCoordsFromElement.html +6 -6
  111. package/docs/functions/Util.getFrameTime.html +6 -6
  112. package/docs/functions/Util.getIntersectFromRelativePosition.html +6 -6
  113. package/docs/functions/Util.getRaycasterFromFivePointer.html +6 -6
  114. package/docs/functions/Util.isAbsoluteURL.html +6 -6
  115. package/docs/functions/Util.isModelLike.html +6 -6
  116. package/docs/functions/Util.isNil.html +6 -6
  117. package/docs/functions/Util.isPanoramaLike.html +6 -6
  118. package/docs/functions/Util.nextFrame.html +6 -6
  119. package/docs/functions/Util.notNil.html +6 -6
  120. package/docs/functions/Util.requestAnimationFrameInterval.html +6 -6
  121. package/docs/functions/Util.tweenProgress.html +6 -6
  122. package/docs/functions/Util.uuid.html +6 -6
  123. package/docs/functions/pluginFlag.html +6 -6
  124. package/docs/index.html +6 -6
  125. package/docs/interfaces/AddTagConfig.html +7 -7
  126. package/docs/interfaces/CSS3DRenderPluginEventMap.html +12 -12
  127. package/docs/interfaces/CSS3DRenderPluginState.html +9 -9
  128. package/docs/interfaces/CameraMovementPluginExportType.html +8 -8
  129. package/docs/interfaces/CruisePluginTypes.Config.html +9 -9
  130. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +13 -13
  131. package/docs/interfaces/CruisePluginTypes.EventMap.html +21 -21
  132. package/docs/interfaces/CruisePluginTypes.MoveAction.html +13 -13
  133. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +15 -15
  134. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +15 -15
  135. package/docs/interfaces/CruisePluginTypes.PluginData.html +10 -10
  136. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +8 -8
  137. package/docs/interfaces/CruisePluginTypes.PluginState.html +12 -12
  138. package/docs/interfaces/EventMap.html +16 -16
  139. package/docs/interfaces/FloorplanBounding.html +9 -9
  140. package/docs/interfaces/FloorplanData.html +11 -11
  141. package/docs/interfaces/FloorplanEntrance.html +12 -12
  142. package/docs/interfaces/FloorplanExtraObject.html +11 -11
  143. package/docs/interfaces/FloorplanExtraObject3D.html +9 -9
  144. package/docs/interfaces/FloorplanFloorData.html +10 -10
  145. package/docs/interfaces/FloorplanImagePosition.html +8 -8
  146. package/docs/interfaces/FloorplanObserver.html +10 -10
  147. package/docs/interfaces/FloorplanOutlineItem.html +10 -10
  148. package/docs/interfaces/FloorplanPosition.html +8 -8
  149. package/docs/interfaces/FloorplanRoomItem.html +14 -14
  150. package/docs/interfaces/FloorplanRoomLabelItem.html +8 -8
  151. package/docs/interfaces/FloorplanServerBounding.html +9 -9
  152. package/docs/interfaces/FloorplanServerComputedData.html +11 -11
  153. package/docs/interfaces/FloorplanServerData.html +8 -8
  154. package/docs/interfaces/FloorplanServerDoorItem.html +11 -11
  155. package/docs/interfaces/FloorplanServerDoorPosition.html +9 -9
  156. package/docs/interfaces/FloorplanServerEntrance.html +12 -12
  157. package/docs/interfaces/FloorplanServerFloorData.html +10 -10
  158. package/docs/interfaces/FloorplanServerImagePosition.html +8 -8
  159. package/docs/interfaces/FloorplanServerObserver.html +10 -10
  160. package/docs/interfaces/FloorplanServerOutlineItem.html +10 -10
  161. package/docs/interfaces/FloorplanServerPosition.html +8 -8
  162. package/docs/interfaces/FloorplanServerRoomItem.html +15 -15
  163. package/docs/interfaces/FloorplanServerRoomLabelItem.html +8 -8
  164. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +9 -9
  165. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +11 -11
  166. package/docs/interfaces/GuideLinePluginType.EventMap.html +14 -14
  167. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +9 -9
  168. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +7 -7
  169. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +14 -14
  170. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +9 -9
  171. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +19 -19
  172. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +8 -8
  173. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +19 -19
  174. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +6 -6
  175. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +8 -8
  176. package/docs/interfaces/GuideLinePluginType.PluginState.html +9 -9
  177. package/docs/interfaces/GuideLinePluginType.Route.html +12 -12
  178. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +10 -10
  179. package/docs/interfaces/HelperOffset.html +9 -9
  180. package/docs/interfaces/ImagePlaneGroup.html +7 -7
  181. package/docs/interfaces/ItemLabelPluginData.html +7 -7
  182. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +12 -12
  183. package/docs/interfaces/ItemLabelPluginParametersType.html +10 -10
  184. package/docs/interfaces/MinMax.html +8 -8
  185. package/docs/interfaces/ModelChassisCompassPluginData.html +8 -8
  186. package/docs/interfaces/ModelChassisCompassPluginExportType.html +9 -9
  187. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +8 -8
  188. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +9 -9
  189. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +9 -9
  190. package/docs/interfaces/ModelItemLabelPluginData.html +7 -7
  191. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +12 -12
  192. package/docs/interfaces/ModelItemLabelPluginParametersType.html +8 -8
  193. package/docs/interfaces/ModelRoomLabelPluginData.html +7 -7
  194. package/docs/interfaces/ModelTVVideoPluginData.html +10 -10
  195. package/docs/interfaces/ModelTVVideoPluginExportType.html +9 -9
  196. package/docs/interfaces/ModelTVVideoPluginParameterType.html +7 -7
  197. package/docs/interfaces/ModelViewPluginExportType.html +12 -12
  198. package/docs/interfaces/Object3DHelperState.html +9 -9
  199. package/docs/interfaces/ObjectHelperControllers.html +10 -10
  200. package/docs/interfaces/PaintBrushAction.html +13 -13
  201. package/docs/interfaces/PaintBrushConfigs.html +13 -13
  202. package/docs/interfaces/PaintBrushState.html +11 -11
  203. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +11 -11
  204. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +6 -6
  205. package/docs/interfaces/PanoMeasureParameterType.html +23 -16
  206. package/docs/interfaces/PanoMeasurePluginLineJson.html +9 -9
  207. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +8 -8
  208. package/docs/interfaces/PanoMeasurePluginPointJson.html +8 -8
  209. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +9 -9
  210. package/docs/interfaces/PanoRulerPluginExportType.html +11 -11
  211. package/docs/interfaces/PanoRulerPluginOptions.html +8 -8
  212. package/docs/interfaces/PanoRulerPluginParameterType.html +9 -9
  213. package/docs/interfaces/PanoRulerProPluginExportType.html +10 -10
  214. package/docs/interfaces/PanoRulerProPluginOptions.html +8 -8
  215. package/docs/interfaces/PanoRulerProPluginParameterType.html +8 -8
  216. package/docs/interfaces/PanoRulerProPluginState.html +9 -9
  217. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +6 -6
  218. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +6 -6
  219. package/docs/interfaces/PanoSpatialTagPluginData.html +12 -12
  220. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +11 -11
  221. package/docs/interfaces/PanoSpatialTagPluginExportType.html +14 -14
  222. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +11 -11
  223. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +14 -14
  224. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +12 -12
  225. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +11 -11
  226. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +7 -7
  227. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +9 -9
  228. package/docs/interfaces/PanoVideoPluginType.PluginData.html +7 -7
  229. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +10 -10
  230. package/docs/interfaces/PanoVideoPluginType.PluginState.html +7 -7
  231. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +9 -9
  232. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +11 -11
  233. package/docs/interfaces/Point.html +9 -9
  234. package/docs/interfaces/Room.html +10 -10
  235. package/docs/interfaces/RoomInfo.html +8 -8
  236. package/docs/interfaces/RoomLabel.html +15 -15
  237. package/docs/interfaces/RoomRules.html +6 -6
  238. package/docs/interfaces/Rooms.html +6 -6
  239. package/docs/interfaces/Scissor.html +10 -10
  240. package/docs/interfaces/State.html +9 -9
  241. package/docs/interfaces/TagCacheInterface.html +13 -13
  242. package/docs/interfaces/TagConfig.html +15 -15
  243. package/docs/interfaces/TagGLTFObjectGroup.html +7 -7
  244. package/docs/interfaces/TagIconUrl.html +13 -13
  245. package/docs/interfaces/TagObjectGroup.html +7 -7
  246. package/docs/interfaces/TagStyle.html +7 -7
  247. package/docs/interfaces/Tags.html +10 -10
  248. package/docs/interfaces/TemporaryState.html +7 -7
  249. package/docs/interfaces/Util.MagnifierParameter.html +12 -12
  250. package/docs/interfaces/Util.MouseGroupParameter.html +9 -9
  251. package/docs/interfaces/Util.PointIntersection.html +407 -0
  252. package/docs/modules/CruisePluginTypes.html +6 -6
  253. package/docs/modules/GuideLineItem.html +6 -6
  254. package/docs/modules/GuideLineModeItem.html +6 -6
  255. package/docs/modules/GuideLinePluginType.html +6 -6
  256. package/docs/modules/PanoVideoPluginType.html +6 -6
  257. package/docs/modules/Util.html +8 -7
  258. package/docs/modules.html +6 -7
  259. package/docs/types/ArrayPosition.html +6 -6
  260. package/docs/types/AudioAppearance.html +6 -6
  261. package/docs/types/AudioTagTypeConfigKey.html +6 -6
  262. package/docs/types/CSS3DRenderExportType.html +6 -6
  263. package/docs/types/CSS3DRenderPluginExportType.html +6 -6
  264. package/docs/types/CSS3DRenderPluginParameterType.html +6 -6
  265. package/docs/types/ClassFunctionParameters.html +6 -6
  266. package/docs/types/Color.html +6 -6
  267. package/docs/types/ContentTypeConfigKey.html +6 -6
  268. package/docs/types/ContentTypeConfigKeySplit.html +6 -6
  269. package/docs/types/ContentTypeMap.html +6 -6
  270. package/docs/types/Create3DDomContainerReturnType.html +6 -6
  271. package/docs/types/Create3DElementReturnType.html +6 -6
  272. package/docs/types/CruisePluginExportType.html +6 -6
  273. package/docs/types/CruisePluginTypes.CruiseData.html +6 -6
  274. package/docs/types/CruisePluginTypes.MoveEffect.html +6 -6
  275. package/docs/types/DeprecatedMediaPlaneProperty.html +6 -6
  276. package/docs/types/DeprecatedTagProperty.html +6 -6
  277. package/docs/types/Direction-1.html +6 -6
  278. package/docs/types/Direction4.html +6 -6
  279. package/docs/types/ElementRenderer.html +6 -6
  280. package/docs/types/FloorplanRuleLabels.html +6 -6
  281. package/docs/types/FloorplanServerRuleLabels.html +6 -6
  282. package/docs/types/GuideLinePluginExportType.html +6 -6
  283. package/docs/types/GuideLinePluginType.GuideLineItem.html +6 -6
  284. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +6 -6
  285. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +6 -6
  286. package/docs/types/GuideLinePluginType.GuideLineStyle.html +6 -6
  287. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +6 -6
  288. package/docs/types/GuideLinePluginType.PathItem.html +6 -6
  289. package/docs/types/GuideLinePluginType.PluginData.html +6 -6
  290. package/docs/types/HelperEventMap.html +6 -6
  291. package/docs/types/LoadTagConfig.html +6 -6
  292. package/docs/types/MapviewFloorplanPluginParameterType.html +6 -6
  293. package/docs/types/MapviewFloorplanPluginReturnType.html +6 -6
  294. package/docs/types/MediaData.html +6 -6
  295. package/docs/types/MediaStore.html +6 -6
  296. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +6 -6
  297. package/docs/types/ModelFloorplanPluginParameterType.html +6 -6
  298. package/docs/types/ModelFloorplanPluginReturnType.html +6 -6
  299. package/docs/types/ModelRoomLabelPluginParameters.html +6 -6
  300. package/docs/types/ModelRoomLabelPluginReturnType.html +6 -6
  301. package/docs/types/MoveArgs.html +6 -6
  302. package/docs/types/MoveOpts.html +6 -6
  303. package/docs/types/Object3DHelperEventMap.html +6 -6
  304. package/docs/types/ObjectFit.html +6 -6
  305. package/docs/types/PaintBrushEventMap.html +6 -6
  306. package/docs/types/PanoCompassPluginData.html +6 -6
  307. package/docs/types/PanoCompassPluginExportType.html +6 -6
  308. package/docs/types/PanoCompassPluginParameterType.html +6 -6
  309. package/docs/types/PanoFloorplanRadarPluginParameterType.html +6 -6
  310. package/docs/types/PanoFloorplanRadarPluginReturnType.html +6 -6
  311. package/docs/types/PanoIndex.html +6 -6
  312. package/docs/types/PanoMeasurePluginEvent.html +6 -6
  313. package/docs/types/PanoMeasureReturnType.html +6 -6
  314. package/docs/types/PanoSpatialTagPluginId.html +6 -6
  315. package/docs/types/PanoTagPluginExportInterface.html +6 -6
  316. package/docs/types/PanoTagPluginParamsInterface.html +6 -6
  317. package/docs/types/PanoVideoPluginParameterType.html +6 -6
  318. package/docs/types/PanoVideoPluginReturnType.html +6 -6
  319. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +6 -6
  320. package/docs/types/PlaneTag.html +6 -6
  321. package/docs/types/Point2DTag.html +6 -6
  322. package/docs/types/Point3DTag.html +6 -6
  323. package/docs/types/PointTag.html +6 -6
  324. package/docs/types/PointTagInstance.html +6 -6
  325. package/docs/types/Position.html +6 -6
  326. package/docs/types/RotateArgs.html +6 -6
  327. package/docs/types/RotateOpts.html +6 -6
  328. package/docs/types/RuleLabelsKey.html +6 -6
  329. package/docs/types/RuleLabelsValue.html +6 -6
  330. package/docs/types/StickType.html +6 -6
  331. package/docs/types/Tag.html +6 -6
  332. package/docs/types/Tag2D.html +6 -6
  333. package/docs/types/Tag3D.html +6 -6
  334. package/docs/types/TagContentType.html +6 -6
  335. package/docs/types/TagDimensionType.html +6 -6
  336. package/docs/types/TagElement.html +6 -6
  337. package/docs/types/TagEvents.html +6 -6
  338. package/docs/types/TagGLTFObject.html +6 -6
  339. package/docs/types/TagHooks.html +6 -6
  340. package/docs/types/TagId.html +6 -6
  341. package/docs/types/TagInstance.html +6 -6
  342. package/docs/types/TagPointType.html +6 -6
  343. package/docs/types/TagRendererMap.html +6 -6
  344. package/docs/types/TopviewFloorplanPluginParameterType.html +6 -6
  345. package/docs/types/TopviewFloorplanPluginReturnType.html +6 -6
  346. package/docs/types/WorkCode.html +6 -6
  347. package/docs/variables/FLOOR_TYPE_MAP.html +6 -6
  348. package/docs/variables/PLUGIN.html +6 -6
  349. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +6 -6
  350. package/docs/variables/ROOM_TYPE_MAP.html +6 -6
  351. package/docs/variables/itemLabelPluginServerParams.html +6 -6
  352. package/docs/variables/modelItemLabelPluginServerParams.html +6 -6
  353. package/docs/variables/modelRoomLabelPluginServerParams.html +6 -6
  354. package/libs/CruisePlugin/index.d.ts +2 -1
  355. package/libs/Object3DHelperPlugin/Controller.js +3 -2
  356. package/libs/Object3DHelperPlugin/index.js +6 -5
  357. package/libs/PanoMeasurePlugin/Components/Common/CircleButton.js +93 -0
  358. package/libs/PanoMeasurePlugin/Components/Common/CircleButton.svelte.d.ts +1 -0
  359. package/libs/PanoMeasurePlugin/Components/Common/Exit.js +42 -0
  360. package/libs/PanoMeasurePlugin/Components/Common/Exit.svelte.d.ts +1 -0
  361. package/libs/PanoMeasurePlugin/Components/Common/Switcher0.js +246 -0
  362. package/libs/PanoMeasurePlugin/Components/Common/Switcher0.svelte.d.ts +1 -0
  363. package/libs/PanoMeasurePlugin/Components/Common/Switcher1.js +211 -0
  364. package/libs/PanoMeasurePlugin/Components/Common/Switcher1.svelte.d.ts +1 -0
  365. package/libs/PanoMeasurePlugin/Components/Common/icons/index.d.ts +4 -0
  366. package/libs/PanoMeasurePlugin/Components/Common/icons/index.js +7 -0
  367. package/libs/PanoMeasurePlugin/Components/Controller0.js +252 -0
  368. package/libs/PanoMeasurePlugin/Components/Controller0.svelte.d.ts +1 -0
  369. package/libs/PanoMeasurePlugin/Components/Controller1.js +395 -0
  370. package/libs/PanoMeasurePlugin/Components/Controller1.svelte.d.ts +1 -0
  371. package/libs/PanoMeasurePlugin/Components/Tip.js +128 -0
  372. package/libs/PanoMeasurePlugin/Components/Tip.svelte.d.ts +1 -0
  373. package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -4
  374. package/libs/PanoMeasurePlugin/Controller/BaseController.js +43 -34
  375. package/libs/PanoMeasurePlugin/Controller/EditController.d.ts +27 -18
  376. package/libs/PanoMeasurePlugin/Controller/EditController.js +285 -92
  377. package/libs/PanoMeasurePlugin/Controller/MixedController.js +27 -25
  378. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +1 -1
  379. package/libs/PanoMeasurePlugin/Controller/ViewController.js +6 -4
  380. package/libs/PanoMeasurePlugin/Controller/WatchController.d.ts +9 -2
  381. package/libs/PanoMeasurePlugin/Controller/WatchController.js +101 -54
  382. package/libs/PanoMeasurePlugin/Controller/index.d.ts +26 -9
  383. package/libs/PanoMeasurePlugin/Controller/index.js +138 -81
  384. package/libs/PanoMeasurePlugin/Model/area.d.ts +74 -0
  385. package/libs/PanoMeasurePlugin/Model/area.js +117 -0
  386. package/libs/PanoMeasurePlugin/Model/index.d.ts +10 -0
  387. package/libs/PanoMeasurePlugin/Model/index.js +61 -37
  388. package/libs/PanoMeasurePlugin/Model/line.d.ts +7 -1
  389. package/libs/PanoMeasurePlugin/Model/line.js +37 -22
  390. package/libs/PanoMeasurePlugin/Model/point.js +17 -12
  391. package/libs/PanoMeasurePlugin/Model/polygon.d.ts +14 -0
  392. package/libs/PanoMeasurePlugin/Model/polygon.js +44 -0
  393. package/libs/PanoMeasurePlugin/Model/polyline.d.ts +4 -0
  394. package/libs/PanoMeasurePlugin/Model/polyline.js +11 -3
  395. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +8 -4
  396. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +49 -37
  397. package/libs/PanoMeasurePlugin/Modules/GuideController.d.ts +16 -12
  398. package/libs/PanoMeasurePlugin/Modules/GuideController.js +41 -39
  399. package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +1 -1
  400. package/libs/PanoMeasurePlugin/Modules/UIController/index.d.ts +10 -3
  401. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +123 -37
  402. package/libs/PanoMeasurePlugin/index.js +73 -24
  403. package/libs/PanoMeasurePlugin/typings/data.d.ts +24 -0
  404. package/libs/PanoMeasurePlugin/typings/event.type.d.ts +17 -3
  405. package/libs/PanoMeasurePlugin/typings/index.d.ts +1 -1
  406. package/libs/PanoMeasurePlugin/utils/dom/areaDom.d.ts +22 -0
  407. package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +50 -0
  408. package/libs/PanoMeasurePlugin/utils/dom/base.d.ts +29 -0
  409. package/libs/PanoMeasurePlugin/utils/dom/base.js +78 -0
  410. package/libs/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +27 -0
  411. package/libs/PanoMeasurePlugin/utils/dom/distanceItem.js +63 -0
  412. package/libs/PanoMeasurePlugin/utils/generatePolygonGeometry.d.ts +6 -0
  413. package/libs/PanoMeasurePlugin/utils/generatePolygonGeometry.js +13 -0
  414. package/libs/PanoMeasurePlugin/utils/geometryUtil.d.ts +7 -0
  415. package/libs/PanoMeasurePlugin/utils/geometryUtil.js +39 -0
  416. package/libs/PanoMeasurePlugin/utils/isIntersecting.d.ts +15 -0
  417. package/libs/PanoMeasurePlugin/utils/isIntersecting.js +25 -0
  418. package/libs/PanoMeasurePlugin/utils/line.d.ts +2 -1
  419. package/libs/PanoMeasurePlugin/utils/ndc2Screen.d.ts +2 -1
  420. package/libs/PanoTagPlugin/controller/index.d.ts +2 -1
  421. package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +1 -1
  422. package/libs/PanoTagPlugin/typings/tag/TagInstance.d.ts +2 -1
  423. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +0 -4
  424. package/libs/base/BasePlugin.js +1 -1
  425. package/libs/index.js +142 -122
  426. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -7
  427. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +29 -49
  428. package/{dist/PanoMeasurePlugin/utils → libs/shared-utils}/getIntersectionFromEvent.d.ts +1 -1
  429. package/libs/{PanoMeasurePlugin/utils → shared-utils}/getPointFromHammerEvent.d.ts +1 -1
  430. package/libs/shared-utils/index.js +9 -9
  431. package/libs/shared-utils/isTouchDevice.d.ts +1 -0
  432. package/libs/shared-utils/isTouchDevice.js +4 -0
  433. package/libs/shared-utils/logger.js +2 -2
  434. package/libs/shared-utils/safeObj.d.ts +1 -0
  435. package/libs/shared-utils/safeObj.js +6 -0
  436. package/libs/shared-utils/three/IObject3D.d.ts +7 -0
  437. package/libs/shared-utils/three/IObject3D.js +25 -0
  438. package/libs/shared-utils/three/Magnifier.d.ts +5 -0
  439. package/libs/shared-utils/three/Magnifier.js +22 -14
  440. package/libs/shared-utils/three/PointSelector.d.ts +92 -0
  441. package/libs/shared-utils/three/PointSelector.js +187 -0
  442. package/libs/shared-utils/three/PointSelectorHelper.d.ts +41 -0
  443. package/libs/shared-utils/three/PointSelectorHelper.js +50 -0
  444. package/libs/shared-utils/three/centerPoint.js +1 -3
  445. package/libs/shared-utils/three/index.d.ts +1 -1
  446. package/libs/typings/typings.d.ts +4 -0
  447. package/libs/vendor/svelte/internal/index.js +392 -345
  448. package/package.json +4 -2
  449. package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +0 -30
  450. package/dist/shared-utils/three/FivePointSelector.d.ts +0 -36
  451. package/docs/types/PartialObjectDeep.html +0 -360
  452. package/libs/PanoMeasurePlugin/utils/distanceDom.d.ts +0 -30
  453. package/libs/PanoMeasurePlugin/utils/distanceDom.js +0 -83
  454. package/libs/shared-utils/three/FivePointSelector.d.ts +0 -36
  455. package/libs/shared-utils/three/FivePointSelector.js +0 -49
  456. /package/libs/{PanoMeasurePlugin/utils → shared-utils}/getIntersectionFromEvent.js +0 -0
  457. /package/libs/{PanoMeasurePlugin/utils → shared-utils}/getPointFromHammerEvent.js +0 -0
@@ -1,7 +1,7 @@
1
- var n = Object.defineProperty;
2
- var s = (o, i, e) => i in o ? n(o, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[i] = e;
3
- var t = (o, i, e) => (s(o, typeof i != "symbol" ? i + "" : i, e), e);
4
- import { Polyline as r } from "./polyline.js";
1
+ var t = Object.defineProperty;
2
+ var l = (s, e, i) => e in s ? t(s, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : s[e] = i;
3
+ var r = (s, e, i) => (l(s, typeof e != "symbol" ? e + "" : e, i), i);
4
+ import { Polyline as n } from "./polyline.js";
5
5
  import { Subscribe as p } from "@realsee/five";
6
6
  import "./line.js";
7
7
  import "../../shared-utils/uuid.js";
@@ -9,68 +9,92 @@ import "../utils/line.js";
9
9
  import "@realsee/five/line";
10
10
  import "../utils/constants.js";
11
11
  import "three";
12
- import "../utils/distanceDom.js";
12
+ import "../utils/dom/distanceItem.js";
13
+ import "../utils/dom/base.js";
13
14
  import "../utils/isNDCPointInScreen.js";
15
+ import "../../shared-utils/three/centerPoint.js";
14
16
  import "./point.js";
15
17
  import "../../shared-utils/removeArrayItem.js";
16
- class I {
17
- constructor(i) {
18
- t(this, "config");
19
- t(this, "polylines", []);
20
- t(this, "hook", new p());
21
- this.config = i;
22
- }
23
- addPolyline(i) {
24
- if (this.includes(i)) {
18
+ class v {
19
+ constructor(e) {
20
+ r(this, "config");
21
+ r(this, "polylines", []);
22
+ r(this, "areas", []);
23
+ r(this, "hook", new p());
24
+ this.config = e;
25
+ }
26
+ addPolyline(e) {
27
+ if (this.includes(e)) {
25
28
  console.error(new Error("不能重复添加 polyline"));
26
29
  return;
27
30
  }
28
- this.polylines.push(i), this.hook.emit("polylineAdded", i);
31
+ this.polylines.push(e), this.hook.emit("polylineAdded", e);
29
32
  }
30
- replacePolylineByID(i, e) {
31
- const l = this.getPolylineByID(i);
32
- l == null || l.replace(e);
33
+ addArea(e) {
34
+ if (this.areas.find(({ id: i }) => i === e.id) !== void 0) {
35
+ console.error(new Error("不能重复添加 area"));
36
+ return;
37
+ }
38
+ this.areas.push(e), this.hook.emit("areaAdded", e);
33
39
  }
34
- removePolyline(i) {
35
- const e = this.polylines.findIndex(({ id: l }) => l === i.id);
36
- if (e === -1) {
40
+ replacePolylineByID(e, i) {
41
+ const o = this.getPolylineByID(e);
42
+ o == null || o.replace(i);
43
+ }
44
+ removePolyline(e) {
45
+ const i = this.polylines.findIndex(({ id: o }) => o === e.id);
46
+ if (i === -1) {
37
47
  console.error(new Error("polyline 不存在"));
38
48
  return;
39
49
  }
40
- this.polylines.splice(e, 1), this.hook.emit("polylineRemoved", i);
50
+ this.polylines.splice(i, 1), this.hook.emit("polylineRemoved", e);
41
51
  }
42
- getPolylineByID(i) {
43
- return this.polylines.find((e) => e.id === i);
52
+ removeArea(e) {
53
+ const i = this.areas.findIndex(({ id: o }) => o === e.id);
54
+ if (i === -1) {
55
+ console.error(new Error("area 不存在"));
56
+ return;
57
+ }
58
+ this.areas.splice(i, 1);
59
+ }
60
+ getPolylineByID(e) {
61
+ return this.polylines.find((i) => i.id === e);
44
62
  }
45
- getPolylineByLine(i) {
46
- return this.polylines.find((e) => e.includes(i));
63
+ getPolylineByLine(e) {
64
+ return this.polylines.find((i) => i.includes(e));
47
65
  }
48
- getLineByID(i) {
49
- return this.getAllLines().find((e) => e.id === i);
66
+ getLineByID(e) {
67
+ return this.getAllLines().find((i) => i.id === e);
50
68
  }
51
69
  getAllLines() {
52
- return this.polylines.map((i) => i.lines).flat(1);
70
+ return this.polylines.map((e) => e.lines).flat(1);
71
+ }
72
+ getAllAreas() {
73
+ return this.areas;
53
74
  }
54
75
  getAllPoints() {
55
- return this.polylines.map((i) => i.points).flat(1);
76
+ return this.polylines.map((e) => e.points).flat(1);
56
77
  }
57
- includes(i) {
58
- return this.polylines.find(({ id: e }) => e === i.id) !== void 0;
78
+ includes(e) {
79
+ return this.polylines.find(({ id: i }) => i === e.id) !== void 0;
59
80
  }
60
81
  clear() {
61
- this.polylines.forEach((i) => this.hook.emit("polylineRemoved", i)), this.polylines.splice(0, this.polylines.length);
82
+ this.polylines.forEach((e) => this.hook.emit("polylineRemoved", e)), this.areas.forEach((e) => e.dispose()), this.polylines.splice(0, this.polylines.length), this.areas.splice(0, this.areas.length);
83
+ }
84
+ dispose() {
85
+ this.clear();
62
86
  }
63
87
  getClosestPoint() {
64
88
  }
65
- parse(i) {
66
- this.clear(), this.polylines.push(...i.polylines.map((e) => new r({ model: this }).fromJson(e))), this.polylines.forEach((e) => this.hook.emit("polylineAdded", e));
89
+ parse(e) {
90
+ this.clear(), this.polylines.push(...e.polylines.map((i) => new n({ model: this }).fromJson(i))), this.polylines.forEach((i) => this.hook.emit("polylineAdded", i));
67
91
  }
68
92
  toJson() {
69
93
  return {
70
- polylines: this.polylines.map((i) => i.toJson()).filter((i) => i.lines.length > 0)
94
+ polylines: this.polylines.map((e) => e.toJson()).filter((e) => e.lines.length > 0)
71
95
  };
72
96
  }
73
97
  }
74
98
  export {
75
- I as Model
99
+ v as Model
76
100
  };
@@ -4,7 +4,8 @@ import type { LineJson } from '../typings/data';
4
4
  import type { Line as FiveLine } from '@realsee/five/line';
5
5
  import type { Polyline } from './polyline';
6
6
  import { Subscribe, type SubscribeEventMap } from '@realsee/five';
7
- import { type DistanceItem } from '../utils/distanceDom';
7
+ import { DistanceItem } from '../utils/dom/distanceItem';
8
+ import type * as THREE from 'three';
8
9
  export interface ILineHook extends SubscribeEventMap {
9
10
  selected: (line: Line) => void;
10
11
  textChanged: (text: string | undefined) => void;
@@ -21,7 +22,12 @@ export default class Line {
21
22
  readonly hook: Subscribe<ILineHook>;
22
23
  readonly distanceItem: DistanceItem;
23
24
  private polyline?;
25
+ private visible?;
24
26
  constructor(point: Point, anotherPoint: Point, model: Model);
27
+ hide(): void;
28
+ show(): void;
29
+ setPoints(startPoint: THREE.Vector3, endPoint: THREE.Vector3): void;
30
+ remove(): void;
25
31
  clear(): void;
26
32
  isEmpty(): boolean;
27
33
  getPolyline(): Polyline;
@@ -1,16 +1,18 @@
1
1
  var r = Object.defineProperty;
2
- var m = (s, t, i) => t in s ? r(s, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : s[t] = i;
3
- var e = (s, t, i) => (m(s, typeof t != "symbol" ? t + "" : t, i), i);
4
- import { uuid as c } from "../../shared-utils/uuid.js";
5
- import { createLineMesh as h } from "../utils/line.js";
6
- import { Subscribe as d } from "@realsee/five";
7
- import { createDistanceItem as p } from "../utils/distanceDom.js";
2
+ var m = (s, i, t) => i in s ? r(s, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[i] = t;
3
+ var e = (s, i, t) => (m(s, typeof i != "symbol" ? i + "" : i, t), t);
4
+ import { uuid as p } from "../../shared-utils/uuid.js";
5
+ import { createLineMesh as n } from "../utils/line.js";
6
+ import { Subscribe as c } from "@realsee/five";
7
+ import { DistanceItem as d } from "../utils/dom/distanceItem.js";
8
8
  import "@realsee/five/line";
9
9
  import "../utils/constants.js";
10
10
  import "three";
11
+ import "../utils/dom/base.js";
11
12
  import "../utils/isNDCPointInScreen.js";
13
+ import "../../shared-utils/three/centerPoint.js";
12
14
  class l {
13
- constructor(t, i, o) {
15
+ constructor(i, t, h) {
14
16
  e(this, "id");
15
17
  e(this, "selected", !1);
16
18
  e(this, "text");
@@ -22,14 +24,27 @@ class l {
22
24
  e(this, "hook");
23
25
  e(this, "distanceItem");
24
26
  e(this, "polyline");
25
- var n;
26
- if (this.id = c(), this.model = o, t.id === i.id)
27
+ e(this, "visible");
28
+ var o;
29
+ if (this.id = p(), this.model = h, i.id === t.id)
27
30
  throw new Error("无效的线段, 一个点无法构成线段");
28
- typeof o.config.defaultText == "string" && (this.text = o.config.defaultText), this.hook = new d(), this.points = [t, i], this.mesh = h(this, "normal"), this.lightMesh = h(this, "light"), this.distanceItem = p({
31
+ typeof h.config.defaultText == "string" && (this.text = h.config.defaultText), this.hook = new c(), this.points = [i, t], this.mesh = n(this, "normal"), this.lightMesh = n(this, "light"), this.distanceItem = new d({
29
32
  line: this,
30
33
  clickCallback: () => this.hook.emit("selected", this),
31
- userDistanceItem: (n = this.model.config) != null && n.userDistanceItemCreator ? this.model.config.userDistanceItemCreator() : void 0
32
- }), t.lines.push(this), i.lines.push(this);
34
+ userDistanceItem: (o = this.model.config) != null && o.userDistanceItemCreator ? this.model.config.userDistanceItemCreator() : void 0
35
+ }), i.lines.push(this), t.lines.push(this);
36
+ }
37
+ hide() {
38
+ this.visible && (this.visible = !1, this.mesh.visible = !1, this.distanceItem.hide());
39
+ }
40
+ show() {
41
+ this.visible || (this.visible = !0, this.mesh.visible = !0, this.distanceItem.show());
42
+ }
43
+ setPoints(i, t) {
44
+ this.points[0].position.copy(i), this.points[1].position.copy(t), this.mesh.setPoints(i, t);
45
+ }
46
+ remove() {
47
+ this.mesh.parent && this.mesh.parent.remove(this.mesh), this.distanceItem.remove();
33
48
  }
34
49
  clear() {
35
50
  this.selected = !1, this.polyline = void 0;
@@ -40,22 +55,22 @@ class l {
40
55
  getPolyline() {
41
56
  if (this.polyline)
42
57
  return this.polyline;
43
- const t = this.model.polylines.find((i) => i.lines.includes(this));
44
- if (t)
45
- return this.polyline = t, t;
58
+ const i = this.model.polylines.find((t) => t.lines.includes(this));
59
+ if (i)
60
+ return this.polyline = i, i;
46
61
  }
47
- findAnotherPoint(t) {
48
- return this.points.find(({ id: i }) => i !== t.id);
62
+ findAnotherPoint(i) {
63
+ return this.points.find(({ id: t }) => t !== i.id);
49
64
  }
50
- setText(t) {
51
- this.text = t, this.hook.emit("textChanged", t);
65
+ setText(i) {
66
+ this.text = i, this.hook.emit("textChanged", i);
52
67
  }
53
68
  toJson() {
54
- return { id: this.id, points: this.points.map((t) => t.toJson()), text: this.text };
69
+ return { id: this.id, points: this.points.map((i) => i.toJson()), text: this.text };
55
70
  }
56
71
  clone() {
57
- const t = new l(this.points[0].clone(), this.points[1].clone(), this.model);
58
- return t.text = this.text, t;
72
+ const i = new l(this.points[0].clone(), this.points[1].clone(), this.model);
73
+ return i.text = this.text, i;
59
74
  }
60
75
  }
61
76
  export {
@@ -1,16 +1,21 @@
1
- var e = Object.defineProperty;
2
- var p = (t, i, o) => i in t ? e(t, i, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[i] = o;
3
- var s = (t, i, o) => (p(t, typeof i != "symbol" ? i + "" : i, o), o);
4
- import { Vector3 as n } from "three";
1
+ var s = Object.defineProperty;
2
+ var n = (t, i, o) => i in t ? s(t, i, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[i] = o;
3
+ var r = (t, i, o) => (n(t, typeof i != "symbol" ? i + "" : i, o), o);
4
+ import { Vector3 as p } from "three";
5
5
  import { uuid as h } from "../../shared-utils/uuid.js";
6
6
  import { removeArrayItem as m } from "../../shared-utils/removeArrayItem.js";
7
- class r {
7
+ class e {
8
8
  constructor(i) {
9
- s(this, "id");
10
- s(this, "lines");
11
- s(this, "position");
12
- s(this, "type", "point");
13
- this.id = h(), this.lines = [], this.position = new n(), i instanceof n ? this.position.copy(i) : this.position.fromArray(i);
9
+ r(this, "id");
10
+ r(this, "lines");
11
+ r(this, "position");
12
+ r(this, "type", "point");
13
+ if (this.id = h(), this.lines = [], this.position = new p(), Array.isArray(i))
14
+ this.position.fromArray(i);
15
+ else if (typeof i == "object" && i.isVector3)
16
+ this.position.copy(i);
17
+ else
18
+ throw new Error("position must be Vector3 or number[]");
14
19
  }
15
20
  toJson() {
16
21
  return { id: this.id, position: this.position.toArray() };
@@ -22,9 +27,9 @@ class r {
22
27
  m(i, this.lines);
23
28
  }
24
29
  clone() {
25
- return new r(this.position);
30
+ return new e(this.position);
26
31
  }
27
32
  }
28
33
  export {
29
- r as default
34
+ e as default
30
35
  };
@@ -0,0 +1,14 @@
1
+ import * as THREE from 'three';
2
+ import { IObject3D } from '../../shared-utils/three/IObject3D';
3
+ export declare const blankGeometry: THREE.BufferGeometry;
4
+ export default class PolygonMesh extends IObject3D {
5
+ readonly isPolygonMesh = true;
6
+ geometry: THREE.BufferGeometry;
7
+ isBlank: boolean;
8
+ points: THREE.Vector3[];
9
+ constructor(points?: THREE.Vector3[]);
10
+ /**
11
+ * @description: 按照新的端点来更新多边形的geometry
12
+ */
13
+ updatePoints(points: THREE.Vector3[]): void;
14
+ }
@@ -0,0 +1,44 @@
1
+ var m = Object.defineProperty;
2
+ var c = (o, t, e) => t in o ? m(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
3
+ var s = (o, t, e) => (c(o, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import * as r from "three";
5
+ import { IObject3D as h } from "../../shared-utils/three/IObject3D.js";
6
+ import d from "../utils/generatePolygonGeometry.js";
7
+ import "earcut";
8
+ const p = new r.BufferGeometry();
9
+ class B extends h {
10
+ constructor(e) {
11
+ super();
12
+ s(this, "isPolygonMesh", !0);
13
+ s(this, "geometry", new r.BufferGeometry());
14
+ s(this, "isBlank", !0);
15
+ s(this, "points", []);
16
+ const n = new r.MeshBasicMaterial({
17
+ color: 4090367,
18
+ transparent: !0,
19
+ side: r.DoubleSide,
20
+ depthTest: !0,
21
+ opacity: 0.5
22
+ }), l = new r.MeshBasicMaterial({
23
+ color: 16777215,
24
+ transparent: !0,
25
+ side: r.DoubleSide,
26
+ depthTest: !1,
27
+ depthWrite: !1,
28
+ opacity: 0.3
29
+ }), i = new r.Mesh(this.geometry, n), a = new r.Mesh(this.geometry, l);
30
+ i.renderOrder = 1, a.renderOrder = 0, e && this.updatePoints(e), this.add(i, a);
31
+ }
32
+ /**
33
+ * @description: 按照新的端点来更新多边形的geometry
34
+ */
35
+ updatePoints(e) {
36
+ this.points = e;
37
+ const n = d(e);
38
+ n ? (this.geometry.copy(n), this.isBlank = !1) : (this.geometry.copy(p), this.isBlank = !0);
39
+ }
40
+ }
41
+ export {
42
+ p as blankGeometry,
43
+ B as default
44
+ };
@@ -28,6 +28,10 @@ export declare class Polyline {
28
28
  removeLine(line: Line): void;
29
29
  isLastLine(line: Line): boolean;
30
30
  getLastLine(): Line;
31
+ /**
32
+ * @description: 获取连续线段的顶点数量
33
+ */
34
+ getPointLength(): number;
31
35
  clear(): void;
32
36
  /** 是否产生重叠 */
33
37
  overlapWith(item: Point | Line | Polyline): boolean;
@@ -9,10 +9,12 @@ import "../utils/line.js";
9
9
  import "@realsee/five/line";
10
10
  import "../utils/constants.js";
11
11
  import "three";
12
- import "../utils/distanceDom.js";
12
+ import "../utils/dom/distanceItem.js";
13
+ import "../utils/dom/base.js";
13
14
  import "../utils/isNDCPointInScreen.js";
15
+ import "../../shared-utils/three/centerPoint.js";
14
16
  import "../../shared-utils/removeArrayItem.js";
15
- class C {
17
+ class W {
16
18
  constructor(i) {
17
19
  s(this, "id", L());
18
20
  s(this, "lines", []);
@@ -47,6 +49,12 @@ class C {
47
49
  getLastLine() {
48
50
  return this.lines.slice(-1)[0];
49
51
  }
52
+ /**
53
+ * @description: 获取连续线段的顶点数量
54
+ */
55
+ getPointLength() {
56
+ return this.lines.length + 1;
57
+ }
50
58
  clear() {
51
59
  const i = this.lines.slice();
52
60
  this.lines.slice(0, this.lines.length), this.points.slice(0, this.points.length), i.reduceRight((t, h) => this.hook.emit("lineRemoved", h), void 0);
@@ -105,5 +113,5 @@ class C {
105
113
  }
106
114
  }
107
115
  export {
108
- C as Polyline
116
+ W as Polyline
109
117
  };
@@ -6,21 +6,25 @@ export default class DeleteDom {
6
6
  private lines;
7
7
  private points;
8
8
  private onClick;
9
- private cancelDelete;
9
+ private cancel;
10
10
  private content;
11
11
  private container;
12
12
  private masking;
13
+ private target;
13
14
  constructor(five: Five, opts?: {
14
- onClick?: (e: MouseEvent) => void;
15
- cancelDelete?: (e: MouseEvent) => void;
15
+ onClick?: (e: MouseEvent, target: any) => void;
16
+ cancel?: (target: any) => void;
16
17
  i18n?: (key: string) => string;
17
18
  });
18
19
  dispose(): void;
19
20
  appendTo(element: Element): this;
20
21
  setLines(lines: Line[]): this;
21
- updatePosition(): this;
22
+ setTarget(target: any): this;
23
+ updatePosition(left?: string, top?: string): this;
22
24
  hide(): this;
23
25
  show(): this;
26
+ private clickHandler;
27
+ private cancelHandler;
24
28
  private onMouseEnter;
25
29
  private onMouseLeave;
26
30
  }
@@ -1,69 +1,81 @@
1
- var v = Object.defineProperty;
2
- var g = (c, e, t) => e in c ? v(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t;
3
- var n = (c, e, t) => (g(c, typeof e != "symbol" ? e + "" : e, t), t);
4
- import f from "./_Assets/delete.svg.js";
5
- import p from "./_Assets/delete_bg.png.js";
6
- import k from "./_Assets/delete_hover_bg.png.js";
7
- class D {
8
- constructor(e, t) {
1
+ var f = Object.defineProperty;
2
+ var k = (r, t, e) => t in r ? f(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var n = (r, t, e) => (k(r, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import x from "./_Assets/delete.svg.js";
5
+ import y from "./_Assets/delete_bg.png.js";
6
+ import E from "./_Assets/delete_hover_bg.png.js";
7
+ class $ {
8
+ constructor(t, e) {
9
9
  n(this, "visible", !1);
10
10
  n(this, "five");
11
11
  n(this, "lines", []);
12
12
  n(this, "points", []);
13
13
  n(this, "onClick");
14
- n(this, "cancelDelete");
14
+ n(this, "cancel");
15
15
  n(this, "content", document.createElement("div"));
16
16
  n(this, "container", document.createElement("div"));
17
17
  n(this, "masking", document.createElement("div"));
18
+ n(this, "target");
19
+ n(this, "clickHandler", (t) => {
20
+ console.log("on click handler", this.onClick), this.onClick(t, this.target);
21
+ });
22
+ n(this, "cancelHandler", () => {
23
+ this.cancel(this.target);
24
+ });
18
25
  n(this, "onMouseEnter", () => {
19
- this.content.style.backgroundImage = `url(${k})`;
26
+ this.content.style.backgroundImage = `url(${E})`;
20
27
  });
21
28
  n(this, "onMouseLeave", () => {
22
- this.content.style.backgroundImage = `url(${p})`;
29
+ this.content.style.backgroundImage = `url(${y})`;
23
30
  });
24
- var o, r;
25
- this.five = e, this.onClick = (t == null ? void 0 : t.onClick) || (() => {
26
- }), this.cancelDelete = (t == null ? void 0 : t.cancelDelete) || (() => {
27
- }), this.container.classList.add("fpm__delete"), this.container.style.opacity = "0", this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "10px", this.container.style.transform = "translate3d(0, 0, 10px)", this.container.style.pointerEvents = "none", this.container.style.transition = "top 200ms ease, opacity 200ms ease", this.container.style.zIndex = "99", this.content.classList.add("fpm__delete-content"), this.content.style.width = "62px", this.content.style.height = "26px", this.content.style.display = "flex", this.content.style.alignItems = "center", this.content.style.justifyContent = "center", this.content.style.transform = "translate(-50%, -50%)", this.content.style.color = "#fff", this.content.style.fontSize = "12px", this.content.style.lineHeight = "17px", this.content.style.borderRadius = "11px", this.content.style.backgroundSize = "100% 100%", this.content.style.cursor = "pointer", this.content.style.userSelect = "none", this.content.style.backgroundImage = `url(${p})`, this.content.innerHTML = `
28
- ${f}
29
- <span>${(r = (o = t.i18n) == null ? void 0 : o.call(t, "删除")) != null ? r : "删除"}</span>
31
+ var c, o;
32
+ this.five = t, this.onClick = (e == null ? void 0 : e.onClick) || (() => {
33
+ }), this.cancel = (e == null ? void 0 : e.cancel) || (() => {
34
+ }), this.container.classList.add("fpm__delete"), this.container.style.opacity = "0", this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "10px", this.container.style.transform = "translate3d(0, 0, 10px)", this.container.style.pointerEvents = "none", this.container.style.transition = "opacity 200ms ease", this.container.style.zIndex = "99", this.content.classList.add("fpm__delete-content"), this.content.style.width = "62px", this.content.style.height = "26px", this.content.style.display = "flex", this.content.style.alignItems = "center", this.content.style.justifyContent = "center", this.content.style.transform = "translate(-50%, -50%)", this.content.style.color = "#fff", this.content.style.fontSize = "12px", this.content.style.lineHeight = "17px", this.content.style.borderRadius = "11px", this.content.style.backgroundSize = "100% 100%", this.content.style.cursor = "pointer", this.content.style.userSelect = "none", this.content.style.backgroundImage = `url(${y})`, this.content.innerHTML = `
35
+ ${x}
36
+ <span>${(o = (c = e.i18n) == null ? void 0 : c.call(e, "删除")) != null ? o : "删除"}</span>
30
37
  `, this.container.append(this.content);
31
38
  const s = this.content.querySelector(".fpm__delete-icon");
32
- s && (s.style.width = "16px", s.style.height = "17px", s.style.marginRight = "1px"), this.content.addEventListener("click", this.onClick), this.content.addEventListener("mouseenter", this.onMouseEnter), this.content.addEventListener("mouseleave", this.onMouseLeave), this.masking.setAttribute("style", "position: absolute;top: 0;left: 0;bottom: 0;right: 0;pointer-events: none;"), this.masking.addEventListener("click", this.cancelDelete), this.masking.addEventListener("touchstart", this.cancelDelete);
39
+ s && (s.style.width = "16px", s.style.height = "17px", s.style.marginRight = "1px"), this.content.addEventListener("click", this.clickHandler), this.content.addEventListener("mouseenter", this.onMouseEnter), this.content.addEventListener("mouseleave", this.onMouseLeave), this.masking.setAttribute("style", "position: absolute;top: 0;left: 0;bottom: 0;right: 0;pointer-events: none;"), this.masking.addEventListener("click", this.cancelHandler), this.masking.addEventListener("touchstart", this.cancelHandler);
33
40
  }
34
41
  dispose() {
35
- this.content.removeEventListener("click", this.onClick), this.content.removeEventListener("mouseenter", this.onMouseEnter), this.content.removeEventListener("mouseleave", this.onMouseLeave), this.container.remove(), this.masking.removeEventListener("click", this.cancelDelete), this.masking.removeEventListener("touchstart", this.cancelDelete), this.masking.remove();
42
+ this.content.removeEventListener("click", this.clickHandler), this.content.removeEventListener("mouseenter", this.onMouseEnter), this.content.removeEventListener("mouseleave", this.onMouseLeave), this.container.remove(), this.masking.removeEventListener("click", this.cancelHandler), this.masking.removeEventListener("touchstart", this.cancelHandler), this.masking.remove();
43
+ }
44
+ appendTo(t) {
45
+ return t.append(this.container), t.append(this.masking), this;
36
46
  }
37
- appendTo(e) {
38
- return e.append(this.container), e.append(this.masking), this;
47
+ setLines(t) {
48
+ return this.lines = t, this.points = Array.from(new Set(this.lines.map((e) => [e.points[0], e.points[1]]).flat(1))), this;
39
49
  }
40
- setLines(e) {
41
- return this.lines = e, this.points = Array.from(new Set(this.lines.map((t) => [t.points[0], t.points[1]]).flat(1))), this;
50
+ setTarget(t) {
51
+ return this.target = t, this;
42
52
  }
43
- updatePosition() {
53
+ updatePosition(t, e) {
54
+ if (t && e)
55
+ return this.container.style.left = t, this.container.style.top = e, this.container.style.transform = "", this.show();
44
56
  if (this.lines.length === 0)
45
57
  return this;
46
- const e = this.points.map((i) => i.position), t = e.map((i) => i.clone().project(this.five.camera));
47
- if (t.some((i) => Math.abs(i.z) > 1))
58
+ const s = this.points.map((i) => i.position), c = s.map((i) => i.clone().project(this.five.camera));
59
+ if (c.some((i) => Math.abs(i.z) > 1))
48
60
  return this.hide();
49
- const s = t.map((i) => i.x), o = t.map((i) => i.y), r = (Math.min(...s) + Math.max(...s)) / 2, y = Math.max(...o), a = this.container.parentElement;
50
- if (!a)
61
+ const o = c.map((i) => i.x), a = c.map((i) => i.y), p = (Math.min(...o) + Math.max(...o)) / 2, u = Math.max(...a), h = this.container.parentElement;
62
+ if (!h)
51
63
  return this;
52
- const h = (r + 1) / 2 * a.clientWidth, d = -(y - 1) / 2 * a.clientHeight;
53
- let l = h, m = d - 34;
54
- if (this.lines.length === 1 && e.length === 2) {
55
- const i = (o[1] - o[0]) / (s[1] - s[0]), u = -((o[1] + o[0]) / 2 - 1) / 2 * a.clientHeight;
56
- Math.abs(i) > 0.4 && (l = h + 57, m = u);
64
+ const l = (p + 1) / 2 * h.clientWidth, v = -(u - 1) / 2 * h.clientHeight;
65
+ let m = l, d = v - 34;
66
+ if (this.lines.length === 1 && s.length === 2) {
67
+ const i = (a[1] - a[0]) / (o[1] - o[0]), g = -((a[1] + a[0]) / 2 - 1) / 2 * h.clientHeight;
68
+ Math.abs(i) > 0.4 && (m = l + 57, d = g);
57
69
  }
58
- return this.container.style.transform = `translate3d(${l}px, ${m}px, 10px)`, this.show();
70
+ return this.container.style.top = "0", this.container.style.left = "0", this.container.style.transform = `translate3d(${m}px, ${d}px, 0)`, this.show();
59
71
  }
60
72
  hide() {
61
- return this.visible = !1, this.masking.style.pointerEvents = "none", this.container.style.opacity = "0", this.container.style.top = "10px", this.container.style.pointerEvents = "none", this;
73
+ return this.visible = !1, this.masking.style.pointerEvents = "none", this.container.style.opacity = "0", this.container.style.pointerEvents = "none", this;
62
74
  }
63
75
  show() {
64
- return this.visible = !0, this.masking.style.pointerEvents = "auto", this.container.style.opacity = "1", this.container.style.top = "0", this.container.style.pointerEvents = "auto", this;
76
+ return this.visible = !0, this.masking.style.pointerEvents = "auto", this.container.style.opacity = "1", this.container.style.pointerEvents = "auto", this;
65
77
  }
66
78
  }
67
79
  export {
68
- D as default
80
+ $ as default
69
81
  };
@@ -1,25 +1,29 @@
1
1
  import type MeasureController from '../Controller';
2
+ import type { PartialObjectDeep } from '../../typings/typings';
3
+ import type { PointSelectorMode } from '../typings/data';
4
+ export interface MeasureTip {
5
+ line: {
6
+ start: string;
7
+ };
8
+ area: {
9
+ start: string;
10
+ close: string;
11
+ };
12
+ }
2
13
  export interface GuideControllerParams {
3
- container: Element;
14
+ container?: Element;
15
+ tips?: PartialObjectDeep<MeasureTip>;
16
+ tipStyle?: Partial<CSSStyleDeclaration>;
4
17
  startTip?: string;
5
18
  endTip?: string;
6
19
  firstPointTip?: string;
7
20
  nextPointTip?: string;
21
+ pointSelectorMode?: PointSelectorMode;
8
22
  }
9
23
  export declare class GuideController {
10
- private measureController;
11
- private textDom;
12
- private container;
13
- private hasAnchor;
14
- /** 是否曾经切换到 Watch 模式过 */
15
- private hasChangedToWatch;
16
- private _params;
24
+ private tipSvelteDom?;
17
25
  constructor(measureController: MeasureController, params: GuideControllerParams);
18
26
  dispose(): void;
19
27
  show(): this;
20
28
  hide(): this;
21
- private initDom;
22
- private onModelChange;
23
- private anchorChange;
24
- private onEditedLineChange;
25
29
  }