@realsee/dnalogel 2.15.1-alpha.0 → 2.16.0-1

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 (365) hide show
  1. package/dist/CSS3DRenderPlugin/Controller.d.ts +1 -0
  2. package/dist/CruisePlugin/Controller.d.ts +1 -2
  3. package/dist/CruisePlugin/typing.d.ts +12 -2
  4. package/dist/GuideLinePlugin/Controller.d.ts +20 -12
  5. package/dist/GuideLinePlugin/GuideLineItem.d.ts +26 -0
  6. package/dist/GuideLinePlugin/GuideLineModeItem.d.ts +62 -0
  7. package/dist/GuideLinePlugin/index.d.ts +3 -0
  8. package/dist/GuideLinePlugin/typing.d.ts +70 -1
  9. package/dist/GuideLinePlugin/utils/createLineGeometry.d.ts +19 -0
  10. package/dist/GuideLinePlugin/utils/index.d.ts +7 -0
  11. package/dist/PanoTagPlugin/typings/controller.d.ts +0 -3
  12. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +0 -1
  13. package/dist/base/BasePlugin.d.ts +1 -0
  14. package/dist/index.cjs.js +164 -118
  15. package/dist/index.js +4496 -4298
  16. package/dist/index.umd.js +163 -117
  17. package/dist/shared-utils/five/index.d.ts +1 -0
  18. package/dist/shared-utils/five/mode.d.ts +3 -0
  19. package/dist/shared-utils/index.d.ts +3 -0
  20. package/dist/shared-utils/isAbsoluteURL.d.ts +1 -0
  21. package/dist/shared-utils/log.d.ts +2 -0
  22. package/docs/assets/search.js +1 -1
  23. package/docs/classes/CSS3DRender.html +33 -31
  24. package/docs/classes/CruisePluginController.html +43 -25
  25. package/docs/classes/GuideLineItem.GuideLineItem.html +168 -0
  26. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +328 -0
  27. package/docs/classes/Magnifier.html +22 -20
  28. package/docs/classes/ModelRoomLabelController.html +13 -11
  29. package/docs/classes/Object3DHelperController.html +42 -24
  30. package/docs/classes/PaintBrush.html +17 -15
  31. package/docs/classes/PanoMeasurePluginLine.html +25 -23
  32. package/docs/classes/PanoMeasurePluginModel.html +24 -22
  33. package/docs/classes/PanoMeasurePluginPoint.html +16 -14
  34. package/docs/classes/PanoMeasurePluginPolyline.html +28 -26
  35. package/docs/classes/PanoTagPluginController.html +64 -46
  36. package/docs/classes/Util.BetterTween.html +10 -8
  37. package/docs/classes/Util.FivePointSelector.html +14 -12
  38. package/docs/classes/Util.Interval.html +14 -12
  39. package/docs/classes/Util.Magnifier.html +19 -17
  40. package/docs/classes/Util.PointDomHelper.html +13 -11
  41. package/docs/classes/Util.PointHelper.html +13 -11
  42. package/docs/classes/Util.Rectangle.html +15 -13
  43. package/docs/enums/CameraMovementEffect.html +9 -7
  44. package/docs/enums/ContentType.html +21 -19
  45. package/docs/enums/DIRECTION.html +11 -9
  46. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +11 -9
  47. package/docs/enums/DimensionType.html +9 -7
  48. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +10 -8
  49. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +11 -9
  50. package/docs/enums/PaintBrushTypeEnum.html +10 -8
  51. package/docs/enums/Rotation.html +10 -8
  52. package/docs/functions/CSS3DRenderPlugin.html +6 -4
  53. package/docs/functions/CameraMovementPlugin.html +6 -4
  54. package/docs/functions/CruisePlugin.html +6 -4
  55. package/docs/functions/GuideLinePlugin.html +7 -5
  56. package/docs/functions/ItemLabelPlugin.html +6 -4
  57. package/docs/functions/MapviewFloorplanPlugin.html +6 -4
  58. package/docs/functions/ModelChassisCompassPlugin.html +6 -4
  59. package/docs/functions/ModelEntryDoorGuidePlugin.html +6 -4
  60. package/docs/functions/ModelFloorplanPlugin.html +6 -4
  61. package/docs/functions/ModelItemLabelPlugin.html +6 -4
  62. package/docs/functions/ModelRoomLabelPlugin.html +6 -4
  63. package/docs/functions/ModelTVVideoPlugin.html +6 -4
  64. package/docs/functions/ModelViewPlugin.html +6 -4
  65. package/docs/functions/Object3DHelperPlugin.html +6 -4
  66. package/docs/functions/PanoCompassPlugin.html +6 -4
  67. package/docs/functions/PanoCursorRaycasterPlugin.html +6 -4
  68. package/docs/functions/PanoDoorLabelPlugin.html +6 -4
  69. package/docs/functions/PanoFloorplanRadarPlugin.html +6 -4
  70. package/docs/functions/PanoMeasurePlugin.html +6 -4
  71. package/docs/functions/PanoRulerPlugin.html +6 -4
  72. package/docs/functions/PanoRulerProPlugin.html +6 -4
  73. package/docs/functions/PanoSpatialTagPlugin.html +6 -4
  74. package/docs/functions/PanoTagPlugin.html +6 -4
  75. package/docs/functions/PanoVideoPlugin.html +6 -4
  76. package/docs/functions/TopviewFloorplanPlugin.html +6 -4
  77. package/docs/functions/Util.getCoordsFromClient.html +12 -6
  78. package/docs/functions/Util.getCoordsFromElement.html +12 -6
  79. package/docs/functions/Util.getFrameTime.html +12 -6
  80. package/docs/functions/Util.getIntersectFromRelativePosition.html +12 -6
  81. package/docs/functions/Util.getRaycasterFromFivePointer.html +12 -6
  82. package/docs/functions/Util.isAbsoluteURL.html +78 -0
  83. package/docs/functions/Util.isModelLike.html +78 -0
  84. package/docs/functions/Util.isNil.html +12 -6
  85. package/docs/functions/Util.isPanoramaLike.html +78 -0
  86. package/docs/functions/Util.nextFrame.html +12 -6
  87. package/docs/functions/Util.notNil.html +12 -6
  88. package/docs/functions/Util.requestAnimationFrameInterval.html +12 -6
  89. package/docs/functions/Util.tweenProgress.html +12 -6
  90. package/docs/functions/Util.uuid.html +75 -0
  91. package/docs/functions/pluginFlag.html +7 -5
  92. package/docs/index.html +6 -4
  93. package/docs/interfaces/AddTagConfig.html +8 -6
  94. package/docs/interfaces/CSS3DRenderPluginEventMap.html +13 -11
  95. package/docs/interfaces/CSS3DRenderPluginState.html +10 -8
  96. package/docs/interfaces/CameraMovementPluginExportType.html +9 -7
  97. package/docs/interfaces/EventMap.html +17 -15
  98. package/docs/interfaces/FloorplanBounding.html +10 -8
  99. package/docs/interfaces/FloorplanData.html +12 -10
  100. package/docs/interfaces/FloorplanEntrance.html +13 -11
  101. package/docs/interfaces/FloorplanExtraObject.html +12 -10
  102. package/docs/interfaces/FloorplanExtraObject3D.html +10 -8
  103. package/docs/interfaces/FloorplanFloorData.html +11 -9
  104. package/docs/interfaces/FloorplanImagePosition.html +9 -7
  105. package/docs/interfaces/FloorplanObserver.html +11 -9
  106. package/docs/interfaces/FloorplanOutlineItem.html +11 -9
  107. package/docs/interfaces/FloorplanPosition.html +9 -7
  108. package/docs/interfaces/FloorplanRoomItem.html +15 -13
  109. package/docs/interfaces/FloorplanRoomLabelItem.html +9 -7
  110. package/docs/interfaces/FloorplanServerBounding.html +10 -8
  111. package/docs/interfaces/FloorplanServerComputedData.html +12 -10
  112. package/docs/interfaces/FloorplanServerData.html +9 -7
  113. package/docs/interfaces/FloorplanServerDoorItem.html +12 -10
  114. package/docs/interfaces/FloorplanServerDoorPosition.html +10 -8
  115. package/docs/interfaces/FloorplanServerEntrance.html +13 -11
  116. package/docs/interfaces/FloorplanServerFloorData.html +11 -9
  117. package/docs/interfaces/FloorplanServerImagePosition.html +9 -7
  118. package/docs/interfaces/FloorplanServerObserver.html +11 -9
  119. package/docs/interfaces/FloorplanServerOutlineItem.html +11 -9
  120. package/docs/interfaces/FloorplanServerPosition.html +9 -7
  121. package/docs/interfaces/FloorplanServerRoomItem.html +16 -14
  122. package/docs/interfaces/FloorplanServerRoomLabelItem.html +9 -7
  123. package/docs/interfaces/HelperOffset.html +10 -8
  124. package/docs/interfaces/ImagePlaneGroup.html +8 -6
  125. package/docs/interfaces/ItemLabelPluginData.html +8 -6
  126. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +13 -11
  127. package/docs/interfaces/ItemLabelPluginParametersType.html +11 -9
  128. package/docs/interfaces/MinMax.html +9 -7
  129. package/docs/interfaces/ModelChassisCompassPluginData.html +9 -7
  130. package/docs/interfaces/ModelChassisCompassPluginExportType.html +10 -8
  131. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +9 -7
  132. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +10 -8
  133. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +10 -8
  134. package/docs/interfaces/ModelItemLabelPluginData.html +8 -6
  135. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +13 -11
  136. package/docs/interfaces/ModelItemLabelPluginParametersType.html +9 -7
  137. package/docs/interfaces/ModelRoomLabelPluginData.html +8 -6
  138. package/docs/interfaces/ModelTVVideoPluginData.html +11 -9
  139. package/docs/interfaces/ModelTVVideoPluginExportType.html +10 -8
  140. package/docs/interfaces/ModelTVVideoPluginParameterType.html +8 -6
  141. package/docs/interfaces/ModelViewPluginExportType.html +13 -11
  142. package/docs/interfaces/Object3DHelperState.html +10 -8
  143. package/docs/interfaces/ObjectHelperControllers.html +11 -9
  144. package/docs/interfaces/PaintBrushAction.html +14 -12
  145. package/docs/interfaces/PaintBrushConfigs.html +14 -12
  146. package/docs/interfaces/PaintBrushState.html +12 -10
  147. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +12 -10
  148. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +7 -5
  149. package/docs/interfaces/PanoMeasureParameterType.html +16 -14
  150. package/docs/interfaces/PanoMeasurePluginLineJson.html +10 -8
  151. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +9 -7
  152. package/docs/interfaces/PanoMeasurePluginPointJson.html +9 -7
  153. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +10 -8
  154. package/docs/interfaces/PanoRulerPluginExportType.html +12 -10
  155. package/docs/interfaces/PanoRulerPluginOptions.html +9 -7
  156. package/docs/interfaces/PanoRulerPluginParameterType.html +10 -8
  157. package/docs/interfaces/PanoRulerProPluginExportType.html +11 -9
  158. package/docs/interfaces/PanoRulerProPluginOptions.html +9 -7
  159. package/docs/interfaces/PanoRulerProPluginParameterType.html +9 -7
  160. package/docs/interfaces/PanoRulerProPluginState.html +10 -8
  161. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +7 -5
  162. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +7 -5
  163. package/docs/interfaces/PanoSpatialTagPluginData.html +13 -11
  164. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +12 -10
  165. package/docs/interfaces/PanoSpatialTagPluginExportType.html +15 -13
  166. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +12 -10
  167. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +15 -13
  168. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +13 -11
  169. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +12 -10
  170. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +8 -6
  171. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +10 -8
  172. package/docs/interfaces/PanoVideoPluginType.PluginData.html +8 -6
  173. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +11 -9
  174. package/docs/interfaces/PanoVideoPluginType.PluginState.html +8 -6
  175. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +10 -8
  176. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +12 -10
  177. package/docs/interfaces/Point.html +10 -8
  178. package/docs/interfaces/Room.html +11 -9
  179. package/docs/interfaces/RoomInfo.html +9 -7
  180. package/docs/interfaces/RoomLabel.html +16 -14
  181. package/docs/interfaces/RoomRules.html +7 -5
  182. package/docs/interfaces/Rooms.html +7 -5
  183. package/docs/interfaces/Scissor.html +11 -9
  184. package/docs/interfaces/State.html +10 -8
  185. package/docs/interfaces/TagCacheInterface.html +14 -12
  186. package/docs/interfaces/TagConfig.html +13 -11
  187. package/docs/interfaces/TagGLTFObjectGroup.html +8 -6
  188. package/docs/interfaces/TagIconUrl.html +13 -11
  189. package/docs/interfaces/TagObjectGroup.html +8 -6
  190. package/docs/interfaces/TagStyle.html +8 -6
  191. package/docs/interfaces/Tags.html +11 -9
  192. package/docs/interfaces/TemporaryState.html +8 -6
  193. package/docs/interfaces/Util.MagnifierParameter.html +13 -11
  194. package/docs/interfaces/Util.MouseGroupParameter.html +10 -8
  195. package/docs/modules/GuideLineItem.html +52 -0
  196. package/docs/modules/GuideLineModeItem.html +52 -0
  197. package/docs/modules/PanoVideoPluginType.html +7 -5
  198. package/docs/modules/Util.html +16 -6
  199. package/docs/modules.html +9 -5
  200. package/docs/types/ArrayPosition.html +7 -5
  201. package/docs/types/AudioAppearance.html +7 -5
  202. package/docs/types/AudioTagTypeConfigKey.html +7 -5
  203. package/docs/types/CSS3DRenderExportType.html +7 -5
  204. package/docs/types/CSS3DRenderPluginExportType.html +7 -5
  205. package/docs/types/CSS3DRenderPluginParameterType.html +7 -5
  206. package/docs/types/ClassFunctionParameters.html +7 -5
  207. package/docs/types/Color.html +7 -5
  208. package/docs/types/ContentTypeConfigKey.html +7 -5
  209. package/docs/types/ContentTypeConfigKeySplit.html +7 -5
  210. package/docs/types/ContentTypeMap.html +7 -5
  211. package/docs/types/Create3DDomContainerReturnType.html +7 -5
  212. package/docs/types/Create3DElementReturnType.html +7 -5
  213. package/docs/types/CruisePluginExportType.html +7 -5
  214. package/docs/types/Direction-1.html +7 -5
  215. package/docs/types/Direction4.html +7 -5
  216. package/docs/types/FloorplanRuleLabels.html +7 -5
  217. package/docs/types/FloorplanServerRuleLabels.html +7 -5
  218. package/docs/types/GuideLinePluginExportType.html +7 -5
  219. package/docs/types/HelperEventMap.html +7 -5
  220. package/docs/types/LoadTagConfig.html +7 -5
  221. package/docs/types/MapviewFloorplanPluginParameterType.html +7 -5
  222. package/docs/types/MapviewFloorplanPluginReturnType.html +7 -5
  223. package/docs/types/MediaData.html +7 -5
  224. package/docs/types/MediaStore.html +7 -5
  225. package/docs/types/ModelElement.html +7 -5
  226. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +7 -5
  227. package/docs/types/ModelFloorplanPluginParameterType.html +7 -5
  228. package/docs/types/ModelFloorplanPluginReturnType.html +7 -5
  229. package/docs/types/ModelRoomLabelPluginParameters.html +7 -5
  230. package/docs/types/ModelRoomLabelPluginReturnType.html +7 -5
  231. package/docs/types/MoveArgs.html +7 -5
  232. package/docs/types/MoveOpts.html +7 -5
  233. package/docs/types/Object3DHelperEventMap.html +7 -5
  234. package/docs/types/ObjectFit.html +7 -5
  235. package/docs/types/PaintBrushEventMap.html +7 -5
  236. package/docs/types/PanoCompassPluginData.html +7 -5
  237. package/docs/types/PanoCompassPluginExportType.html +7 -5
  238. package/docs/types/PanoCompassPluginParameterType.html +7 -5
  239. package/docs/types/PanoFloorplanRadarPluginParameterType.html +7 -5
  240. package/docs/types/PanoFloorplanRadarPluginReturnType.html +7 -5
  241. package/docs/types/PanoIndex.html +7 -5
  242. package/docs/types/PanoMeasurePluginEvent.html +7 -5
  243. package/docs/types/PanoMeasureReturnType.html +7 -5
  244. package/docs/types/PanoSpatialTagPluginId.html +7 -5
  245. package/docs/types/PanoTagPluginExportInterface.html +7 -5
  246. package/docs/types/PanoTagPluginParamsInterface.html +7 -5
  247. package/docs/types/PanoVideoPluginParameterType.html +7 -5
  248. package/docs/types/PanoVideoPluginReturnType.html +7 -5
  249. package/docs/types/PlaneTag.html +7 -5
  250. package/docs/types/PlaneTagElement.html +7 -5
  251. package/docs/types/Point2DElement.html +7 -5
  252. package/docs/types/Point2DTag.html +7 -5
  253. package/docs/types/Point3DElement.html +7 -5
  254. package/docs/types/Point3DTag.html +7 -5
  255. package/docs/types/PointTag.html +7 -5
  256. package/docs/types/PointTagElement.html +7 -5
  257. package/docs/types/Position.html +7 -5
  258. package/docs/types/RotateArgs.html +7 -5
  259. package/docs/types/RotateOpts.html +7 -5
  260. package/docs/types/RuleLabelsKey.html +7 -5
  261. package/docs/types/RuleLabelsValue.html +7 -5
  262. package/docs/types/StickType.html +7 -5
  263. package/docs/types/Tag.html +7 -5
  264. package/docs/types/Tag2D.html +7 -5
  265. package/docs/types/Tag3D.html +7 -5
  266. package/docs/types/TagContentType.html +7 -5
  267. package/docs/types/TagDimensionType.html +7 -5
  268. package/docs/types/TagElement.html +8 -6
  269. package/docs/types/TagEvents.html +7 -5
  270. package/docs/types/TagGLTFObject.html +8 -6
  271. package/docs/types/TagHooks.html +7 -5
  272. package/docs/types/TagIconSize.html +7 -5
  273. package/docs/types/TagId.html +7 -5
  274. package/docs/types/TopviewFloorplanPluginParameterType.html +7 -5
  275. package/docs/types/TopviewFloorplanPluginReturnType.html +7 -5
  276. package/docs/types/WorkCode.html +7 -5
  277. package/docs/variables/FLOOR_TYPE_MAP.html +7 -5
  278. package/docs/variables/PLUGIN.html +7 -5
  279. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +7 -5
  280. package/docs/variables/ROOM_TYPE_MAP.html +7 -5
  281. package/docs/variables/itemLabelPluginServerParams.html +7 -5
  282. package/docs/variables/modelItemLabelPluginServerParams.html +7 -5
  283. package/docs/variables/modelRoomLabelPluginServerParams.html +7 -5
  284. package/libs/CSS3DRenderPlugin/Controller.d.ts +1 -0
  285. package/libs/CSS3DRenderPlugin/Controller.js +40 -31
  286. package/libs/CSS3DRenderPlugin/index.js +12 -6
  287. package/libs/CruisePlugin/Controller.d.ts +1 -2
  288. package/libs/CruisePlugin/Controller.js +197 -174
  289. package/libs/CruisePlugin/index.js +33 -10
  290. package/libs/CruisePlugin/typing.d.ts +12 -2
  291. package/libs/GuideLinePlugin/Controller.d.ts +20 -12
  292. package/libs/GuideLinePlugin/Controller.js +125 -88
  293. package/libs/GuideLinePlugin/GuideLineItem/index.js +35 -0
  294. package/libs/GuideLinePlugin/GuideLineItem.d.ts +26 -0
  295. package/libs/GuideLinePlugin/GuideLineItem.js +31 -0
  296. package/libs/GuideLinePlugin/GuideLineModeItem/index.js +220 -0
  297. package/libs/GuideLinePlugin/GuideLineModeItem.d.ts +62 -0
  298. package/libs/GuideLinePlugin/GuideLineModeItem.js +29 -0
  299. package/libs/GuideLinePlugin/index.d.ts +3 -0
  300. package/libs/GuideLinePlugin/index.js +33 -7
  301. package/libs/GuideLinePlugin/typing.d.ts +70 -1
  302. package/libs/GuideLinePlugin/utils/createLineGeometry.d.ts +19 -0
  303. package/libs/GuideLinePlugin/utils/createLineGeometry.js +35 -0
  304. package/libs/GuideLinePlugin/utils/dataFormatter.d.ts +2 -0
  305. package/libs/GuideLinePlugin/utils/dataFormatter.js +6 -0
  306. package/libs/GuideLinePlugin/utils/index.d.ts +7 -0
  307. package/libs/GuideLinePlugin/utils/index.js +32 -0
  308. package/libs/ModelTVVideoPlugin/Plugin.js +37 -31
  309. package/libs/ModelTVVideoPlugin/index.js +11 -5
  310. package/libs/Object3DHelperPlugin/Controller.js +33 -28
  311. package/libs/Object3DHelperPlugin/index.js +18 -13
  312. package/libs/PanoCompassPlugin/Controller.js +8 -6
  313. package/libs/PanoCompassPlugin/index.js +12 -10
  314. package/libs/PanoDoorLabelPlugin/BaseController.js +47 -28
  315. package/libs/PanoDoorLabelPlugin/Controller.js +40 -22
  316. package/libs/PanoDoorLabelPlugin/index.js +21 -3
  317. package/libs/PanoMeasurePlugin/typings/index.js +20 -1
  318. package/libs/PanoSpatialTagPlugin/Plugin.js +8 -3
  319. package/libs/PanoSpatialTagPlugin/index.js +8 -3
  320. package/libs/PanoTagPlugin/Components/Common/Media.js +49 -49
  321. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +1 -1
  322. package/libs/PanoTagPlugin/Components/Tag/index.js +1 -1
  323. package/libs/PanoTagPlugin/Components/TagContainer.js +1 -1
  324. package/libs/PanoTagPlugin/Components/TagItem.js +1 -1
  325. package/libs/PanoTagPlugin/controller/TagCache.js +42 -22
  326. package/libs/PanoTagPlugin/controller/TagComputer.js +4 -3
  327. package/libs/PanoTagPlugin/controller/TagRender.js +53 -58
  328. package/libs/PanoTagPlugin/controller/TagUtil.js +8 -3
  329. package/libs/PanoTagPlugin/controller/index.js +13 -15
  330. package/libs/PanoTagPlugin/index.js +11 -10
  331. package/libs/PanoTagPlugin/typings/controller.d.ts +0 -3
  332. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +0 -1
  333. package/libs/PanoVideoPlugin/Controller.js +4 -3
  334. package/libs/PanoVideoPlugin/VideoMeshController.js +1 -1
  335. package/libs/PanoVideoPlugin/index.js +7 -6
  336. package/libs/base/BasePlugin.d.ts +1 -0
  337. package/libs/base/BasePlugin.js +21 -10
  338. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +57 -38
  339. package/libs/floorplan/MapviewFloorplanPlugin/index.js +22 -3
  340. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +48 -29
  341. package/libs/floorplan/ModelFloorplanPlugin/index.js +22 -3
  342. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +31 -11
  343. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +23 -3
  344. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +59 -40
  345. package/libs/floorplan/TopviewFloorplanPlugin/index.js +22 -3
  346. package/libs/floorplan/index.js +6 -0
  347. package/libs/index.js +77 -72
  348. package/libs/shared-utils/five/index.d.ts +1 -0
  349. package/libs/shared-utils/five/index.js +1 -0
  350. package/libs/shared-utils/five/mode.d.ts +3 -0
  351. package/libs/shared-utils/five/mode.js +11 -0
  352. package/libs/shared-utils/index.d.ts +3 -0
  353. package/libs/shared-utils/index.js +36 -29
  354. package/libs/shared-utils/isAbsoluteURL.d.ts +1 -0
  355. package/libs/shared-utils/isAbsoluteURL.js +6 -0
  356. package/libs/shared-utils/log.d.ts +2 -0
  357. package/libs/shared-utils/log.js +10 -0
  358. package/libs/shared-utils/three/PointDomHelper.js +1 -1
  359. package/package.json +2 -2
  360. package/dist/GuideLinePlugin/utils/getLineGeometries.d.ts +0 -16
  361. package/dist/shared-utils/logger.d.ts +0 -17
  362. package/libs/GuideLinePlugin/utils/getLineGeometries.d.ts +0 -16
  363. package/libs/GuideLinePlugin/utils/getLineGeometries.js +0 -64
  364. package/libs/shared-utils/logger.d.ts +0 -17
  365. package/libs/shared-utils/logger.js +0 -16
