@realsee/dnalogel 3.65.7 → 3.65.9

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