@realsee/dnalogel 3.69.1-alpha.2 → 3.69.1-alpha.3

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 (469) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/MeasurePlugin/Controller.d.ts +1 -0
  3. package/dist/index.cjs.js +32 -32
  4. package/dist/index.js +899 -839
  5. package/dist/index.umd.js +36 -36
  6. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  7. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  8. package/docs/classes/CSS3DRender.html +2 -2
  9. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  10. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  11. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  12. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  13. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  14. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  15. package/docs/classes/ModelRoomLabelController.html +2 -2
  16. package/docs/classes/MoveController.html +2 -2
  17. package/docs/classes/Object3DHelperController.html +2 -2
  18. package/docs/classes/PaintBrush.html +2 -2
  19. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  20. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  21. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  22. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  23. package/docs/classes/PanoTagPluginController.html +2 -2
  24. package/docs/classes/Sculpt.html +2 -2
  25. package/docs/classes/Util.BetterTween.html +2 -2
  26. package/docs/classes/Util.FiveDomEvents.html +2 -2
  27. package/docs/classes/Util.FivePuppet.html +2 -2
  28. package/docs/classes/Util.Interval.html +2 -2
  29. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  30. package/docs/classes/Util.LightTag.html +2 -2
  31. package/docs/classes/Util.LineSegments.html +2 -2
  32. package/docs/classes/Util.Magnifier.html +2 -2
  33. package/docs/classes/Util.Object3D.html +2 -2
  34. package/docs/classes/Util.PointDomHelper.html +2 -2
  35. package/docs/classes/Util.PointHelper.html +2 -2
  36. package/docs/classes/Util.PointSelector.html +2 -2
  37. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  38. package/docs/classes/Util.Rectangle.html +2 -2
  39. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  40. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  41. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  42. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  43. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  44. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  45. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  46. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  47. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  48. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  49. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  50. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  51. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  52. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  53. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  54. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  55. package/docs/classes/WalkController.html +2 -2
  56. package/docs/enums/CameraMovementEffect.html +2 -2
  57. package/docs/enums/ContentType.html +2 -2
  58. package/docs/enums/DIRECTION.html +2 -2
  59. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  60. package/docs/enums/DimensionType.html +2 -2
  61. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  62. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  63. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  64. package/docs/enums/PointType.html +2 -2
  65. package/docs/enums/Rotation.html +2 -2
  66. package/docs/functions/AreaMakerPlugin.html +1 -1
  67. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  68. package/docs/functions/CameraMovementPlugin.html +2 -2
  69. package/docs/functions/CruisePlugin.html +1 -1
  70. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  71. package/docs/functions/GuideLinePlugin.html +1 -1
  72. package/docs/functions/ItemLabelPlugin.html +1 -1
  73. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  74. package/docs/functions/MeasurePlugin.html +1 -1
  75. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  76. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  77. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  78. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  79. package/docs/functions/ModelMakerPlugin.html +1 -1
  80. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  81. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  82. package/docs/functions/ModelViewPlugin.html +2 -2
  83. package/docs/functions/MovePlugin.html +1 -1
  84. package/docs/functions/Object3DHelperPlugin.html +1 -1
  85. package/docs/functions/PanoCompassPlugin.html +1 -1
  86. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  87. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  88. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  89. package/docs/functions/PanoMeasurePlugin.html +1 -1
  90. package/docs/functions/PanoRulerPlugin.html +2 -2
  91. package/docs/functions/PanoRulerProPlugin.html +2 -2
  92. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  93. package/docs/functions/PanoTagPlugin.html +1 -1
  94. package/docs/functions/PanoVideoPlugin.html +2 -2
  95. package/docs/functions/PipelinePlugin.html +1 -1
  96. package/docs/functions/SculptPlugin.html +2 -2
  97. package/docs/functions/SculptPluginForFive.html +2 -2
  98. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  99. package/docs/functions/Util.awaitNextFrame.html +1 -1
  100. package/docs/functions/Util.blink.html +2 -2
  101. package/docs/functions/Util.bounding.html +1 -1
  102. package/docs/functions/Util.boundingBox.html +1 -1
  103. package/docs/functions/Util.boundingSphere.html +1 -1
  104. package/docs/functions/Util.boxVertex.html +2 -2
  105. package/docs/functions/Util.boxVertexes.html +1 -1
  106. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  107. package/docs/functions/Util.convexHull.html +2 -2
  108. package/docs/functions/Util.equal.html +2 -2
  109. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  110. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  111. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  112. package/docs/functions/Util.getFrameTime.html +2 -2
  113. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  114. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  115. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  116. package/docs/functions/Util.inside.html +1 -1
  117. package/docs/functions/Util.isModelLike.html +1 -1
  118. package/docs/functions/Util.isNil.html +2 -2
  119. package/docs/functions/Util.isPanoramaLike.html +1 -1
  120. package/docs/functions/Util.lookObject.html +2 -2
  121. package/docs/functions/Util.lookPoint.html +2 -2
  122. package/docs/functions/Util.nextFrame.html +1 -1
  123. package/docs/functions/Util.notNil.html +2 -2
  124. package/docs/functions/Util.reblink.html +2 -2
  125. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  126. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  127. package/docs/functions/Util.sculpt.createBox.html +1 -1
  128. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  129. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  130. package/docs/functions/Util.sculpt.createLine.html +2 -2
  131. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  132. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  133. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  134. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  135. package/docs/functions/Util.tag.html +1 -1
  136. package/docs/functions/Util.tweenProgress.html +1 -1
  137. package/docs/functions/Util.uuid.html +2 -2
  138. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  139. package/docs/functions/Util.worldBounding.html +1 -1
  140. package/docs/functions/Util.worldBoundingBox.html +1 -1
  141. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  142. package/docs/functions/createPolyline.html +2 -2
  143. package/docs/functions/pluginFlag.html +1 -1
  144. package/docs/hierarchy.html +1 -1
  145. package/docs/index.html +2 -2
  146. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  147. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  148. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  149. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  150. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  151. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  152. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  153. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  154. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  155. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  156. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  157. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  158. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  159. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  160. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  161. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  162. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  163. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  164. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  165. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  166. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  167. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  168. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  169. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  170. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  171. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  172. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  173. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  174. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  175. package/docs/interfaces/FloorplanBounding.html +2 -2
  176. package/docs/interfaces/FloorplanData.html +2 -2
  177. package/docs/interfaces/FloorplanEntrance.html +2 -2
  178. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  179. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  180. package/docs/interfaces/FloorplanFloorData.html +2 -2
  181. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  182. package/docs/interfaces/FloorplanObserver.html +2 -2
  183. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  184. package/docs/interfaces/FloorplanPosition.html +2 -2
  185. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  186. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  187. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  188. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  189. package/docs/interfaces/FloorplanServerData.html +2 -2
  190. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  191. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  192. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  193. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  194. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  195. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  196. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  197. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  198. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  199. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  200. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  201. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  202. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  203. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  204. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  205. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  206. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  207. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  208. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  209. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  210. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  211. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  212. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  213. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  214. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  215. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  216. package/docs/interfaces/HelperOffset.html +2 -2
  217. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  218. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  219. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  220. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  221. package/docs/interfaces/MinMax.html +2 -2
  222. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  223. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  224. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  225. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  226. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  227. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  228. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  229. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  230. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  231. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  232. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  233. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  234. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  235. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  236. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  237. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  238. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  239. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  240. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  241. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  242. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  243. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  244. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  245. package/docs/interfaces/Object3DHelperState.html +2 -2
  246. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  247. package/docs/interfaces/PaintBrushAction.html +2 -2
  248. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  249. package/docs/interfaces/PaintBrushState.html +2 -2
  250. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  251. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  252. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  253. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  254. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  255. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  256. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  257. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  258. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  259. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  260. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  261. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  262. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  263. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  264. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  265. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  266. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  267. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  268. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  269. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  270. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  271. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  272. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  273. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  274. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  275. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  276. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  277. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  278. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  279. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  280. package/docs/interfaces/PluginEventMap.html +2 -2
  281. package/docs/interfaces/Point.html +2 -2
  282. package/docs/interfaces/Room.html +2 -2
  283. package/docs/interfaces/RoomInfo.html +2 -2
  284. package/docs/interfaces/RoomLabel.html +2 -2
  285. package/docs/interfaces/RoomRules.html +1 -1
  286. package/docs/interfaces/Rooms.html +1 -1
  287. package/docs/interfaces/Scissor.html +2 -2
  288. package/docs/interfaces/SculptConfig.html +2 -2
  289. package/docs/interfaces/State.html +2 -2
  290. package/docs/interfaces/TagCacheInterface.html +2 -2
  291. package/docs/interfaces/TagConfig.html +2 -2
  292. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  293. package/docs/interfaces/TagIconUrl.html +2 -2
  294. package/docs/interfaces/TagObjectGroup.html +2 -2
  295. package/docs/interfaces/TagState.html +2 -2
  296. package/docs/interfaces/TagStyle.html +2 -2
  297. package/docs/interfaces/Tags.html +2 -2
  298. package/docs/interfaces/TemporaryState.html +2 -2
  299. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  300. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  301. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  302. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  303. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  304. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  305. package/docs/interfaces/Util.MagnifierParameter.html +2 -2
  306. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  307. package/docs/interfaces/Util.PointIntersection.html +2 -2
  308. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  309. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  310. package/docs/modules/AreaMakerPluginType.html +2 -2
  311. package/docs/modules/CruisePluginTypes.html +2 -2
  312. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  313. package/docs/modules/GuideLineItem.html +2 -2
  314. package/docs/modules/GuideLineModeItem.html +2 -2
  315. package/docs/modules/GuideLinePluginType.html +2 -2
  316. package/docs/modules/ModelMakerPluginType.html +2 -2
  317. package/docs/modules/PanoVideoPluginType.html +2 -2
  318. package/docs/modules/SculptData.html +2 -2
  319. package/docs/modules/SculptType.html +2 -2
  320. package/docs/modules/Util.html +2 -2
  321. package/docs/modules/Util.sculpt.html +2 -2
  322. package/docs/modules.html +2 -2
  323. package/docs/types/AddObject3DHelperConfig.html +2 -2
  324. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  325. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  326. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  327. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  328. package/docs/types/ArrayPosition.html +1 -1
  329. package/docs/types/AudioAppearance.html +1 -1
  330. package/docs/types/CSS3DRenderExportType.html +1 -1
  331. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  332. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  333. package/docs/types/ClassFunctionParameters.html +1 -1
  334. package/docs/types/Color.html +1 -1
  335. package/docs/types/ContentTypeConfigKey.html +1 -1
  336. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  337. package/docs/types/ContentTypeMap.html +1 -1
  338. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  339. package/docs/types/Create3DElementReturnType.html +1 -1
  340. package/docs/types/CruisePluginExportType.html +1 -1
  341. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  342. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  343. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  344. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  345. package/docs/types/DeprecatedTagProperty.html +2 -2
  346. package/docs/types/Direction-1.html +1 -1
  347. package/docs/types/Direction4.html +1 -1
  348. package/docs/types/ElementRenderer.html +2 -2
  349. package/docs/types/FloorplanRuleLabels.html +2 -2
  350. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  351. package/docs/types/GuideLinePluginExportType.html +1 -1
  352. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  353. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  354. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  355. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  356. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  357. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  358. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  359. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  360. package/docs/types/HelperEventMap.html +1 -1
  361. package/docs/types/InternalHelperEventMap.html +1 -1
  362. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  363. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  364. package/docs/types/MeasureEndReason.html +1 -1
  365. package/docs/types/MeasurePluginConfig.html +2 -2
  366. package/docs/types/MediaData.html +2 -2
  367. package/docs/types/MediaStore.html +1 -1
  368. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  369. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  370. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  371. package/docs/types/ModelId.html +1 -1
  372. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  373. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  374. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  375. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  376. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  377. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  378. package/docs/types/MoveArgs.html +2 -2
  379. package/docs/types/MoveOpts.html +2 -2
  380. package/docs/types/Object3DHelperEventMap.html +1 -1
  381. package/docs/types/ObjectFit.html +1 -1
  382. package/docs/types/PaintBrushEventMap.html +1 -1
  383. package/docs/types/PanoCompassPluginData.html +1 -1
  384. package/docs/types/PanoCompassPluginExportType.html +1 -1
  385. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  386. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  387. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  388. package/docs/types/PanoIndex.html +1 -1
  389. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  390. package/docs/types/PanoMeasureReturnType.html +1 -1
  391. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  392. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  393. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  394. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  395. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  396. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  397. package/docs/types/PipelinePluginParameterType.html +1 -1
  398. package/docs/types/PipelinePluginReturnType.html +1 -1
  399. package/docs/types/PlaneTag.html +2 -2
  400. package/docs/types/Point2DTag.html +2 -2
  401. package/docs/types/Point3DTag.html +2 -2
  402. package/docs/types/PointTagInstance.html +1 -1
  403. package/docs/types/Position.html +1 -1
  404. package/docs/types/PositionFrom.html +1 -1
  405. package/docs/types/RotateArgs.html +2 -2
  406. package/docs/types/RotateOpts.html +2 -2
  407. package/docs/types/RuleLabelsKey.html +1 -1
  408. package/docs/types/RuleLabelsValue.html +1 -1
  409. package/docs/types/ScaleCallback.html +1 -1
  410. package/docs/types/ScalePosition.html +2 -2
  411. package/docs/types/SculptData.BoxData.html +1 -1
  412. package/docs/types/SculptData.CircleData.html +1 -1
  413. package/docs/types/SculptData.CylinderData.html +1 -1
  414. package/docs/types/SculptData.PointData.html +1 -1
  415. package/docs/types/SculptData.PolygonData.html +1 -1
  416. package/docs/types/SculptData.PolylineData.html +1 -1
  417. package/docs/types/SculptData.PrismData.html +1 -1
  418. package/docs/types/SculptData.RectangleData.html +1 -1
  419. package/docs/types/SculptType.Theme.html +2 -2
  420. package/docs/types/StickType.html +1 -1
  421. package/docs/types/Tag.html +2 -2
  422. package/docs/types/Tag2D.html +2 -2
  423. package/docs/types/Tag3D.html +2 -2
  424. package/docs/types/TagClickParams.html +1 -1
  425. package/docs/types/TagConfigByKey.html +1 -1
  426. package/docs/types/TagContentType.html +1 -1
  427. package/docs/types/TagContentTypeMapping.html +1 -1
  428. package/docs/types/TagDimensionType.html +1 -1
  429. package/docs/types/TagElement.html +2 -2
  430. package/docs/types/TagEvents.html +1 -1
  431. package/docs/types/TagGLTFObject.html +1 -1
  432. package/docs/types/TagHooks.html +1 -1
  433. package/docs/types/TagId.html +1 -1
  434. package/docs/types/TagInstance.html +1 -1
  435. package/docs/types/TagPlacement.html +2 -2
  436. package/docs/types/TagPointType.html +2 -2
  437. package/docs/types/TagRendererMap.html +1 -1
  438. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  439. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  440. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  441. package/docs/types/Util.AdherePoint.html +2 -2
  442. package/docs/types/Util.PointSelectorConfig.html +1 -1
  443. package/docs/types/WorkCode.html +1 -1
  444. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  445. package/docs/variables/PLUGIN.html +1 -1
  446. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  447. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  448. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  449. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  450. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  451. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  452. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  453. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  454. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  455. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  456. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  457. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  458. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  459. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  460. package/docs/variables/Util.animeMap.html +1 -1
  461. package/docs/variables/defaultGlobalConfig.html +1 -1
  462. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  463. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  464. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  465. package/libs/MeasurePlugin/Controller.d.ts +1 -0
  466. package/libs/MeasurePlugin/Controller.js +247 -187
  467. package/libs/base/BasePlugin.js +1 -1
  468. package/libs/shared-utils/logger.js +1 -1
  469. package/package.json +1 -1
