@realsee/dnalogel 2.21.0-dev.10 → 2.21.0-dev.12

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 (344) hide show
  1. package/dist/PanoMeasurePlugin/Components/Tip.svelte.d.ts +1 -0
  2. package/dist/PanoMeasurePlugin/Model/area.d.ts +4 -0
  3. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +15 -11
  4. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +5 -1
  5. package/dist/PanoTagPlugin/controller/index.d.ts +2 -1
  6. package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +1 -1
  7. package/dist/PanoTagPlugin/typings/tag/TagInstance.d.ts +2 -1
  8. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +0 -4
  9. package/dist/index.cjs.js +54 -54
  10. package/dist/index.js +3818 -3665
  11. package/dist/index.umd.js +42 -42
  12. package/dist/shared-utils/three/PointSelector.d.ts +17 -1
  13. package/dist/shared-utils/three/PointSelectorHelper.d.ts +2 -11
  14. package/dist/typings/typings.d.ts +4 -0
  15. package/docs/assets/search.js +1 -1
  16. package/docs/classes/CSS3DRender.html +30 -31
  17. package/docs/classes/CruisePluginController.html +25 -26
  18. package/docs/classes/GuideLineItem.GuideLineItem.html +19 -20
  19. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +34 -35
  20. package/docs/classes/Magnifier.html +19 -20
  21. package/docs/classes/ModelRoomLabelController.html +10 -11
  22. package/docs/classes/Object3DHelperController.html +24 -25
  23. package/docs/classes/PaintBrush.html +14 -15
  24. package/docs/classes/PanoMeasurePluginLine.html +26 -27
  25. package/docs/classes/PanoMeasurePluginModel.html +26 -27
  26. package/docs/classes/PanoMeasurePluginPoint.html +13 -14
  27. package/docs/classes/PanoMeasurePluginPolyline.html +26 -27
  28. package/docs/classes/PanoTagPluginController.html +50 -51
  29. package/docs/classes/Util.BetterTween.html +8 -9
  30. package/docs/classes/Util.Interval.html +11 -12
  31. package/docs/classes/Util.Magnifier.html +19 -20
  32. package/docs/classes/Util.PointDomHelper.html +10 -11
  33. package/docs/classes/Util.PointHelper.html +10 -11
  34. package/docs/classes/Util.PointSelectorHelper.html +21 -59
  35. package/docs/classes/Util.Rectangle.html +12 -13
  36. package/docs/enums/CameraMovementEffect.html +6 -7
  37. package/docs/enums/ContentType.html +19 -20
  38. package/docs/enums/DIRECTION.html +8 -9
  39. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +8 -9
  40. package/docs/enums/DimensionType.html +6 -7
  41. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +7 -8
  42. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +8 -9
  43. package/docs/enums/PaintBrushTypeEnum.html +7 -8
  44. package/docs/enums/PointType.html +6 -7
  45. package/docs/enums/Rotation.html +7 -8
  46. package/docs/functions/CSS3DRenderPlugin.html +3 -4
  47. package/docs/functions/CameraMovementPlugin.html +3 -4
  48. package/docs/functions/CruisePlugin.html +3 -4
  49. package/docs/functions/GuideLinePlugin.html +4 -5
  50. package/docs/functions/ItemLabelPlugin.html +3 -4
  51. package/docs/functions/MapviewFloorplanPlugin.html +3 -4
  52. package/docs/functions/ModelChassisCompassPlugin.html +3 -4
  53. package/docs/functions/ModelEntryDoorGuidePlugin.html +3 -4
  54. package/docs/functions/ModelFloorplanPlugin.html +3 -4
  55. package/docs/functions/ModelItemLabelPlugin.html +3 -4
  56. package/docs/functions/ModelRoomLabelPlugin.html +3 -4
  57. package/docs/functions/ModelTVVideoPlugin.html +3 -4
  58. package/docs/functions/ModelViewPlugin.html +3 -4
  59. package/docs/functions/Object3DHelperPlugin.html +3 -4
  60. package/docs/functions/PanoCompassPlugin.html +3 -4
  61. package/docs/functions/PanoCursorRaycasterPlugin.html +3 -4
  62. package/docs/functions/PanoDoorLabelPlugin.html +3 -4
  63. package/docs/functions/PanoFloorplanRadarPlugin.html +3 -4
  64. package/docs/functions/PanoMeasurePlugin.html +3 -4
  65. package/docs/functions/PanoRulerPlugin.html +3 -4
  66. package/docs/functions/PanoRulerProPlugin.html +3 -4
  67. package/docs/functions/PanoSpatialTagPlugin.html +3 -4
  68. package/docs/functions/PanoTagPlugin.html +3 -4
  69. package/docs/functions/PanoVideoPlugin.html +3 -4
  70. package/docs/functions/TopviewFloorplanPlugin.html +3 -4
  71. package/docs/functions/Util.absoluteUrl.html +4 -5
  72. package/docs/functions/Util.getCoordsFromClient.html +4 -5
  73. package/docs/functions/Util.getCoordsFromElement.html +4 -5
  74. package/docs/functions/Util.getFrameTime.html +4 -5
  75. package/docs/functions/Util.getIntersectFromRelativePosition.html +4 -5
  76. package/docs/functions/Util.getRaycasterFromFivePointer.html +4 -5
  77. package/docs/functions/Util.isAbsoluteURL.html +4 -5
  78. package/docs/functions/Util.isModelLike.html +4 -5
  79. package/docs/functions/Util.isNil.html +4 -5
  80. package/docs/functions/Util.isPanoramaLike.html +4 -5
  81. package/docs/functions/Util.nextFrame.html +4 -5
  82. package/docs/functions/Util.notNil.html +4 -5
  83. package/docs/functions/Util.requestAnimationFrameInterval.html +4 -5
  84. package/docs/functions/Util.tweenProgress.html +4 -5
  85. package/docs/functions/Util.uuid.html +4 -5
  86. package/docs/functions/pluginFlag.html +4 -5
  87. package/docs/index.html +4 -5
  88. package/docs/interfaces/AddTagConfig.html +5 -6
  89. package/docs/interfaces/CSS3DRenderPluginEventMap.html +10 -11
  90. package/docs/interfaces/CSS3DRenderPluginState.html +7 -8
  91. package/docs/interfaces/CameraMovementPluginExportType.html +6 -7
  92. package/docs/interfaces/CruisePluginTypes.Config.html +7 -8
  93. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +11 -12
  94. package/docs/interfaces/CruisePluginTypes.EventMap.html +19 -20
  95. package/docs/interfaces/CruisePluginTypes.MoveAction.html +11 -12
  96. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +13 -14
  97. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +13 -14
  98. package/docs/interfaces/CruisePluginTypes.PluginData.html +8 -9
  99. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +6 -7
  100. package/docs/interfaces/CruisePluginTypes.PluginState.html +10 -11
  101. package/docs/interfaces/EventMap.html +14 -15
  102. package/docs/interfaces/FloorplanBounding.html +7 -8
  103. package/docs/interfaces/FloorplanData.html +9 -10
  104. package/docs/interfaces/FloorplanEntrance.html +10 -11
  105. package/docs/interfaces/FloorplanExtraObject.html +9 -10
  106. package/docs/interfaces/FloorplanExtraObject3D.html +7 -8
  107. package/docs/interfaces/FloorplanFloorData.html +8 -9
  108. package/docs/interfaces/FloorplanImagePosition.html +6 -7
  109. package/docs/interfaces/FloorplanObserver.html +8 -9
  110. package/docs/interfaces/FloorplanOutlineItem.html +8 -9
  111. package/docs/interfaces/FloorplanPosition.html +6 -7
  112. package/docs/interfaces/FloorplanRoomItem.html +12 -13
  113. package/docs/interfaces/FloorplanRoomLabelItem.html +6 -7
  114. package/docs/interfaces/FloorplanServerBounding.html +7 -8
  115. package/docs/interfaces/FloorplanServerComputedData.html +9 -10
  116. package/docs/interfaces/FloorplanServerData.html +6 -7
  117. package/docs/interfaces/FloorplanServerDoorItem.html +9 -10
  118. package/docs/interfaces/FloorplanServerDoorPosition.html +7 -8
  119. package/docs/interfaces/FloorplanServerEntrance.html +10 -11
  120. package/docs/interfaces/FloorplanServerFloorData.html +8 -9
  121. package/docs/interfaces/FloorplanServerImagePosition.html +6 -7
  122. package/docs/interfaces/FloorplanServerObserver.html +8 -9
  123. package/docs/interfaces/FloorplanServerOutlineItem.html +8 -9
  124. package/docs/interfaces/FloorplanServerPosition.html +6 -7
  125. package/docs/interfaces/FloorplanServerRoomItem.html +13 -14
  126. package/docs/interfaces/FloorplanServerRoomLabelItem.html +6 -7
  127. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +7 -8
  128. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +9 -10
  129. package/docs/interfaces/GuideLinePluginType.EventMap.html +12 -13
  130. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +7 -8
  131. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +5 -6
  132. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +12 -13
  133. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +7 -8
  134. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +17 -18
  135. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +6 -7
  136. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +17 -18
  137. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +4 -5
  138. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +6 -7
  139. package/docs/interfaces/GuideLinePluginType.PluginState.html +7 -8
  140. package/docs/interfaces/GuideLinePluginType.Route.html +10 -11
  141. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +8 -9
  142. package/docs/interfaces/HelperOffset.html +7 -8
  143. package/docs/interfaces/ImagePlaneGroup.html +5 -6
  144. package/docs/interfaces/ItemLabelPluginData.html +5 -6
  145. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +10 -11
  146. package/docs/interfaces/ItemLabelPluginParametersType.html +8 -9
  147. package/docs/interfaces/MinMax.html +6 -7
  148. package/docs/interfaces/ModelChassisCompassPluginData.html +6 -7
  149. package/docs/interfaces/ModelChassisCompassPluginExportType.html +7 -8
  150. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +6 -7
  151. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +7 -8
  152. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +7 -8
  153. package/docs/interfaces/ModelItemLabelPluginData.html +5 -6
  154. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +10 -11
  155. package/docs/interfaces/ModelItemLabelPluginParametersType.html +6 -7
  156. package/docs/interfaces/ModelRoomLabelPluginData.html +5 -6
  157. package/docs/interfaces/ModelTVVideoPluginData.html +8 -9
  158. package/docs/interfaces/ModelTVVideoPluginExportType.html +7 -8
  159. package/docs/interfaces/ModelTVVideoPluginParameterType.html +5 -6
  160. package/docs/interfaces/ModelViewPluginExportType.html +10 -11
  161. package/docs/interfaces/Object3DHelperState.html +7 -8
  162. package/docs/interfaces/ObjectHelperControllers.html +8 -9
  163. package/docs/interfaces/PaintBrushAction.html +11 -12
  164. package/docs/interfaces/PaintBrushConfigs.html +11 -12
  165. package/docs/interfaces/PaintBrushState.html +9 -10
  166. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +9 -10
  167. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +4 -5
  168. package/docs/interfaces/PanoMeasureParameterType.html +14 -15
  169. package/docs/interfaces/PanoMeasurePluginLineJson.html +7 -8
  170. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +6 -7
  171. package/docs/interfaces/PanoMeasurePluginPointJson.html +6 -7
  172. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +7 -8
  173. package/docs/interfaces/PanoRulerPluginExportType.html +9 -10
  174. package/docs/interfaces/PanoRulerPluginOptions.html +6 -7
  175. package/docs/interfaces/PanoRulerPluginParameterType.html +7 -8
  176. package/docs/interfaces/PanoRulerProPluginExportType.html +8 -9
  177. package/docs/interfaces/PanoRulerProPluginOptions.html +6 -7
  178. package/docs/interfaces/PanoRulerProPluginParameterType.html +6 -7
  179. package/docs/interfaces/PanoRulerProPluginState.html +7 -8
  180. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +4 -5
  181. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +4 -5
  182. package/docs/interfaces/PanoSpatialTagPluginData.html +10 -11
  183. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +9 -10
  184. package/docs/interfaces/PanoSpatialTagPluginExportType.html +12 -13
  185. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +9 -10
  186. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +12 -13
  187. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +10 -11
  188. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +9 -10
  189. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +5 -6
  190. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +7 -8
  191. package/docs/interfaces/PanoVideoPluginType.PluginData.html +5 -6
  192. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +8 -9
  193. package/docs/interfaces/PanoVideoPluginType.PluginState.html +5 -6
  194. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +7 -8
  195. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +9 -10
  196. package/docs/interfaces/Point.html +7 -8
  197. package/docs/interfaces/Room.html +8 -9
  198. package/docs/interfaces/RoomInfo.html +6 -7
  199. package/docs/interfaces/RoomLabel.html +13 -14
  200. package/docs/interfaces/RoomRules.html +4 -5
  201. package/docs/interfaces/Rooms.html +4 -5
  202. package/docs/interfaces/Scissor.html +8 -9
  203. package/docs/interfaces/State.html +7 -8
  204. package/docs/interfaces/TagCacheInterface.html +11 -12
  205. package/docs/interfaces/TagConfig.html +13 -14
  206. package/docs/interfaces/TagGLTFObjectGroup.html +5 -6
  207. package/docs/interfaces/TagIconUrl.html +11 -12
  208. package/docs/interfaces/TagObjectGroup.html +5 -6
  209. package/docs/interfaces/TagStyle.html +5 -6
  210. package/docs/interfaces/Tags.html +8 -9
  211. package/docs/interfaces/TemporaryState.html +5 -6
  212. package/docs/interfaces/Util.MagnifierParameter.html +10 -11
  213. package/docs/interfaces/Util.MouseGroupParameter.html +7 -8
  214. package/docs/interfaces/Util.PointIntersection.html +7 -8
  215. package/docs/modules/CruisePluginTypes.html +4 -5
  216. package/docs/modules/GuideLineItem.html +4 -5
  217. package/docs/modules/GuideLineModeItem.html +4 -5
  218. package/docs/modules/GuideLinePluginType.html +4 -5
  219. package/docs/modules/PanoVideoPluginType.html +4 -5
  220. package/docs/modules/Util.html +4 -5
  221. package/docs/modules.html +4 -6
  222. package/docs/types/ArrayPosition.html +4 -5
  223. package/docs/types/AudioAppearance.html +4 -5
  224. package/docs/types/AudioTagTypeConfigKey.html +4 -5
  225. package/docs/types/CSS3DRenderExportType.html +4 -5
  226. package/docs/types/CSS3DRenderPluginExportType.html +4 -5
  227. package/docs/types/CSS3DRenderPluginParameterType.html +4 -5
  228. package/docs/types/ClassFunctionParameters.html +4 -5
  229. package/docs/types/Color.html +4 -5
  230. package/docs/types/ContentTypeConfigKey.html +4 -5
  231. package/docs/types/ContentTypeConfigKeySplit.html +4 -5
  232. package/docs/types/ContentTypeMap.html +4 -5
  233. package/docs/types/Create3DDomContainerReturnType.html +4 -5
  234. package/docs/types/Create3DElementReturnType.html +4 -5
  235. package/docs/types/CruisePluginExportType.html +4 -5
  236. package/docs/types/CruisePluginTypes.CruiseData.html +4 -5
  237. package/docs/types/CruisePluginTypes.MoveEffect.html +4 -5
  238. package/docs/types/DeprecatedMediaPlaneProperty.html +4 -5
  239. package/docs/types/DeprecatedTagProperty.html +4 -5
  240. package/docs/types/Direction-1.html +4 -5
  241. package/docs/types/Direction4.html +4 -5
  242. package/docs/types/ElementRenderer.html +4 -5
  243. package/docs/types/FloorplanRuleLabels.html +4 -5
  244. package/docs/types/FloorplanServerRuleLabels.html +4 -5
  245. package/docs/types/GuideLinePluginExportType.html +4 -5
  246. package/docs/types/GuideLinePluginType.GuideLineItem.html +4 -5
  247. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +4 -5
  248. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +4 -5
  249. package/docs/types/GuideLinePluginType.GuideLineStyle.html +4 -5
  250. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +4 -5
  251. package/docs/types/GuideLinePluginType.PathItem.html +4 -5
  252. package/docs/types/GuideLinePluginType.PluginData.html +4 -5
  253. package/docs/types/HelperEventMap.html +4 -5
  254. package/docs/types/LoadTagConfig.html +4 -5
  255. package/docs/types/MapviewFloorplanPluginParameterType.html +4 -5
  256. package/docs/types/MapviewFloorplanPluginReturnType.html +4 -5
  257. package/docs/types/MediaData.html +4 -5
  258. package/docs/types/MediaStore.html +4 -5
  259. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +4 -5
  260. package/docs/types/ModelFloorplanPluginParameterType.html +4 -5
  261. package/docs/types/ModelFloorplanPluginReturnType.html +4 -5
  262. package/docs/types/ModelRoomLabelPluginParameters.html +4 -5
  263. package/docs/types/ModelRoomLabelPluginReturnType.html +4 -5
  264. package/docs/types/MoveArgs.html +4 -5
  265. package/docs/types/MoveOpts.html +4 -5
  266. package/docs/types/Object3DHelperEventMap.html +4 -5
  267. package/docs/types/ObjectFit.html +4 -5
  268. package/docs/types/PaintBrushEventMap.html +4 -5
  269. package/docs/types/PanoCompassPluginData.html +4 -5
  270. package/docs/types/PanoCompassPluginExportType.html +4 -5
  271. package/docs/types/PanoCompassPluginParameterType.html +4 -5
  272. package/docs/types/PanoFloorplanRadarPluginParameterType.html +4 -5
  273. package/docs/types/PanoFloorplanRadarPluginReturnType.html +4 -5
  274. package/docs/types/PanoIndex.html +4 -5
  275. package/docs/types/PanoMeasurePluginEvent.html +4 -5
  276. package/docs/types/PanoMeasureReturnType.html +4 -5
  277. package/docs/types/PanoSpatialTagPluginId.html +4 -5
  278. package/docs/types/PanoTagPluginExportInterface.html +4 -5
  279. package/docs/types/PanoTagPluginParamsInterface.html +4 -5
  280. package/docs/types/PanoVideoPluginParameterType.html +4 -5
  281. package/docs/types/PanoVideoPluginReturnType.html +4 -5
  282. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +4 -5
  283. package/docs/types/PlaneTag.html +4 -5
  284. package/docs/types/Point2DTag.html +4 -5
  285. package/docs/types/Point3DTag.html +4 -5
  286. package/docs/types/PointTag.html +4 -5
  287. package/docs/types/PointTagInstance.html +4 -5
  288. package/docs/types/Position.html +4 -5
  289. package/docs/types/RotateArgs.html +4 -5
  290. package/docs/types/RotateOpts.html +4 -5
  291. package/docs/types/RuleLabelsKey.html +4 -5
  292. package/docs/types/RuleLabelsValue.html +4 -5
  293. package/docs/types/StickType.html +4 -5
  294. package/docs/types/Tag.html +4 -5
  295. package/docs/types/Tag2D.html +4 -5
  296. package/docs/types/Tag3D.html +4 -5
  297. package/docs/types/TagContentType.html +4 -5
  298. package/docs/types/TagDimensionType.html +4 -5
  299. package/docs/types/TagElement.html +4 -5
  300. package/docs/types/TagEvents.html +4 -5
  301. package/docs/types/TagGLTFObject.html +4 -5
  302. package/docs/types/TagHooks.html +4 -5
  303. package/docs/types/TagId.html +4 -5
  304. package/docs/types/TagInstance.html +4 -5
  305. package/docs/types/TagPointType.html +4 -5
  306. package/docs/types/TagRendererMap.html +4 -5
  307. package/docs/types/TopviewFloorplanPluginParameterType.html +4 -5
  308. package/docs/types/TopviewFloorplanPluginReturnType.html +4 -5
  309. package/docs/types/WorkCode.html +4 -5
  310. package/docs/variables/FLOOR_TYPE_MAP.html +4 -5
  311. package/docs/variables/PLUGIN.html +4 -5
  312. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +4 -5
  313. package/docs/variables/ROOM_TYPE_MAP.html +4 -5
  314. package/docs/variables/itemLabelPluginServerParams.html +4 -5
  315. package/docs/variables/modelItemLabelPluginServerParams.html +4 -5
  316. package/docs/variables/modelRoomLabelPluginServerParams.html +4 -5
  317. package/libs/PanoMeasurePlugin/Components/Common/CircleButton.js +43 -43
  318. package/libs/PanoMeasurePlugin/Components/Controller0.js +101 -101
  319. package/libs/PanoMeasurePlugin/Components/Controller1.js +172 -168
  320. package/libs/PanoMeasurePlugin/Components/Tip.js +154 -0
  321. package/libs/PanoMeasurePlugin/Components/Tip.svelte.d.ts +1 -0
  322. package/libs/PanoMeasurePlugin/Controller/EditController.js +82 -76
  323. package/libs/PanoMeasurePlugin/Controller/index.js +23 -21
  324. package/libs/PanoMeasurePlugin/Model/area.d.ts +4 -0
  325. package/libs/PanoMeasurePlugin/Model/area.js +38 -31
  326. package/libs/PanoMeasurePlugin/Modules/GuideController.d.ts +15 -11
  327. package/libs/PanoMeasurePlugin/Modules/GuideController.js +67 -40
  328. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +1 -1
  329. package/libs/PanoMeasurePlugin/index.js +16 -14
  330. package/libs/PanoMeasurePlugin/typings/event.type.d.ts +5 -1
  331. package/libs/PanoTagPlugin/controller/index.d.ts +2 -1
  332. package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +1 -1
  333. package/libs/PanoTagPlugin/typings/tag/TagInstance.d.ts +2 -1
  334. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +0 -4
  335. package/libs/base/BasePlugin.js +1 -1
  336. package/libs/index.js +111 -110
  337. package/libs/shared-utils/logger.js +1 -1
  338. package/libs/shared-utils/three/PointSelector.d.ts +17 -1
  339. package/libs/shared-utils/three/PointSelector.js +89 -34
  340. package/libs/shared-utils/three/PointSelectorHelper.d.ts +2 -11
  341. package/libs/shared-utils/three/PointSelectorHelper.js +32 -82
  342. package/libs/typings/typings.d.ts +4 -0
  343. package/package.json +1 -1
  344. package/docs/types/PartialObjectDeep.html +0 -361