@@ -0,0 +1,220 @@
1
+ var g = Object.defineProperty;
2
+ var n = Object.getOwnPropertySymbols;
3
+ var p = Object.prototype.hasOwnProperty, f = Object.prototype.propertyIsEnumerable;
4
+ var d = (r, e, i) => e in r ? g(r, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : r[e] = i, m = (r, e) => {
5
+ for (var i in e || (e = {}))
6
+ p.call(e, i) && d(r, i, e[i]);
7
+ if (n)
8
+ for (var i of n(e))
9
+ f.call(e, i) && d(r, i, e[i]);
10
+ return r;
11
+ };
12
+ var t = (r, e, i) => (d(r, typeof e != "symbol" ? e + "" : e, i), i);
13
+ import * as o from "three";
14
+ import { logWarning as v, logError as c } from "../../shared-utils/log.js";
15
+ import { createLineGeometry as C } from "../utils/createLineGeometry.js";
16
+ import { isPanoramaLike as b, isModelLike as y } from "../../shared-utils/five/mode.js";
17
+ import "hammerjs";
18
+ import "@realsee/five";
19
+ import "@tweenjs/tween.js";
20
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
21
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
22
+ import "../../shared-utils/animationFrame/BetterTween.js";
23
+ import { loadTexture as E } from "../../shared-utils/three/loadTexture.js";
24
+ const F = `
25
+ varying vec2 vUv;
26
+ void main() {
27
+ vUv = uv;
28
+ gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
29
+ }
30
+ `, P = `
31
+ // \u662F\u5426\u4F7F\u7528\u989C\u8272
32
+ uniform int useMapColor;
33
+ // \u8D34\u56FE
34
+ uniform sampler2D map;
35
+ // \u8D34\u56FE\u989C\u8272
36
+ uniform vec3 mapColor;
37
+ // \u8D34\u56FE\u900F\u660E\u5EA6
38
+ uniform float mapOpacity;
39
+ // \u80CC\u666F\u989C\u8272
40
+ uniform vec3 backgroundColor;
41
+ // \u80CC\u666F\u900F\u660E\u5EA6
42
+ uniform float backgroundOpacity;
43
+ // \u6574\u4F53\u900F\u660E\u5EA6
44
+ uniform float opacity;
45
+ // \u7EB9\u7406\u5750\u6807
46
+ varying vec2 vUv;
47
+
48
+ // \u83B7\u53D6\u7EB9\u7406\u989C\u8272
49
+ vec4 getTextureColor() {
50
+ // \u539F\u59CB\u8D34\u56FE\u989C\u8272
51
+ vec4 image = texture2D(map, vUv);
52
+ // \u5982\u679C\u4F7F\u7528\u989C\u8272
53
+ if (useMapColor == 1) {
54
+ // \u6DF7\u5408\u989C\u8272
55
+ image = mix(image, vec4(mapColor, image.a), image.a);
56
+ }
57
+ image.a = image.a * mapOpacity;
58
+ return image;
59
+ }
60
+
61
+ void main() {
62
+ vec4 image = getTextureColor();
63
+ // \u8BBE\u7F6E\u80CC\u666F\u989C\u8272
64
+ gl_FragColor = vec4(backgroundColor, backgroundOpacity);
65
+ // \u6DF7\u5408\u989C\u8272\u548C\u80CC\u666F
66
+ gl_FragColor = mix(gl_FragColor, image, image.a);
67
+ // \u8BBE\u7F6E\u6574\u4F53\u900F\u660E\u5EA6
68
+ gl_FragColor.a = gl_FragColor.a * opacity;
69
+ }
70
+ `;
71
+ class w {
72
+ constructor(e, i) {
73
+ t(this, "mesh");
74
+ t(this, "five");
75
+ t(this, "mode");
76
+ t(this, "path", []);
77
+ t(this, "textureUrl", "");
78
+ t(this, "scale", 1);
79
+ t(this, "width", 0.5);
80
+ t(this, "unitLength", 0.5);
81
+ t(this, "visible", !1);
82
+ t(this, "modeVisible", !1);
83
+ t(this, "customVisible", null);
84
+ t(this, "plugin");
85
+ t(this, "textureHasLoaded", !1);
86
+ t(this, "disposed", !1);
87
+ t(this, "onPluginShow", () => {
88
+ this.updateVisible();
89
+ });
90
+ t(this, "onPluginHide", () => {
91
+ this.updateVisible();
92
+ });
93
+ t(this, "onPluginEnable", () => {
94
+ this.updateVisible();
95
+ });
96
+ t(this, "onPluginDisable", () => {
97
+ this.updateVisible();
98
+ });
99
+ t(this, "onFiveModeChange", (e) => {
100
+ this.modeVisible = this.mode === "panorama" ? b(e) : y(e), this.updateVisible();
101
+ });
102
+ t(this, "logWarning", (e) => v("GuideLineModeItem: ", e));
103
+ t(this, "logError", (e) => c("GuideLineModeItem: ", e));
104
+ this.five = e, this.mode = i.mode, this.plugin = i.plugin;
105
+ const s = new o.BufferGeometry(), a = new o.ShaderMaterial({
106
+ vertexShader: F,
107
+ fragmentShader: P,
108
+ transparent: !0,
109
+ uniforms: {
110
+ map: { value: null },
111
+ useMapColor: { value: 0 },
112
+ mapColor: { value: new o.Color() },
113
+ mapOpacity: { value: 1 },
114
+ backgroundColor: { value: new o.Color() },
115
+ backgroundOpacity: { value: 0 },
116
+ opacity: { value: 1 }
117
+ }
118
+ });
119
+ this.mesh = new o.Mesh(s, a), this.mesh.name = "GuideLineModeItem", this.plugin.hooks.on("show", this.onPluginShow), this.plugin.hooks.on("hide", this.onPluginHide), this.plugin.hooks.on("enable", this.onPluginEnable), this.plugin.hooks.on("disable", this.onPluginDisable), this.five.on("modeChange", this.onFiveModeChange), this.onFiveModeChange(this.five.getCurrentState().mode);
120
+ }
121
+ setCustomVisible(e) {
122
+ if (this.disposed)
123
+ return this.logError("disposed");
124
+ this.customVisible !== e && (this.customVisible = e, this.updateVisible());
125
+ }
126
+ setModeVisible(e) {
127
+ if (this.disposed)
128
+ return this.logError("disposed");
129
+ this.modeVisible !== e && (this.modeVisible = e, this.updateVisible());
130
+ }
131
+ dispose() {
132
+ this.disposed || (this.disposed = !0, this.five.off("modeChange", this.onFiveModeChange), this.plugin.hooks.off("show", this.onPluginShow), this.plugin.hooks.off("hide", this.onPluginHide), this.plugin.hooks.off("enable", this.onPluginEnable), this.plugin.hooks.off("disable", this.onPluginDisable), this.doHide());
133
+ }
134
+ setUnitSize(e, i) {
135
+ if (this.disposed)
136
+ return this.logError("disposed");
137
+ this.width = e, this.unitLength = i, this.setGeometryByPath(this.path, { width: e, unit_length: i });
138
+ }
139
+ setScale(e) {
140
+ if (this.disposed)
141
+ return this.logError("disposed");
142
+ this.scale = e, this.setGeometryByPath(this.path, { scale: e });
143
+ }
144
+ setGeometryByPanoGroup(e, i) {
145
+ if (this.disposed)
146
+ return this.logError("disposed");
147
+ if (!this.five.work)
148
+ return this.logError("setPathByPanoGroup: work is not ready");
149
+ const s = this.getPathFromPanoGroup(e, this.five.work, i);
150
+ this.path = s, this.setGeometryByPath(s, i);
151
+ }
152
+ setGeometryByPath(e, i) {
153
+ var l;
154
+ if (this.disposed)
155
+ return this.logError("disposed");
156
+ this.path = e;
157
+ const s = (l = i == null ? void 0 : i.scale) != null ? l : this.scale, a = i != null && i.width ? i.width * s : this.width * s, h = i != null && i.unit_length ? i.unit_length * s : this.unitLength * s, u = C({ path: e, width: a, unitLength: h });
158
+ this.mesh.geometry = u;
159
+ }
160
+ setMartial(e) {
161
+ var i;
162
+ if (this.disposed)
163
+ return this.logError("disposed");
164
+ e != null && e.color && this.setColor(e.color), e != null && e.opacity && this.setOpacity(e.opacity), (i = e == null ? void 0 : e.texture) != null && i.url && this.setTextureUrl(e.texture.url);
165
+ }
166
+ setColor(e) {
167
+ if (this.disposed)
168
+ return this.logError("disposed");
169
+ this.mesh.material.uniforms.useMapColor.value = e ? 1 : 0, this.mesh.material.uniforms.mapColor.value = new o.Color().setRGB(e[0], e[1], e[2]), this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
170
+ }
171
+ setBackgroundColor(e) {
172
+ if (this.disposed)
173
+ return this.logError("disposed");
174
+ this.mesh.material.uniforms.backgroundColor.value = new o.Color().setRGB(e[0], e[1], e[2]), this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
175
+ }
176
+ setOpacity(e) {
177
+ if (this.disposed)
178
+ return this.logError("disposed");
179
+ this.mesh.material.uniforms.opacity.value = e, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
180
+ }
181
+ setBackgroundOpacity(e) {
182
+ if (this.disposed)
183
+ return this.logError("disposed");
184
+ this.mesh.material.uniforms.backgroundOpacity.value = e, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
185
+ }
186
+ setMapOpacity(e) {
187
+ if (this.disposed)
188
+ return this.logError("disposed");
189
+ this.mesh.material.uniforms.mapOpacity.value = e, this.mesh.material.uniformsNeedUpdate = !0, this.five.needsRender = !0;
190
+ }
191
+ setTextureUrl(e) {
192
+ if (this.disposed)
193
+ return this.logError("disposed");
194
+ this.textureUrl = e, E(e).then((i) => {
195
+ this.disposed || this.textureUrl === e && (i.wrapT = o.RepeatWrapping, this.textureHasLoaded = !0, this.mesh.material.uniforms.map.value = i, this.mesh.material.uniformsNeedUpdate = !0, this.mesh.material.needsUpdate = !0, this.five.needsRender = !0, this.updateVisible());
196
+ });
197
+ }
198
+ updateVisible() {
199
+ const e = (() => !this.plugin.state.enabled || !this.plugin.state.visible ? !1 : this.customVisible !== null ? this.customVisible : this.modeVisible && this.textureHasLoaded)();
200
+ this.visible !== e && (this.visible = e, e ? this.doShow() : this.doHide());
201
+ }
202
+ doShow() {
203
+ this.five.scene.add(this.mesh), this.five.needsRender = !0;
204
+ }
205
+ doHide() {
206
+ this.five.scene.remove(this.mesh), this.five.needsRender = !0;
207
+ }
208
+ getPathFromPanoGroup(e, i, s) {
209
+ const h = e.map((u) => i.observers[u]).map((u) => u.standingPosition.toArray());
210
+ return [m({ type: "CatmullRomCurve3", points: h }, s)];
211
+ }
212
+ }
213
+ const _ = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
214
+ __proto__: null,
215
+ GuideLineModeItem: w
216
+ }, Symbol.toStringTag, { value: "Module" }));
217
+ export {
218
+ w as GuideLineModeItem,
219
+ _ as GuideLineModeItem$1
220
+ };
@@ -0,0 +1,62 @@
1
+ import type GuideLinePlugin from './Controller';
2
+ import type { Five } from '@realsee/five';
3
+ import type * as PluginType from './typing';
4
+ import * as THREE from 'three';
5
+ /** @link https://threejs.org/docs/index.html#api/en/extras/curves/CatmullRomCurve3 */
6
+ declare type CatmullRomCurve3RestParams = Omit<PluginType.CatmullRomCurve3, 'type' | 'points'>;
7
+ /** 在不同模态下的 GuideLine */
8
+ declare class GuideLineModeItem {
9
+ readonly mesh: THREE.Mesh<THREE.BufferGeometry, THREE.ShaderMaterial>;
10
+ private five;
11
+ private mode;
12
+ private path;
13
+ private textureUrl;
14
+ private scale;
15
+ private width;
16
+ private unitLength;
17
+ private visible;
18
+ /** 在当前模态下,是否展示 */
19
+ private modeVisible;
20
+ private customVisible;
21
+ private plugin;
22
+ private textureHasLoaded;
23
+ private disposed;
24
+ constructor(five: Five, options: {
25
+ mode: PluginType.GuideLineModeItemMode;
26
+ plugin: GuideLinePlugin;
27
+ });
28
+ /** 自定义展示 */
29
+ setCustomVisible(visible: boolean | null): void;
30
+ /** 设置模型态展示 */
31
+ setModeVisible(visible: boolean): void;
32
+ dispose(): void;
33
+ /** 基础宽、长 */
34
+ setUnitSize(width: number, length: number): void;
35
+ /** 设置缩放 */
36
+ setScale(scale: number): void;
37
+ /** 通过点位设置线条形状 */
38
+ setGeometryByPanoGroup(panoGroup: number[], options?: CatmullRomCurve3RestParams & PluginType.GuideLineGeometryStyle): void;
39
+ /** 通过路径设置线条形状 */
40
+ setGeometryByPath(path: PluginType.PathItem[], options?: PluginType.GuideLineGeometryStyle): void;
41
+ /** 设置线条材质 */
42
+ setMartial(options?: PluginType.GuideLineMaterialStyle): void;
43
+ setColor(color: null | number[]): void;
44
+ setBackgroundColor(color: number[]): void;
45
+ setOpacity(opacity: number): void;
46
+ setBackgroundOpacity(opacity: number): void;
47
+ setMapOpacity(opacity: number): void;
48
+ setTextureUrl(url: string): void;
49
+ private onPluginShow;
50
+ private onPluginHide;
51
+ private onPluginEnable;
52
+ private onPluginDisable;
53
+ /** 模型状态变更 */
54
+ private onFiveModeChange;
55
+ private updateVisible;
56
+ private doShow;
57
+ private doHide;
58
+ private getPathFromPanoGroup;
59
+ private logWarning;
60
+ private logError;
61
+ }
62
+ export { GuideLineModeItem };
@@ -0,0 +1,29 @@
1
+ import "three";
2
+ import "../shared-utils/log.js";
3
+ import "./utils/createLineGeometry.js";
4
+ import "../shared-utils/five/mode.js";
5
+ import "hammerjs";
6
+ import "@realsee/five";
7
+ import "@tweenjs/tween.js";
8
+ import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
9
+ import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
10
+ import "../shared-utils/animationFrame/BetterTween.js";
11
+ import "../shared-utils/three/loadTexture.js";
12
+ import { GuideLineModeItem as w } from "./GuideLineModeItem/index.js";
13
+ import "polyline-normals";
14
+ import "../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
15
+ import "three/examples/jsm/renderers/CSS3DRenderer";
16
+ import "../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
17
+ import "../CSS3DRenderPlugin/utils/createResizeObserver.js";
18
+ import "../CSS3DRenderPlugin/utils/even.js";
19
+ import "../shared-utils/Subscribe.js";
20
+ import "../CSS3DRenderPlugin/utils/positionToVector3.js";
21
+ import "../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
22
+ import "../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
23
+ import "../shared-utils/three/centerPoint.js";
24
+ import "../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
25
+ import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
26
+ import "../shared-utils/animationFrame/index.js";
27
+ export {
28
+ w as GuideLineModeItem
29
+ };
@@ -1,5 +1,8 @@
1
1
  import type { Five } from '@realsee/five';
