@realsee/dnalogel 3.77.2 → 3.78.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/CruisePlugin/Work.d.ts +4 -0
  3. package/dist/CruisePlugin/typing.d.ts +7 -0
  4. package/dist/CruisePlugin/utils/coordinatesAngle.d.ts +19 -3
  5. package/dist/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
  6. package/dist/PanoTagPlugin/controller/Tag/BoxTag.d.ts +118 -0
  7. package/dist/PanoTagPlugin/controller/Tag/MaskTag.d.ts +157 -0
  8. package/dist/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +13 -0
  9. package/dist/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
  10. package/dist/PanoTagPlugin/controller/TagRender.d.ts +1 -1
  11. package/dist/PanoTagPlugin/controller/index.d.ts +36 -1
  12. package/dist/PanoTagPlugin/typings/controller.d.ts +10 -0
  13. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
  14. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
  15. package/dist/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
  16. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
  17. package/dist/PanoTagPlugin/utils/tagPosition.d.ts +2 -2
  18. package/dist/index.cjs.js +160 -82
  19. package/dist/index.js +12244 -10999
  20. package/dist/index.umd.js +159 -81
  21. package/docs/.nojekyll +1 -0
  22. package/docs/assets/custom.css +0 -0
  23. package/docs/assets/highlight.css +127 -0
  24. package/docs/assets/icons.js +18 -0
  25. package/docs/assets/icons.svg +1 -0
  26. package/docs/assets/main.js +60 -0
  27. package/docs/assets/navigation.js +1 -0
  28. package/docs/assets/search.js +1 -0
  29. package/docs/assets/style.css +1493 -0
  30. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +59 -0
  31. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +71 -0
  32. package/docs/classes/CSS3DRender.html +100 -0
  33. package/docs/classes/GuideLineItem.GuideLineItem.html +21 -0
  34. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +70 -0
  35. package/docs/classes/ModelMakerPluginInstance.html +116 -0
  36. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +52 -0
  37. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +52 -0
  38. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +53 -0
  39. package/docs/classes/ModelRoomLabelController.html +19 -0
  40. package/docs/classes/MoveController.html +45 -0
  41. package/docs/classes/Object3DHelperController.html +45 -0
  42. package/docs/classes/PaintBrush.html +15 -0
  43. package/docs/classes/PanoMeasurePluginLine.html +24 -0
  44. package/docs/classes/PanoMeasurePluginModel.html +23 -0
  45. package/docs/classes/PanoMeasurePluginPoint.html +7 -0
  46. package/docs/classes/PanoMeasurePluginPolyline.html +27 -0
  47. package/docs/classes/PanoTagPluginController.html +119 -0
  48. package/docs/classes/Sculpt.html +77 -0
  49. package/docs/classes/Util.BetterTween.html +6 -0
  50. package/docs/classes/Util.FiveDomEvents.html +13 -0
  51. package/docs/classes/Util.FivePuppet.html +20 -0
  52. package/docs/classes/Util.Interval.html +11 -0
  53. package/docs/classes/Util.LegacyPointHelper.html +7 -0
  54. package/docs/classes/Util.LightTag.html +47 -0
  55. package/docs/classes/Util.LineSegments.html +4 -0
  56. package/docs/classes/Util.Magnifier.html +26 -0
  57. package/docs/classes/Util.Object3D.html +8 -0
  58. package/docs/classes/Util.PointDomHelper.html +8 -0
  59. package/docs/classes/Util.PointHelper.html +10 -0
  60. package/docs/classes/Util.PointSelector.html +66 -0
  61. package/docs/classes/Util.PointSelectorHelper.html +14 -0
  62. package/docs/classes/Util.Rectangle.html +12 -0
  63. package/docs/classes/Util.sculpt.BaseEditor.html +17 -0
  64. package/docs/classes/Util.sculpt.BoxMesh.html +48 -0
  65. package/docs/classes/Util.sculpt.BoxMeshEditor.html +18 -0
  66. package/docs/classes/Util.sculpt.CircleMesh.html +26 -0
  67. package/docs/classes/Util.sculpt.CircleMeshEditor.html +18 -0
  68. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +26 -0
  69. package/docs/classes/Util.sculpt.CylinderMesh.html +25 -0
  70. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +18 -0
  71. package/docs/classes/Util.sculpt.LineMesh.html +34 -0
  72. package/docs/classes/Util.sculpt.PointMesh.html +24 -0
  73. package/docs/classes/Util.sculpt.PolygonMesh.html +40 -0
  74. package/docs/classes/Util.sculpt.PrismMesh.html +48 -0
  75. package/docs/classes/Util.sculpt.PrismMeshEditor.html +18 -0
  76. package/docs/classes/Util.sculpt.RectangleMesh.html +41 -0
  77. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +18 -0
  78. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +44 -0
  79. package/docs/classes/WalkController.html +42 -0
  80. package/docs/enums/CameraMovementEffect.html +4 -0
  81. package/docs/enums/ContentType.html +34 -0
  82. package/docs/enums/DIRECTION.html +5 -0
  83. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +5 -0
  84. package/docs/enums/DimensionType.html +4 -0
  85. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +4 -0
  86. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +5 -0
  87. package/docs/enums/PaintBrushTypeEnum.html +4 -0
  88. package/docs/enums/PointType.html +4 -0
  89. package/docs/enums/Rotation.html +5 -0
  90. package/docs/functions/AreaMakerPlugin.html +1 -0
  91. package/docs/functions/CSS3DRenderPlugin.html +1 -0
  92. package/docs/functions/CameraMovementPlugin.html +2 -0
  93. package/docs/functions/CruisePlugin.html +1 -0
  94. package/docs/functions/CurrentPanoImagePlugin.html +1 -0
  95. package/docs/functions/FloorplanGuidePlugin.html +1 -0
  96. package/docs/functions/GuideLinePlugin.html +1 -0
  97. package/docs/functions/ItemLabelPlugin.html +1 -0
  98. package/docs/functions/MapviewFloorplanPlugin.html +1 -0
  99. package/docs/functions/MeasurePlugin.html +1 -0
  100. package/docs/functions/ModelChassisCompassPlugin.html +2 -0
  101. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -0
  102. package/docs/functions/ModelFloorplanPlugin.html +1 -0
  103. package/docs/functions/ModelItemLabelPlugin.html +1 -0
  104. package/docs/functions/ModelMakerPlugin.html +1 -0
  105. package/docs/functions/ModelRoomLabelPlugin.html +1 -0
  106. package/docs/functions/ModelTVVideoPlugin.html +1 -0
  107. package/docs/functions/ModelViewPlugin.html +2 -0
  108. package/docs/functions/MovePlugin.html +1 -0
  109. package/docs/functions/Object3DHelperPlugin.html +1 -0
  110. package/docs/functions/PanoCompassPlugin.html +1 -0
  111. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -0
  112. package/docs/functions/PanoDoorLabelPlugin.html +1 -0
  113. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -0
  114. package/docs/functions/PanoMeasurePlugin.html +1 -0
  115. package/docs/functions/PanoRulerPlugin.html +2 -0
  116. package/docs/functions/PanoRulerProPlugin.html +2 -0
  117. package/docs/functions/PanoSpatialTagPlugin.html +2 -0
  118. package/docs/functions/PanoTagPlugin.html +1 -0
  119. package/docs/functions/PanoVideoPlugin.html +10 -0
  120. package/docs/functions/PipelinePlugin.html +1 -0
  121. package/docs/functions/SculptPlugin.html +2 -0
  122. package/docs/functions/SculptPluginForFive.html +2 -0
  123. package/docs/functions/TopviewFloorplanPlugin.html +1 -0
  124. package/docs/functions/Util.awaitNextFrame.html +1 -0
  125. package/docs/functions/Util.blink.html +13 -0
  126. package/docs/functions/Util.blinkWithPreset.html +6 -0
  127. package/docs/functions/Util.bounding.html +1 -0
  128. package/docs/functions/Util.boundingBox.html +1 -0
  129. package/docs/functions/Util.boundingSphere.html +1 -0
  130. package/docs/functions/Util.boxVertex.html +7 -0
  131. package/docs/functions/Util.boxVertexes.html +1 -0
  132. package/docs/functions/Util.checkFiveModelLoaded.html +2 -0
  133. package/docs/functions/Util.cleanup.html +3 -0
  134. package/docs/functions/Util.convexHull.html +2 -0
  135. package/docs/functions/Util.equal.html +5 -0
  136. package/docs/functions/Util.fiveModelIsLoaded.html +2 -0
  137. package/docs/functions/Util.generatePolygonGeometry.html +2 -0
  138. package/docs/functions/Util.getCoordsFromClient.html +1 -0
  139. package/docs/functions/Util.getCoordsFromElement.html +1 -0
  140. package/docs/functions/Util.getFrameTime.html +3 -0
  141. package/docs/functions/Util.getGeometryArea.html +1 -0
  142. package/docs/functions/Util.getGeometryInfo.html +1 -0
  143. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -0
  144. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -0
  145. package/docs/functions/Util.initialCSS3DRender.html +1 -0
  146. package/docs/functions/Util.inside.html +1 -0
  147. package/docs/functions/Util.isModelLike.html +1 -0
  148. package/docs/functions/Util.isNil.html +2 -0
  149. package/docs/functions/Util.isPanoramaLike.html +1 -0
  150. package/docs/functions/Util.lookObject.html +7 -0
  151. package/docs/functions/Util.lookPoint.html +5 -0
  152. package/docs/functions/Util.nextFrame.html +1 -0
  153. package/docs/functions/Util.notNil.html +2 -0
  154. package/docs/functions/Util.reblink.html +13 -0
  155. package/docs/functions/Util.replaceStaticPrefix.html +8 -0
  156. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -0
  157. package/docs/functions/Util.sculpt.createBox.html +1 -0
  158. package/docs/functions/Util.sculpt.createCircle.html +1 -0
  159. package/docs/functions/Util.sculpt.createCylinder.html +1 -0
  160. package/docs/functions/Util.sculpt.createLine.html +2 -0
  161. package/docs/functions/Util.sculpt.createPoint.html +1 -0
  162. package/docs/functions/Util.sculpt.createPolygon.html +1 -0
  163. package/docs/functions/Util.sculpt.createPrism.html +1 -0
  164. package/docs/functions/Util.sculpt.createRectangle.html +2 -0
  165. package/docs/functions/Util.sculpt.transformUnit.html +1 -0
  166. package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -0
  167. package/docs/functions/Util.tag.html +1 -0
  168. package/docs/functions/Util.triangleArea.html +2 -0
  169. package/docs/functions/Util.triangleCenter.html +2 -0
  170. package/docs/functions/Util.tweenProgress.html +1 -0
  171. package/docs/functions/Util.uuid.html +2 -0
  172. package/docs/functions/Util.waitFiveModelLoaded.html +2 -0
  173. package/docs/functions/Util.worldBounding.html +1 -0
  174. package/docs/functions/Util.worldBoundingBox.html +1 -0
  175. package/docs/functions/Util.worldBoundingSphere.html +1 -0
  176. package/docs/functions/createPolyline.html +2 -0
  177. package/docs/functions/pluginFlag.html +1 -0
  178. package/docs/functions/validatePolygon.html +1 -0
  179. package/docs/hierarchy.html +1 -0
  180. package/docs/index.html +70 -0
  181. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +4 -0
  182. package/docs/interfaces/AreaMakerPluginType.Config.html +8 -0
  183. package/docs/interfaces/AreaMakerPluginType.EventMap.html +25 -0
  184. package/docs/interfaces/AreaMakerPluginType.Params.html +4 -0
  185. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +20 -0
  186. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +13 -0
  187. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +9 -0
  188. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +3 -0
  189. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +3 -0
  190. package/docs/interfaces/AreaMakerPluginType.State.html +8 -0
  191. package/docs/interfaces/BoxAnimationConfig.html +6 -0
  192. package/docs/interfaces/BoxPosition.html +8 -0
  193. package/docs/interfaces/CSS3DRenderPluginEventMap.html +9 -0
  194. package/docs/interfaces/CSS3DRenderPluginState.html +7 -0
  195. package/docs/interfaces/CameraMovementPluginExportType.html +11 -0
  196. package/docs/interfaces/ContentTypeMapInterface.html +73 -0
  197. package/docs/interfaces/CruisePluginTypes.Config.html +7 -0
  198. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +8 -0
  199. package/docs/interfaces/CruisePluginTypes.EventMap.html +33 -0
  200. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +6 -0
  201. package/docs/interfaces/CruisePluginTypes.MoveAction.html +16 -0
  202. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +19 -0
  203. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +20 -0
  204. package/docs/interfaces/CruisePluginTypes.PluginData.html +8 -0
  205. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -0
  206. package/docs/interfaces/CruisePluginTypes.PluginState.html +15 -0
  207. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +13 -0
  208. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +15 -0
  209. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +4 -0
  210. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +3 -0
  211. package/docs/interfaces/CurrentPanoImagePluginType.State.html +7 -0
  212. package/docs/interfaces/FloorplanBounding.html +9 -0
  213. package/docs/interfaces/FloorplanData.html +7 -0
  214. package/docs/interfaces/FloorplanEntrance.html +14 -0
  215. package/docs/interfaces/FloorplanExtraObject.html +9 -0
  216. package/docs/interfaces/FloorplanExtraObject3D.html +5 -0
  217. package/docs/interfaces/FloorplanFloorData.html +9 -0
  218. package/docs/interfaces/FloorplanImagePosition.html +4 -0
  219. package/docs/interfaces/FloorplanObserver.html +8 -0
  220. package/docs/interfaces/FloorplanOutlineItem.html +6 -0
  221. package/docs/interfaces/FloorplanPosition.html +4 -0
  222. package/docs/interfaces/FloorplanRoomItem.html +24 -0
  223. package/docs/interfaces/FloorplanRoomLabelItem.html +6 -0
  224. package/docs/interfaces/FloorplanServerBounding.html +9 -0
  225. package/docs/interfaces/FloorplanServerComputedData.html +6 -0
  226. package/docs/interfaces/FloorplanServerData.html +4 -0
  227. package/docs/interfaces/FloorplanServerDoorItem.html +6 -0
  228. package/docs/interfaces/FloorplanServerDoorPosition.html +4 -0
  229. package/docs/interfaces/FloorplanServerEntrance.html +14 -0
  230. package/docs/interfaces/FloorplanServerFloorData.html +8 -0
  231. package/docs/interfaces/FloorplanServerImagePosition.html +4 -0
  232. package/docs/interfaces/FloorplanServerObserver.html +8 -0
  233. package/docs/interfaces/FloorplanServerOutlineItem.html +6 -0
  234. package/docs/interfaces/FloorplanServerPosition.html +4 -0
  235. package/docs/interfaces/FloorplanServerRoomItem.html +27 -0
  236. package/docs/interfaces/FloorplanServerRoomLabelItem.html +6 -0
  237. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +4 -0
  238. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +7 -0
  239. package/docs/interfaces/GuideLinePluginType.EventMap.html +13 -0
  240. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +5 -0
  241. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +8 -0
  242. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -0
  243. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +32 -0
  244. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +4 -0
  245. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +5 -0
  246. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +42 -0
  247. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +3 -0
  248. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +57 -0
  249. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -0
  250. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -0
  251. package/docs/interfaces/GuideLinePluginType.PluginState.html +7 -0
  252. package/docs/interfaces/GuideLinePluginType.Route.html +13 -0
  253. package/docs/interfaces/HelperOffset.html +4 -0
  254. package/docs/interfaces/ImagePlaneGroup.html +3 -0
  255. package/docs/interfaces/ItemLabelPluginData.html +2 -0
  256. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +7 -0
  257. package/docs/interfaces/ItemLabelPluginParametersType.html +5 -0
  258. package/docs/interfaces/MinMax.html +3 -0
  259. package/docs/interfaces/ModelChassisCompassPluginData.html +3 -0
  260. package/docs/interfaces/ModelChassisCompassPluginExportType.html +4 -0
  261. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +3 -0
  262. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +4 -0
  263. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +4 -0
  264. package/docs/interfaces/ModelItemLabelPluginData.html +2 -0
  265. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +7 -0
  266. package/docs/interfaces/ModelItemLabelPluginParametersType.html +3 -0
  267. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +17 -0
  268. package/docs/interfaces/ModelMakerPluginType.EventMap.html +18 -0
  269. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +23 -0
  270. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +11 -0
  271. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +10 -0
  272. package/docs/interfaces/ModelMakerPluginType.ServerData.html +3 -0
  273. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +10 -0
  274. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +10 -0
  275. package/docs/interfaces/ModelMakerPluginType.State.html +8 -0
  276. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +11 -0
  277. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -0
  278. package/docs/interfaces/ModelTVVideoPluginData.html +5 -0
  279. package/docs/interfaces/ModelTVVideoPluginExportType.html +4 -0
  280. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -0
  281. package/docs/interfaces/ModelViewPluginExportType.html +8 -0
  282. package/docs/interfaces/Object3DHelperState.html +4 -0
  283. package/docs/interfaces/ObjectHelperControllers.html +5 -0
  284. package/docs/interfaces/PaintBrushAction.html +14 -0
  285. package/docs/interfaces/PaintBrushConfigs.html +8 -0
  286. package/docs/interfaces/PaintBrushState.html +6 -0
  287. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +16 -0
  288. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -0
  289. package/docs/interfaces/PanoMeasureParameterType.html +20 -0
  290. package/docs/interfaces/PanoMeasurePluginLineJson.html +4 -0
  291. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +4 -0
  292. package/docs/interfaces/PanoMeasurePluginPointJson.html +3 -0
  293. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +7 -0
  294. package/docs/interfaces/PanoRulerPluginExportType.html +6 -0
  295. package/docs/interfaces/PanoRulerPluginOptions.html +3 -0
  296. package/docs/interfaces/PanoRulerPluginParameterType.html +4 -0
  297. package/docs/interfaces/PanoRulerProPluginExportType.html +5 -0
  298. package/docs/interfaces/PanoRulerProPluginOptions.html +3 -0
  299. package/docs/interfaces/PanoRulerProPluginParameterType.html +3 -0
  300. package/docs/interfaces/PanoRulerProPluginState.html +4 -0
  301. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -0
  302. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -0
  303. package/docs/interfaces/PanoSpatialTagPluginData.html +7 -0
  304. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +6 -0
  305. package/docs/interfaces/PanoSpatialTagPluginExportType.html +9 -0
  306. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +6 -0
  307. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +9 -0
  308. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +7 -0
  309. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +6 -0
  310. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +3 -0
  311. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +8 -0
  312. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -0
  313. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +15 -0
  314. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -0
  315. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +14 -0
  316. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +13 -0
  317. package/docs/interfaces/PluginEventMap.html +16 -0
  318. package/docs/interfaces/Point.html +4 -0
  319. package/docs/interfaces/Room.html +5 -0
  320. package/docs/interfaces/RoomInfo.html +3 -0
  321. package/docs/interfaces/RoomLabel.html +16 -0
  322. package/docs/interfaces/RoomRules.html +1 -0
  323. package/docs/interfaces/Rooms.html +1 -0
  324. package/docs/interfaces/Scissor.html +13 -0
  325. package/docs/interfaces/SculptConfig.html +19 -0
  326. package/docs/interfaces/State.html +7 -0
  327. package/docs/interfaces/TagCacheInterface.html +9 -0
  328. package/docs/interfaces/TagConfig.html +174 -0
  329. package/docs/interfaces/TagGLTFObjectGroup.html +3 -0
  330. package/docs/interfaces/TagIconAnimationConfig.html +7 -0
  331. package/docs/interfaces/TagIconUrl.html +22 -0
  332. package/docs/interfaces/TagObjectGroup.html +3 -0
  333. package/docs/interfaces/TagState.html +3 -0
  334. package/docs/interfaces/TagStyle.html +17 -0
  335. package/docs/interfaces/Tags.html +8 -0
  336. package/docs/interfaces/TemporaryState.html +2 -0
  337. package/docs/interfaces/Util.AnimeInstance.html +14 -0
  338. package/docs/interfaces/Util.BlinkAnimeOptions.html +21 -0
  339. package/docs/interfaces/Util.EventHandlerConfig.html +21 -0
  340. package/docs/interfaces/Util.FiveDomEvent.html +7 -0
  341. package/docs/interfaces/Util.FiveDomEventMap.html +20 -0
  342. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +4 -0
  343. package/docs/interfaces/Util.MagnifierParameter.html +13 -0
  344. package/docs/interfaces/Util.MouseGroupParameter.html +4 -0
  345. package/docs/interfaces/Util.ObjectInitialState.html +9 -0
  346. package/docs/interfaces/Util.PointIntersection.html +21 -0
  347. package/docs/interfaces/Util.PointSelectorHelperConfig.html +6 -0
  348. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +27 -0
  349. package/docs/modules/AreaMakerPluginType.html +17 -0
  350. package/docs/modules/CruisePluginTypes.html +14 -0
  351. package/docs/modules/CurrentPanoImagePluginType.html +6 -0
  352. package/docs/modules/GuideLineItem.html +2 -0
  353. package/docs/modules/GuideLineModeItem.html +3 -0
  354. package/docs/modules/GuideLinePluginType.html +25 -0
  355. package/docs/modules/ModelMakerPluginType.html +19 -0
  356. package/docs/modules/PanoVideoPluginType.html +8 -0
  357. package/docs/modules/SculptData.html +9 -0
  358. package/docs/modules/SculptType.html +2 -0
  359. package/docs/modules/Util.html +91 -0
  360. package/docs/modules/Util.sculpt.html +27 -0
  361. package/docs/modules.html +287 -0
  362. package/docs/types/AddObject3DHelperConfig.html +19 -0
  363. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +7 -0
  364. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -0
  365. package/docs/types/AreaMakerPluginType.PluginData.html +2 -0
  366. package/docs/types/AreaMakerPluginType.ServerData.html +2 -0
  367. package/docs/types/ArrayPosition.html +1 -0
  368. package/docs/types/AudioAppearance.html +1 -0
  369. package/docs/types/BoxTag.html +2 -0
  370. package/docs/types/CSS3DRenderExportType.html +1 -0
  371. package/docs/types/CSS3DRenderPluginExportType.html +1 -0
  372. package/docs/types/CSS3DRenderPluginParameterType.html +1 -0
  373. package/docs/types/ClassFunctionParameters.html +1 -0
  374. package/docs/types/Color.html +1 -0
  375. package/docs/types/ContentTypeConfigKey.html +1 -0
  376. package/docs/types/ContentTypeConfigKeySplit.html +1 -0
  377. package/docs/types/ContentTypeMap.html +1 -0
  378. package/docs/types/Create3DDomContainerReturnType.html +1 -0
  379. package/docs/types/Create3DElementReturnType.html +1 -0
  380. package/docs/types/CruisePluginExportType.html +1 -0
  381. package/docs/types/CruisePluginTypes.CruiseData.html +6 -0
  382. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -0
  383. package/docs/types/CurrentPanoImagePluginExportType.html +1 -0
  384. package/docs/types/DeprecatedMediaPlaneProperty.html +3 -0
  385. package/docs/types/DeprecatedTagProperty.html +3 -0
  386. package/docs/types/Direction-1.html +1 -0
  387. package/docs/types/Direction4.html +1 -0
  388. package/docs/types/ElementRenderer.html +2 -0
  389. package/docs/types/FloorplanGuidePluginParameterType.html +1 -0
  390. package/docs/types/FloorplanGuidePluginReturnType.html +1 -0
  391. package/docs/types/FloorplanRuleLabels.html +2 -0
  392. package/docs/types/FloorplanServerRuleLabels.html +1 -0
  393. package/docs/types/GuideLinePluginExportType.html +1 -0
  394. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -0
  395. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -0
  396. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -0
  397. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -0
  398. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -0
  399. package/docs/types/GuideLinePluginType.PathItem.html +2 -0
  400. package/docs/types/GuideLinePluginType.PluginData.html +2 -0
  401. package/docs/types/GuideLinePluginType.RouteConfig.html +4 -0
  402. package/docs/types/HelperEventMap.html +1 -0
  403. package/docs/types/InternalHelperEventMap.html +1 -0
  404. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -0
  405. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -0
  406. package/docs/types/MaskPosition.html +3 -0
  407. package/docs/types/MaskTag.html +2 -0
  408. package/docs/types/MeasureEndReason.html +1 -0
  409. package/docs/types/MeasurePluginConfig.html +5 -0
  410. package/docs/types/MeasurePluginEventMap.html +1 -0
  411. package/docs/types/MediaData.html +2 -0
  412. package/docs/types/MediaStore.html +1 -0
  413. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -0
  414. package/docs/types/ModelFloorplanPluginParameterType.html +1 -0
  415. package/docs/types/ModelFloorplanPluginReturnType.html +1 -0
  416. package/docs/types/ModelId.html +1 -0
  417. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -0
  418. package/docs/types/ModelMakerPluginType.ItemType.html +2 -0
  419. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -0
  420. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -0
  421. package/docs/types/ModelRoomLabelPluginParameters.html +1 -0
  422. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -0
  423. package/docs/types/MoveArgs.html +2 -0
  424. package/docs/types/MoveOpts.html +2 -0
  425. package/docs/types/Object3DHelperEventMap.html +1 -0
  426. package/docs/types/ObjectFit.html +1 -0
  427. package/docs/types/PaintBrushEventMap.html +1 -0
  428. package/docs/types/PanoCompassPluginData.html +1 -0
  429. package/docs/types/PanoCompassPluginExportType.html +1 -0
  430. package/docs/types/PanoCompassPluginParameterType.html +1 -0
  431. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -0
  432. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -0
  433. package/docs/types/PanoIndex.html +1 -0
  434. package/docs/types/PanoMeasurePluginEvent.html +1 -0
  435. package/docs/types/PanoMeasureReturnType.html +1 -0
  436. package/docs/types/PanoSpatialTagPluginId.html +1 -0
  437. package/docs/types/PanoTagPluginExportInterface.html +1 -0
  438. package/docs/types/PanoTagPluginParamsInterface.html +1 -0
  439. package/docs/types/PanoVideoPluginParameterType.html +1 -0
  440. package/docs/types/PanoVideoPluginReturnType.html +1 -0
  441. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -0
  442. package/docs/types/PipelinePluginParameterType.html +1 -0
  443. package/docs/types/PipelinePluginReturnType.html +1 -0
  444. package/docs/types/PlaneTag.html +2 -0
  445. package/docs/types/Point2DTag.html +2 -0
  446. package/docs/types/Point3DTag.html +2 -0
  447. package/docs/types/PointTagInstance.html +1 -0
  448. package/docs/types/PolygonPosition.html +3 -0
  449. package/docs/types/PolygonTag.html +2 -0
  450. package/docs/types/Position.html +1 -0
  451. package/docs/types/PositionFrom.html +1 -0
  452. package/docs/types/RotateArgs.html +2 -0
  453. package/docs/types/RotateOpts.html +2 -0
  454. package/docs/types/RuleLabelsKey.html +1 -0
  455. package/docs/types/RuleLabelsValue.html +1 -0
  456. package/docs/types/ScaleCallback.html +1 -0
  457. package/docs/types/ScalePosition.html +3 -0
  458. package/docs/types/SculptData.BoxData.html +1 -0
  459. package/docs/types/SculptData.CircleData.html +1 -0
  460. package/docs/types/SculptData.CylinderData.html +1 -0
  461. package/docs/types/SculptData.PointData.html +1 -0
  462. package/docs/types/SculptData.PolygonData.html +1 -0
  463. package/docs/types/SculptData.PolylineData.html +1 -0
  464. package/docs/types/SculptData.PrismData.html +1 -0
  465. package/docs/types/SculptData.RectangleData.html +1 -0
  466. package/docs/types/SculptType.Theme.html +10 -0
  467. package/docs/types/StickType.html +1 -0
  468. package/docs/types/Tag.html +17 -0
  469. package/docs/types/Tag2D.html +2 -0
  470. package/docs/types/Tag3D.html +2 -0
  471. package/docs/types/TagClickParams.html +1 -0
  472. package/docs/types/TagConfigByKey.html +1 -0
  473. package/docs/types/TagContentType.html +1 -0
  474. package/docs/types/TagContentTypeMapping.html +1 -0
  475. package/docs/types/TagDimensionType.html +1 -0
  476. package/docs/types/TagElement.html +2 -0
  477. package/docs/types/TagEvents.html +1 -0
  478. package/docs/types/TagGLTFObject.html +1 -0
  479. package/docs/types/TagHooks.html +1 -0
  480. package/docs/types/TagId.html +1 -0
  481. package/docs/types/TagInstance.html +1 -0
  482. package/docs/types/TagPlacement.html +5 -0
  483. package/docs/types/TagPointType.html +2 -0
  484. package/docs/types/TagRendererMap.html +1 -0
  485. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -0
  486. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -0
  487. package/docs/types/Util.ActionIfNoIntersection.html +1 -0
  488. package/docs/types/Util.AdherePoint.html +2 -0
  489. package/docs/types/Util.PointSelectorConfig.html +1 -0
  490. package/docs/types/Util.SupportedTarget.html +2 -0
  491. package/docs/types/Util.Target.html +2 -0
  492. package/docs/types/Util.ThreeObject.html +2 -0
  493. package/docs/types/WorkCode.html +1 -0
  494. package/docs/variables/FLOOR_TYPE_MAP.html +2 -0
  495. package/docs/variables/PLUGIN.html +1 -0
  496. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -0
  497. package/docs/variables/ROOM_TYPE_MAP.html +2 -0
  498. package/docs/variables/Util.ANIME_PRESETS.html +2 -0
  499. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -0
  500. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -0
  501. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -0
  502. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -0
  503. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -0
  504. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -0
  505. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -0
  506. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -0
  507. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -0
  508. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -0
  509. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -0
  510. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -0
  511. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -0
  512. package/docs/variables/defaultGlobalConfig.html +1 -0
  513. package/docs/variables/itemLabelPluginServerParams.html +1 -0
  514. package/docs/variables/modelItemLabelPluginServerParams.html +1 -0
  515. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -0
  516. package/libs/CruisePlugin/BaseController.js +8 -1
  517. package/libs/CruisePlugin/Move.js +7 -2
  518. package/libs/CruisePlugin/Work.d.ts +4 -0
  519. package/libs/CruisePlugin/Work.js +302 -213
  520. package/libs/CruisePlugin/index.js +11 -6
  521. package/libs/CruisePlugin/typing.d.ts +7 -0
  522. package/libs/CruisePlugin/utils/coordinatesAngle.d.ts +19 -3
  523. package/libs/CruisePlugin/utils/coordinatesAngle.js +10 -5
  524. package/libs/GuideLinePlugin/Controller.js +9 -4
  525. package/libs/GuideLinePlugin/GuideLineItem.js +7 -2
  526. package/libs/GuideLinePlugin/GuideLineModeItem.js +7 -2
  527. package/libs/GuideLinePlugin/index.js +11 -6
  528. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +7 -10
  529. package/libs/PanoTagPlugin/Components/TagItem.js +122 -122
  530. package/libs/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
  531. package/libs/PanoTagPlugin/controller/Tag/BaseTag.js +320 -289
  532. package/libs/PanoTagPlugin/controller/Tag/BoxTag.d.ts +118 -0
  533. package/libs/PanoTagPlugin/controller/Tag/BoxTag.js +505 -0
  534. package/libs/PanoTagPlugin/controller/Tag/MaskTag.d.ts +157 -0
  535. package/libs/PanoTagPlugin/controller/Tag/MaskTag.js +492 -0
  536. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +13 -0
  537. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.js +89 -0
  538. package/libs/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
  539. package/libs/PanoTagPlugin/controller/Tag/PolygonTag.js +478 -0
  540. package/libs/PanoTagPlugin/controller/TagRender.d.ts +1 -1
  541. package/libs/PanoTagPlugin/controller/TagUtil.js +21 -19
  542. package/libs/PanoTagPlugin/controller/index.d.ts +36 -1
  543. package/libs/PanoTagPlugin/controller/index.js +184 -121
  544. package/libs/PanoTagPlugin/index.js +16 -11
  545. package/libs/PanoTagPlugin/typings/controller.d.ts +10 -0
  546. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
  547. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
  548. package/libs/PanoTagPlugin/utils/addDebugPoints.js +27 -13
  549. package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
  550. package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.js +18 -0
  551. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
  552. package/libs/PanoTagPlugin/utils/tag/tagCheck.js +26 -14
  553. package/libs/PanoTagPlugin/utils/tagPosition.d.ts +2 -2
  554. package/libs/PanoTagPlugin/utils/tagPosition.js +46 -17
  555. package/libs/base/BasePlugin.js +5 -5
  556. package/libs/index.js +155 -150
  557. package/libs/shared-utils/logger.js +1 -1
  558. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,7 @@