package/libs/index.js CHANGED
@@ -1,55 +1,55 @@
1
1
  import { consoleVersion as o } from "./shared-utils/logger.js";
2
2
  import { autoFixOffscreenCanvas as r } from "./shared-utils/offscreenCanvas.js";
3
- import { PaintBrush as Rp } from "./components/PaintBrush/index.js";
4
- import { PaintBrushTypeEnum as Op } from "./components/PaintBrush/typings.js";
5
- import { ModelViewPlugin as Sp } from "./ModelViewPlugin/Plugin.js";
6
- import { CSS3DRenderPlugin as Dp } from "./CSS3DRenderPlugin/index.js";
7
- import { PanoCursorRaycasterPlugin as bp } from "./PanoCursorRaycasterPlugin/index.js";
8
- import { ModelRoomLabelPlugin as Yp, modelRoomLabelPluginServerParams as vp } from "./ModelRoomLabelPlugin/index.js";
9
- import { FLOOR_PLAN_ATTACHED_TO as Vp } from "./floorplan/constant.js";
10
- import { ModelFloorplanPlugin as hp } from "./floorplan/ModelFloorplanPlugin/index.js";
11
- import { MapviewFloorplanPlugin as Bp } from "./floorplan/MapviewFloorplanPlugin/index.js";
12
- import { TopviewFloorplanPlugin as Up } from "./floorplan/TopviewFloorplanPlugin/index.js";
13
- import { PanoFloorplanRadarPlugin as $p } from "./floorplan/PanoFloorplanRadarPlugin/index.js";
14
- import { FLOOR_TYPE_MAP as qp, ROOM_FETILE_TYPE_MAP as zp, ROOM_TYPE_MAP as Jp } from "./floorplan/typings/floorplanServerData.js";
15
- import { ModelChassisCompassPlugin as Qp } from "./ModelChassisCompassPlugin/Plugin.js";
16
- import { ModelEntryDoorGuidePlugin as Xp } from "./ModelEntryDoorGuidePlugin/Plugin.js";
17
- import { CameraMovementPlugin as oe } from "./CameraMovementPlugin/CameraMovementPlugin.js";
18
- import { CameraMovementEffect as te, Rotation as ie } from "./CameraMovementPlugin/typing.js";
19
- import { PanoRulerPlugin as pe } from "./PanoRulerPlugin/Plugin.js";
20
- import { PanoRulerProPlugin as ne } from "./PanoRulerProPlugin/index.js";
21
- import { PanoCompassPlugin as ae } from "./PanoCompassPlugin/index.js";
22
- import { PanoMeasurePlugin as ue } from "./PanoMeasurePlugin/index.js";
23
- import { PanoSpatialTagPlugin as xe } from "./PanoSpatialTagPlugin/Plugin.js";
24
- import { modelItemLabelPluginServerParams as se } from "./ModelItemLabelPlugin/index.js";
25
- import { ModelTVVideoPlugin as Me } from "./ModelTVVideoPlugin/Plugin.js";
26
- import { DIRECTION as Le } from "./ModelTVVideoPlugin/typings.js";
27
- import { itemLabelPluginServerParams as _e } from "./ItemLabelPlugin/index.js";
28
- import { PanoDoorLabelPlugin as Re } from "./PanoDoorLabelPlugin/index.js";
29
- import { GuideLinePlugin as Oe } from "./GuideLinePlugin/index.js";
30
- import { CruisePlugin as Se } from "./CruisePlugin/index.js";
31
- import { PanoTagPlugin as De } from "./PanoTagPlugin/index.js";
32
- import { Object3DHelperPlugin as be } from "./Object3DHelperPlugin/index.js";
33
- import { PanoVideoPlugin as Ye } from "./PanoVideoPlugin/index.js";
34
- import { index as ce } from "./shared-utils/index.js";
35
- import { CSS3DRender as Ne } from "./CSS3DRenderPlugin/utils/three/CSS3DRender.js";
36
- import { Model as we } from "./PanoMeasurePlugin/Model/index.js";
37
- import { default as He } from "./PanoMeasurePlugin/Model/point.js";
38
- import { default as je } from "./PanoMeasurePlugin/Model/line.js";
39
- import { Polyline as ke } from "./PanoMeasurePlugin/Model/polyline.js";
40
- import { default as ze } from "./PanoMeasurePlugin/Modules/Magnifier.js";
41
- import { DISPLAY_STRATEGY_TYPE as Ke } from "./ModelItemLabelPlugin/typings.js";
42
- import { ModelItemLabelPlugin as We } from "./ModelItemLabelPlugin/ModelItemLabelPlugin.js";
43
- import { ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE as Ze } from "./ItemLabelPlugin/typings.js";
44
- import { Plugin as rn } from "./ItemLabelPlugin/Plugin.js";
45
- import { GuideLineItem$1 as mn } from "./GuideLinePlugin/GuideLineItem/index.js";
46
- import { GuideLineModeItem$1 as en } from "./GuideLinePlugin/GuideLineModeItem/index.js";
47
- import { default as ln } from "./CruisePlugin/Controller.js";
48
- import { typing as Pn } from "./CruisePlugin/typing/index.js";
49
- import { default as fn, pluginFlag as xn } from "./PanoTagPlugin/controller/index.js";
50
- import { ContentType as sn, DimensionType as dn, PointType as Mn } from "./PanoTagPlugin/Archive/deprecated.js";
51
- import { Object3DHelperController as Ln, PLUGIN as Cn } from "./Object3DHelperPlugin/Controller.js";
52
- import { typings as En } from "./PanoVideoPlugin/typings/index.js";
3
+ import { PaintBrush as Ip } from "./components/PaintBrush/index.js";
4
+ import { PaintBrushTypeEnum as yp } from "./components/PaintBrush/typings.js";
5
+ import { ModelViewPlugin as Ap } from "./ModelViewPlugin/Plugin.js";
6
+ import { CSS3DRenderPlugin as Gp } from "./CSS3DRenderPlugin/index.js";
7
+ import { PanoCursorRaycasterPlugin as Fp } from "./PanoCursorRaycasterPlugin/index.js";
8
+ import { ModelRoomLabelPlugin as vp, modelRoomLabelPluginServerParams as cp } from "./ModelRoomLabelPlugin/index.js";
9
+ import { FLOOR_PLAN_ATTACHED_TO as Np } from "./floorplan/constant.js";
10
+ import { ModelFloorplanPlugin as wp } from "./floorplan/ModelFloorplanPlugin/index.js";
11
+ import { MapviewFloorplanPlugin as Hp } from "./floorplan/MapviewFloorplanPlugin/index.js";
12
+ import { TopviewFloorplanPlugin as jp } from "./floorplan/TopviewFloorplanPlugin/index.js";
13
+ import { PanoFloorplanRadarPlugin as kp } from "./floorplan/PanoFloorplanRadarPlugin/index.js";
14
+ import { FLOOR_TYPE_MAP as zp, ROOM_FETILE_TYPE_MAP as Jp, ROOM_TYPE_MAP as Kp } from "./floorplan/typings/floorplanServerData.js";
15
+ import { ModelChassisCompassPlugin as Wp } from "./ModelChassisCompassPlugin/Plugin.js";
16
+ import { ModelEntryDoorGuidePlugin as Zp } from "./ModelEntryDoorGuidePlugin/Plugin.js";
17
+ import { CameraMovementPlugin as re } from "./CameraMovementPlugin/CameraMovementPlugin.js";
18
+ import { CameraMovementEffect as ie, Rotation as me } from "./CameraMovementPlugin/typing.js";
19
+ import { PanoRulerPlugin as ee } from "./PanoRulerPlugin/Plugin.js";
20
+ import { PanoRulerProPlugin as le } from "./PanoRulerProPlugin/index.js";
21
+ import { PanoCompassPlugin as Pe } from "./PanoCompassPlugin/index.js";
22
+ import { PanoMeasurePlugin as fe } from "./PanoMeasurePlugin/index.js";
23
+ import { PanoSpatialTagPlugin as ge } from "./PanoSpatialTagPlugin/Plugin.js";
24
+ import { modelItemLabelPluginServerParams as de } from "./ModelItemLabelPlugin/index.js";
25
+ import { ModelTVVideoPlugin as Te } from "./ModelTVVideoPlugin/Plugin.js";
26
+ import { DIRECTION as Ce } from "./ModelTVVideoPlugin/typings.js";
27
+ import { itemLabelPluginServerParams as Ee } from "./ItemLabelPlugin/index.js";
28
+ import { PanoDoorLabelPlugin as Ie } from "./PanoDoorLabelPlugin/index.js";
29
+ import { GuideLinePlugin as ye } from "./GuideLinePlugin/index.js";
30
+ import { CruisePlugin as Ae } from "./CruisePlugin/index.js";
31
+ import { PanoTagPlugin as Ge } from "./PanoTagPlugin/index.js";
32
+ import { Object3DHelperPlugin as Fe } from "./Object3DHelperPlugin/index.js";
33
+ import { PanoVideoPlugin as ve } from "./PanoVideoPlugin/index.js";
34
+ import { index as Ve } from "./shared-utils/index.js";
35
+ import { CSS3DRender as he } from "./CSS3DRenderPlugin/utils/three/CSS3DRender.js";
36
+ import { Model as Be } from "./PanoMeasurePlugin/Model/index.js";
37
+ import { default as Ue } from "./PanoMeasurePlugin/Model/point.js";
38
+ import { default as $e } from "./PanoMeasurePlugin/Model/line.js";
39
+ import { Polyline as qe } from "./PanoMeasurePlugin/Model/polyline.js";
40
+ import { default as Je } from "./PanoMeasurePlugin/Modules/Magnifier.js";
41
+ import { DISPLAY_STRATEGY_TYPE as Qe } from "./ModelItemLabelPlugin/typings.js";
42
+ import { ModelItemLabelPlugin as Xe } from "./ModelItemLabelPlugin/ModelItemLabelPlugin.js";
43
+ import { ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE as on } from "./ItemLabelPlugin/typings.js";
44
+ import { Plugin as tn } from "./ItemLabelPlugin/Plugin.js";
45
+ import { GuideLineItem$1 as pn } from "./GuideLinePlugin/GuideLineItem/index.js";
46
+ import { GuideLineModeItem$1 as nn } from "./GuideLinePlugin/GuideLineModeItem/index.js";
47
+ import { default as an } from "./CruisePlugin/Controller.js";
48
+ import { typing as un } from "./CruisePlugin/typing/index.js";
49
+ import { default as xn, pluginFlag as gn } from "./PanoTagPlugin/controller/index.js";
50
+ import { ContentType as dn, DimensionType as Mn, PointType as Tn } from "./PanoTagPlugin/Archive/deprecated.js";
51
+ import { Object3DHelperController as Cn, PLUGIN as _n } from "./Object3DHelperPlugin/Controller.js";
52
+ import { typings as Rn } from "./PanoVideoPlugin/typings/index.js";
53
53
  import "./components/PaintBrush/Controller.js";