2
2
  import Controller from './Controller';
3
+ import * as GuideLineItem from './GuideLineItem';
4
+ import * as GuideLineModeItem from './GuideLineModeItem';
3
5
  export declare const GuideLinePlugin: (five: Five, config?: ConstructorParameters<typeof Controller>[1]) => Controller;
4
6
  export type { GuideLinePluginExportType } from './typing';
5
7
  export default GuideLinePlugin;
8
+ export { GuideLineItem, GuideLineModeItem };
@@ -1,16 +1,42 @@
1
1
  import t from "./Controller.js";
2
+ import { GuideLineItem$1 as J } from "./GuideLineItem/index.js";
3
+ import { GuideLineModeItem$1 as N } from "./GuideLineModeItem/index.js";
2
4
  import "../base/BasePluginWithData.js";
3
5
  import "../base/BasePlugin.js";
4
6
  import "../shared-utils/Subscribe.js";
7
+ import "@realsee/five";
8
+ import "hammerjs";
5
9
  import "three";
6
- import "./utils/getLineGeometries.js";
7
- import "polyline-normals";
8
- import "./utils/getArrowMaterial.js";
9
- import "../shared-utils/isNil.js";
10
+ import "@tweenjs/tween.js";
11
+ import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
12
+ import "../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
13
+ import "three/examples/jsm/renderers/CSS3DRenderer";
14
+ import "../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
15
+ import "../CSS3DRenderPlugin/utils/createResizeObserver.js";
16
+ import "../CSS3DRenderPlugin/utils/even.js";
17
+ import "../CSS3DRenderPlugin/utils/positionToVector3.js";
18
+ import "../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
19
+ import "../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
20
+ import "../shared-utils/three/centerPoint.js";
21
+ import "../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
22
+ import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
23
+ import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
24
+ import "../shared-utils/isAbsoluteURL.js";
25
+ import "../shared-utils/animationFrame/BetterTween.js";
26
+ import "../shared-utils/animationFrame/index.js";
10
27
  import "../shared-utils/equal.js";
