@realsee/dnalogel 3.65.7 → 3.65.8

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 (471) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/MeasurePlugin/Controller.d.ts +10 -0
  3. package/dist/MeasurePlugin/index.d.ts +1 -0
  4. package/dist/PanoMeasurePlugin/utils/dom/base.d.ts +1 -1
  5. package/dist/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +8 -1
  6. package/dist/Sculpt/Meshes/Line.d.ts +3 -0
  7. package/dist/Sculpt/utils/Meshes/getLengthHTML.d.ts +1 -0
  8. package/dist/index.cjs.js +127 -55
  9. package/dist/index.js +2740 -2542
  10. package/dist/index.umd.js +139 -67
  11. package/docs/assets/highlight.css +42 -21
  12. package/docs/assets/search.js +1 -1
  13. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +3 -3
  14. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  15. package/docs/classes/CSS3DRender.html +3 -3
  16. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  17. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  18. package/docs/classes/ModelMakerPluginInstance.html +3 -3
  19. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  20. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  21. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  22. package/docs/classes/ModelRoomLabelController.html +2 -2
  23. package/docs/classes/MoveController.html +2 -2
  24. package/docs/classes/Object3DHelperController.html +2 -2
  25. package/docs/classes/PaintBrush.html +2 -2
  26. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  27. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  28. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  29. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  30. package/docs/classes/PanoTagPluginController.html +2 -2
  31. package/docs/classes/Sculpt.html +2 -2
  32. package/docs/classes/Util.BetterTween.html +2 -2
  33. package/docs/classes/Util.FiveDomEvents.html +2 -2
  34. package/docs/classes/Util.FivePuppet.html +5 -5
  35. package/docs/classes/Util.Interval.html +2 -2
  36. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  37. package/docs/classes/Util.LightTag.html +6 -6
  38. package/docs/classes/Util.LineSegments.html +2 -2
  39. package/docs/classes/Util.Magnifier.html +2 -2
  40. package/docs/classes/Util.Object3D.html +2 -2
  41. package/docs/classes/Util.PointDomHelper.html +2 -2
  42. package/docs/classes/Util.PointHelper.html +2 -2
  43. package/docs/classes/Util.PointSelector.html +2 -2
  44. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  45. package/docs/classes/Util.Rectangle.html +2 -2
  46. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  47. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  48. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  49. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  50. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  51. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  52. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  53. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  54. package/docs/classes/Util.sculpt.LineMesh.html +5 -5
  55. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  56. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  57. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  58. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  59. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  60. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  61. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  62. package/docs/classes/WalkController.html +2 -2
  63. package/docs/enums/CameraMovementEffect.html +2 -2
  64. package/docs/enums/ContentType.html +2 -2
  65. package/docs/enums/DIRECTION.html +2 -2
  66. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  67. package/docs/enums/DimensionType.html +2 -2
  68. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  69. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  70. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  71. package/docs/enums/PointType.html +2 -2
  72. package/docs/enums/Rotation.html +2 -2
  73. package/docs/functions/AreaMakerPlugin.html +1 -1
  74. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  75. package/docs/functions/CameraMovementPlugin.html +2 -2
  76. package/docs/functions/CruisePlugin.html +1 -1
  77. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  78. package/docs/functions/GuideLinePlugin.html +1 -1
  79. package/docs/functions/ItemLabelPlugin.html +1 -1
  80. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  81. package/docs/functions/MeasurePlugin.html +1 -1
  82. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  83. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  84. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  85. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  86. package/docs/functions/ModelMakerPlugin.html +1 -1
  87. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  88. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  89. package/docs/functions/ModelViewPlugin.html +2 -2
  90. package/docs/functions/MovePlugin.html +1 -1
  91. package/docs/functions/Object3DHelperPlugin.html +1 -1
  92. package/docs/functions/PanoCompassPlugin.html +1 -1
  93. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  94. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  95. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  96. package/docs/functions/PanoMeasurePlugin.html +1 -1
  97. package/docs/functions/PanoRulerPlugin.html +2 -2
  98. package/docs/functions/PanoRulerProPlugin.html +2 -2
  99. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  100. package/docs/functions/PanoTagPlugin.html +1 -1
  101. package/docs/functions/PanoVideoPlugin.html +2 -2
  102. package/docs/functions/PipelinePlugin.html +1 -1
  103. package/docs/functions/SculptPlugin.html +2 -2
  104. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  105. package/docs/functions/Util.absoluteUrl.html +2 -2
  106. package/docs/functions/Util.awaitNextFrame.html +1 -1
  107. package/docs/functions/Util.blink.html +3 -3
  108. package/docs/functions/Util.bounding.html +1 -1
  109. package/docs/functions/Util.boundingBox.html +1 -1
  110. package/docs/functions/Util.boundingSphere.html +1 -1
  111. package/docs/functions/Util.boxVertex.html +2 -2
  112. package/docs/functions/Util.boxVertexes.html +1 -1
  113. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  114. package/docs/functions/Util.convexHull.html +2 -2
  115. package/docs/functions/Util.equal.html +2 -2
  116. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  117. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  118. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  119. package/docs/functions/Util.getFrameTime.html +2 -2
  120. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  121. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  122. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  123. package/docs/functions/Util.inside.html +1 -1
  124. package/docs/functions/Util.isAbsoluteURL.html +1 -1
  125. package/docs/functions/Util.isModelLike.html +1 -1
  126. package/docs/functions/Util.isNil.html +2 -2
  127. package/docs/functions/Util.isPanoramaLike.html +1 -1
  128. package/docs/functions/Util.lookObject.html +2 -2
  129. package/docs/functions/Util.lookPoint.html +2 -2
  130. package/docs/functions/Util.nextFrame.html +1 -1
  131. package/docs/functions/Util.notNil.html +2 -2
  132. package/docs/functions/Util.reblink.html +2 -2
  133. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  134. package/docs/functions/Util.sculpt.createBox.html +1 -1
  135. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  136. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  137. package/docs/functions/Util.sculpt.createLine.html +2 -2
  138. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  139. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  140. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  141. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  142. package/docs/functions/Util.tag.html +1 -1
  143. package/docs/functions/Util.tweenProgress.html +1 -1
  144. package/docs/functions/Util.uuid.html +2 -2
  145. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  146. package/docs/functions/Util.worldBounding.html +1 -1
  147. package/docs/functions/Util.worldBoundingBox.html +1 -1
  148. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  149. package/docs/functions/createPolyline.html +2 -2
  150. package/docs/functions/pluginFlag.html +1 -1
  151. package/docs/hierarchy.html +1 -1
  152. package/docs/index.html +6 -6
  153. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  154. package/docs/interfaces/AreaMakerPluginType.Config.html +3 -3
  155. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  156. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  157. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +3 -3
  158. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +3 -3
  159. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  160. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  161. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  162. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  163. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  164. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  165. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  166. package/docs/interfaces/ContentTypeMapInterface.html +5 -5
  167. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  168. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  169. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  170. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  171. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  172. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  173. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  174. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  175. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  176. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  177. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  178. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  179. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  180. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  181. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  182. package/docs/interfaces/FloorplanBounding.html +2 -2
  183. package/docs/interfaces/FloorplanData.html +2 -2
  184. package/docs/interfaces/FloorplanEntrance.html +2 -2
  185. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  186. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  187. package/docs/interfaces/FloorplanFloorData.html +2 -2
  188. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  189. package/docs/interfaces/FloorplanObserver.html +2 -2
  190. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  191. package/docs/interfaces/FloorplanPosition.html +2 -2
  192. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  193. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  194. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  195. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  196. package/docs/interfaces/FloorplanServerData.html +2 -2
  197. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  198. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  199. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  200. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  201. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  202. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  203. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  204. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  205. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  206. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  207. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  208. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  209. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  210. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  211. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  212. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  213. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +4 -4
  214. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  215. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  216. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +4 -4
  217. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  218. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +7 -7
  219. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  220. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  221. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  222. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  223. package/docs/interfaces/HelperOffset.html +2 -2
  224. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  225. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  226. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  227. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  228. package/docs/interfaces/MinMax.html +2 -2
  229. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  230. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  231. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  232. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  233. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  234. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  235. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  236. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  237. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  238. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  239. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  240. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  241. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  242. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  243. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  244. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  245. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  246. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  247. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  248. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  249. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  250. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  251. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  252. package/docs/interfaces/Object3DHelperState.html +2 -2
  253. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  254. package/docs/interfaces/PaintBrushAction.html +2 -2
  255. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  256. package/docs/interfaces/PaintBrushState.html +2 -2
  257. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  258. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  259. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  260. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  261. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  262. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  263. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  264. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  265. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  266. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  267. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  268. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  269. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  270. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  271. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  272. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  273. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  274. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  275. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  276. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  277. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  278. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  279. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  280. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  281. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  282. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  283. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  284. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  285. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  286. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  287. package/docs/interfaces/PluginEventMap.html +2 -2
  288. package/docs/interfaces/Point.html +2 -2
  289. package/docs/interfaces/Room.html +2 -2
  290. package/docs/interfaces/RoomInfo.html +2 -2
  291. package/docs/interfaces/RoomLabel.html +2 -2
  292. package/docs/interfaces/RoomRules.html +1 -1
  293. package/docs/interfaces/Rooms.html +1 -1
  294. package/docs/interfaces/Scissor.html +2 -2
  295. package/docs/interfaces/State.html +2 -2
  296. package/docs/interfaces/TagCacheInterface.html +2 -2
  297. package/docs/interfaces/TagConfig.html +17 -17
  298. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  299. package/docs/interfaces/TagIconUrl.html +2 -2
  300. package/docs/interfaces/TagObjectGroup.html +2 -2
  301. package/docs/interfaces/TagStyle.html +2 -2
  302. package/docs/interfaces/Tags.html +2 -2
  303. package/docs/interfaces/TemporaryState.html +2 -2
  304. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  305. package/docs/interfaces/Util.BlinkAnimeOptions.html +3 -3
  306. package/docs/interfaces/Util.EventHandlerConfig.html +6 -6
  307. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  308. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  309. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  310. package/docs/interfaces/Util.MagnifierParameter.html +2 -2
  311. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  312. package/docs/interfaces/Util.PointIntersection.html +2 -2
  313. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  314. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +3 -3
  315. package/docs/modules/AreaMakerPluginType.html +2 -2
  316. package/docs/modules/CruisePluginTypes.html +2 -2
  317. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  318. package/docs/modules/GuideLineItem.html +2 -2
  319. package/docs/modules/GuideLineModeItem.html +2 -2
  320. package/docs/modules/GuideLinePluginType.html +2 -2
  321. package/docs/modules/ModelMakerPluginType.html +2 -2
  322. package/docs/modules/PanoVideoPluginType.html +2 -2
  323. package/docs/modules/SculptData.html +2 -2
  324. package/docs/modules/SculptType.html +2 -2
  325. package/docs/modules/Util.html +2 -2
  326. package/docs/modules/Util.sculpt.html +2 -2
  327. package/docs/modules.html +2 -2
  328. package/docs/types/AddObject3DHelperConfig.html +2 -2
  329. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  330. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  331. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  332. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  333. package/docs/types/ArrayPosition.html +1 -1
  334. package/docs/types/AudioAppearance.html +1 -1
  335. package/docs/types/CSS3DRenderExportType.html +1 -1
  336. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  337. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  338. package/docs/types/ClassFunctionParameters.html +1 -1
  339. package/docs/types/Color.html +1 -1
  340. package/docs/types/ContentTypeConfigKey.html +1 -1
  341. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  342. package/docs/types/ContentTypeMap.html +1 -1
  343. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  344. package/docs/types/Create3DElementReturnType.html +1 -1
  345. package/docs/types/CruisePluginExportType.html +1 -1
  346. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  347. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  348. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  349. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  350. package/docs/types/DeprecatedTagProperty.html +2 -2
  351. package/docs/types/Direction-1.html +1 -1
  352. package/docs/types/Direction4.html +1 -1
  353. package/docs/types/ElementRenderer.html +2 -2
  354. package/docs/types/FloorplanRuleLabels.html +2 -2
  355. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  356. package/docs/types/GuideLinePluginExportType.html +1 -1
  357. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  358. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  359. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  360. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  361. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  362. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  363. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  364. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  365. package/docs/types/HelperEventMap.html +1 -1
  366. package/docs/types/InternalHelperEventMap.html +1 -1
  367. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  368. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  369. package/docs/types/MeasurePluginConfig.html +1 -1
  370. package/docs/types/MediaData.html +2 -2
  371. package/docs/types/MediaStore.html +1 -1
  372. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  373. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  374. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  375. package/docs/types/ModelId.html +1 -1
  376. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  377. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  378. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  379. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  380. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  381. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  382. package/docs/types/MoveArgs.html +2 -2
  383. package/docs/types/MoveOpts.html +2 -2
  384. package/docs/types/Object3DHelperEventMap.html +1 -1
  385. package/docs/types/ObjectFit.html +1 -1
  386. package/docs/types/PaintBrushEventMap.html +1 -1
  387. package/docs/types/PanoCompassPluginData.html +1 -1
  388. package/docs/types/PanoCompassPluginExportType.html +1 -1
  389. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  390. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  391. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  392. package/docs/types/PanoIndex.html +1 -1
  393. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  394. package/docs/types/PanoMeasureReturnType.html +1 -1
  395. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  396. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  397. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  398. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  399. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  400. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  401. package/docs/types/PipelinePluginParameterType.html +1 -1
  402. package/docs/types/PipelinePluginReturnType.html +1 -1
  403. package/docs/types/PlaneTag.html +2 -2
  404. package/docs/types/Point2DTag.html +2 -2
  405. package/docs/types/Point3DTag.html +2 -2
  406. package/docs/types/PointTagInstance.html +1 -1
  407. package/docs/types/Position.html +1 -1
  408. package/docs/types/PositionFrom.html +1 -1
  409. package/docs/types/RotateArgs.html +2 -2
  410. package/docs/types/RotateOpts.html +2 -2
  411. package/docs/types/RuleLabelsKey.html +1 -1
  412. package/docs/types/RuleLabelsValue.html +1 -1
  413. package/docs/types/ScaleCallback.html +1 -1
  414. package/docs/types/ScalePosition.html +2 -2
  415. package/docs/types/SculptData.BoxData.html +1 -1
  416. package/docs/types/SculptData.CircleData.html +1 -1
  417. package/docs/types/SculptData.CylinderData.html +1 -1
  418. package/docs/types/SculptData.PointData.html +1 -1
  419. package/docs/types/SculptData.PolygonData.html +1 -1
  420. package/docs/types/SculptData.PolylineData.html +1 -1
  421. package/docs/types/SculptData.PrismData.html +1 -1
  422. package/docs/types/SculptData.RectangleData.html +1 -1
  423. package/docs/types/SculptType.Theme.html +2 -2
  424. package/docs/types/StickType.html +1 -1
  425. package/docs/types/Tag.html +2 -2
  426. package/docs/types/Tag2D.html +2 -2
  427. package/docs/types/Tag3D.html +2 -2
  428. package/docs/types/TagClickParams.html +1 -1
  429. package/docs/types/TagConfigByKey.html +1 -1
  430. package/docs/types/TagContentType.html +1 -1
  431. package/docs/types/TagContentTypeMapping.html +1 -1
  432. package/docs/types/TagDimensionType.html +1 -1
  433. package/docs/types/TagElement.html +2 -2
  434. package/docs/types/TagEvents.html +1 -1
  435. package/docs/types/TagGLTFObject.html +1 -1
  436. package/docs/types/TagHooks.html +1 -1
  437. package/docs/types/TagId.html +1 -1
  438. package/docs/types/TagInstance.html +1 -1
  439. package/docs/types/TagPointType.html +2 -2
  440. package/docs/types/TagRendererMap.html +1 -1
  441. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  442. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  443. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  444. package/docs/types/Util.AdherePoint.html +2 -2
  445. package/docs/types/Util.PointSelectorConfig.html +1 -1
  446. package/docs/types/WorkCode.html +1 -1
  447. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  448. package/docs/variables/PLUGIN.html +1 -1
  449. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  450. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  451. package/docs/variables/Util.animeMap.html +1 -1
  452. package/docs/variables/defaultGlobalConfig.html +1 -1
  453. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  454. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  455. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  456. package/libs/MeasurePlugin/Controller.d.ts +10 -0
  457. package/libs/MeasurePlugin/Controller.js +157 -115
  458. package/libs/MeasurePlugin/index.d.ts +1 -0
  459. package/libs/PanoMeasurePlugin/utils/dom/base.d.ts +1 -1
  460. package/libs/PanoMeasurePlugin/utils/dom/base.js +3 -3
  461. package/libs/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +8 -1
  462. package/libs/PanoMeasurePlugin/utils/dom/distanceItem.js +128 -44
  463. package/libs/Sculpt/Meshes/Line.d.ts +3 -0
  464. package/libs/Sculpt/Meshes/Line.js +142 -103
  465. package/libs/Sculpt/Meshes/Point.js +35 -36
  466. package/libs/Sculpt/Meshes/Polygon.js +32 -44
  467. package/libs/Sculpt/utils/Meshes/getLengthHTML.d.ts +1 -0
  468. package/libs/Sculpt/utils/Meshes/getLengthHTML.js +55 -21
  469. package/libs/base/BasePlugin.js +1 -1
  470. package/libs/shared-utils/logger.js +1 -1
  471. package/package.json +1 -1
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>itemLabelPluginServerParams | 如视空间交互插件合集 - v3.65.7</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.65.7</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="itemLabelPluginServerParams.html">itemLabelPluginServerParams</a></li></ul><h1>Variable itemLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">item<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ItemLabelPlugin/index.ts:7</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.65.7</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>itemLabelPluginServerParams | 如视空间交互插件合集 - v3.65.8</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.65.8</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="itemLabelPluginServerParams.html">itemLabelPluginServerParams</a></li></ul><h1>Variable itemLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">item<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ItemLabelPlugin/index.ts:7</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.65.8</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelItemLabelPluginServerParams | 如视空间交互插件合集 - v3.65.7</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.65.7</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="modelItemLabelPluginServerParams.html">modelItemLabelPluginServerParams</a></li></ul><h1>Variable modelItemLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">model<wbr/>Item<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ModelItemLabelPlugin/index.ts:7</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.65.7</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelItemLabelPluginServerParams | 如视空间交互插件合集 - v3.65.8</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.65.8</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="modelItemLabelPluginServerParams.html">modelItemLabelPluginServerParams</a></li></ul><h1>Variable modelItemLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">model<wbr/>Item<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ModelItemLabelPlugin/index.ts:7</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.65.8</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelRoomLabelPluginServerParams | 如视空间交互插件合集 - v3.65.7</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.65.7</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="modelRoomLabelPluginServerParams.html">modelRoomLabelPluginServerParams</a></li></ul><h1>Variable modelRoomLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">model<wbr/>Room<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ModelRoomLabelPlugin/index.ts:9</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.65.7</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>modelRoomLabelPluginServerParams | 如视空间交互插件合集 - v3.65.8</title><meta name="description" content="Documentation for 如视空间交互插件合集"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">如视空间交互插件合集 - v3.65.8</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视空间交互插件合集</a></li><li><a href="modelRoomLabelPluginServerParams.html">modelRoomLabelPluginServerParams</a></li></ul><h1>Variable modelRoomLabelPluginServerParams<code class="tsd-tag">Const</code></h1></div><div class="tsd-signature"><span class="tsd-kind-variable">model<wbr/>Room<wbr/>Label<wbr/>Plugin<wbr/>Server<wbr/>Params</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{ </span><br/><span>    </span><span class="tsd-kind-property">name</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span><br/><span>    </span><span class="tsd-kind-property">version</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">; </span><br/><span class="tsd-signature-symbol">}</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in plugins/src/ModelRoomLabelPlugin/index.ts:9</li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视空间交互插件合集 - v3.65.8</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
@@ -32,6 +32,16 @@ export declare class MeasureController extends Subscribe<Event> {
32
32
  * @description 结束测量
33
33
  */
34
34
  endMeasure: () => void;
35
+ /**
36
+ * Enable or disable the display of length measurements
37
+ * @param enable - Whether to display length measurements
38
+ */
39
+ setLengthEnable: (enable: boolean) => void;
40
+ /**
41
+ * Switch the measurement unit without resetting the plugin
42
+ * @param unit - The new unit to use ('m' for metric or 'ft' for imperial)
43
+ */
44
+ setUnit: (unit: 'm' | 'ft') => void;
35
45
  /**
36
46
  * @description 取消本次测量
37
47
  */
@@ -2,36 +2,36 @@ var C = Object.defineProperty, L = Object.defineProperties;
2
2
  var F = Object.getOwnPropertyDescriptors;
3
3
  var w = Object.getOwnPropertySymbols;
4
4
  var k = Object.prototype.hasOwnProperty, H = Object.prototype.propertyIsEnumerable;
5
- var b = (h, l, e) => l in h ? C(h, l, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[l] = e, y = (h, l) => {
5
+ var P = (a, l, e) => l in a ? C(a, l, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[l] = e, h = (a, l) => {
6
6
  for (var e in l || (l = {}))
7
- k.call(l, e) && b(h, e, l[e]);
7
+ k.call(l, e) && P(a, e, l[e]);
8
8
  if (w)
9
9
  for (var e of w(l))
10
- H.call(l, e) && b(h, e, l[e]);
11
- return h;
12
- }, P = (h, l) => L(h, F(l));
13
- var i = (h, l, e) => (b(h, typeof l != "symbol" ? l + "" : l, e), e);
10
+ H.call(l, e) && P(a, e, l[e]);
11
+ return a;
12
+ }, b = (a, l) => L(a, F(l));
13
+ var n = (a, l, e) => (P(a, typeof l != "symbol" ? l + "" : l, e), e);
14
14
  import * as c from "three";
15
15
  import "../shared-utils/tag.js";
16
16
  import "../vendor/hammerjs/hammer.js";
17
- import { Subscribe as I } from "../shared-utils/Subscribe.js";
18
- import { PointSelector as T } from "../shared-utils/three/PointSelector/index.js";
17
+ import { Subscribe as U } from "../shared-utils/Subscribe.js";
18
+ import { PointSelector as I } 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 D } 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";
25
25
  import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
26
- import { FiveDomEvents as x } from "../shared-utils/five/FiveDomEvents.js";
26
+ import { FiveDomEvents as T } from "../shared-utils/five/FiveDomEvents.js";
27
27
  import "../shared-utils/five/FivePuppet.js";
28
- import { MeasureMesh as U } from "./utils/MeasureMesh.js";
29
- import { PointMesh as _ } from "../Sculpt/Meshes/Point.js";
28
+ import { MeasureMesh as x } from "./utils/MeasureMesh.js";
29
+ import { PointMesh as D } from "../Sculpt/Meshes/Point.js";
30
30
  import { LineWithDotsMesh as V } from "../Sculpt/Meshes/LineWithDots.js";
31
- import { hotkeys as f } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
31
+ import { hotkeys as v } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
32
32
  import { PolygonMesh as z } from "../Sculpt/Meshes/Polygon.js";
33
- import { validatePolygon as A } from "./utils/validatePolygon.js";
34
- import { IObject3D as R } from "../shared-utils/three/IObject3D.js";
33
+ import { validatePolygon as R } from "./utils/validatePolygon.js";
34
+ import { IObject3D as A } from "../shared-utils/three/IObject3D.js";
35
35
  import { Cursor as B } from "../Sculpt/utils/Modules/Cursor.js";
36
36
  import { THREERaycaster as N } from "../shared-utils/three/core/Raycaster.js";
37
37
  import "../shared-utils/positionToVector3.js";
@@ -94,23 +94,23 @@ import "../shared-utils/three/geometryUtil.js";
94
94
  import "../shared-utils/three/vectorIsEqual.js";
95
95
  import "../Sculpt/utils/Modules/DeleteButtonBgBorder.js";
96
96
  import "../Sculpt/utils/Modules/DeleteIconSVG.js";
97
- class Mt extends I {
97
+ class gt extends U {
98
98
  constructor(e, t) {
99
99
  super();
100
- i(this, "name", "MeasurePlugin");
101
- i(this, "currentMeasureMesh");
102
- i(this, "five");
103
- i(this, "group");
104
- i(this, "_pointSelector");
105
- i(this, "_fiveDomEvents");
106
- i(this, "_cursor");
107
- i(this, "_config");
108
- i(this, "lineStyle", {
100
+ n(this, "name", "MeasurePlugin");
101
+ n(this, "currentMeasureMesh");
102
+ n(this, "five");
103
+ n(this, "group");
104
+ n(this, "_pointSelector");
105
+ n(this, "_fiveDomEvents");
106
+ n(this, "_cursor");
107
+ n(this, "_config");
108
+ n(this, "lineStyle", {
109
109
  lengthEnable: !0,
110
110
  occlusionVisibility: !0,
111
111
  lengthUnit: "m"
112
112
  });
113
- i(this, "polygonStyle", {
113
+ n(this, "polygonStyle", {
114
114
  lengthEnable: !0,
115
115
  occlusionVisibility: !0,
116
116
  opacity: 0.2,
@@ -119,188 +119,228 @@ class Mt extends I {
119
119
  /**
120
120
  * @description 开始测量
121
121
  */
122
- i(this, "measure", () => {
123
- this.listener.addMeasureListener(), this.listener.removeClickListener(), this.group.children.forEach((n) => n.unselect()), this.cursor.removeDeleteButton();
124
- const e = new U({
122
+ n(this, "measure", () => {
123
+ this.listener.addMeasureListener(), this.listener.removeClickListener(), this.group.children.forEach((r) => r.unselect()), this.cursor.removeDeleteButton();
124
+ const e = new x({
125
125
  lineStyle: this.lineStyle,
126
126
  polygonStyle: this.polygonStyle
127
127
  });
128
128
  this.currentMeasureMesh = e, e.line.setStyle({ cssStyle: "pointer-events: none;" }), this.pointSelector.actionIfNoIntersection = "disable", this.updateSelectAdsorbedHelper();
129
- const t = new _({ occlusionMode: "depthTest", occlusionVisibility: !0 }), r = new V(P(y({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), o = new z(this.polygonStyle), a = new D(P(y({}, this.lineStyle), {
129
+ const t = new D({ occlusionMode: "depthTest", occlusionVisibility: !0 }), o = new V(b(h({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), i = new z(this.polygonStyle), p = new _(b(h({}, this.lineStyle), {
130
130
  lineOpacity: 0.5,
131
131
  lineColor: 3407837,
132
132
  dashed: !0,
133
- cssStyle: "pointer-events: none; color: #fff; opacity: 0.5;"
134
- })), p = new D(P(y({}, this.lineStyle), {
133
+ cssStyle: "pointer-events: none; opacity: 0.5;"
134
+ })), u = new _(b(h({}, this.lineStyle), {
135
135
  lineOpacity: 0.5,
136
136
  lineColor: 3407837,
137
137
  dashed: !0,
138
- cssStyle: "pointer-events: none; color: #fff; opacity: 0.5;"
139
- })), u = new _({ occlusionMode: "depthTest", occlusionVisibility: !0, color: 3407837, opacity: 0.5 }), m = () => {
140
- t.removeFromParent(), r.removeFromParent(), o.removeFromParent(), a.removeFromParent(), p.removeFromParent(), u.removeFromParent();
138
+ cssStyle: "pointer-events: none; opacity: 0.5;"
139
+ })), m = new D({ occlusionMode: "depthTest", occlusionVisibility: !0, color: 3407837, opacity: 0.5 }), d = () => {
140
+ t.removeFromParent(), o.removeFromParent(), i.removeFromParent(), p.removeFromParent(), u.removeFromParent(), m.removeFromParent();
141
141
  };
142
142
  this.group.add(e);
143
- const v = (n) => {
144
- if (!n) {
145
- m();
143
+ const g = (r) => {
144
+ if (!r) {
145
+ d();
146
146
  return;
147
147
  }
148
- if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(n.point)), e.points.length >= 1)
149
- if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(r), r.setPoints([e.points.at(-1), n.point]), n.isAdsorbed)
150
- a.removeFromParent(), p.removeFromParent(), u.removeFromParent();
148
+ if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(r.point)), e.points.length >= 1)
149
+ if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(o), o.setPoints([e.points.at(-1), r.point]), r.isAdsorbed)
150
+ p.removeFromParent(), u.removeFromParent(), m.removeFromParent();
151
151
  else {
152
152
  const s = e.points.at(-1);
153
- if (Math.abs(n.point.y - s.y) > 0.2) {
154
- const d = new c.Vector3(n.point.x, s.y, n.point.z);
155
- a.setPoints([s, d]), p.setPoints([d, n.point]), u.position.copy(d);
153
+ if (Math.abs(r.point.y - s.y) > 0.2) {
154
+ const f = new c.Vector3(r.point.x, s.y, r.point.z);
155
+ p.setPoints([s, f]), u.setPoints([f, r.point]), m.position.copy(f);
156
156
  } else {
157
- let d = new c.Vector3();
158
- Math.abs(n.point.x - s.x) < Math.abs(n.point.z - s.z) ? d = new c.Vector3(n.point.x, s.y, s.z) : d = new c.Vector3(s.x, s.y, n.point.z), a.setPoints([s, d]), p.setPoints([d, n.point]), u.position.copy(d);
157
+ let f = new c.Vector3();
158
+ Math.abs(r.point.x - s.x) < Math.abs(r.point.z - s.z) ? f = new c.Vector3(r.point.x, s.y, s.z) : f = new c.Vector3(s.x, s.y, r.point.z), p.setPoints([s, f]), u.setPoints([f, r.point]), m.position.copy(f);
159
159
  }
160
- this.group.addIfNotExists(a, p, u);
160
+ this.group.addIfNotExists(p, u, m);
161
161
  }
162
162
  if (e.points.length >= 2) {
163
- const s = [...e.points, n.point];
164
- A(s) ? (o.setPoints(s), this.group.addIfNotExists(o)) : o.removeFromParent();
163
+ const s = [...e.points, r.point];
164
+ R(s) ? (i.setPoints(s), this.group.addIfNotExists(i)) : i.removeFromParent();
165
165
  }
166
- }, M = (n) => {
167
- n && (m(), e.setPoints([...e.points, n.point]), this.updateSelectAdsorbedHelper(), e.isPolygon && this.pointSelector.disable());
168
- }, g = () => {
169
- var n, s;
170
- e == null || e.setPoints(e.points.slice(0, -1)), m(), (s = (n = this.pointSelector.pointSelectorHelper) == null ? void 0 : n.magnifier) == null || s.render(), this.updateSelectAdsorbedHelper(), this.five.needsRender = !0;
166
+ }, y = (r) => {
167
+ r && (d(), e.setPoints([...e.points, r.point]), this.updateSelectAdsorbedHelper(), e.isPolygon && this.pointSelector.disable());
168
+ }, M = () => {
169
+ var r, s;
170
+ e == null || e.setPoints(e.points.slice(0, -1)), d(), (s = (r = this.pointSelector.pointSelectorHelper) == null ? void 0 : r.magnifier) == null || s.render(), this.updateSelectAdsorbedHelper(), this.five.needsRender = !0;
171
171
  }, E = () => {
172
- this.pointSelector.off("intersectionUpdate", v), this.pointSelector.off("select", M), this.pointSelector.off("disable", E), this.off("undo", g), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), m(), e.points.length < 2 && e.removeFromParent(), e.__five_pano_index = this.five.panoIndex, this.currentMeasureMesh = null, this.listener.addClickListener(), this.listener.removeMeasureListener(), this.emit("measureEnd");
172
+ this.pointSelector.off("intersectionUpdate", g), this.pointSelector.off("select", y), this.pointSelector.off("disable", E), this.off("undo", M), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), d(), e.points.length < 2 && e.removeFromParent(), e.__five_pano_index = this.five.panoIndex, this.currentMeasureMesh = null, this.listener.addClickListener(), this.listener.removeMeasureListener(), this.emit("measureEnd");
173
173
  };
174
- this.on("undo", g), this.pointSelector.on("intersectionUpdate", v), this.pointSelector.on("select", M), this.pointSelector.on("disable", E), this.pointSelector.enable();
174
+ this.on("undo", M), this.pointSelector.on("intersectionUpdate", g), this.pointSelector.on("select", y), this.pointSelector.on("disable", E), this.pointSelector.enable();
175
175
  });
176
176
  /**
177
177
  * @description 结束测量
178
178
  */
179
- i(this, "endMeasure", () => {
179
+ n(this, "endMeasure", () => {
180
180
  this.pointSelector.disable();
181
181
  });
182
+ /**
183
+ * Enable or disable the display of length measurements
184
+ * @param enable - Whether to display length measurements
185
+ */
186
+ n(this, "setLengthEnable", (e) => {
187
+ this.lineStyle.lengthEnable = e, this.polygonStyle.lengthEnable = e, this.group.children.forEach((t) => {
188
+ t.changeConfig({
189
+ lineStyle: h({}, this.lineStyle),
190
+ polygonStyle: h({}, this.polygonStyle)
191
+ });
192
+ }), this.currentMeasureMesh && this.currentMeasureMesh.changeConfig({
193
+ lineStyle: h({}, this.lineStyle),
194
+ polygonStyle: h({}, this.polygonStyle)
195
+ }), this.five.needsRender = !0;
196
+ });
197
+ /**
198
+ * Switch the measurement unit without resetting the plugin
199
+ * @param unit - The new unit to use ('m' for metric or 'ft' for imperial)
200
+ */
201
+ n(this, "setUnit", (e) => {
202
+ if (this._config && (this._config.unit = e), this.lineStyle.lengthUnit = e, this.polygonStyle.lengthUnit = e, this.group.children.forEach((t) => {
203
+ try {
204
+ t.changeConfig({
205
+ lineStyle: h({}, this.lineStyle),
206
+ polygonStyle: h({}, this.polygonStyle)
207
+ });
208
+ } catch (o) {
209
+ }
210
+ }), this.currentMeasureMesh)
211
+ try {
212
+ this.currentMeasureMesh.changeConfig({
213
+ lineStyle: h({}, this.lineStyle),
214
+ polygonStyle: h({}, this.polygonStyle)
215
+ });
216
+ } catch (t) {
217
+ }
218
+ this.group.children.forEach((t) => {
219
+ t.visible || (t.visible = !0), t.line && !t.line.visible && (t.line.visible = !0), t.isPolygon && t.polygon && !t.polygon.visible && (t.polygon.visible = !0);
220
+ }), this.five.needsRender = !0;
221
+ });
182
222
  /**
183
223
  * @description 取消本次测量
184
224
  */
185
- i(this, "cancel", () => {
225
+ n(this, "cancel", () => {
186
226
  var e;
187
227
  (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.pointSelector.disable();
188
228
  });
189
229
  /**
190
230
  * @description 撤销上一步
191
231
  */
192
- i(this, "undo", () => {
232
+ n(this, "undo", () => {
193
233
  this.emit("undo");
194
234
  });
195
235
  /**
196
236
  * @description 清空正在测量的内容
197
237
  */
198
- i(this, "clearCurrentMeasure", () => {
238
+ n(this, "clearCurrentMeasure", () => {
199
239
  var e;
200
240
  (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.currentMeasureMesh = null, this.pointSelector.disable();
201
241
  });
202
242
  /**
203
243
  * @description 清空所有测量内容
204
244
  */
205
- i(this, "clear", () => {
245
+ n(this, "clear", () => {
206
246
  this.currentMeasureMesh = null, this.pointSelector.disable(), this.group.removeChildren(), this.cursor.removeDeleteButton();
207
247
  });
208
- i(this, "dispose", () => {
248
+ n(this, "dispose", () => {
209
249
  this.listener.removeMeasureListener(), this.listener.removeClickListener(), this.pointSelector.disable(), this.clear();
210
250
  });
211
251
  // eslint-disable-next-line @typescript-eslint/member-ordering
212
- i(this, "listener", {
252
+ n(this, "listener", {
213
253
  // 点击事件
214
254
  addClickListener: () => {
215
255
  this.group.children.forEach((e) => {
216
256
  var t;
217
- (t = e.line.doms) == null || t.forEach((r) => {
218
- r.container.onclick = (o) => this.onClick({ origDomEvent: o, target: e }), r.container.onmouseenter = () => this.onHover({ target: e }), r.container.onmouseleave = () => this.onUnHover({ target: e });
219
- }), e.polygon.areaDom && (e.polygon.areaDom.container.onclick = (r) => this.onClick({ origDomEvent: r, 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), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), f("delete, backspace", this.deleteSelectedMesh);
257
+ (t = e.line.doms) == null || t.forEach((o) => {
258
+ o.container.onclick = (i) => this.onClick({ origDomEvent: i, target: e }), o.container.onmouseenter = () => this.onHover({ target: e }), o.container.onmouseleave = () => this.onUnHover({ target: e });
259
+ }), e.polygon.areaDom && (e.polygon.areaDom.container.onclick = (o) => this.onClick({ origDomEvent: o, 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), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), v("delete, backspace", this.deleteSelectedMesh);
220
260
  });
221
261
  },
222
262
  removeClickListener: () => {
223
263
  this.group.children.forEach((e) => {
224
- var t, r;
225
- (t = e.line.doms) == null || t.forEach((o) => {
226
- o != null && o.container && (o.container.onclick = null, o.container.onmouseenter = null, o.container.onmouseleave = null);
227
- }), (r = e.polygon.areaDom) != null && r.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null);
228
- }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), f.unbind("delete, backspace");
264
+ var t, o;
265
+ (t = e.line.doms) == null || t.forEach((i) => {
266
+ i != null && i.container && (i.container.onclick = null, i.container.onmouseenter = null, i.container.onmouseleave = null);
267
+ }), (o = e.polygon.areaDom) != null && o.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null);
268
+ }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), v.unbind("delete, backspace");
229
269
  },
230
270
  // 绘制快捷键
231
271
  addMeasureListener: () => {
232
- f("ctrl+z, command+z", this.undo), f("esc", this.cancel), f("enter", this.endMeasure), this.five.on("mode.change", this.endMeasure), this.five.on("pano.moveTo", this.endMeasure), this.five.on("model.changeShownFloor", this.endMeasure);
272
+ v("ctrl+z, command+z", this.undo), v("esc", this.cancel), v("enter", this.endMeasure), this.five.on("mode.change", this.endMeasure), this.five.on("pano.moveTo", this.endMeasure), this.five.on("model.changeShownFloor", this.endMeasure);
233
273
  },
234
274
  removeMeasureListener: () => {
235
- f.unbind("ctrl+z, command+z"), f.unbind("esc"), f.unbind("enter"), this.five.off("mode.change", this.endMeasure), this.five.off("pano.moveTo", this.endMeasure), this.five.off("model.changeShownFloor", this.endMeasure);
275
+ v.unbind("ctrl+z, command+z"), v.unbind("esc"), v.unbind("enter"), this.five.off("mode.change", this.endMeasure), this.five.off("pano.moveTo", this.endMeasure), this.five.off("model.changeShownFloor", this.endMeasure);
236
276
  }
237
277
  });
238
- i(this, "onMoveToPano", (e) => {
239
- const t = this.group.children.filter((o) => o !== this.currentMeasureMesh), r = new N();
240
- t.forEach((o) => {
241
- var p;
242
- if (o.unselect(), o.__five_pano_index === e) {
243
- o.visible = !0;
278
+ n(this, "onMoveToPano", (e) => {
279
+ const t = this.group.children.filter((i) => i !== this.currentMeasureMesh), o = new N();
280
+ t.forEach((i) => {
281
+ var u;
282
+ if (i.unselect(), i.__five_pano_index === e) {
283
+ i.visible = !0;
244
284
  return;
245
285
  }
246
- ((p = o.line.points) == null ? void 0 : p.some((u) => {
286
+ ((u = i.line.points) == null ? void 0 : u.some((m) => {
247
287
  var s, S;
248
- const m = u.clone().sub(this.five.camera.position).normalize();
249
- r.set(this.five.camera.position, m);
250
- const v = (S = (s = this.five.model.intersectRaycaster(r, void 0, !0)) == null ? void 0 : s[0]) == null ? void 0 : S.point;
251
- if (!v)
288
+ const d = m.clone().sub(this.five.camera.position).normalize();
289
+ o.set(this.five.camera.position, d);
290
+ const g = (S = (s = this.five.model.intersectRaycaster(o, void 0, !0)) == null ? void 0 : s[0]) == null ? void 0 : S.point;
291
+ if (!g)
252
292
  return !0;
253
- const M = 0.01, g = u.distanceTo(this.five.camera.position);
254
- return v.distanceTo(this.five.camera.position) + M > g;
255
- })) ? o.visible = !0 : o.visible = !1, this.five.needsRender = !0;
293
+ const y = 0.01, M = m.distanceTo(this.five.camera.position);
294
+ return g.distanceTo(this.five.camera.position) + y > M;
295
+ })) ? i.visible = !0 : i.visible = !1, this.five.needsRender = !0;
256
296
  });
257
297
  });
258
- i(this, "onModeChange", (e) => {
298
+ n(this, "onModeChange", (e) => {
259
299
  e === "Mapview" && this.group.children.forEach((t) => {
260
300
  t.visible = !0;
261
301
  });
262
302
  });
263
- i(this, "onClick", ({ origDomEvent: e, target: t }) => {
264
- var m;
265
- const r = t;
266
- if (!r)
303
+ n(this, "onClick", ({ origDomEvent: e, target: t }) => {
304
+ var d;
305
+ const o = t;
306
+ if (!o)
267
307
  return;
268
- if (r.selected) {
269
- r.unselect(), this.cursor.removeDeleteButton();
308
+ if (o.selected) {
309
+ o.unselect(), this.cursor.removeDeleteButton();
270
310
  return;
271
311
  }
272
- let o, a;
273
- if (e && ("touches" in e && e.touches && e.touches[0] ? (o = e.touches[0].clientX, a = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (o = e.clientX, a = e.clientY)), o === void 0 || a === void 0)
312
+ let i, p;
313
+ if (e && ("touches" in e && e.touches && e.touches[0] ? (i = e.touches[0].clientX, p = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (i = e.clientX, p = e.clientY)), i === void 0 || p === void 0)
274
314
  return;
275
- this.group.children.forEach((v) => v.unselect()), r.select();
276
- const p = () => {
277
- r.removeFromParent(), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
278
- }, u = ((m = this.five.getElement()) == null ? void 0 : m.parentElement) || document.body;
315
+ this.group.children.forEach((g) => g.unselect()), o.select();
316
+ const u = () => {
317
+ o.removeFromParent(), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
318
+ }, m = ((d = this.five.getElement()) == null ? void 0 : d.parentElement) || document.body;
279
319
  this.cursor.showDeleteButton({
280
- clientX: o,
281
- clientY: a,
282
- container: u,
283
- onClick: p
320
+ clientX: i,
321
+ clientY: p,
322
+ container: m,
323
+ onClick: u
284
324
  }), this.five.once("cameraUpdate", () => {
285
- r.unselect(), this.cursor.removeDeleteButton();
325
+ o.unselect(), this.cursor.removeDeleteButton();
286
326
  });
287
327
  });
288
- i(this, "onHover", ({ target: e }) => {
328
+ n(this, "onHover", ({ target: e }) => {
289
329
  if (this.currentMeasureMesh)
290
330
  return;
291
331
  const t = e;
292
332
  t && t.hover();
293
333
  });
294
- i(this, "onUnHover", ({ target: e }) => {
334
+ n(this, "onUnHover", ({ target: e }) => {
295
335
  if (this.currentMeasureMesh)
296
336
  return;
297
337
  const t = e;
298
338
  t && t.unhover();
299
339
  });
300
- i(this, "deleteSelectedMesh", () => {
340
+ n(this, "deleteSelectedMesh", () => {
301
341
  this.group.children.filter((t) => t.selected).forEach((t) => t.removeFromParent()), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
302
342
  });
303
- i(this, "updateSelectAdsorbedHelper", () => {
343
+ n(this, "updateSelectAdsorbedHelper", () => {
304
344
  if (!this.currentMeasureMesh || this.currentMeasureMesh.points.length === 0) {
305
345
  this.pointSelector.setAdherePoints(null), this.pointSelector.adhereLine = [], this.pointSelector.adherePlane = [];
306
346
  return;
@@ -324,13 +364,15 @@ class Mt extends I {
324
364
  } else
325
365
  this.pointSelector.adherePlane = [];
326
366
  });
327
- this.five = e, this.config = t != null ? t : { unit: "m" }, this.group = new R(), this.group.name = "MeasureGroup", this.five.scene.add(this.group);
367
+ this.five = e;
368
+ const o = { unit: "m", lengthEnable: !0 };
369
+ this.config = t ? h(h({}, o), t) : o, this.group = new A(), this.group.name = "MeasureGroup", this.five.scene.add(this.group);
328
370
  }
329
371
  get pointSelector() {
330
- return this._pointSelector ? this._pointSelector : (this._pointSelector = new T(this.five, { mode: "cursor", helper: { pointHelper: "highlight" } }), this._pointSelector);
372
+ return this._pointSelector ? this._pointSelector : (this._pointSelector = new I(this.five, { mode: "cursor", helper: { pointHelper: "highlight" } }), this._pointSelector);
331
373
  }
332
374
  get fiveDomEvents() {
333
- return this._fiveDomEvents ? this._fiveDomEvents : (this._fiveDomEvents = new x(this.five, { fiveModels: null }), this._fiveDomEvents);
375
+ return this._fiveDomEvents ? this._fiveDomEvents : (this._fiveDomEvents = new T(this.five, { fiveModels: null }), this._fiveDomEvents);
334
376
  }
335
377
  get cursor() {
336
378
  return this._cursor ? this._cursor : (this._cursor = new B(), this._cursor);
@@ -339,10 +381,10 @@ class Mt extends I {
339
381
  return this._config;
340
382
  }
341
383
  set config(e) {
342
- var t, r;
343
- this._config = e, this.lineStyle.lengthUnit = e.unit, this.polygonStyle.lengthUnit = e.unit, (r = (t = this.group) == null ? void 0 : t.children) == null || r.forEach((o) => o.changeConfig({ lineStyle: this.lineStyle, polygonStyle: this.polygonStyle }));
384
+ var t, o;
385
+ this._config = e, this.lineStyle.lengthUnit = e.unit, this.polygonStyle.lengthUnit = e.unit, e.lengthEnable !== void 0 && (this.lineStyle.lengthEnable = e.lengthEnable, this.polygonStyle.lengthEnable = e.lengthEnable), (o = (t = this.group) == null ? void 0 : t.children) == null || o.forEach((i) => i.changeConfig({ lineStyle: this.lineStyle, polygonStyle: this.polygonStyle }));
344
386
  }
345
387
  }
346
388
  export {
347
- Mt as MeasureController
389
+ gt as MeasureController
348
390
  };
@@ -2,5 +2,6 @@ import type { Five } from '@realsee/five';
2
2
  import { MeasureController } from './Controller';
3
3
  export type MeasurePluginConfig = {
4
4
  unit: 'm' | 'ft';
5
+ lengthEnable?: boolean;
5
6
  };
6
7
  export declare const MeasurePlugin: (five: Five, config?: MeasurePluginConfig) => MeasureController;
@@ -16,7 +16,7 @@ export declare abstract class ItemDom {
16
16
  setCanSelect(canSelect: boolean): void;
17
17
  highlight(): void;
18
18
  unHighlight(): void;
19
- appendTo(container: Element): void;
19
+ appendTo(container: Element): this;
20
20
  remove(): void;
21
21
  show(): void;
22
22
  hide(): void;
@@ -13,7 +13,7 @@ function D(e) {
13
13
  const t = document.createElement("div");
14
14
  return e != null && e.id && (t.id = e == null ? void 0 : e.id), t.classList.add("five-plugin-measure__distance"), t.style.position = "absolute", t.style.left = "0", t.style.top = "0", t.style.width = "0", t.style.height = "0", t.style.transform = "translate(-10px, -10px)", t.style.transformOrigin = "left top", e != null && e.style && Object.assign(t.style, e.style), t;
15
15
  }
16
- class u {
16
+ class f {
17
17
  constructor(t) {
18
18
  n(this, "ndcPosition");
19
19
  n(this, "contentDom");
@@ -36,7 +36,7 @@ class u {
36
36
  this.contentDom.style.border = "0.5px solid rgba(255,255,255,0.6)", this.contentDom.style.background = "rgba(195,195,195,0.70)";
37
37
  }
38
38
  appendTo(t) {
39
- t.appendChild(this.containerDom), this.containerDom.addEventListener("click", this.handleClick);
39
+ return t.appendChild(this.containerDom), this.containerDom.addEventListener("click", this.handleClick), this;
40
40
  }
41
41
  remove() {
42
42
  this.contentDom.removeEventListener("click", this.handleClick), this.containerDom.remove();
@@ -74,5 +74,5 @@ class u {
74
74
  }
75
75
  }
76
76
  export {
77
- u as ItemDom
77
+ f as ItemDom
78
78
  };