54
54
  import "./components/PaintBrush/utils.js";
55
55
  import "./components/PaintBrush/tween.js";
@@ -176,7 +176,6 @@ import "./PanoMeasurePlugin/utils/isIntersecting.js";
176
176
  import "./shared-utils/three/PointSelector.js";
177
177
  import "./shared-utils/three/PointSelectorHelper.js";
178
178
  import "./shared-utils/three/Magnifier.js";
179
- import "./shared-utils/three/getIntersect.js";
180
179
  import "./shared-utils/three/PointHelper.js";
181
180
  import "./shared-utils/three/Assets/index.js";
182
181
  import "./shared-utils/three/PointDomHelper.js";
@@ -184,6 +183,7 @@ import "./PanoMeasurePlugin/Modules/rangePiece/html.js";
184
183
  import "./shared-utils/isTouchDevice.js";
185
184
  import "./shared-utils/getIntersectionFromEvent.js";
186
185
  import "./shared-utils/getPointFromHammerEvent.js";
186
+ import "./shared-utils/three/getIntersect.js";
187
187
  import "./PanoMeasurePlugin/Modules/DeleteDom/index.js";
188
188
  import "./PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js";
189
189
  import "./PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js";
@@ -214,6 +214,8 @@ import "./PanoMeasurePlugin/Components/Controller1.js";
214
214
  import "./PanoMeasurePlugin/Components/Common/Switcher1.js";