@@ -2,23 +2,23 @@ var H = Object.defineProperty, I = Object.defineProperties;
2
2
  var F = Object.getOwnPropertyDescriptors;
3
3
  var C = Object.getOwnPropertySymbols;
4
4
  var G = Object.prototype.hasOwnProperty, U = Object.prototype.propertyIsEnumerable;
5
- var _ = (M, S, e) => S in M ? H(M, S, { enumerable: !0, configurable: !0, writable: !0, value: e }) : M[S] = e, y = (M, S) => {
5
+ var R = (P, S, e) => S in P ? H(P, S, { enumerable: !0, configurable: !0, writable: !0, value: e }) : P[S] = e, f = (P, S) => {
6
6
  for (var e in S || (S = {}))
7
- G.call(S, e) && _(M, e, S[e]);
7
+ G.call(S, e) && R(P, e, S[e]);
8
8
  if (C)
9
9
  for (var e of C(S))
10
- U.call(S, e) && _(M, e, S[e]);
11
- return M;
12
- }, R = (M, S) => I(M, F(S));
13
- var o = (M, S, e) => (_(M, typeof S != "symbol" ? S + "" : S, e), e);
14
- import * as v from "three";
10
+ U.call(S, e) && R(P, e, S[e]);
11
+ return P;
12
+ }, M = (P, S) => I(P, F(S));
13
+ var s = (P, S, e) => (R(P, typeof S != "symbol" ? S + "" : S, e), e);
14
+ import * as m from "three";
15
15
  import "../shared-utils/tag.js";
16
16
  import "../vendor/hammerjs/hammer.js";
17
17
  import { Subscribe as B } from "../shared-utils/Subscribe.js";
18
18
  import { PointSelector as V } from "../shared-utils/three/PointSelector/index.js";
19
19
  import "../shared-utils/three/CSS3DRenderer/index.js";
20
20
  import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
21
- import { LineMesh as w } from "../Sculpt/Meshes/Line.js";
21
+ import { LineMesh as _ } from "../Sculpt/Meshes/Line.js";
22
22
  import "../shared-utils/three/core/Sphere.js";
23
23
  import "../vendor/animejs/lib/anime.es.js";
24
24
  import "../vendor/@tweenjs/tween/dist/tween.esm.js.js";
@@ -28,10 +28,10 @@ import "../shared-utils/five/FivePuppet.js";
28
28
  import { MeasureMesh as T } from "./utils/MeasureMesh.js";
29
29
  import { PointMesh as k } from "../Sculpt/Meshes/Point.js";