1
1
  # CHANGELOG
2
+ ## 3.77.3
3
+
4
+ - feat(CruisePlugin): 导览新增语音播放功能
2
5
  ## 3.77.2
3
6
 
4
7
  - fix(Sculpt): 修复 hitFilter 配置为可选,避免未配置时报错
@@ -20,6 +20,8 @@ export default class WalkController extends CruiseController<PluginData, Config>
20
20
  moveToFirstPanoEffect?: MoveEffect;
21
21
  moveToFirstPanoDuration?: number;
22
22
  modeChanging?: boolean;
23
+ audio?: HTMLAudioElement;
24
+ audioCache?: Map<string, HTMLAudioElement>;
23
25
  };
24
26
  constructor(five: Five, config?: Config);
25
27
  /**
@@ -117,4 +119,6 @@ export default class WalkController extends CruiseController<PluginData, Config>
117
119
  * @description Change five mode
118
120
  */
119
121
  private changeMode;
122
+ private loadAudio;
123
+ private playAudio;
120
124
  }
@@ -18,6 +18,13 @@ export type CruiseData = {
18
18
  * @description 旋转速度 rad/ms
19
19
  */
20
20
  rotateSpeed?: number;
21
+ /**
22
+ * @description move effect独有,音频播放相关参数
23
+ */
24
+ audio?: {
25
+ url: string;
26
+ duration: number;
27
+ };
21
28
  } & FivePoseAndState;