215
215
  import "./PanoMeasurePlugin/Components/Common/CircleButton.js";
216
216
  import "./PanoMeasurePlugin/Modules/GuideController.js";
217
+ import "./vendor/object-assign-deep/objectAssignDeep.js";
218
+ import "./PanoMeasurePlugin/Components/Tip.js";
217
219
  import "./PanoMeasurePlugin/Controller/ShortcutKeyController.js";
218
220
  import "./shared-utils/safeObj.js";
219
221
  import "./PanoSpatialTagPlugin/Components/origins.js";
@@ -240,7 +242,6 @@ import "./PanoDoorLabelPlugin/BaseController.js";
240
242
  import "./PanoDoorLabelPlugin/DoorLabelItem.js";
241
243
  import "./PanoDoorLabelPlugin/utils.js";
242
244
  import "./GuideLinePlugin/Controller.js";
243
- import "./vendor/object-assign-deep/objectAssignDeep.js";
244
245
  import "./shared-utils/log.js";
245
246
  import "./GuideLinePlugin/utils/createLineGeometry.js";
246
247
  import "./vendor/polyline-normals/index.js";
@@ -393,62 +394,62 @@ import "./shared-utils/three/getRaycaster.js";
393
394
  r();
394
395
  o();
395
396
  export {
396
- Ne as CSS3DRender,
397
- Dp as CSS3DRenderPlugin,
398
- te as CameraMovementEffect,
399
- oe as CameraMovementPlugin,
400
- sn as ContentType,
401
- Se as CruisePlugin,
402
- ln as CruisePluginController,
403
- Pn as CruisePluginTypes,
404
- Le as DIRECTION,
405
- Ke as DISPLAY_STRATEGY_TYPE,
406
- dn as DimensionType,
407
- Vp as FLOOR_PLAN_ATTACHED_TO,
408
- qp as FLOOR_TYPE_MAP,
409
- mn as GuideLineItem,
410
- en as GuideLineModeItem,
411
- Oe as GuideLinePlugin,
412
- Ze as ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE,
413
- rn as ItemLabelPlugin,
414
- ze as Magnifier,
415
- Bp as MapviewFloorplanPlugin,
416
- Qp as ModelChassisCompassPlugin,
417
- Xp as ModelEntryDoorGuidePlugin,
418
- hp as ModelFloorplanPlugin,
419
- We as ModelItemLabelPlugin,
420
- Yp as ModelRoomLabelPlugin,
421
- Me as ModelTVVideoPlugin,
422
- Sp as ModelViewPlugin,
423
- Ln as Object3DHelperController,
424
- be as Object3DHelperPlugin,
425
- Cn as PLUGIN,
426
- Rp as PaintBrush,
427
- Op as PaintBrushTypeEnum,
428
- ae as PanoCompassPlugin,
429
- bp as PanoCursorRaycasterPlugin,
430
- Re as PanoDoorLabelPlugin,
431
- $p as PanoFloorplanRadarPlugin,
432
- ue as PanoMeasurePlugin,
433
- je as PanoMeasurePluginLine,
434
- we as PanoMeasurePluginModel,
435
- He as PanoMeasurePluginPoint,
436
- ke as PanoMeasurePluginPolyline,
437
- pe as PanoRulerPlugin,
438
- ne as PanoRulerProPlugin,
439
- xe as PanoSpatialTagPlugin,
440
- De as PanoTagPlugin,
441
- fn as PanoTagPluginController,
442
- Ye as PanoVideoPlugin,
443
- En as PanoVideoPluginType,
444
- Mn as PointType,
445
- zp as ROOM_FETILE_TYPE_MAP,
446
- Jp as ROOM_TYPE_MAP,
447
- ie as Rotation,
448
- Up as TopviewFloorplanPlugin,
449
- ce as Util,
450
- _e as itemLabelPluginServerParams,
451
- se as modelItemLabelPluginServerParams,
452
- vp as modelRoomLabelPluginServerParams,
453
- xn as pluginFlag
397
+ he as CSS3DRender,
398
+ Gp as CSS3DRenderPlugin,
399
+ ie as CameraMovementEffect,
400
+ re as CameraMovementPlugin,
401
+ dn as ContentType,
402
+ Ae as CruisePlugin,
403
+ an as CruisePluginController,
404
+ un as CruisePluginTypes,
405
+ Ce as DIRECTION,
406
+ Qe as DISPLAY_STRATEGY_TYPE,
407
+ Mn as DimensionType,
408
+ Np as FLOOR_PLAN_ATTACHED_TO,
409
+ zp as FLOOR_TYPE_MAP,
410
+ pn as GuideLineItem,
411
+ nn as GuideLineModeItem,
412
+ ye as GuideLinePlugin,
413
+ on as ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE,
414
+ tn as ItemLabelPlugin,
415
+ Je as Magnifier,
416
+ Hp as MapviewFloorplanPlugin,
417
+ Wp as ModelChassisCompassPlugin,
418
+ Zp as ModelEntryDoorGuidePlugin,
419
+ wp as ModelFloorplanPlugin,
420
+ Xe as ModelItemLabelPlugin,
421
+ vp as ModelRoomLabelPlugin,
422
+ Te as ModelTVVideoPlugin,
423
+ Ap as ModelViewPlugin,
424
+ Cn as Object3DHelperController,
425
+ Fe as Object3DHelperPlugin,
426
+ _n as PLUGIN,
427
+ Ip as PaintBrush,
428
+ yp as PaintBrushTypeEnum,
429
+ Pe as PanoCompassPlugin,
430
+ Fp as PanoCursorRaycasterPlugin,
431
+ Ie as PanoDoorLabelPlugin,
432
+ kp as PanoFloorplanRadarPlugin,
433
+ fe as PanoMeasurePlugin,
434
+ $e as PanoMeasurePluginLine,
435
+ Be as PanoMeasurePluginModel,
436
+ Ue as PanoMeasurePluginPoint,
437
+ qe as PanoMeasurePluginPolyline,
438
+ ee as PanoRulerPlugin,
439
+ le as PanoRulerProPlugin,
440
+ ge as PanoSpatialTagPlugin,
441
+ Ge as PanoTagPlugin,
442
+ xn as PanoTagPluginController,
443
+ ve as PanoVideoPlugin,
444
+ Rn as PanoVideoPluginType,
445
+ Tn as PointType,
446
+ Jp as ROOM_FETILE_TYPE_MAP,
447
+ Kp as ROOM_TYPE_MAP,
448
+ me as Rotation,
449
+ jp as TopviewFloorplanPlugin,
450
+ Ve as Util,
451
+ Ee as itemLabelPluginServerParams,
452
+ de as modelItemLabelPluginServerParams,
453
+ cp as modelRoomLabelPluginServerParams,
454
+ gn as pluginFlag
454
455
  };