30
30
  import { LineWithDotsMesh as Y } from "../Sculpt/Meshes/LineWithDots.js";
31
- import { hotkeys as P } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
32
- import { PolygonMesh as z } from "../Sculpt/Meshes/Polygon.js";
33
- import { validatePolygon as A } from "./utils/validatePolygon.js";
34
- import { IObject3D as O } from "../shared-utils/three/IObject3D.js";
31
+ import { hotkeys as L } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
32
+ import { PolygonMesh as O } from "../Sculpt/Meshes/Polygon.js";
33
+ import { validatePolygon as z } from "./utils/validatePolygon.js";
34
+ import { IObject3D as A } from "../shared-utils/three/IObject3D.js";
35
35
  import { Cursor as N } from "../Sculpt/utils/Modules/Cursor.js";
36
36
  import { THREERaycaster as W } from "../shared-utils/three/core/Raycaster.js";
37
37
  import "../shared-utils/positionToVector3.js";
@@ -97,31 +97,33 @@ import "../Sculpt/utils/Modules/DeleteIconSVG.js";
97
97
  class Pt extends B {
98
98
  constructor(e, t) {
99
99
  super();
100
- o(this, "name", "MeasurePlugin");
101
- o(this, "currentMeasureMesh");
102
- o(this, "five");
103
- o(this, "group");
100
+ s(this, "name", "MeasurePlugin");
101
+ s(this, "currentMeasureMesh");
102
+ s(this, "five");
103
+ s(this, "group");
104
104
  // 当前测量结束的原因
105
- o(this, "currentEndReason", "enter");
105
+ s(this, "currentEndReason", "enter");
106
106
  // Repositioning state
107
- o(this, "repositioningState", null);
107
+ s(this, "repositioningState", null);
108
108
  // Long press visual feedback
109
- o(this, "longPressIndicator", null);
109
+ s(this, "longPressIndicator", null);
110
110
  // Global cleanup function for mouse/touch listeners
111
- o(this, "cleanupGlobalListeners");
111
+ s(this, "cleanupGlobalListeners");
112
112
  // Global touch handler for endpoint long press
113
- o(this, "globalTouchHandler", null);
114
- o(this, "_pointSelector");
115
- o(this, "_fiveDomEvents");
116
- o(this, "_cursor");
117
- o(this, "_config");
118
- o(this, "lineStyle", {
113
+ s(this, "globalTouchHandler", null);
114
+ // Temporary preview elements during measurement
115
+ s(this, "tempPreviewElements", null);
116
+ s(this, "_pointSelector");
117
+ s(this, "_fiveDomEvents");
118
+ s(this, "_cursor");
119
+ s(this, "_config");
120
+ s(this, "lineStyle", {
119
121
  lengthEnable: !0,
120
122
  occlusionVisibility: !0,
121
123
  lengthUnit: "m",
122
124
  precision: 2
123
125
  });
124
- o(this, "polygonStyle", {
126
+ s(this, "polygonStyle", {
125
127
  lengthEnable: !0,
126
128
  occlusionVisibility: !0,
127
129
  opacity: 0.2,
@@ -130,39 +132,47 @@ class Pt extends B {
130
132
  /**
131
133
  * @description Initialize event listeners for all existing meshes
132
134
  */
133
- o(this, "initEventListeners", () => {
135
+ s(this, "initEventListeners", () => {
134
136
  this.group.children.forEach(this.addMeshEventListeners);
135
137
  });
136
138
  /**
137
139
  * @description 开始测量
138
140
  */
139
- o(this, "measure", () => {
140
- this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), P.unbind("delete, backspace"), this.group.children.forEach((d) => d.unselect()), this.cursor.removeDeleteButton();
141
+ s(this, "measure", () => {
142
+ this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), L.unbind("delete, backspace"), this.group.children.forEach((d) => {
143
+ d.unselect && d.unselect();
144
+ }), this.cursor.removeDeleteButton();
141
145
  const e = new T({
142
146
  lineStyle: this.lineStyle,
143
147
  polygonStyle: this.polygonStyle
144
148
  });
145
149
  this.currentMeasureMesh = e, e.line.setStyle({ cssStyle: "pointer-events: none;" }), this.pointSelector.actionIfNoIntersection = "disable", this.updateSelectAdsorbedHelper();
146
- const t = new k({ occlusionMode: "depthTest", occlusionVisibility: !0 }), i = new Y(R(y({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), n = new z(this.polygonStyle), s = new w(R(y({}, this.lineStyle), {
150
+ const t = new k({ occlusionMode: "depthTest", occlusionVisibility: !0 }), i = new Y(M(f({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), n = new O(this.polygonStyle), o = new _(M(f({}, this.lineStyle), {
147
151
  lineOpacity: 0.5,
148
152
  lineColor: 3407837,
149
153
  dashed: !0,
150
154
  cssStyle: "pointer-events: none; opacity: 0.5;"
151
- })), c = new w(R(y({}, this.lineStyle), {
155
+ })), c = new _(M(f({}, this.lineStyle), {
152
156
  lineOpacity: 0.5,
153
157
  lineColor: 3407837,
154
158
  dashed: !0,
155
159
  cssStyle: "pointer-events: none; opacity: 0.5;"
156
160
  })), a = new k({ occlusionMode: "depthTest", occlusionVisibility: !0, color: 3407837, opacity: 0.5 });
161
+ this.tempPreviewElements = {
162
+ previewLine: i,
163
+ previewPolygon: n,
164
+ verticalLine1: o,
165
+ verticalLine2: c
166
+ };
157
167
  let r = null, h = !1, l = !1;
158
- const f = (d) => {
168
+ const v = (d) => {
159
169
  d.key === "Shift" && (l = !0);
160
170
  }, u = (d) => {
161
171
  d.key === "Shift" && (l = !1);
162
172
  }, p = () => {
163
- t.removeFromParent(), i.removeFromParent(), n.removeFromParent(), s.removeFromParent(), c.removeFromParent(), a.removeFromParent();
173
+ t.removeFromParent(), i.removeFromParent(), n.removeFromParent(), o.removeFromParent(), c.removeFromParent(), a.removeFromParent();
164
174
  };
165
- this.group.add(e), document.addEventListener("keydown", f), document.addEventListener("keyup", u);
175
+ this.group.add(e), document.addEventListener("keydown", v), document.addEventListener("keyup", u);
166
176
  const g = (d) => {
167
177
  if (!d) {
168
178
  p(), r = null, h = !1;
@@ -170,32 +180,32 @@ class Pt extends B {
170
180
  }
171
181
  if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(d.point), r = null, h = !1), e.points.length >= 1)
172
182
  if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(i), i.setPoints([e.points.at(-1), d.point]), d.isAdsorbed)
173
- s.removeFromParent(), c.removeFromParent(), a.removeFromParent(), r = null, h = !1;
183
+ o.removeFromParent(), c.removeFromParent(), a.removeFromParent(), r = null, h = !1;
174
184
  else {
175
- const m = e.points.at(-1);
176
- if (Math.abs(d.point.y - m.y) > 0.2) {
177
- const L = new v.Vector3(d.point.x, m.y, d.point.z);
178
- s.setPoints([m, L]), c.setPoints([L, d.point]), a.position.copy(L), r = L.clone(), h = !0;
185
+ const y = e.points.at(-1);
186
+ if (Math.abs(d.point.y - y.y) > 0.2) {
187
+ const w = new m.Vector3(d.point.x, y.y, d.point.z);
188
+ o.setPoints([y, w]), c.setPoints([w, d.point]), a.position.copy(w), r = w.clone(), h = !0;
179
189
  } else {
180
- let L = new v.Vector3();
181
- Math.abs(d.point.x - m.x) < Math.abs(d.point.z - m.z) ? L = new v.Vector3(d.point.x, m.y, m.z) : L = new v.Vector3(m.x, m.y, d.point.z), s.setPoints([m, L]), c.setPoints([L, d.point]), a.position.copy(L), r = L.clone(), h = !0;
190
+ let w = new m.Vector3();
191
+ Math.abs(d.point.x - y.x) < Math.abs(d.point.z - y.z) ? w = new m.Vector3(d.point.x, y.y, y.z) : w = new m.Vector3(y.x, y.y, d.point.z), o.setPoints([y, w]), c.setPoints([w, d.point]), a.position.copy(w), r = w.clone(), h = !0;
182
192
  }
183
- this.group.addIfNotExists(s, c, a);
193
+ this.group.addIfNotExists(o, c, a);
184
194
  }
185
195
  if (e.points.length >= 2) {
186
- const m = [...e.points, d.point];
187
- A(m) ? (n.setPoints(m), this.group.addIfNotExists(n)) : n.removeFromParent();
196
+ const y = [...e.points, d.point];
197
+ z(y) ? (n.setPoints(y), this.group.addIfNotExists(n)) : n.removeFromParent();
188
198
  }
189
199
  }, E = (d) => {
190
200
  if (!d)
191
201
  return;
192
- let m = d.point;
193
- l && h && r && e.points.length >= 1 && (m = r.clone()), p(), e.setPoints([...e.points, m]), this.updateSelectAdsorbedHelper(), e.isPolygon && (this.currentEndReason = "polygon", this.pointSelector.disable());
202
+ let y = d.point;
203
+ l && h && r && e.points.length >= 1 && (y = r.clone()), p(), e.setPoints([...e.points, y]), this.updateSelectAdsorbedHelper(), e.isPolygon && (this.currentEndReason = "polygon", this.pointSelector.disable());
194
204
  }, b = () => {
195
- var d, m;
196
- e == null || e.setPoints(e.points.slice(0, -1)), p(), (m = (d = this.pointSelector.pointSelectorHelper) == null ? void 0 : d.magnifier) == null || m.render(), this.updateSelectAdsorbedHelper(), this.five.needsRender = !0;
205
+ var d, y;
206
+ e == null || e.setPoints(e.points.slice(0, -1)), p(), (y = (d = this.pointSelector.pointSelectorHelper) == null ? void 0 : d.magnifier) == null || y.render(), this.updateSelectAdsorbedHelper(), this.five.needsRender = !0;
197
207
  }, D = () => {
198
- this.pointSelector.off("intersectionUpdate", g), this.pointSelector.off("select", E), this.pointSelector.off("disable", D), this.off("undo", b), document.removeEventListener("keydown", f), document.removeEventListener("keyup", u), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), p();
208
+ this.pointSelector.off("intersectionUpdate", g), this.pointSelector.off("select", E), this.pointSelector.off("disable", D), this.off("undo", b), document.removeEventListener("keydown", v), document.removeEventListener("keyup", u), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), p(), this.tempPreviewElements = null;
199
209
  let d = this.currentEndReason;
200
210
  e.points.length < 2 ? (e.removeFromParent(), d = "points_insufficient") : this.addMeshEventListeners(e), e.__five_pano_index = this.five.panoIndex, this.currentMeasureMesh = null, this.listener.removeMeasureListener(), this.emit("measureEnd", d), this.currentEndReason = "enter";
201
211
  };
@@ -204,68 +214,100 @@ class Pt extends B {
204
214
  /**
205
215
  * @description 结束测量
206
216
  */
207
- o(this, "endMeasure", () => {
217
+ s(this, "endMeasure", () => {
208
218
  this.currentEndReason = "external", this.pointSelector.disable();
209
219
  });
210
220
  /**
211
221
  * @description 通过Enter键结束测量
212
222
  */
213
- o(this, "endMeasureByEnter", () => {
223
+ s(this, "endMeasureByEnter", () => {
214
224
  this.currentEndReason = "enter", this.endMeasure();
215
225
  });
216
226
  /**
217
227
  * @description 通过模式改变结束测量
218
228
  */
219
- o(this, "endMeasureByModeChange", () => {
229
+ s(this, "endMeasureByModeChange", () => {
220
230
  this.currentEndReason = "mode_change", this.endMeasure();
221
231
  });
222
232
  /**
223
233
  * @description 通过全景移动结束测量
224
234
  */
225
- o(this, "endMeasureByPanoMove", () => {
235
+ s(this, "endMeasureByPanoMove", () => {
226
236
  this.currentEndReason = "pano_move", this.endMeasure();
227
237
  });
228
238
  /**
229
239
  * @description 通过楼层改变结束测量
230
240
  */
231
- o(this, "endMeasureByFloorChange", () => {
241
+ s(this, "endMeasureByFloorChange", () => {
232
242
  this.currentEndReason = "floor_change", this.endMeasure();
233
243
  });
234
244
  /**
235
245
  * Enable or disable the display of length measurements
236
246
  * @param enable - Whether to display length measurements
237
247
  */
238
- o(this, "setLengthEnable", (e) => {
239
- this.lineStyle.lengthEnable = e, this.polygonStyle.lengthEnable = e, this.group.children.forEach((t) => {
240
- t.changeConfig({
241
- lineStyle: y({}, this.lineStyle),
242
- polygonStyle: y({}, this.polygonStyle)
243
- }), this.addMeshEventListeners(t);
248
+ s(this, "setLengthEnable", (e) => {
249
+ var t, i;
250
+ if (this.lineStyle.lengthEnable = e, this.polygonStyle.lengthEnable = e, this.group.children.forEach((n) => {
251
+ n.changeConfig({
252
+ lineStyle: f({}, this.lineStyle),
253
+ polygonStyle: f({}, this.polygonStyle)
254
+ }), this.addMeshEventListeners(n);
244
255
  }), this.currentMeasureMesh && this.currentMeasureMesh.changeConfig({
245
- lineStyle: y({}, this.lineStyle),
246
- polygonStyle: y({}, this.polygonStyle)
247
- }), this.five.needsRender = !0;
256
+ lineStyle: f({}, this.lineStyle),
257
+ polygonStyle: f({}, this.polygonStyle)
258
+ }), this.tempPreviewElements)
259
+ try {
260
+ (t = this.tempPreviewElements.previewLine) == null || t.setStyle(M(f({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), this.tempPreviewElements.verticalLine1 && this.tempPreviewElements.verticalLine1.setStyle(M(f({}, this.lineStyle), {
261
+ lineOpacity: 0.5,
262
+ lineColor: 3407837,
263
+ dashed: !0,
264
+ cssStyle: "pointer-events: none; opacity: 0.5;"
265
+ })), this.tempPreviewElements.verticalLine2 && this.tempPreviewElements.verticalLine2.setStyle(M(f({}, this.lineStyle), {
266
+ lineOpacity: 0.5,
267
+ lineColor: 3407837,
268
+ dashed: !0,
269
+ cssStyle: "pointer-events: none; opacity: 0.5;"
270
+ })), (i = this.tempPreviewElements.previewPolygon) == null || i.setStyle(f({}, this.polygonStyle));
271
+ } catch (n) {
272
+ }
273
+ this.five.needsRender = !0;
248
274
  });
249
275
  /**
250
276
  * Switch the measurement unit without resetting the plugin
251
277
  * @param unit - The new unit to use ('m' for metric, 'ft' for imperial, or 'mm' for millimeters)
252
278
  */
253
- o(this, "setUnit", (e) => {
254
- if (this._config && (this._config.unit = e), this.lineStyle.lengthUnit = e, this.polygonStyle.lengthUnit = e, this.group.children.forEach((t) => {
279
+ s(this, "setUnit", (e) => {
280
+ var t, i;
281
+ if (this._config && (this._config.unit = e), this.lineStyle.lengthUnit = e, this.polygonStyle.lengthUnit = e, this.group.children.forEach((n) => {
255
282
  try {
256
- t.changeConfig({
257
- lineStyle: y({}, this.lineStyle),
258
- polygonStyle: y({}, this.polygonStyle)
259
- }), this.addMeshEventListeners(t);
260
- } catch (i) {
283
+ n.changeConfig({
284
+ lineStyle: f({}, this.lineStyle),
285
+ polygonStyle: f({}, this.polygonStyle)
286
+ }), this.addMeshEventListeners(n);
287
+ } catch (o) {
261
288
  }
262
289
  }), this.currentMeasureMesh)
263
290
  try {
264
291
  this.currentMeasureMesh.changeConfig({
265
- lineStyle: y({}, this.lineStyle),
266
- polygonStyle: y({}, this.polygonStyle)
292
+ lineStyle: f({}, this.lineStyle),
293
+ polygonStyle: f({}, this.polygonStyle)
267
294
  });
268
- } catch (t) {
295
+ } catch (n) {
296
+ }
297
+ if (this.tempPreviewElements)
298
+ try {
299
+ (t = this.tempPreviewElements.previewLine) == null || t.setStyle(M(f({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), this.tempPreviewElements.verticalLine1 && this.tempPreviewElements.verticalLine1.setStyle(M(f({}, this.lineStyle), {
300
+ lineOpacity: 0.5,
301
+ lineColor: 3407837,
302
+ dashed: !0,
303
+ cssStyle: "pointer-events: none; opacity: 0.5;"
304
+ })), this.tempPreviewElements.verticalLine2 && this.tempPreviewElements.verticalLine2.setStyle(M(f({}, this.lineStyle), {
305
+ lineOpacity: 0.5,
306
+ lineColor: 3407837,
307
+ dashed: !0,
308
+ cssStyle: "pointer-events: none; opacity: 0.5;"
309
+ })), (i = this.tempPreviewElements.previewPolygon) == null || i.setStyle(f({}, this.polygonStyle));
310
+ } catch (n) {
269
311
  }
270
312
  this.five.needsRender = !0;
271
313
  });
@@ -273,59 +315,75 @@ class Pt extends B {
273
315
  * Set the precision (number of decimal places) for length measurements
274
316
  * @param precision - The number of decimal places for length measurements (area measurements remain at fixed 2 decimal places)
275
317
  */
276
- o(this, "setPrecision", (e) => {
277
- if (this._config && (this._config.precision = e), this.lineStyle.precision = e, this.group.children.forEach((t) => {
318
+ s(this, "setPrecision", (e) => {
319
+ var t, i;
320
+ if (this._config && (this._config.precision = e), this.lineStyle.precision = e, this.group.children.forEach((n) => {
278
321
  try {
279
- t.changeConfig({
280
- lineStyle: y({}, this.lineStyle),
281
- polygonStyle: y({}, this.polygonStyle)
282
- }), this.addMeshEventListeners(t);
283
- } catch (i) {
322
+ n.changeConfig({
323
+ lineStyle: f({}, this.lineStyle),
324
+ polygonStyle: f({}, this.polygonStyle)
325
+ }), this.addMeshEventListeners(n);
326
+ } catch (o) {
284
327
  }
285
328
  }), this.currentMeasureMesh)
286
329
  try {
287
330
  this.currentMeasureMesh.changeConfig({
288
- lineStyle: y({}, this.lineStyle),
289
- polygonStyle: y({}, this.polygonStyle)
331
+ lineStyle: f({}, this.lineStyle),
332
+ polygonStyle: f({}, this.polygonStyle)
290
333
  });
291
- } catch (t) {
334
+ } catch (n) {
335
+ }
336
+ if (this.tempPreviewElements)
337
+ try {
338
+ (t = this.tempPreviewElements.previewLine) == null || t.setStyle(M(f({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), this.tempPreviewElements.verticalLine1 && this.tempPreviewElements.verticalLine1.setStyle(M(f({}, this.lineStyle), {
339
+ lineOpacity: 0.5,
340
+ lineColor: 3407837,
341
+ dashed: !0,
342
+ cssStyle: "pointer-events: none; opacity: 0.5;"
343
+ })), this.tempPreviewElements.verticalLine2 && this.tempPreviewElements.verticalLine2.setStyle(M(f({}, this.lineStyle), {
344
+ lineOpacity: 0.5,
345
+ lineColor: 3407837,
346
+ dashed: !0,
347
+ cssStyle: "pointer-events: none; opacity: 0.5;"
348
+ })), (i = this.tempPreviewElements.previewPolygon) == null || i.setStyle(f({}, this.polygonStyle));
349
+ } catch (n) {
292
350
  }
293
351
  this.five.needsRender = !0;
294
352
  });
295
353
  /**
296
354
  * @description 取消本次测量
297
355
  */
298
- o(this, "cancel", () => {
356
+ s(this, "cancel", () => {
299
357
  var e;
300
- this.currentEndReason = "escape", (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.pointSelector.disable();
358
+ this.currentEndReason = "escape", (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.pointSelector.disable(), this.tempPreviewElements = null;
301
359
  });
302
360
  /**
303
361
  * @description 撤销上一步
304
362
  */
305
- o(this, "undo", () => {
363
+ s(this, "undo", () => {
306
364
  this.emit("undo");
307
365
  });
308
366
  /**
309
367
  * @description 清空正在测量的内容
310
368
  */
311
- o(this, "clearCurrentMeasure", () => {
369
+ s(this, "clearCurrentMeasure", () => {
312
370
  var e;
313
- (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.currentMeasureMesh = null, this.pointSelector.disable();
371
+ (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.currentMeasureMesh = null, this.pointSelector.disable(), this.tempPreviewElements = null;
314
372
  });
315
373
  /**
316
374
  * @description 清空所有测量内容
317
375
  */
318
- o(this, "clear", () => {
376
+ s(this, "clear", () => {
319
377
  this.currentMeasureMesh = null, this.pointSelector.disable(), this.group.children.forEach(this.removeMeshEventListeners), this.group.removeChildren(), this.cursor.removeDeleteButton();
320
378
  });
321
- o(this, "dispose", () => {
379
+ s(this, "dispose", () => {
322
380
  this.listener.removeMeasureListener(), this.listener.removeClickListener(), this.pointSelector.disable(), this.disposeGlobalTouchHandler(), this.clear();
323
381
  });
324
382
  // eslint-disable-next-line @typescript-eslint/member-ordering
325
- o(this, "listener", {
383
+ s(this, "listener", {
326
384
  // 点击事件
327
385
  addClickListener: () => {
328
- this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), P("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
386
+ this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), L("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
329
387
  },
330
388
  removeClickListener: () => {
331
389
  this.group.children.forEach((e) => {
@@ -333,17 +391,17 @@ class Pt extends B {
333
391
  (t = e.line.doms) == null || t.forEach((n) => {
334
392
  n != null && n.container && (n.container.onclick = null, n.container.onmouseenter = null, n.container.onmouseleave = null);
335
393
  }), (i = e.polygon.areaDom) != null && i.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null);
336
- }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), P.unbind("delete, backspace");
394
+ }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), L.unbind("delete, backspace");
337
395
  },
338
396
  // 绘制快捷键
339
397
  addMeasureListener: () => {
340
- P("ctrl+z, command+z", this.undo), P("esc", this.cancel), P("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
398
+ L("ctrl+z, command+z", this.undo), L("esc", this.cancel), L("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
341
399
  },
342
400
  removeMeasureListener: () => {
343
- P.unbind("ctrl+z, command+z"), P.unbind("esc"), P.unbind("enter"), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
401
+ L.unbind("ctrl+z, command+z"), L.unbind("esc"), L.unbind("enter"), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
344
402
  }
345
403
  });
346
- o(this, "onMoveToPano", (e) => {
404
+ s(this, "onMoveToPano", (e) => {
347
405
  const t = this.group.children.filter((n) => n !== this.currentMeasureMesh), i = new W();
348
406
  t.forEach((n) => {
349
407
  var c;
@@ -358,17 +416,17 @@ class Pt extends B {
358
416
  const h = (E = (g = this.five.model.intersectRaycaster(i, void 0, !0)) == null ? void 0 : g[0]) == null ? void 0 : E.point;
359
417
  if (!h)
360
418
  return !0;
361
- const l = 0.01, f = a.distanceTo(this.five.camera.position);
362
- return h.distanceTo(this.five.camera.position) + l > f;
419
+ const l = 0.01, v = a.distanceTo(this.five.camera.position);
420
+ return h.distanceTo(this.five.camera.position) + l > v;
363
421
  })) ? n.visible = !0 : n.visible = !1, this.five.needsRender = !0;
364
422
  });
365
423
  });
366
- o(this, "onModeChange", (e) => {
424
+ s(this, "onModeChange", (e) => {
367
425
  e === "Mapview" && this.group.children.forEach((t) => {
368
426
  t.visible = !0;
369
427
  });
370
428
  });
371
- o(this, "onClick", ({ origDomEvent: e, target: t }) => {
429
+ s(this, "onClick", ({ origDomEvent: e, target: t }) => {
372
430
  var r;
373
431
  const i = t;
374
432
  if (!i)
@@ -377,50 +435,52 @@ class Pt extends B {
377
435
  i.unselect(), this.cursor.removeDeleteButton();
378
436
  return;
379
437
  }
380
- let n, s;
381
- if (e && ("touches" in e && e.touches && e.touches[0] ? (n = e.touches[0].clientX, s = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (n = e.clientX, s = e.clientY)), n === void 0 || s === void 0)
438
+ let n, o;
439
+ if (e && ("touches" in e && e.touches && e.touches[0] ? (n = e.touches[0].clientX, o = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (n = e.clientX, o = e.clientY)), n === void 0 || o === void 0)
382
440
  return;
383
- this.group.children.forEach((h) => h.unselect()), i.select();
441
+ this.group.children.forEach((h) => {
442
+ h.unselect && h.unselect();
443
+ }), i.select();
384
444
  const c = () => {
385
445
  this.removeMeshEventListeners(i), i.removeFromParent(), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
386
446
  }, a = ((r = this.five.getElement()) == null ? void 0 : r.parentElement) || document.body;
387
447
  this.cursor.showDeleteButton({
388
448
  clientX: n,
389
- clientY: s,
449
+ clientY: o,
390
450
  container: a,
391
451
  onClick: c
392
452
  }), this.five.once("cameraUpdate", () => {
393
453
  i.unselect(), this.cursor.removeDeleteButton();
394
454
  });
395
455
  });
396
- o(this, "onHover", ({ target: e }) => {
456
+ s(this, "onHover", ({ target: e }) => {
397
457
  if (this.currentMeasureMesh)
398
458
  return;
399
459
  const t = e;
400
460
  t && t.hover();
401
461
  });
402
- o(this, "onUnHover", ({ target: e }) => {
462
+ s(this, "onUnHover", ({ target: e }) => {
403
463
  if (this.currentMeasureMesh)
404
464
  return;
405
465
  const t = e;
406
466
  t && t.unhover();
407
467
  });
408
- o(this, "deleteSelectedMesh", () => {
468
+ s(this, "deleteSelectedMesh", () => {
409
469
  this.group.children.filter((t) => t.selected).forEach((t) => {
410
470
  this.removeMeshEventListeners(t), t.removeFromParent();
411
471
  }), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
412
472
  });
413
473
  // Helper method to remove all event listeners from a mesh
414
- o(this, "removeMeshEventListeners", (e) => {
474
+ s(this, "removeMeshEventListeners", (e) => {
415
475
  var t, i, n;
416
- (t = e.line.pointMeshes) == null || t.forEach((s) => {
417
- const c = s.__longPressCleanup;
418
- c && (c(), delete s.__longPressCleanup);
419
- }), (i = e.line.doms) == null || i.forEach((s) => {
420
- s != null && s.container && (s.container.onclick = null, s.container.onmouseenter = null, s.container.onmouseleave = null);
476
+ (t = e.line.pointMeshes) == null || t.forEach((o) => {
477
+ const c = o.__longPressCleanup;
478
+ c && (c(), delete o.__longPressCleanup);
479
+ }), (i = e.line.doms) == null || i.forEach((o) => {
480
+ o != null && o.container && (o.container.onclick = null, o.container.onmouseenter = null, o.container.onmouseleave = null);
421
481
  }), (n = e.polygon.areaDom) != null && n.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null), this.fiveDomEvents.removeEventListener(e, "click"), this.fiveDomEvents.removeEventListener(e, "hover"), this.fiveDomEvents.removeEventListener(e, "unHover");
422
482
  });
423
- o(this, "updateSelectAdsorbedHelper", () => {
483
+ s(this, "updateSelectAdsorbedHelper", () => {
424
484
  if (!this.currentMeasureMesh || this.currentMeasureMesh.points.length === 0) {
425
485
  this.pointSelector.setAdherePoints(null), this.pointSelector.adhereLine = [], this.pointSelector.adherePlane = [];
426
486
  return;
@@ -429,13 +489,13 @@ class Pt extends B {
429
489
  this.pointSelector.setAdherePoints([this.currentMeasureMesh.points[0]]);
430
490
  const e = this.currentMeasureMesh.points.at(-1);
431
491
  this.pointSelector.adhereLine = [
432
- new v.Line3(new v.Vector3(1, 0, 0).add(e), new v.Vector3(-1, 0, 0).add(e)),
433
- new v.Line3(new v.Vector3(0, 1, 0).add(e), new v.Vector3(0, -1, 0).add(e)),
434
- new v.Line3(new v.Vector3(0, 0, 1).add(e), new v.Vector3(0, 0, -1).add(e))
492
+ new m.Line3(new m.Vector3(1, 0, 0).add(e), new m.Vector3(-1, 0, 0).add(e)),
493
+ new m.Line3(new m.Vector3(0, 1, 0).add(e), new m.Vector3(0, -1, 0).add(e)),
494
+ new m.Line3(new m.Vector3(0, 0, 1).add(e), new m.Vector3(0, 0, -1).add(e))
435
495
  ], this.pointSelector.adherePlane = [];
436
496
  }
437
497
  if (this.currentMeasureMesh.points.length >= 3) {
438
- const e = new v.Plane().setFromCoplanarPoints(
498
+ const e = new m.Plane().setFromCoplanarPoints(
439
499
  this.currentMeasureMesh.points[0],
440
500
  this.currentMeasureMesh.points[1],
441
501
  this.currentMeasureMesh.points[2]
@@ -444,34 +504,34 @@ class Pt extends B {
444
504
  } else
445
505
  this.pointSelector.adherePlane = [];
446
506
  });
447
- o(this, "addMeshEventListeners", (e) => {
507
+ s(this, "addMeshEventListeners", (e) => {
448
508
  var t, i;
449
509
  this.removeMeshEventListeners(e), this.addEndpointLongPressListeners(e), (t = e.line.doms) == null || t.forEach((n) => {
450
- n != null && n.container && (n.container.onclick = (s) => this.onClick({ origDomEvent: s, target: e }), n.container.onmouseenter = () => this.onHover({ target: e }), n.container.onmouseleave = () => this.onUnHover({ target: e }));
510
+ n != null && n.container && (n.container.onclick = (o) => this.onClick({ origDomEvent: o, target: e }), n.container.onmouseenter = () => this.onHover({ target: e }), n.container.onmouseleave = () => this.onUnHover({ target: e }));
451
511
  }), (i = e.polygon.areaDom) != null && i.container && (e.polygon.areaDom.container.onclick = (n) => this.onClick({ origDomEvent: n, target: e }), e.polygon.areaDom.container.onmouseenter = () => this.onHover({ target: e }), e.polygon.areaDom.container.onmouseleave = () => this.onUnHover({ target: e })), this.fiveDomEvents.addEventListener(e, "click", this.onClick), this.fiveDomEvents.addEventListener(e, "hover", this.onHover), this.fiveDomEvents.addEventListener(e, "unHover", this.onUnHover);
452
512
  });
453
- o(this, "addEndpointLongPressListeners", (e) => {
513
+ s(this, "addEndpointLongPressListeners", (e) => {
454
514
  this.setupGlobalTouchHandler(), e.line.pointMeshes.forEach((t, i) => {
455
- let n, s = !1, c = i;
515
+ let n, o = !1, c = i;
456
516
  e.isPolygon && e.points.length > 3 && (i === e.line.pointMeshes.length - 1 && (c = 0), i >= e.points.length && (c = 0));
457
517
  const a = (l) => {
458
518
  if (this.currentMeasureMesh)
459
519
  return;
460
- s = !1;
461
- let f = null;
462
- l.origDomEvent && ("clientX" in l.origDomEvent && "clientY" in l.origDomEvent ? f = {
520
+ o = !1;
521
+ let v = null;
522
+ l.origDomEvent && ("clientX" in l.origDomEvent && "clientY" in l.origDomEvent ? v = {
463
523
  x: l.origDomEvent.clientX,
464
524
  y: l.origDomEvent.clientY
465
- } : "touches" in l.origDomEvent && l.origDomEvent.touches && l.origDomEvent.touches[0] ? f = {
525
+ } : "touches" in l.origDomEvent && l.origDomEvent.touches && l.origDomEvent.touches[0] ? v = {
466
526
  x: l.origDomEvent.touches[0].clientX,
467
527
  y: l.origDomEvent.touches[0].clientY
468
- } : "changedTouches" in l.origDomEvent && l.origDomEvent.changedTouches && l.origDomEvent.changedTouches[0] && (f = {
528
+ } : "changedTouches" in l.origDomEvent && l.origDomEvent.changedTouches && l.origDomEvent.changedTouches[0] && (v = {
469
529
  x: l.origDomEvent.changedTouches[0].clientX,
470
530
  y: l.origDomEvent.changedTouches[0].clientY
471
- })), l.stopPropagation(), l.origDomEvent && (l.origDomEvent.preventDefault(), l.origDomEvent.stopPropagation()), this.showLongPressIndicator(t, f);
531
+ })), l.stopPropagation(), l.origDomEvent && (l.origDomEvent.preventDefault(), l.origDomEvent.stopPropagation()), this.showLongPressIndicator(t, v);
472
532
  const u = (p) => {
473
533
  var g;
474
- if (f) {
534
+ if (v) {
475
535
  let E, b;
476
536
  if ("touches" in p && p.touches[0])
477
537
  E = p.touches[0].clientX, b = p.touches[0].clientY;
@@ -479,21 +539,21 @@ class Pt extends B {
479
539
  E = p.clientX, b = p.clientY;
480
540
  else
481
541
  return;
482
- Math.sqrt(Math.pow(E - f.x, 2) + Math.pow(b - f.y, 2)) > 10 && (this.hideLongPressIndicator(), n && (clearTimeout(n), n = void 0), (g = this.cleanupGlobalListeners) == null || g.call(this));
542
+ Math.sqrt(Math.pow(E - v.x, 2) + Math.pow(b - v.y, 2)) > 10 && (this.hideLongPressIndicator(), n && (clearTimeout(n), n = void 0), (g = this.cleanupGlobalListeners) == null || g.call(this));
483
543
  }
484
544
  };
485
545
  this.cleanupGlobalListeners = () => {
486
546
  document.removeEventListener("mousemove", u), document.removeEventListener("touchmove", u);
487
547
  }, document.addEventListener("mousemove", u), document.addEventListener("touchmove", u, { passive: !1 }), n = setTimeout(() => {
488
548
  var p;
489
- s = !0, (p = this.cleanupGlobalListeners) == null || p.call(this), this.hideLongPressIndicator(), this.startRepositioning(e, c, !0, f);
549
+ o = !0, (p = this.cleanupGlobalListeners) == null || p.call(this), this.hideLongPressIndicator(), this.startRepositioning(e, c, !0, v);
490
550
  }, 500);
491
551
  }, r = () => {
492
552
  var l;
493
- n && (clearTimeout(n), n = void 0), (l = this.cleanupGlobalListeners) == null || l.call(this), this.hideLongPressIndicator(), s && this.repositioningState && (this.repositioningState.isDragMode && this.repositioningState.hasMoved || this.repositioningState.isDragMode, s = !1);
553
+ n && (clearTimeout(n), n = void 0), (l = this.cleanupGlobalListeners) == null || l.call(this), this.hideLongPressIndicator(), o && this.repositioningState && (this.repositioningState.isDragMode && this.repositioningState.hasMoved || this.repositioningState.isDragMode, o = !1);
494
554
  }, h = (l) => {
495
- if (s)
496
- return l.stopPropagation(), s = !1, !1;
555
+ if (o)
556
+ return l.stopPropagation(), o = !1, !1;
497
557
  };
498
558
  this.fiveDomEvents.addEventListener(t, "mousedown", a), this.fiveDomEvents.addEventListener(t, "mouseup", r), this.fiveDomEvents.addEventListener(t, "click", h), t.__longPressHandlers = {
499
559
  onPointerDown: a,
@@ -512,7 +572,7 @@ class Pt extends B {
512
572
  * @description Load measurement data from external source
513
573
  * @param data Array of point data for measurements
514
574
  */
515
- o(this, "load", (e) => {
575
+ s(this, "load", (e) => {
516
576
  this.clear(), e.forEach((t) => {
517
577
  const i = new T({
518
578
  lineStyle: this.lineStyle,
@@ -524,30 +584,30 @@ class Pt extends B {
524
584
  /**
525
585
  * Start repositioning an endpoint
526
586
  */
527
- o(this, "startRepositioning", (e, t, i = !1, n) => {
587
+ s(this, "startRepositioning", (e, t, i = !1, n) => {
528
588
  this.currentMeasureMesh || this.repositioningState || (this.repositioningState = {
529
589
  measureMesh: e,
530
590
  pointIndex: t,
531
591
  originalOpacity: e.line.lineOpacity,
532
- originalMeshState: e.points.map((s) => s.clone()),
592
+ originalMeshState: e.points.map((o) => o.clone()),
533
593
  isDragMode: i,
534
594
  mouseDownPosition: n || void 0,
535
595
  hasMoved: !1
536
- }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), i ? this.enableGlobalMouseTracking() : (this.pointSelector.actionIfNoIntersection = "virtualPoint", this.pointSelector.enable(), this.pointSelector.on("intersectionUpdate", this.onRepositioningMove), this.pointSelector.on("select", this.onRepositioningConfirm), this.pointSelector.on("disable", this.cancelRepositioning)), P("esc", this.cancelRepositioning));
596
+ }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), i ? this.enableGlobalMouseTracking() : (this.pointSelector.actionIfNoIntersection = "virtualPoint", this.pointSelector.enable(), this.pointSelector.on("intersectionUpdate", this.onRepositioningMove), this.pointSelector.on("select", this.onRepositioningConfirm), this.pointSelector.on("disable", this.cancelRepositioning)), L("esc", this.cancelRepositioning));
537
597
  });
538
598
  /**
539
599
  * Helper method to safely update polygon points while maintaining closure
540
600
  */
541
- o(this, "updatePolygonPoints", (e, t, i, n = !1) => {
601
+ s(this, "updatePolygonPoints", (e, t, i, n = !1) => {
542
602
  if (e.isPolygon && t.length > 3 && i !== void 0) {
543
- const s = t.length - 1;
544
- i === 0 ? t[s] = t[0].clone() : i === s && (t[0] = t[s].clone());
603
+ const o = t.length - 1;
604
+ i === 0 ? t[o] = t[0].clone() : i === o && (t[0] = t[o].clone());
545
605
  }
546
606
  if (e.points = t, n && this.repositioningState) {
547
- const s = e.line;
548
- if (s.points = t, t.length >= 2) {
607
+ const o = e.line;
608
+ if (o.points = t, t.length >= 2) {
549
609
  const c = t.flatMap((a) => [a.x, a.y, a.z]);
550
- s.line1.geometry.setPositions(c), s.line1.computeLineDistances();
610
+ o.line1.geometry.setPositions(c), o.line1.computeLineDistances();
551
611
  }
552
612
  if (i !== void 0 && e.line.pointMeshes) {
553
613
  const c = t[i];
@@ -575,7 +635,7 @@ class Pt extends B {
575
635
  /**
576
636
  * Handle mouse movement during repositioning
577
637
  */
578
- o(this, "onRepositioningMove", (e) => {
638
+ s(this, "onRepositioningMove", (e) => {
579
639
  if (!this.repositioningState || !e)
580
640
  return;
581
641
  const { measureMesh: t, pointIndex: i } = this.repositioningState;
@@ -586,7 +646,7 @@ class Pt extends B {
586
646
  /**
587
647
  * Confirm repositioning with click
588
648
  */
589
- o(this, "onRepositioningConfirm", (e) => {
649
+ s(this, "onRepositioningConfirm", (e) => {
590
650
  if (!this.repositioningState || !e)
591
651
  return;
592
652
  const { measureMesh: t, pointIndex: i } = this.repositioningState, n = [...t.points];
@@ -595,7 +655,7 @@ class Pt extends B {
595
655
  /**
596
656
  * Confirm repositioning when drag ends (mouse up after long press drag)
597
657
  */
598
- o(this, "confirmRepositioningOnDragEnd", () => {
658
+ s(this, "confirmRepositioningOnDragEnd", () => {
599
659
  if (!this.repositioningState)
600
660
  return;
601
661
  const { measureMesh: e, pointIndex: t } = this.repositioningState, i = [...e.points];
@@ -604,7 +664,7 @@ class Pt extends B {
604
664
  /**
605
665
  * Cancel repositioning (restore original position)
606
666
  */
607
- o(this, "cancelRepositioning", () => {
667
+ s(this, "cancelRepositioning", () => {
608
668
  if (!this.repositioningState)
609
669
  return;
610
670
  const { measureMesh: e, originalMeshState: t } = this.repositioningState;
@@ -613,7 +673,7 @@ class Pt extends B {
613
673
  /**
614
674
  * Apply or remove repositioning preview styling
615
675
  */
616
- o(this, "applyRepositioningStyle", (e, t) => {
676
+ s(this, "applyRepositioningStyle", (e, t) => {
617
677
  const i = t ? 0.4 : 1, n = t;
618
678
  e.line.setStyle({
619
679
  lineOpacity: i,
@@ -622,8 +682,8 @@ class Pt extends B {
622
682
  }), e.isPolygon && e.polygon.setStyle({
623
683
  opacity: i * 0.3
624
684
  // Even more transparent for area
625
- }), e.line.pointMeshes.forEach((s) => {
626
- s.setStyle({
685
+ }), e.line.pointMeshes.forEach((o) => {
686
+ o.setStyle({
627
687
  opacity: i
628
688
  });
629
689
  });
@@ -631,7 +691,7 @@ class Pt extends B {
631
691
  /**
632
692
  * Enable global mouse tracking for drag mode (when PointSelector can't track due to mouse being held down)
633
693
  */
634
- o(this, "enableGlobalMouseTracking", () => {
694
+ s(this, "enableGlobalMouseTracking", () => {
635
695
  const e = this.five.getElement();
636
696
  if (!e)
637
697
  return;
@@ -639,8 +699,8 @@ class Pt extends B {
639
699
  const i = (r) => {
640
700
  if (!this.repositioningState)
641
701
  return;
642
- const h = e.getBoundingClientRect(), l = (r.clientX - h.left) / h.width * 2 - 1, f = -((r.clientY - h.top) / h.height) * 2 + 1, u = new v.Raycaster();
643
- u.setFromCamera(new v.Vector2(l, f), this.five.camera);
702
+ const h = e.getBoundingClientRect(), l = (r.clientX - h.left) / h.width * 2 - 1, v = -((r.clientY - h.top) / h.height) * 2 + 1, u = new m.Raycaster();
703
+ u.setFromCamera(new m.Vector2(l, v), this.five.camera);
644
704
  const p = this.five.model.intersectRaycaster(u, void 0, !0);
645
705
  p && p.length > 0 ? (t = {
646
706
  point: p[0].point,
@@ -656,8 +716,8 @@ class Pt extends B {
656
716
  }, n = (r) => {
657
717
  if (!this.repositioningState || !r.touches[0])
658
718
  return;
659
- const h = e.getBoundingClientRect(), l = r.touches[0], f = (l.clientX - h.left) / h.width * 2 - 1, u = -((l.clientY - h.top) / h.height) * 2 + 1, p = new v.Raycaster();
660
- p.setFromCamera(new v.Vector2(f, u), this.five.camera);
719
+ const h = e.getBoundingClientRect(), l = r.touches[0], v = (l.clientX - h.left) / h.width * 2 - 1, u = -((l.clientY - h.top) / h.height) * 2 + 1, p = new m.Raycaster();
720
+ p.setFromCamera(new m.Vector2(v, u), this.five.camera);
661
721
  const g = this.five.model.intersectRaycaster(p, void 0, !0);
662
722
  g && g.length > 0 ? (t = {
663
723
  point: g[0].point,
@@ -670,21 +730,21 @@ class Pt extends B {
670
730
  raycaster: p,
671
731
  isVirtual: !0
672
732
  }, this.onRepositioningMove(t));
673
- }, s = (r) => {
733
+ }, o = (r) => {
674
734
  this.repositioningState && (t ? this.onRepositioningConfirm(t) : this.confirmRepositioningOnDragEnd());
675
735
  }, c = (r) => {
676
736
  this.repositioningState && (t ? this.onRepositioningConfirm(t) : this.confirmRepositioningOnDragEnd());
677
737
  }, a = (r) => {
678
738
  this.repositioningState && t && this.onRepositioningConfirm(t);
679
739
  };
680
- document.addEventListener("mousemove", i), document.addEventListener("mouseup", s), document.addEventListener("click", a), document.addEventListener("touchmove", n, { passive: !1 }), document.addEventListener("touchend", c, { passive: !1 }), this.repositioningState.__globalMouseCleanup = () => {
681
- document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", s), document.removeEventListener("click", a), document.removeEventListener("touchmove", n), document.removeEventListener("touchend", c);
740
+ document.addEventListener("mousemove", i), document.addEventListener("mouseup", o), document.addEventListener("click", a), document.addEventListener("touchmove", n, { passive: !1 }), document.addEventListener("touchend", c, { passive: !1 }), this.repositioningState.__globalMouseCleanup = () => {
741
+ document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), document.removeEventListener("click", a), document.removeEventListener("touchmove", n), document.removeEventListener("touchend", c);
682
742
  };
683
743
  });
684
744
  /**
685
745
  * Show long press visual feedback circle
686
746
  */
687
- o(this, "showLongPressIndicator", (e, t) => {
747
+ s(this, "showLongPressIndicator", (e, t) => {
688
748
  this.hideLongPressIndicator();
689
749
  const i = this.five.getElement();
690
750
  if (!i)
@@ -692,8 +752,8 @@ class Pt extends B {
692
752
  this.five.on("wantsGesture", this.preventFiveGestures);
693
753
  const n = document.createElement("div");
694
754
  if (n.style.position = "absolute", n.style.width = "80px", n.style.height = "80px", n.style.border = "6px solid #f0f0f0", n.style.borderRadius = "50%", n.style.pointerEvents = "none", n.style.zIndex = "10000", n.style.boxSizing = "border-box", n.style.animation = "longPressShrink 500ms linear forwards", !document.querySelector("#longpress-keyframes")) {
695
- const s = document.createElement("style");
696
- s.id = "longpress-keyframes", s.textContent = `
755
+ const o = document.createElement("style");
756
+ o.id = "longpress-keyframes", o.textContent = `
697
757
  @keyframes longPressShrink {
698
758
  from {
699
759
  transform: translate(-50%, -50%) scale(1);
@@ -704,12 +764,12 @@ class Pt extends B {
704
764
  opacity: 1;
705
765
  }
706
766
  }
707
- `, document.head.appendChild(s);
767
+ `, document.head.appendChild(o);
708
768
  }
709
769
  if (t)
710
770
  n.style.left = `${t.x}px`, n.style.top = `${t.y}px`, n.style.transform = "translate(-50%, -50%)";
711
771
  else {
712
- const c = e.getWorldPosition(new v.Vector3()).clone().project(this.five.camera), a = i.getBoundingClientRect(), r = (c.x + 1) * a.width / 2 + a.left, h = (-c.y + 1) * a.height / 2 + a.top;
772
+ const c = e.getWorldPosition(new m.Vector3()).clone().project(this.five.camera), a = i.getBoundingClientRect(), r = (c.x + 1) * a.width / 2 + a.left, h = (-c.y + 1) * a.height / 2 + a.top;
713
773
  n.style.left = `${r}px`, n.style.top = `${h}px`, n.style.transform = "translate(-50%, -50%)";
714
774
  }
715
775
  document.body.appendChild(n), this.longPressIndicator = n;
@@ -717,39 +777,39 @@ class Pt extends B {
717
777
  /**
718
778
  * Hide long press visual feedback circle
719
779
  */
720
- o(this, "hideLongPressIndicator", () => {
780
+ s(this, "hideLongPressIndicator", () => {
721
781
  this.longPressIndicator && (this.longPressIndicator.remove(), this.longPressIndicator = null, this.five.off("wantsGesture", this.preventFiveGestures));
722
782
  });
723
783
  /**
724
784
  * Prevent Five canvas gestures during repositioning
725
785
  */
726
- o(this, "preventFiveGestures", () => !1);
786
+ s(this, "preventFiveGestures", () => !1);
727
787
  /**
728
788
  * Clean up repositioning state and event listeners
729
789
  */
730
- o(this, "cleanupRepositioning", () => {
790
+ s(this, "cleanupRepositioning", () => {
731
791
  if (this.repositioningState) {
732
792
  const e = this.repositioningState.__globalMouseCleanup;
733
793
  e && e(), this.repositioningState.isDragMode || (this.pointSelector.off("intersectionUpdate", this.onRepositioningMove), this.pointSelector.off("select", this.onRepositioningConfirm), this.pointSelector.off("disable", this.cancelRepositioning), this.pointSelector.disable());
734
794
  }
735
- this.five.off("wantsGesture", this.preventFiveGestures), P.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
795
+ this.five.off("wantsGesture", this.preventFiveGestures), L.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
736
796
  });
737
- o(this, "setupGlobalTouchHandler", () => {
797
+ s(this, "setupGlobalTouchHandler", () => {
738
798
  var n;
739
799
  if ((n = this.globalTouchHandler) != null && n.isSetup)
740
800
  return;
741
801
  const e = this.five.getElement();
742
802
  if (!e)
743
803
  return;
744
- const t = (s) => {
804
+ const t = (o) => {
745
805
  if (this.currentMeasureMesh)
746
806
  return;
747
- const c = s.touches[0];
807
+ const c = o.touches[0];
748
808
  if (!c)
749
809
  return;
750
- const a = e.getBoundingClientRect(), r = (c.clientX - a.left) / a.width * 2 - 1, h = -((c.clientY - a.top) / a.height) * 2 + 1, l = new v.Raycaster();
751
- l.setFromCamera(new v.Vector2(r, h), this.five.camera), l.params.Points.threshold = 0.5, l.params.Line.threshold = 0.1, l.params.Mesh = {};
752
- const f = [];
810
+ const a = e.getBoundingClientRect(), r = (c.clientX - a.left) / a.width * 2 - 1, h = -((c.clientY - a.top) / a.height) * 2 + 1, l = new m.Raycaster();
811
+ l.setFromCamera(new m.Vector2(r, h), this.five.camera), l.params.Points.threshold = 0.5, l.params.Line.threshold = 0.1, l.params.Mesh = {};
812
+ const v = [];
753
813
  for (const u of this.group.children)
754
814
  if (!(!u || !u.line || !u.line.pointMeshes))
755
815
  for (let p = 0; p < u.line.pointMeshes.length; p++) {
@@ -760,7 +820,7 @@ class Pt extends B {
760
820
  const b = g.__longPressHandlers;
761
821
  if (b) {
762
822
  const D = this.calculateScreenDistance(c, g, e);
763
- D < 30 && f.push({
823
+ D < 30 && v.push({
764
824
  pointMesh: g,
765
825
  handlers: b,
766
826
  distance: D,
@@ -772,25 +832,25 @@ class Pt extends B {
772
832
  }
773
833
  }
774
834
  }
775
- if (f.length > 0) {
776
- f.sort((g, E) => g.distance - E.distance);
777
- const u = f[0];
835
+ if (v.length > 0) {
836
+ v.sort((g, E) => g.distance - E.distance);
837
+ const u = v[0];
778
838
  if (this.repositioningState)
779
839
  return;
780
840
  const p = {
781
841
  type: "mousedown",
782
842
  target: u.pointMesh,
783
- origDomEvent: s,
843
+ origDomEvent: o,
784
844
  raycaster: l,
785
845
  intersects: [{ distance: 0 }],
786
846
  // Use dummy distance since we're using screen distance
787
847
  stopPropagation: () => {
788
- s.stopPropagation();
848
+ o.stopPropagation();
789
849
  }
790
850
  };
791
851
  u.handlers && typeof u.handlers.onPointerDown == "function" && u.handlers.onPointerDown(p);
792
852
  }
793
- }, i = (s) => {
853
+ }, i = (o) => {
794
854
  for (const c of this.group.children)
795
855
  if (!(!c || !c.line || !c.line.pointMeshes))
796
856
  for (const a of c.line.pointMeshes) {
@@ -807,7 +867,7 @@ class Pt extends B {
807
867
  };
808
868
  });
809
869
  // Remove the stub methods since they're not needed
810
- o(this, "disposeGlobalTouchHandler", () => {
870
+ s(this, "disposeGlobalTouchHandler", () => {
811
871
  var e;
812
872
  if ((e = this.globalTouchHandler) != null && e.isSetup) {
813
873
  const t = this.five.getElement();
@@ -817,13 +877,13 @@ class Pt extends B {
817
877
  /**
818
878
  * Calculate screen distance between touch/mouse point and point mesh
819
879
  */
820
- o(this, "calculateScreenDistance", (e, t, i) => {
821
- const n = e.clientX, s = e.clientY, a = t.getWorldPosition(new v.Vector3()).clone().project(this.five.camera), r = i.getBoundingClientRect(), h = (a.x + 1) * r.width / 2 + r.left, l = (-a.y + 1) * r.height / 2 + r.top, f = n - h, u = s - l;
822
- return Math.sqrt(f * f + u * u);
880
+ s(this, "calculateScreenDistance", (e, t, i) => {
881
+ const n = e.clientX, o = e.clientY, a = t.getWorldPosition(new m.Vector3()).clone().project(this.five.camera), r = i.getBoundingClientRect(), h = (a.x + 1) * r.width / 2 + r.left, l = (-a.y + 1) * r.height / 2 + r.top, v = n - h, u = o - l;
882
+ return Math.sqrt(v * v + u * u);
823
883
  });
824
884
  this.five = e;
825
885
  const i = { unit: "m", lengthEnable: !0, precision: 2 };
826
- this.config = t ? y(y({}, i), t) : i, this.group = new O(), this.group.name = "MeasureGroup", this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), P("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
886
+ this.config = t ? f(f({}, i), t) : i, this.group = new A(), this.group.name = "MeasureGroup", this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), L("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
827
887
  }
828
888
  get pointSelector() {
829
889
  return this._pointSelector ? this._pointSelector : (this._pointSelector = new V(this.five, { mode: "cursor", helper: { pointHelper: "highlight" }, skipPanorama: !0 }), this._pointSelector);