22
29
  export interface CruiseKeyframe {
23
30
  id: string;
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @description: 获取coordinates间的夹角
3
- * @return {number} 夹角角度
2
+ * @description: 获取coordinates间的夹角(两个方向向量之间的最小夹角)
3
+ * @return {number} 夹角角度(0 到 π)
4
4
  */
5
5
  declare function coordinatesAngle(coordinates1: {
6
6
  longitude: number;
@@ -9,4 +9,20 @@ declare function coordinatesAngle(coordinates1: {
9
9
  longitude: number;
10
10
  latitude: number;
11
11
  }): number;
12
- export { coordinatesAngle };
12
+ /**
13
+ * @description: 获取coordinates间的实际旋转角度(基于 longitude/latitude 差值)
14
+ * @param coordinates1 起始坐标
15
+ * @param coordinates2 目标坐标
16
+ * @param signed 是否返回有符号角度(默认 false)
17
+ * - true: 返回有符号角度(以主要旋转方向的符号为准)
18
+ * - false: 返回无符号角度(绝对值)
19
+ * @return {number} 旋转角度(弧度),可以超过 π
20
+ */
21
+ declare function coordinatesRotation(coordinates1: {
22
+ longitude: number;
23
+ latitude: number;
24
+ }, coordinates2: {
25
+ longitude: number;
26
+ latitude: number;
27
+ }, signed?: boolean): number;
28
+ export { coordinatesAngle, coordinatesRotation };
@@ -12,7 +12,9 @@ import type { PartialObjectDeep } from '../../../typings/typings';
12
12
  import type { LiteralUnion } from 'type-fest';
13
13
  import type { CSS3DObjectPlus } from '../../../shared-utils/CSS3DRender/CSS3DObject';
14
14
  import type { Rectangle } from '../../../Sculpt/Objects/Rectangle';
15
- import { Line } from '@realsee/five/line';
15
+ import type { Line } from '@realsee/five/line';
16
+ import type { Box } from '../../../Sculpt/Objects/Box';
17
+ import type { Polygon } from '../../../Sculpt/typings';
16
18
  /**
17
19
  * @description 标签实例
18
20
  * @property `id` 标签id
@@ -88,6 +90,8 @@ export declare abstract class BaseTag<C extends TagContentType = TagContentType,
88
90
  dispose: () => void;
89
91
  };
90
92
  rectanglePlane?: Rectangle;
93
+ boxShape?: Box;
94
+ polygonShape?: Polygon;
91
95
  dom?: HTMLDivElement;
92
96
  contentDom?: HTMLDivElement;
93
97
  initialConfig: TagData['config'];
@@ -0,0 +1,118 @@
1
+ import type PanoTagPluginController from '..';
2
+ import type { TagContentType, Tag as TagData, TagInstance, ArrayPosition, TagClickParams } from '../..';
3
+ import { BaseTag } from './BaseTag';
4
+ import * as THREE from 'three';
5
+ import type { PartialObjectDeep } from '../../../typings/typings';
6
+ import type { Tag } from '../..';
7
+ import { Box } from '../../../Sculpt/Objects/Box';
8
+ export type BoxTagInterface<C extends TagContentType = TagContentType> = TagInstance<C, '3DBox'>;
9
+ /**
10
+ * 3DBox 类型的标签
11
+ * 使用 Sculpt Box 进行渲染,避免复杂的坐标转换
12
+ */
13
+ export declare class BoxTag<C extends TagContentType = TagContentType> extends BaseTag<C, '3DBox'> {
14
+ boxShape?: Box;
15
+ private tagStyle?;
16
+ private clickEventDispose?;
17
+ private domClickDispose?;
18
+ screenPosition: {
19
+ leftPx: number;
20
+ topPx: number;
21
+ scale: number;
22
+ } | null;
23
+ constructor(plugin: PanoTagPluginController, tagData: TagData);
24
+ /**
25
+ * 获取 Box 样式配置(合并用户配置和默认值)
26
+ */
27
+ private getBoxStyle;
28
+ /**
29
+ * 更新 Box 样式
30
+ */
31
+ private updateBoxStyle;
32
+ /**
33
+ * 更新标签数据
34
+ */
35
+ set(tag: PartialObjectDeep<Tag<C, '3DBox'>>, deepMerge?: boolean): void;
36
+ /**
37
+ * 设置标签数据
38
+ */
39
+ setData(...data: Parameters<InstanceType<typeof BaseTag<C, '3DBox'>>['setData']>): void;
40
+ /**
41
+ * 获取盒子的中心点
42
+ */
43
+ getCenter(): ArrayPosition;
44
+ /**
45
+ * 获取盒子的8个角点坐标
46
+ */
47
+ getCorners(): THREE.Vector3[];
48
+ /**
49
+ * 计算盒子的法向量
50
+ */
51
+ computeNormal(): THREE.Vector3;
52
+ /**
53
+ * 初始化 Sculpt Box
54
+ */
55
+ private initializeSculptBox;
56
+ /**
57
+ * 设置点击事件
58
+ */
59
+ private setupClickEvents;
60
+ /**
61
+ * 清理点击事件
62
+ */
63
+ private cleanupClickEvents;
64
+ /**
65
+ * 更新 Sculpt Box 的数据
66
+ */
67
+ private updateSculptBox;
68
+ /**
69
+ * 启用编辑器
70
+ * 用于编辑已存在的 Box
71
+ */
72
+ editorEnable(): Promise<void>;
73
+ /**
74
+ * 禁用编辑器
75
+ */
76
+ editorDisable(): void;
77
+ /**
78
+ * 从 Sculpt Box 同步 position 到 BoxTag
79
+ */
80
+ private syncBoxPositionFromSculpt;
81
+ /**
82
+ * 将 BoxPosition 转换为 Sculpt 需要的数据格式
83
+ */
84
+ private boxPositionToSculptData;
85
+ /**
86
+ * @description 点击事件处理
87
+ */
88
+ onClick(params: Pick<TagClickParams, 'target'>): void;
89
+ /**
90
+ * @description 展开自己,收起其他标签
91
+ */
92
+ unfoldAndFoldOthers(): void;
93
+ /**
94
+ * 展开标签详情
95
+ */
96
+ unfold(): void;
97
+ /**
98
+ * 折叠标签详情
99
+ */
100
+ fold(): void;
101
+ /**
102
+ * 设置展开/折叠状态
103
+ */
104
+ setUnfold(unfolded: boolean): void;
105
+ /**
106
+ * 更新屏幕位置(用于在 2D UI 中显示内容)
107
+ * 显示在 Box 最右侧的顶点位置
108
+ */
109
+ updateScreenPosition(): void;
110
+ /**
111
+ * 应用可见性变化
112
+ */
113
+ applyVisible(): void;
114
+ /**
115
+ * 销毁标签
116
+ */
117
+ dispose(): void;
118
+ }
@@ -0,0 +1,157 @@
1
+ import type PanoTagPluginController from '..';
2
+ import type { TagContentType, Tag as TagData, TagInstance, TagClickParams } from '../..';
3
+ import { BaseTag } from './BaseTag';
4
+ import * as THREE from 'three';
5
+ import type { PartialObjectDeep } from '../../../typings/typings';
6
+ import type { Tag } from '../..';
7
+ import type { State as FiveState } from '@realsee/five';
8
+ export type MaskTagInterface<C extends TagContentType = TagContentType> = TagInstance<C, 'Mask'>;
9
+ /**
10
+ * Mask 类型的标签
11
+ * 基于全景图 mask 和颜色区域进行物体标记
12
+ */
13
+ export declare class MaskTag<C extends TagContentType = TagContentType> extends BaseTag<C, 'Mask'> {
14
+ /**
15
+ * Mask 纹理缓存(静态,所有 MaskTag 实例共享)
16
+ * key: mask URL, value: { texture: THREE.Texture, refCount: number, abortController?: AbortController }
17
+ */
18
+ private static maskTextureCache;
19
+ /**
20
+ * mask 图片 URL(2:1 全景图格式)
21
+ */
22
+ maskUrl: string;
23
+ /**
24
+ * 目标颜色(RGB 格式)
25
+ */
26
+ targetColor: [number, number, number];
27
+ /**
28
+ * mask 渲染的 mesh 对象(使用 Sphere)
29
+ */
30
+ maskMesh?: THREE.Mesh;
31
+ /**
32
+ * mask 纹理对象
33
+ */
34
+ private maskTexture?;
35
+ /**
36
+ * 是否正在加载 mask
37
+ */
38
+ private loadingMask;
39
+ /**
40
+ * 标签样式配置
41
+ */
42
+ private tagStyle?;
43
+ /**
44
+ * 点击事件清理函数
45
+ */
46
+ private clickEventDispose?;
47
+ constructor(plugin: PanoTagPluginController, tagData: TagData);
48
+ /**
49
+ * 计算法向量
50
+ * Mask 标签返回向上的法向量(因为是贴在 cube 面上)
51
+ */
52
+ computeNormal(): THREE.Vector3;
53
+ /**
54
+ * 更新标签数据
55
+ */
56
+ set(tag: PartialObjectDeep<Tag<C, 'Mask'>>, deepMerge?: boolean): void;
57
+ /**
58
+ * 重写 getVisible 方法
59
+ * Mask 标签仅在当前点位可见
60
+ */
61
+ getVisible(fiveState?: Partial<FiveState>): boolean;
62
+ /**
63
+ * 点击事件处理
64
+ */
65
+ onClick(params: Pick<TagClickParams, 'target'>): void;
66
+ /**
67
+ * 展开自己,收起其他标签
68
+ */
69
+ unfoldAndFoldOthers(): void;
70
+ /**
71
+ * 展开标签详情
72
+ */
73
+ unfold(): void;
74
+ /**
75
+ * 折叠标签详情
76
+ */
77
+ fold(): void;
78
+ /**
79
+ * 设置展开/折叠状态
80
+ */
81
+ setUnfold(unfolded: boolean): void;
82
+ /**
83
+ * 更新屏幕位置
84
+ */
85
+ updateScreenPosition(): void;
86
+ /**
87
+ * 应用可见性变化
88
+ */
89
+ applyVisible(): void;
90
+ /**
91
+ * 更新 mesh 的位置和旋转(跟随观察者)
92
+ * 参考 itemMask 实现
93
+ */
94
+ private updateMeshTransform;
95
+ /**
96
+ * 初始化 Mask Mesh(使用 Sphere)
97
+ */
98
+ private initializeMaskMesh;
99
+ /**
100
+ * 创建 Sphere mesh(参考 itemMask 实现)
101
+ */
102
+ private createSphereMesh;
103
+ /**
104
+ * 获取 Mask 样式配置(合并用户配置和默认值)
105
+ */
106
+ private getMaskStyle;
107
+ /**
108
+ * 设置点击事件
109
+ */
110
+ private setupClickEvents;
111
+ /**
112
+ * 清理点击事件
113
+ */
114
+ private cleanupClickEvents;
115
+ /**
116
+ * 重新加载 mask 图
117
+ */
118
+ private reloadMask;
119
+ /**
120
+ * 更新 mask 样式
121
+ */
122
+ private updateMaskStyle;
123
+ /**
124
+ * 销毁标签
125
+ */
126
+ dispose(): void;
127
+ /**
128
+ * 加载 Mask 纹理(静态方法,支持缓存和引用计数)
129
+ * @param maskUrl mask 图片 URL
130
+ * @returns Promise<THREE.Texture>
131
+ */
132
+ private static loadMaskTexture;
133
+ /**
134
+ * 释放 Mask 纹理(静态方法)
135
+ * @param maskUrl mask 图片 URL
136
+ */
137
+ private static releaseMaskTexture;
138
+ /**
139
+ * 获取当前缓存的纹理统计信息(用于性能监控和调试)
140
+ * @returns 缓存统计信息
141
+ */
142
+ static getCacheStats(): {
143
+ totalCached: number;
144
+ totalRefCount: number;
145
+ estimatedMemoryMB: number;
146
+ cacheEntries: Array<{
147
+ url: string;
148
+ refCount: number;
149
+ sizeMB: number;
150
+ }>;
151
+ };
152
+ /**
153
+ * 强制清理所有缓存的纹理(用于内存管理,谨慎使用)
154
+ * 注意:这会释放所有纹理,即使它们仍在使用中
155
+ */
156
+ static clearAllCache(): void;
157
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Mask 标签的 Shader 代码
3
+ * 参考 itemMask 插件实现
4
+ */
5
+ /**
6
+ * Vertex Shader
7
+ */
8
+ export declare const maskVertexShader = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n";
9
+ /**
10
+ * Fragment Shader
11
+ * 实现颜色匹配和高亮渲染逻辑
12
+ */
13
+ export declare const maskFragmentShader = "\n#extension GL_OES_standard_derivatives : enable\n\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform vec4 color;\nuniform float tolerance;\nuniform vec3 highlightColor;\nuniform float opacity;\n\nfloat colorGap(vec3 color1, vec3 color2) {\n float gap = abs(color1.r - color2.r) + abs(color1.g - color2.g) + abs(color1.b - color2.b);\n return gap;\n}\n\nvoid main() {\n vec4 image = texture2D(map, vUv);\n \n // \u8BA1\u7B97\u5F53\u524D\u50CF\u7D20\u4E0E\u76EE\u6807\u989C\u8272\u7684\u5DEE\u5F02\n float gap = colorGap(image.rgb, color.rgb);\n \n // \u6392\u9664\u9ED1\u8272\u50CF\u7D20\n if (image.r == 0.0 && image.g == 0.0 && image.b == 0.0) {\n discard;\n }\n \n // \u4F7F\u7528 fwidth \u8BA1\u7B97\u68AF\u5EA6\uFF0C\u5B9E\u73B0\u5E73\u6ED1\u7684\u989C\u8272\u5339\u914D\u8FB9\u754C\n #ifdef GL_OES_standard_derivatives\n float smoothRange = fwidth(gap) * 3.0;\n #else\n float smoothRange = 0.01;\n #endif\n \n // \u5E73\u6ED1\u7684\u989C\u8272\u5339\u914D\u56E0\u5B50\uFF080-1\uFF09\n float matchFactor = 1.0 - smoothstep(tolerance - smoothRange, tolerance + smoothRange, gap);\n \n if (matchFactor > 0.0) {\n // \u68C0\u6D4B\u8FB9\u7F18\uFF1A\u91C7\u6837\u5468\u56F4\u50CF\u7D20\n float edgeWidth = 0.004;\n \n vec4 colorLeft = texture2D(map, vUv + vec2(-edgeWidth, 0.0));\n vec4 colorRight = texture2D(map, vUv + vec2(edgeWidth, 0.0));\n vec4 colorUp = texture2D(map, vUv + vec2(0.0, -edgeWidth));\n vec4 colorDown = texture2D(map, vUv + vec2(0.0, edgeWidth));\n \n // \u8BA1\u7B97\u8FB9\u7F18\u5F3A\u5EA6\n float edgeStrength = 0.0;\n \n if (colorGap(colorLeft.rgb, color.rgb) >= tolerance || (colorLeft.r == 0.0 && colorLeft.g == 0.0 && colorLeft.b == 0.0)) {\n edgeStrength += 0.25;\n }\n if (colorGap(colorRight.rgb, color.rgb) >= tolerance || (colorRight.r == 0.0 && colorRight.g == 0.0 && colorRight.b == 0.0)) {\n edgeStrength += 0.25;\n }\n if (colorGap(colorUp.rgb, color.rgb) >= tolerance || (colorUp.r == 0.0 && colorUp.g == 0.0 && colorUp.b == 0.0)) {\n edgeStrength += 0.25;\n }\n if (colorGap(colorDown.rgb, color.rgb) >= tolerance || (colorDown.r == 0.0 && colorDown.g == 0.0 && colorDown.b == 0.0)) {\n edgeStrength += 0.25;\n }\n \n // \u8FB9\u7F18\u5E73\u6ED1\u8FC7\u6E21\uFF1AedgeStrength \u8D8A\u5927\u8D8A\u63A5\u8FD1\u8FB9\u7F18\n float alpha = mix(opacity, 1.0, smoothstep(0.0, 0.3, edgeStrength));\n \n // \u5E94\u7528\u5339\u914D\u56E0\u5B50\uFF08\u5E73\u6ED1\u989C\u8272\u8FB9\u754C\uFF09\n alpha *= matchFactor;\n \n gl_FragColor = vec4(highlightColor, alpha);\n } else {\n discard;\n }\n}\n";
@@ -0,0 +1,112 @@
1
+ import type PanoTagPluginController from '..';
2
+ import type { TagContentType, Tag as TagData, TagInstance, ArrayPosition, TagClickParams } from '../..';
3
+ import { BaseTag } from './BaseTag';
4
+ import * as THREE from 'three';
5
+ import type { PartialObjectDeep } from '../../../typings/typings';
6
+ import type { Tag } from '../..';
7
+ import { Polygon } from '../../../Sculpt/Objects/Polygon';
8
+ export type PolygonTagInterface<C extends TagContentType = TagContentType> = TagInstance<C, 'Polygon'>;
9
+ /**
10
+ * Polygon 类型的标签
11
+ * 使用 Sculpt Polygon 进行渲染
12
+ */
13
+ export declare class PolygonTag<C extends TagContentType = TagContentType> extends BaseTag<C, 'Polygon'> {
14
+ polygonShape?: Polygon;
15
+ private tagStyle?;
16
+ private clickEventDispose?;
17
+ private domClickDispose?;
18
+ screenPosition: {
19
+ leftPx: number;
20
+ topPx: number;
21
+ scale: number;
22
+ } | null;
23
+ constructor(plugin: PanoTagPluginController, tagData: TagData);
24
+ /**
25
+ * 获取 Polygon 样式配置(合并用户配置和默认值)
26
+ */
27
+ private getPolygonStyle;
28
+ /**
29
+ * 更新 Polygon 样式
30
+ */
31
+ private updatePolygonStyle;
32
+ /**
33
+ * 更新标签数据
34
+ */
35
+ set(tag: PartialObjectDeep<Tag<C, 'Polygon'>>, deepMerge?: boolean): void;
36
+ /**
37
+ * 获取多边形的所有角点(世界坐标)
38
+ */
39
+ getCorners(): THREE.Vector3[];
40
+ getCenter(): ArrayPosition;
41
+ /**
42
+ * 计算多边形的法向量
43
+ * 使用前三个点来计算平面的法向量
44
+ */
45
+ computeNormal(): THREE.Vector3 | undefined;
46
+ /**
47
+ * 初始化 Sculpt Polygon
48
+ */
49
+ private initializeSculptPolygon;
50
+ /**
51
+ * 设置点击事件
52
+ */
53
+ private setupClickEvents;
54
+ /**
55
+ * 清理点击事件
56
+ */
57
+ private cleanupClickEvents;
58
+ /**
59
+ * 更新 Sculpt Polygon 的数据
60
+ */
61
+ private updateSculptPolygon;
62
+ /**
63
+ * 启用编辑器
64
+ * 用于编辑已存在的 Polygon
65
+ */
66
+ editorEnable(): Promise<void>;
67
+ /**
68
+ * 禁用编辑器
69
+ */
70
+ editorDisable(): void;
71
+ /**
72
+ * 同步 Sculpt Polygon 的数据到 PolygonPosition
73
+ */
74
+ private syncPolygonPositionFromSculpt;
75
+ /**
76
+ * @description 点击事件处理
77
+ */
78
+ onClick(params: Pick<TagClickParams, 'target'>): void;
79
+ /**
80
+ * @description 展开自己,收起其他标签
81
+ */
82
+ unfoldAndFoldOthers(): void;
83
+ /**
84
+ * 展开标签详情
85
+ */
86
+ unfold(): void;
87
+ /**
88
+ * 折叠标签详情
89
+ */
90
+ fold(): void;
91
+ /**
92
+ * 设置展开/折叠状态
93
+ */
94
+ setUnfold(unfolded: boolean): void;
95
+ /**
96
+ * 获取多边形的中心点
97
+ */
98
+ private getPolygonCenter;
99
+ /**
100
+ * 更新屏幕位置(用于在 2D UI 中显示内容)
101
+ * 显示在 Polygon 最右侧的顶点位置
102
+ */
103
+ updateScreenPosition(): void;
104
+ /**
105
+ * 应用可见性变化
106
+ */
107
+ applyVisible(): void;
108
+ /**
109
+ * 销毁标签
110
+ */
111
+ dispose(): void;
112
+ }
@@ -1,6 +1,6 @@
1
1
  import type { TagObjectGroup, TagGLTFObjectGroup, ImagePlaneGroup, TagContentType, ElementRenderer, TagRendererMap, TagContentTypeMapping } from '../typings';
2
2
  import type { TemporaryState } from '../typings';
3
- import TagContainerSvelte from '../Components/TagContainer.svelte';
3
+ import type TagContainerSvelte from '../Components/TagContainer.svelte';
4
4
  import type { Five } from '@realsee/five';
5
5
  import { TagUtil } from './TagUtil';
6
6
  export declare abstract class TagRender extends TagUtil {
@@ -1,7 +1,7 @@
1
1
  import type { Tag, TagId, Tags, State, ContentTypeConfigKey } from '../typings';
2
2
  import type { TagClickParams, TagConfigByKey, TagContentType } from '..';
3
3
  import type { ArrayPosition } from '../typings';
4
- import { type Five } from '@realsee/five';
4
+ import type { Five } from '@realsee/five';
5
5
  import { TagRender } from './TagRender';
6
6
  import type { PartialObjectDeep } from '../../typings/typings';
7
7
  export declare const pluginFlag: (name: string) => string;
@@ -166,6 +166,41 @@ declare class PanoTagPluginController extends TagRender {
166
166
  * @returns 是否为有效的 ArrayPosition
167
167
  */
168
168
  private isValidArrayPosition;
169
+ /**
170
+ * 更新当前点位的 Mask 标签
171
+ * Mask 标签仅在当前点位可见
172
+ */
173
+ private updateMaskTagsForCurrentPano;
174
+ /**
175
+ * 获取所有 Mask 类型的标签
176
+ */
177
+ get filterMaskTag(): (import("./Tag/BaseTag").BaseTag<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", import("..").StickType> & {
178
+ [key: string]: any;
179
+ })[];
180
+ /**
181
+ * 获取 MaskTag 性能统计信息(用于性能监控和调试)
182
+ * @returns 性能统计信息
183
+ */
184
+ getMaskTagPerformanceStats(): {
185
+ totalMaskTags: number;
186
+ visibleMaskTags: number;
187
+ textureCache: {
188
+ totalCached: number;
189
+ totalRefCount: number;
190
+ estimatedMemoryMB: number;
191
+ cacheEntries: {
192
+ url: string;
193
+ refCount: number;
194
+ sizeMB: number;
195
+ }[];
196
+ };
197
+ currentPanoIndex: number;
198
+ };
199
+ /**
200
+ * 清理所有 MaskTag 纹理缓存(用于内存管理)
201
+ * 注意:这会释放所有纹理缓存,谨慎使用
202
+ */
203
+ clearMaskTagCache(): void;
169
204
  }
170
205
  export default PanoTagPluginController;
171
206
  export { PanoTagPluginController };
@@ -33,6 +33,15 @@ export type TagClickParams = {
33
33
  } | {
34
34
  target: 'TagPopoverContent';
35
35
  tag: TagInstance;
36
+ } | {
37
+ target: 'TagBoxModel';
38
+ tag: TagInstance;
39
+ } | {
40
+ target: 'TagPolygonModel';
41
+ tag: TagInstance;
42
+ } | {
43
+ target: 'TagMaskModel';
44
+ tag: TagInstance;
36
45
  });
37
46
  export interface PluginEventMap extends BasePlugin.EventMap<State> {
38
47
  loaded: () => void;
@@ -79,6 +88,7 @@ export type TagEvents<C extends TagContentType = TagContentType> = {
79
88
  }) => void;
80
89
  showPopover: () => void;
81
90
  hidePopover: () => void;
91
+ positionChanged: (position: TagInstance<C>['position']) => void;
82
92
  };
83
93
  export interface TagCacheInterface {
84
94
  visible?: boolean;
@@ -1,7 +1,7 @@
1
1
  import type { State as FiveState } from '@realsee/five';
2
2
  import type { TagConfig } from './TagConfig';
3
3
  import type { ContentTypeMap, TagContentType } from './TagData';
4
- import type { Position, TagId, StickType, TagStyle, ElementRenderer, TagConfigByKey, ContentTypeConfigKey } from './Utils';
4
+ import type { Position, TagId, StickType, TagStyle, ElementRenderer, TagConfigByKey, ContentTypeConfigKey, BoxPosition, PolygonPosition, MaskPosition } from './Utils';
5
5
  import type { DeprecatedTagProperty } from '../../Archive/deprecated';
6
6
  import type { LiteralUnion } from 'type-fest';
7
7
  export interface Tags {
@@ -33,7 +33,7 @@ export type Tag<C extends TagContentType = TagContentType, S extends StickType =
33
33
  */
34
34
  contentType: LiteralUnion<C, string>;
35
35
  /** 点 */
36
- position: S extends 'Plane' ? [Position, Position, Position, Position] : S extends '2DPoint' | '3DPoint' | 'Model' ? Position : Position | [Position, Position, Position, Position];
36
+ position: S extends 'Plane' ? [Position, Position, Position, Position] : S extends '2DPoint' | '3DPoint' | 'Model' ? Position : S extends '3DBox' ? BoxPosition : S extends 'Polygon' ? PolygonPosition : S extends 'Mask' ? MaskPosition : Position | [Position, Position, Position, Position];
37
37
  /** 法向量 */
38
38
  normal?: Position;
39
39
  /** 自定义标签内容 */
@@ -52,8 +52,13 @@ export type Tag<C extends TagContentType = TagContentType, S extends StickType =
52
52
  hoverEnabled?: boolean;
53
53
  } & (S extends '3DPoint' ? {
54
54
  normal: Position;
55
- } : unknown) & (S extends 'Model' ? {
55
+ } : unknown) & // 三维标签需要法向量
56
+ (S extends 'Model' ? {
56
57
  matrix: number[];
58
+ } : unknown) & // 模型标签需要模型
59
+ (S extends 'Mask' ? {
60
+ mask: string;
61
+ color: [number, number, number] | number;
57
62
  } : unknown) & {
58
63
  [key: string]: any;
59
64
  };
@@ -15,7 +15,34 @@ export interface MinMax {
15
15
  min?: number;
16
16
  max?: number;
17
17
  }
18
- export type StickType = '2DPoint' | '3DPoint' | 'Plane' | 'Model';
18
+ export type StickType = '2DPoint' | '3DPoint' | 'Plane' | 'Model' | '3DBox' | 'Polygon' | 'Mask';
19
+ /**
20
+ * 3DBox 位置定义
21
+ */
22
+ export interface BoxPosition {
23
+ /** 起始点坐标 [x, y, z] */
24
+ start: ArrayPosition;
25
+ /** 结束点坐标 [x, y, z] */
26
+ end: ArrayPosition;
27
+ /** 旋转角度 [x, y, z](欧拉角) */
28
+ rotation: ArrayPosition;
29
+ }
30
+ /** 3DBox 标签 */
31
+ export type BoxTag<C extends TagContentType = TagContentType> = TagInstance<C, '3DBox'>;
32
+ /**
33
+ * Polygon 位置定义
34
+ * 多边形由多个点组成,至少需要 3 个点
35
+ */
36
+ export type PolygonPosition = ArrayPosition[];
37
+ /** Polygon 标签 */
38
+ export type PolygonTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Polygon'>;
39
+ /**
40
+ * Mask 位置定义
41
+ * Mask 标签的 position 由 mask 图和 color 计算得出,类型为普通的 Position
42
+ */
43
+ export type MaskPosition = Position;
44
+ /** Mask 标签 */
45
+ export type MaskTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Mask'>;
19
46
  /**
20
47
  * @description 标签 icon 动画配置
21
48
  */
@@ -67,6 +94,28 @@ export interface TagStyle {
67
94
  */
68
95
  size?: 'S' | 'M' | 'L' | 'XL' | number;
69
96
  } & TagIconUrl;
97
+ /** 3D Box 和Polygon样式 */
98
+ boxOrpolygon?: {
99
+ /** 填充颜色(十六进制) */
100
+ color?: number;
101
+ /** 填充透明度 0-1 */
102
+ opacity?: number;
103
+ /** 线条颜色(十六进制) */
104
+ lineColor?: number;
105
+ /** 线条宽度 */
106
+ lineWidth?: number;
107
+ };
108
+ /** Mask 标签样式 */
109
+ mask?: {
110
+ /** 高亮颜色(RGB 数组或十六进制数字) */
111
+ color?: [number, number, number] | number;
112
+ /** 透明度 0-1,用于填充区域;描边区域始终完全不透明 */
113
+ opacity?: number;
114
+ /** 颜色匹配容差(归一化值 0-1,默认 0.001) */
115
+ tolerance?: number;
116
+ /** @deprecated 使用 color 代替 */
117
+ highlightColor?: [number, number, number] | number;
118
+ };
70
119
  }
71
120
  export type TagGLTFObject = GLTFObject & {
72
121
  customID: number | string;
@@ -0,0 +1,6 @@
1
+ import * as THREE from 'three';
2
+ import type { BoxPosition } from '../typings';
3
+ /**
4
+ * 将 Sculpt 数据转换为 BoxPosition
5
+ */
6
+ export declare function sculptDataToBoxPosition(bottomPoints: THREE.Vector3[], heightPoint: THREE.Vector3): BoxPosition;