11
28
  import "../shared-utils/isTruelyObject.js";
12
- const c = (o, r) => new t(o, r);
29
+ import "polyline-normals";
30
+ import "../shared-utils/uuid.js";
31
+ import "../shared-utils/three/loadTexture.js";
32
+ import "object-assign-deep";
33
+ import "../shared-utils/log.js";
34
+ import "./utils/createLineGeometry.js";
35
+ import "../shared-utils/five/mode.js";
36
+ const E = (i, o) => new t(i, o);
13
37
  export {
14
- c as GuideLinePlugin,
15
- c as default
38
+ J as GuideLineItem,
39
+ N as GuideLineModeItem,
40
+ E as GuideLinePlugin,
41
+ E as default
16
42
  };
@@ -1,4 +1,5 @@
1
1
  import type GuideLinePlugin from '.';
2
+ import type { RequireAtLeastOne } from 'type-fest';
2
3
  import type * as BasePluginWithData from '../base/BasePluginWithData';
3
4
  export interface RouteConfig {
4
5
  arrowTextureUrl?: string;
@@ -9,10 +10,15 @@ export interface RouteConfig {
9
10
  export interface Route extends RouteConfig {
10
11
  panoIndexList: number[];
11
12
  }
12
- export interface PluginData {
13
+ export interface PluginDataV1 {
13
14
  routes: Route[];
14
15
  config?: RouteConfig;
15
16
  }
17
+ export interface PluginDataV2 {
18
+ /** 路线数据 */
19
+ lines: GuideLineItem[];
20
+ }
21
+ export declare type PluginData = PluginDataV1 | PluginDataV2;
16
22
  export interface PluginServerData extends BasePluginWithData.ServerData {
17
23
  data: PluginData;
18
24
  }
@@ -35,3 +41,66 @@ export interface EventMap extends BasePluginWithData.EventMap<PluginState, Plugi
35
41
  }) => void;
36
42
  }