@@ -1,6 +1,6 @@
1
1
  function A() {
2
2
  console.debug(
3
- "%c %c@realsee/dnalogel %cv2.21.0-dev.10",
3
+ "%c %c@realsee/dnalogel %cv2.21.0-dev.12",
4
4
  [
5
5
  "background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
6
6
  "background-repeat: no-repeat",
@@ -1,6 +1,7 @@
1
1
  import type { Five, SubscribeEventMap } from '@realsee/five';
2
2
  import { Subscribe } from '@realsee/five';
3
3
  import { PointSelectorHelper, type PointIntersection } from './PointSelectorHelper';
4
+ import { Vector3 } from 'three';
4
5
  interface Config {
5
6
  /**
6
7
  * @description: 选点的两种模式, 'fixed' 为固定选点为屏幕中心点,拖动five画布来更新点,'cursor' 为跟随鼠标移动来更新点, 'auto' 则根据设备类型自动选择
@@ -12,8 +13,9 @@ interface Config {
12
13
  interface EventMap extends SubscribeEventMap {
13
14
  /**
14
15
  * @description: 与模型交点更新时触发,移出监听范围时为null
16
+ * @param isAdhered 是否为吸附的点
15
17
  */
16
- intersectionUpdate: (intersection: PointIntersection | null) => void;
18
+ intersectionUpdate: (intersection: PointIntersection | null, isAdhered?: boolean) => void;
17
19
  /**
18
20
  * @description: 试图打点,返回false则不打点
19
21
  */
@@ -37,10 +39,15 @@ export declare class PointSelector {
37
39
  private enabled;
38
40
  /** 长按屏幕的动作触发后为true,手指抬起后为false */
39
41
  private pressDown;
42
+ /** 一组吸附的点,光标靠近这些点时,会将helper以及放大镜的位置设置为这些点 */
43
+ private adherePoints;
44
+ /** 吸附点的半径 */
45
+ private adherePointsRadius;
40
46
  constructor(five: Five, config?: Partial<Config>);
41
47
  enable(): void;
42
48
  disable(): void;
43
49
  dispose(): void;
50
+ setAdherePoints(points: Vector3[] | Vector3 | null, radius?: number): void;
44
51
  /**
45
52
  * @description: 主动触发一次选点
46
53
  * @return: select 是否成功
@@ -69,6 +76,15 @@ export declare class PointSelector {
69
76
  */
70
77
  private onPanEnd;
71
78
  private intersectionOnModelUpdate;
79
+ private updateByMousePosition;
80
+ /**
81
+ * @description: 根据鼠标位置更新helper位置
82
+ */
83
+ private updateByNdcPosition;
84
+ /**
85
+ * @description: 更新 pointSelectorHelper 的焦点位置
86
+ */
87
+ private updatePointSelectorHelperIntersect;
72
88
  private onFiveWantsPanGesture;
73
89
  private renderScreenCenter;
74
90
  private emitIntersectionUpdate;
@@ -1,23 +1,25 @@
1
- var c = Object.defineProperty, u = Object.defineProperties;
2
- var v = Object.getOwnPropertyDescriptors;
3
- var d = Object.getOwnPropertySymbols;
4
- var P = Object.prototype.hasOwnProperty, S = Object.prototype.propertyIsEnumerable;
5
- var r = (s, e, t) => e in s ? c(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, o = (s, e) => {
1
+ var u = Object.defineProperty, v = Object.defineProperties;
2
+ var P = Object.getOwnPropertyDescriptors;
3
+ var m = Object.getOwnPropertySymbols;
4
+ var S = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
5
+ var p = (s, e, t) => e in s ? u(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, a = (s, e) => {
6
6
  for (var t in e || (e = {}))
7
- P.call(e, t) && r(s, t, e[t]);
8
- if (d)
9
- for (var t of d(e))
10
- S.call(e, t) && r(s, t, e[t]);
7
+ S.call(e, t) && p(s, t, e[t]);
8
+ if (m)
9
+ for (var t of m(e))
10
+ w.call(e, t) && p(s, t, e[t]);
11
11
  return s;
12
- }, m = (s, e) => u(s, v(e));
13
- var i = (s, e, t) => (r(s, typeof e != "symbol" ? e + "" : e, t), t);
12
+ }, l = (s, e) => v(s, P(e));
13
+ var i = (s, e, t) => (p(s, typeof e != "symbol" ? e + "" : e, t), t);
14
14
  import { Subscribe as H } from "@realsee/five";
15
- import { PointSelectorHelper as w } from "./PointSelectorHelper.js";
16
- import { isTouchDevice as U } from "../isTouchDevice.js";
17
- import b from "hammerjs";
18
- import { getIntersectionFromEvent as h } from "../getIntersectionFromEvent.js";
19
- const n = () => !1;
20
- class k {
15
+ import { PointSelectorHelper as y } from "./PointSelectorHelper.js";
16
+ import { isTouchDevice as b } from "../isTouchDevice.js";
17
+ import U from "hammerjs";
18
+ import { getIntersectionFromEvent as d } from "../getIntersectionFromEvent.js";
19
+ import { Vector3 as E, Object3D as F, Face3 as I, Vector2 as M, Raycaster as O } from "three";
20
+ import { getIntersectFromRelativePosition as k } from "./getIntersect.js";
21
+ const c = () => !1;
22
+ class W {
21
23
  constructor(e, t) {
22
24
  i(this, "hook", new H());
23
25
  /**
@@ -31,12 +33,16 @@ class k {
31
33
  i(this, "enabled", !1);
32
34
  /** 长按屏幕的动作触发后为true,手指抬起后为false */
33
35
  i(this, "pressDown", !1);
36
+ /** 一组吸附的点,光标靠近这些点时,会将helper以及放大镜的位置设置为这些点 */
37
+ i(this, "adherePoints", null);
38
+ /** 吸附点的半径 */
39
+ i(this, "adherePointsRadius", 0.1);
34
40
  /**
35
41
  * @description: 主动触发一次选点
36
42
  * @return: select 是否成功
37
43
  */
38
44
  i(this, "select", (e) => {
39
- e && this.pointSelectorHelper.updateWithIntersect(e);
45
+ e && this.updatePointSelectorHelperIntersect(e);
40
46
  const t = this.hook.emit("wantsSelect", this.position);
41
47
  return t || (this.pointSelectorHelper.hide(), this.hook.emit("select", this.position)), !t;
42
48
  });
@@ -53,8 +59,8 @@ class k {
53
59
  this.pointSelectorHelper.hide(), this.outOfFive = !0, this.hook.emit("intersectionUpdate", null);
54
60
  });
55
61
  i(this, "onTap", (e) => {
56
- const [t] = h(this.five, e);
57
- t != null && t.face && (this.pointSelectorHelper.updateWithIntersect(t), this.select(t));
62
+ const [t] = d(this.five, e);
63
+ t != null && t.face && this.select(t);
58
64
  });
59
65
  /**
60
66
  * 1. 如果之前没有长按行为「即没有长按点时」-> 滑动全景
@@ -63,14 +69,14 @@ class k {
63
69
  i(this, "onPan", (e) => {
64
70
  if (!this.pressDown)
65
71
  return;
66
- const [t] = h(this.five, e);
72
+ const [t] = d(this.five, e);
67
73
  t != null && t.face && this.intersectionOnModelUpdate(t);
68
74
  });
69
75
  /**
70
76
  * @description: 长按屏幕后,更新长按点的位置
71
77
  */
72
78
  i(this, "onPress", (e) => {
73
- const [t] = h(this.five, e);
79
+ const [t] = d(this.five, e);
74
80
  t != null && t.face && (this.pressDown = !0, this.intersectionOnModelUpdate(t));
75
81
  });
76
82
  /**
@@ -80,29 +86,62 @@ class k {
80
86
  this.pressDown = !1, this.select();
81
87
  });
82
88
  i(this, "intersectionOnModelUpdate", (e) => {
83
- this.pointSelectorHelper.show(), this.pointSelectorHelper.updateWithIntersect(e);
89
+ this.pointSelectorHelper.show(), this.updatePointSelectorHelperIntersect(e);
90
+ });
91
+ i(this, "updateByMousePosition", (e) => {
92
+ const t = this.five.getElement();
93
+ if (!t)
94
+ return;
95
+ const { clientX: o, clientY: r } = e, n = {
96
+ x: o / t.clientWidth,
97
+ y: 1 - r / t.clientHeight
98
+ };
99
+ this.updateByNdcPosition(n);
100
+ });
101
+ /**
102
+ * @description: 根据鼠标位置更新helper位置
103
+ */
104
+ i(this, "updateByNdcPosition", (e) => {
105
+ const t = k(this.five, e), o = (() => t ? l(a({}, t), { isVirtual: !1 }) : l(a({}, G(this.five, e)), { isVirtual: !0 }))();
106
+ this.updatePointSelectorHelperIntersect(o);
107
+ });
108
+ /**
109
+ * @description: 更新 pointSelectorHelper 的焦点位置
110
+ */
111
+ i(this, "updatePointSelectorHelperIntersect", (e) => {
112
+ var r;
113
+ const t = a({}, e);
114
+ let o = !1;
115
+ if (((r = this.adherePoints) == null ? void 0 : r.length) > 0 && typeof this.adherePointsRadius == "number") {
116
+ for (const n of this.adherePoints)
117
+ if (n.distanceTo(e.point) < this.adherePointsRadius) {
118
+ t.point = n.clone(), o = !0;
119
+ break;
120
+ }
121
+ }
122
+ this.pointSelectorHelper.updateWithIntersect(t, { emitEvent: !1 }), this.hook.emit("intersectionUpdate", t, o);
84
123
  });
85
124
  i(this, "onFiveWantsPanGesture", () => {
86
125
  if (this.pressDown)
87
126
  return !1;
88
127
  });
89
128
  i(this, "renderScreenCenter", () => {
90
- this.pointSelectorHelper.updateByNdcPosition({ x: 0.5, y: 0.5 });
129
+ this.updateByNdcPosition({ x: 0.5, y: 0.5 });
91
130
  });
92
131
  i(this, "emitIntersectionUpdate", (e) => {
93
132
  this.hook.emit("intersectionUpdate", e);
94
133
  });
95
- var p, l;
134
+ var n, h;
96
135
  this.five = e;
97
- const a = (p = t == null ? void 0 : t.mode) != null ? p : "auto";
98
- a === "auto" ? this.mode = U ? "fixed" : "cursor" : this.mode = a;
99
- const f = {
136
+ const o = (n = t == null ? void 0 : t.mode) != null ? n : "auto";
137
+ o === "auto" ? this.mode = b ? "fixed" : "cursor" : this.mode = o;
138
+ const r = {
100
139
  autoFixPCPosition: this.mode === "cursor",
101
140
  initialPosition: this.mode === "fixed" ? { left: "35%", top: "20%" } : void 0
102
141
  };
103
- this.pointSelectorHelper = new w(e, m(o({}, t == null ? void 0 : t.pointSelectorHelperParams), {
104
- magnifierParams: o(o({}, f), (l = t == null ? void 0 : t.pointSelectorHelperParams) == null ? void 0 : l.magnifierParams)
105
- }));
142
+ this.pointSelectorHelper = new y(e, l(a({}, t == null ? void 0 : t.pointSelectorHelperParams), {
143
+ magnifierParams: a(a({}, r), (h = t == null ? void 0 : t.pointSelectorHelperParams) == null ? void 0 : h.magnifierParams)
144
+ })), this.pointSelectorHelper.hide();
106
145
  }
107
146
  get position() {
108
147
  return this.outOfFive ? null : this.pointSelectorHelper.position;
@@ -114,19 +153,35 @@ class k {
114
153
  const e = this.five.getElement();
115
154
  if (!e)
116
155
  throw new Error("five element not found");
117
- this.hammer || (this.hammer = new b(e)), this.mode === "cursor" ? (this.five.on("intersectionOnModelUpdate", this.intersectionOnModelUpdate), this.five.on("wantsPanGesture", this.onFiveWantsPanGesture), this.five.on("wantsMoveToPano", n), this.five.on("wantsTapGesture", n), e.addEventListener("mousemove", this.pointSelectorHelper.updateByMousePosition), e.addEventListener("mouseenter", this.onEnter), e.addEventListener("mouseout", this.onLeave), this.hammer.on("tap", this.onTap), this.hammer.on("pan", this.onPan), this.hammer.on("press", this.onPress), this.hammer.on("panend", this.onPanEnd)) : this.mode === "fixed" && (this.five.on("panGesture", this.renderScreenCenter), this.five.on("interiaPan", this.renderScreenCenter), this.renderScreenCenter()), this.pointSelectorHelper.hooks.on("intersectionUpdate", this.emitIntersectionUpdate);
156
+ this.hammer || (this.hammer = new U(e)), this.mode === "cursor" ? (this.five.on("intersectionOnModelUpdate", this.intersectionOnModelUpdate), this.five.on("wantsPanGesture", this.onFiveWantsPanGesture), this.five.on("wantsMoveToPano", c), this.five.on("wantsTapGesture", c), e.addEventListener("mousemove", this.updateByMousePosition), e.addEventListener("mouseenter", this.onEnter), e.addEventListener("mouseout", this.onLeave), this.hammer.on("tap", this.onTap), this.hammer.on("pan", this.onPan), this.hammer.on("press", this.onPress), this.hammer.on("panend", this.onPanEnd)) : this.mode === "fixed" && (this.five.on("panGesture", this.renderScreenCenter), this.five.on("interiaPan", this.renderScreenCenter), this.renderScreenCenter(), this.pointSelectorHelper.show()), this.pointSelectorHelper.hooks.on("intersectionUpdate", this.emitIntersectionUpdate);
118
157
  }
119
158
  disable() {
120
159
  if (!this.enabled)
121
160
  return;
122
161
  this.enabled = !1, this.pointSelectorHelper.disable();
123
162
  const e = this.five.getElement();
124
- this.five.off("intersectionOnModelUpdate", this.intersectionOnModelUpdate), this.five.off("wantsPanGesture", this.onFiveWantsPanGesture), this.five.off("wantsMoveToPano", n), this.five.off("wantsTapGesture", n), e == null || e.removeEventListener("mousemove", this.pointSelectorHelper.updateByMousePosition), e == null || e.removeEventListener("mouseenter", this.onEnter), e == null || e.removeEventListener("mouseout", this.onLeave), this.hammer.off("tap", this.onTap), this.hammer.off("pan", this.onPan), this.hammer.off("press", this.onPress), this.hammer.off("panend", this.onPanEnd), this.five.off("panGesture", this.renderScreenCenter), this.five.off("interiaPan", this.renderScreenCenter), this.pointSelectorHelper.hooks.off("intersectionUpdate", this.emitIntersectionUpdate);
163
+ this.five.off("intersectionOnModelUpdate", this.intersectionOnModelUpdate), this.five.off("wantsPanGesture", this.onFiveWantsPanGesture), this.five.off("wantsMoveToPano", c), this.five.off("wantsTapGesture", c), e == null || e.removeEventListener("mousemove", this.updateByMousePosition), e == null || e.removeEventListener("mouseenter", this.onEnter), e == null || e.removeEventListener("mouseout", this.onLeave), this.hammer.off("tap", this.onTap), this.hammer.off("pan", this.onPan), this.hammer.off("press", this.onPress), this.hammer.off("panend", this.onPanEnd), this.five.off("panGesture", this.renderScreenCenter), this.five.off("interiaPan", this.renderScreenCenter), this.pointSelectorHelper.hooks.off("intersectionUpdate", this.emitIntersectionUpdate);
125
164
  }
126
165
  dispose() {
127
166
  this.disable(), this.pointSelectorHelper.dispose();
128
167
  }
168
+ setAdherePoints(e, t) {
169
+ e ? this.adherePoints = Array.isArray(e) ? e : [e] : this.adherePoints = null, typeof t == "number" && (this.adherePointsRadius = t);
170
+ }
171
+ }
172
+ function x(s, e) {
173
+ const { x: t, y: o } = e, r = t * 2 - 1, n = o * 2 - 1, h = new M().fromArray([r, n]), f = new O();
174
+ return f.setFromCamera(h, s.camera), f;
175
+ }
176
+ function G(s, e) {
177
+ const t = x(s, e), o = 3, r = new E().addVectors(t.ray.origin, t.ray.direction.clone().normalize().multiplyScalar(o)), n = t.ray.direction.clone().negate();
178
+ return {
179
+ distance: o,
180
+ point: r,
181
+ object: new F(),
182
+ face: new I(0, 0, 0, n)
183
+ };
129
184
  }
130
185
  export {
131
- k as PointSelector
186
+ W as PointSelector
132
187
  };
@@ -33,17 +33,8 @@ export declare class PointSelectorHelper {
33
33
  enable(): void;
34
34
  disable(): void;
35
35
  dispose(): void;
36
- updateWithIntersect: (intersect: Intersection) => void;
37
- updateByMousePosition: (mousePosition: {
38
- clientX: number;
39
- clientY: number;
40
- }) => void;
41
- /**
42
- * @description: 根据鼠标位置更新helper位置
43
- */
44
- updateByNdcPosition: (ndcPosition: {
45
- x: number;
46
- y: number;
36
+ updateWithIntersect: (intersect: Intersection, config?: {
37
+ emitEvent: boolean;
47
38
  }) => void;
48
39
  private abortUpdateMagnifier;
49
40
  }