37
43
  export declare type GuideLinePluginExportType = ReturnType<typeof GuideLinePlugin>;
44
+ export interface LineGeometriesConfig {
45
+ /** 是否越过点位圆环。可以开启此选项来使越过点位,使其不会重叠显示 */
46
+ skipPanoIndexMesh?: boolean;
47
+ unitWidth?: number;
48
+ unitLength?: number;
49
+ }
50
+ export declare type GuideLineModeItemMode = 'panorama' | 'model';
51
+ export interface GuideLineItemContainer<T> {
52
+ onChildRemoved?: (child: T) => void;
53
+ }
54
+ /** 单条路线的数据 */
55
+ export declare type GuideLineItem = RequireAtLeastOne<{
56
+ /** server ID */
57
+ id?: number;
58
+ /** client ID,不存在时,会使用 String(id) 作为 client ID */
59
+ render_id?: string;
60
+ /** 路线名称 */
61
+ name?: string;
62
+ /** 可展示的楼层 */
63
+ visible_floor_indexes?: null | number[];
64
+ /** 点位数组 */
65
+ pano_group?: number[];
66
+ /** 路径:由多个曲线组合而成的路径,路径为空时,会使用 pano_group 自动创建 */
67
+ path?: PathItem[];
68
+ /** 全景态使用的数据 */
69
+ panorama_style?: GuideLineStyle;
70
+ /** 模型态使用的数据 */
71
+ model_style?: GuideLineStyle;
72
+ }, 'id' | 'render_id'>;
73
+ /** 影响形状的样式 */
74
+ export interface GuideLineGeometryStyle {
75
+ /** scale 之前的路线宽度,默认值是 0.5 */
76
+ width?: number;
77
+ /** 每一段 scale 之前的 长度,默认值是 0.5 */
78
+ unit_length?: number;
79
+ /** 线宽缩放 */
80
+ scale?: number;
81
+ }
82
+ /** 影响材质的样式 */
83
+ export interface GuideLineMaterialStyle {
84
+ /** 是否可见 */
85
+ visible?: boolean;
86
+ /** rgb 颜色 [r, g, b] */
87
+ color?: number[];
88
+ /** 透明度 */
89
+ opacity?: number;
90
+ /** 贴图 */
91
+ texture?: {
92
+ /** 贴图地址 */
93
+ url: string;
94
+ };
95
+ }
96
+ /** 不同模态下的路线数据 */
97
+ export declare type GuideLineStyle = GuideLineGeometryStyle & GuideLineMaterialStyle;
98
+ /** 目前只支持 CatmullRomCurve3 */
99
+ export declare type PathItem = CatmullRomCurve3;
100
+ export interface CatmullRomCurve3 {
101
+ type: 'CatmullRomCurve3';
102
+ points: number[][];
103
+ closed?: boolean;
104
+ curve_type?: string;
105
+ tension?: number;
106
+ }
@@ -0,0 +1,19 @@
1
+ import * as THREE from 'three';
2
+ import type * as PluginType from '../typing';
3
+ /** 生成曲线参数 */
4
+ interface LineGeometryOption {
5
+ /** 路径 */
6
+ path: PluginType.PathItem[];
7
+ /** 线宽,默认是 0.5 */
8
+ width: number;
9
+ /** 每一段的长度,默认是 0.5 */
10
+ unitLength: number;
11
+ }
12
+ /** 创建路线的几何体
13
+ * @param curvePoints 三维点位
14
+ * @param unitWidth 线段宽度
15
+ * @param unitLength 每一段的长度
16
+ * @returns THREE BufferGeometry
17
+ */
18
+ export declare function createLineGeometry(options: LineGeometryOption): THREE.BufferGeometry;
19
+ export {};
@@ -0,0 +1,35 @@
1
+ import * as c from "three";
2
+ import { Vector3 as b } from "three";
3
+ import U from "polyline-normals";
4
+ const F = 2, V = 3, z = 3, G = 2;
5
+ function D(e) {
6
+ const u = e.width, g = e.unitLength / u, s = u / 2, y = e.path, m = new c.CurvePath();
7
+ y.forEach((t) => {
8
+ const a = M(t);
9
+ a && m.add(a);
10
+ });
11
+ const d = Math.ceil(m.getLength() * 100), n = m.getPoints(d), L = n.length, P = U(n.map((t) => [t.x, t.z])), x = (n.length - 1) * F * V, E = 2 * L, C = E * z, B = E * G, o = new Uint32Array(x), r = new Float32Array(C), i = new Float32Array(B);
12
+ let N = 0;
13
+ for (let t = 0; t < n.length; t++) {
14
+ const [a, R] = P[t][0], T = n[t], { x: p, y: w, z: A } = T, v = new b(p + a * s, w + 0.05, A + R * s);
15
+ r[t * 6 + 0] = v.x, r[t * 6 + 1] = v.y, r[t * 6 + 2] = v.z;
16
+ const h = new b(p - a * s, w + 0.05, A - R * s);
17
+ r[t * 6 + 3] = h.x, r[t * 6 + 4] = h.y, r[t * 6 + 5] = h.z, N += t > 0 ? n[t - 1].clone().sub(n[t]).length() : 0;
18
+ const _ = N / u / g;
19
+ i[t * 4 + 0] = 0, i[t * 4 + 1] = _, i[t * 4 + 2] = 1, i[t * 4 + 3] = _, t !== n.length - 1 && (o[t * 6 + 0] = t * 2 + 0, o[t * 6 + 1] = t * 2 + 2, o[t * 6 + 2] = t * 2 + 1, o[t * 6 + 3] = t * 2 + 2, o[t * 6 + 4] = t * 2 + 3, o[t * 6 + 5] = t * 2 + 1);
20
+ }
21
+ const l = new c.BufferGeometry();
22
+ return l.setAttribute("position", new c.BufferAttribute(r, 3)), l.setAttribute("uv", new c.BufferAttribute(i, 2)), l.setIndex(new c.BufferAttribute(o, 1)), l;
23
+ }
24
+ function M(e) {
25
+ if (X(e)) {
26
+ const u = [e.closed, e.curve_type, e.tension], f = e.points.map((s) => new c.Vector3().fromArray(s));
27
+ return new c.CatmullRomCurve3(f, ...u);
28
+ }
29
+ }
30
+ function X(e) {
31
+ return e.type === "CatmullRomCurve3";
32
+ }
33
+ export {
34
+ D as createLineGeometry
35
+ };
@@ -0,0 +1,2 @@
1
+ import type * as PluginType from '../typing';
2
+ export declare function getID(data: PluginType.GuideLineItem): string;
@@ -0,0 +1,6 @@
1
+ function e(r) {
2
+ return r.render_id || String(r.id);
3
+ }
4
+ export {
5
+ e as getID
6
+ };
@@ -0,0 +1,7 @@
1
+ import { GuideLineModeItem } from '../GuideLineModeItem';
2
+ import type * as PluginType from '../typing';
3
+ export declare function updateGuideLineModeItemByData(options: {
4
+ item: GuideLineModeItem;
5
+ data: PluginType.GuideLineItem;
6
+ mode: PluginType.GuideLineModeItemMode;
7
+ }): void;
@@ -0,0 +1,32 @@
1
+ import "three";
2
+ import "polyline-normals";
3
+ import "@realsee/five";
4
+ import "hammerjs";
5
+ import "@tweenjs/tween.js";
6
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
7
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
8
+ import "../../shared-utils/animationFrame/BetterTween.js";
9
+ import "../../shared-utils/three/loadTexture.js";
10
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
11
+ import "three/examples/jsm/renderers/CSS3DRenderer";
12
+ import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
13
+ import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
14
+ import "../../CSS3DRenderPlugin/utils/even.js";
15
+ import "../../shared-utils/Subscribe.js";
16
+ import "../../CSS3DRenderPlugin/utils/positionToVector3.js";
17
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
18
+ import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
19
+ import "../../shared-utils/three/centerPoint.js";
20
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
21
+ import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
22
+ import "../../shared-utils/animationFrame/index.js";
23
+ function k(o) {
24
+ const t = o.data, m = o.item, r = o.mode === "panorama" ? t.panorama_style : t.model_style;
25
+ if (!r)
26
+ return;
27
+ const e = t.path, p = r, i = r;
28
+ t.path ? m.setGeometryByPath(e, p) : t.pano_group && m.setGeometryByPanoGroup(t.pano_group, p), m.setMartial(i);
29
+ }
30
+ export {
31
+ k as updateGuideLineModeItemByData
32
+ };