@realsee/dnalogel 2.1.0-alpha.5 → 2.1.0-alpha.7

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 (311) hide show
  1. package/dist/CSS3DRenderPlugin/index.js +8 -1
  2. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  3. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  4. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  5. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  6. package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  7. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  8. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  9. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  10. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  11. package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  12. package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  13. package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  14. package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  15. package/dist/CruisePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  16. package/dist/CruisePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  17. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  18. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  19. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  20. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  21. package/dist/GuideLinePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  22. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  23. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  24. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  25. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  26. package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  27. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  28. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  29. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  30. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  31. package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  32. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  33. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  34. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  35. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  36. package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  37. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  38. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  39. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  40. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  41. package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  42. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  43. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  44. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  45. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  46. package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  47. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  48. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  49. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  50. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  51. package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  52. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  53. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  54. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  55. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  56. package/dist/ModelViewPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  57. package/dist/Object3DHelperPlugin/index.js +134 -113
  58. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  59. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  60. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  61. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  62. package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  63. package/dist/PanoCompassPlugin/index.js +8 -1
  64. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  65. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  66. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  67. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  68. package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  69. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  70. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  71. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  72. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  73. package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  74. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  75. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  76. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  77. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  78. package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  79. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  80. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  81. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  82. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  83. package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  84. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  85. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  86. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  87. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  88. package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  89. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  90. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  91. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  92. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  93. package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  94. package/dist/PanoSpatialTagPlugin/index.js +8 -1
  95. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  96. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  97. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  98. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  99. package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  100. package/dist/PanoTagPlugin/index.js +25 -18
  101. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  102. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  103. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  104. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  105. package/dist/PanoTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  106. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  107. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  108. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  109. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  110. package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  111. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  112. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  113. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  114. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  115. package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  116. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  117. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  118. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  119. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  120. package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  121. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  122. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  123. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  124. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  125. package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  126. package/dist/index.es.js +151 -130
  127. package/dist/index.js +151 -130
  128. package/dist/index.umd.js +151 -130
  129. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  130. package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  131. package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  132. package/dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  133. package/dist/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  134. package/docs/classes/CruisePluginController.html +14 -14
  135. package/docs/classes/Magnifier.html +4 -4
  136. package/docs/classes/ModelRoomLabelController.html +4 -4
  137. package/docs/classes/Object3DHelperController.html +9 -9
  138. package/docs/classes/PanoTagPluginController.html +25 -25
  139. package/docs/enums/CameraMovementEffect.html +2 -2
  140. package/docs/enums/ContentType.html +7 -7
  141. package/docs/enums/DIRECTION.html +1 -1
  142. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  143. package/docs/enums/DimensionType.html +1 -1
  144. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  145. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  146. package/docs/enums/LinkType.html +1 -1
  147. package/docs/enums/PointType.html +1 -1
  148. package/docs/enums/Rotation.html +2 -2
  149. package/docs/index.html +1 -1
  150. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  151. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  152. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  153. package/docs/interfaces/FloorplanBounding.html +4 -4
  154. package/docs/interfaces/FloorplanData.html +2 -2
  155. package/docs/interfaces/FloorplanEntrance.html +7 -7
  156. package/docs/interfaces/FloorplanExtraObject.html +3 -3
  157. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  158. package/docs/interfaces/FloorplanFloorData.html +2 -2
  159. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  160. package/docs/interfaces/FloorplanObserver.html +2 -2
  161. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  162. package/docs/interfaces/FloorplanPosition.html +2 -2
  163. package/docs/interfaces/FloorplanRoomItem.html +6 -6
  164. package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
  165. package/docs/interfaces/FloorplanServerBounding.html +4 -4
  166. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  167. package/docs/interfaces/FloorplanServerData.html +2 -2
  168. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  169. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  170. package/docs/interfaces/FloorplanServerEntrance.html +7 -7
  171. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  172. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  173. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  174. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  175. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  176. package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
  177. package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
  178. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  179. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  180. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  181. package/docs/interfaces/LineJson.html +1 -1
  182. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  183. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  184. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  185. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  186. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  187. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  188. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  189. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  190. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  191. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  192. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  193. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  194. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  195. package/docs/interfaces/Object3DHelperState.html +1 -1
  196. package/docs/interfaces/OpenParameter.html +2 -2
  197. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  198. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  199. package/docs/interfaces/PanoMeasureParameterType.html +1 -1
  200. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  201. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  202. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  203. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  204. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  205. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  206. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  207. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  208. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  209. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  210. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  211. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  212. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  213. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  214. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  215. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  216. package/docs/interfaces/Point.html +1 -1
  217. package/docs/interfaces/PointJson.html +1 -1
  218. package/docs/interfaces/Room.html +1 -1
  219. package/docs/interfaces/RoomInfo.html +1 -1
  220. package/docs/interfaces/RoomLabel.html +7 -7
  221. package/docs/interfaces/RoomRules.html +1 -1
  222. package/docs/interfaces/Rooms.html +1 -1
  223. package/docs/interfaces/Scissor.html +5 -5
  224. package/docs/interfaces/TagConfig.html +3 -3
  225. package/docs/interfaces/Tags.html +3 -3
  226. package/docs/modules.html +21 -21
  227. package/libs/CSS3DRenderPlugin/CSS3DRender.js +7 -1
  228. package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +1 -0
  229. package/libs/ItemLabelPlugin/Plugin.js +1 -1
  230. package/libs/ItemLabelPlugin/typings.d.ts +1 -1
  231. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +1 -1
  232. package/libs/ModelItemLabelPlugin/typings.d.ts +1 -1
  233. package/libs/ModelRoomLabelPlugin/Controller.js +1 -1
  234. package/libs/Object3DHelperPlugin/Controller.js +3 -2
  235. package/libs/PanoDoorLabelPlugin/Controller.js +1 -1
  236. package/libs/PanoRulerProPlugin/Controller.js +1 -1
  237. package/libs/PanoSpatialTagPlugin/Plugin.js +2 -2
  238. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +15 -15
  239. package/libs/PanoTagPlugin/controller/index.js +6 -6
  240. package/libs/PanoTagPlugin/tag.config.js +1 -1
  241. package/libs/PanoTagPlugin/typings/controller.d.ts +1 -1
  242. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -1
  243. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
  244. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -1
  245. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -1
  246. package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
  247. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +9 -3
  248. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
  249. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +92 -86
  250. package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
  251. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +17 -8
  252. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
  253. package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +5 -7
  254. package/libs/shared-utils/Object3DHelper/index.js +3 -3
  255. package/libs/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  256. package/libs/shared-utils/Object3DHelper/utils/finiteNumber.js +9 -0
  257. package/package.json +1 -1
  258. package/libs/ItemLabelPlugin/ItemLabelComponent.svelte +0 -251
  259. package/libs/ItemLabelPlugin/ItemLabelItem.svelte +0 -183
  260. package/libs/ModelItemLabelPlugin/ItemLabelComponent.svelte +0 -155
  261. package/libs/ModelItemLabelPlugin/ItemLabelItem.svelte +0 -100
  262. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +0 -63
  263. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +0 -94
  264. package/libs/PanoDoorLabelPlugin/DoorLabelItem.svelte +0 -200
  265. package/libs/PanoRulerProPlugin/RulerItem.svelte +0 -166
  266. package/libs/PanoRulerProPlugin/RulerItems.svelte +0 -212
  267. package/libs/PanoSpatialTagPlugin/Components/origins.svelte +0 -58
  268. package/libs/PanoSpatialTagPlugin/Components/tag.svelte +0 -292
  269. package/libs/PanoTagPlugin/Components/Common/Arrow.svelte +0 -56
  270. package/libs/PanoTagPlugin/Components/Common/Audio.svelte +0 -82
  271. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.svelte +0 -36
  272. package/libs/PanoTagPlugin/Components/Common/Line/Straight.svelte +0 -36
  273. package/libs/PanoTagPlugin/Components/Common/Media.svelte +0 -70
  274. package/libs/PanoTagPlugin/Components/Common/MultiLineText.svelte +0 -56
  275. package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.svelte +0 -120
  276. package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.svelte +0 -81
  277. package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.svelte +0 -30
  278. package/libs/PanoTagPlugin/Components/Common/Shadow.svelte +0 -46
  279. package/libs/PanoTagPlugin/Components/Common/Text.svelte +0 -69
  280. package/libs/PanoTagPlugin/Components/Common/TextItem.svelte +0 -42
  281. package/libs/PanoTagPlugin/Components/PointTag.svelte +0 -55
  282. package/libs/PanoTagPlugin/Components/Tag/AudioTag.svelte +0 -105
  283. package/libs/PanoTagPlugin/Components/Tag/CustomTag.svelte +0 -33
  284. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.svelte +0 -63
  285. package/libs/PanoTagPlugin/Components/Tag/LinkTag.svelte +0 -166
  286. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.svelte +0 -234
  287. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.svelte +0 -30
  288. package/libs/PanoTagPlugin/Components/Tag/TextTag.svelte +0 -63
  289. package/libs/PanoTagPlugin/Components/Tag/index.svelte +0 -145
  290. package/libs/PanoTagPlugin/Components/TagWrapper.svelte +0 -69
  291. package/libs/floorplan/Components/BaseImage.svelte +0 -26
  292. package/libs/floorplan/Components/Camera.svelte +0 -46
  293. package/libs/floorplan/Components/Compass.svelte +0 -51
  294. package/libs/floorplan/Components/CurrentFloor.svelte +0 -46
  295. package/libs/floorplan/Components/Main.svelte +0 -51
  296. package/libs/floorplan/Components/Normalmage.svelte +0 -11
  297. package/libs/floorplan/Components/RoomHighlight/Room.svelte +0 -27
  298. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +0 -29
  299. package/libs/floorplan/Components/RoomLabels/RoomLabel.svelte +0 -119
  300. package/libs/floorplan/Components/RoomLabels/RoomLabels.svelte +0 -35
  301. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +0 -42
  302. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +0 -7
  303. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +0 -24
  304. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +0 -33
  305. package/libs/floorplan/Components/RuleLabels/RuleItem.svelte +0 -174
  306. package/libs/floorplan/Components/RuleLabels/RuleLabels.svelte +0 -32
  307. package/libs/floorplan/Components/SvgImage.svelte +0 -28
  308. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +0 -85
  309. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -18
  310. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +0 -40
  311. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +0 -64
@@ -1,183 +0,0 @@
1
- <script>import "./events.type";
2
- import classNames from 'classnames';
3
- export let itemLabel;
4
- export let hooks;
5
- export let anchorEnabled;
6
- export let onIconClick;
7
- // const defaultIcon = '//vrlab-public.ljcdn.com/common/file/web/c8591aaa-e62b-4e31-8fed-671483ace37f.svg\n'
8
- function onClick() {
9
- hooks.emit('onLabelClick', itemLabel);
10
- }
11
- let customElement;
12
- $: {
13
- if (typeof itemLabel.render === 'function' && customElement) {
14
- if (customElement.children.length === 0) {
15
- const child = itemLabel.render(itemLabel);
16
- if (child) {
17
- customElement.appendChild(child);
18
- }
19
- }
20
- }
21
- }
22
- </script>
23
-
24
- <div class={classNames("item-label-item", { fold: itemLabel.isFold })}
25
- style:z-index="{itemLabel.zIndex}"
26
- style:transform="{itemLabel.transform}"
27
- >
28
- <div class={classNames("item-label-item__text-wrap", { 'item-label-item__custom': Boolean(typeof itemLabel.render === 'function') })}
29
- style="bottom: {`${itemLabel.strokeLength}px`}"
30
- on:click="{onClick}"
31
- >
32
- {#if Boolean(typeof itemLabel.render === 'function')}
33
- <div bind:this={customElement}></div>
34
- {:else}
35
- {#if itemLabel.icon}
36
- <div class="icon-wrap"
37
- on:click="{(e) => onIconClick(itemLabel)}"
38
- >
39
- <div class="icon" style={`background-image: url(${itemLabel.icon})`} ></div>
40
- </div>
41
- {/if}
42
- <div class="item-label-text">
43
- <span class="item-model">{itemLabel.code || itemLabel.id}</span>
44
- <span class="item-name">{itemLabel.name}</span>
45
- </div>
46
- {/if}
47
-
48
- </div>
49
- <div class={classNames("item-label-item__bar", { anchor: anchorEnabled })}
50
- style="height: {`${itemLabel.strokeLength}px`}">
51
- </div>
52
- </div>
53
-
54
- <style>
55
- .item-label-item {
56
- position: absolute;
57
- z-index: 0;
58
- transform: none;
59
- cursor: pointer;
60
- pointer-events: none;
61
- user-select: none;
62
- animation: fadeIn .3s ease-in;
63
- }
64
-
65
- .item-label-item.fold >.item-label-item__text-wrap {
66
- visibility: hidden;
67
- }
68
-
69
- .item-label-item.fold >.item-label-item__bar.anchor {
70
- visibility: hidden;
71
- }
72
-
73
- .item-label-item.fold >.item-label-item__bar.anchor:after {
74
- visibility: visible;
75
- }
76
-
77
- .item-label-item__text-wrap {
78
- height: fit-content;
79
- padding: 12px 20px 12px 12px;
80
- position: absolute;
81
- width: max-content;
82
- max-width: 473px;
83
- min-height: 92px;
84
- background-image: linear-gradient(269deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.60) 49%, rgba(31, 38, 46, 0.70) 100%);
85
- border: 1.5px solid rgba(255, 255, 255, .65);
86
- border-radius: 3px;
87
- color: white;
88
- transform: translate(-50%, 0);
89
- display: flex;
90
- justify-content: flex-start;
91
- align-items: center;
92
- box-sizing: border-box;
93
- overflow: hidden;
94
- pointer-events: all;
95
- }
96
-
97
- .item-label-item__custom {
98
- padding: 0;
99
- max-width: unset;
100
- min-height: unset;
101
- background-image: unset;
102
- border: 0;
103
- border-radius: 0;
104
- }
105
-
106
- .icon-wrap {
107
- width: 68px;
108
- height: 100%;
109
- display: flex;
110
- justify-content: center;
111
- align-content: center;
112
- }
113
-
114
- .icon {
115
- width: 68px;
116
- height: 68px;
117
- background-repeat: no-repeat;
118
- background-size: contain;
119
- background-position: center;
120
- }
121
-
122
- .item-label-text {
123
- margin-left: 12px;
124
- padding-left: 12px;
125
- min-height: 68px;
126
- height: auto;
127
- display: flex;
128
- flex-flow: column;
129
- justify-content: space-around;
130
- align-content: flex-start;
131
- border-left: solid rgba(255, 255, 255, .2) 1px;
132
- border-top: solid rgba(255, 255, 255, .2) 0;
133
- border-right: solid rgba(255, 255, 255, .2) 0;
134
- border-bottom: solid rgba(255, 255, 255, .2) 0;
135
- pointer-events: auto;
136
- }
137
-
138
- .item-model {
139
- white-space: nowrap;
140
- font-size: 22px;
141
- font-weight: bold;
142
- line-height: 30px;
143
- }
144
-
145
- .item-name {
146
- height: auto;
147
- word-wrap: break-word;
148
- word-break: break-all;
149
- font-size: 20px;
150
- line-height: 28px;
151
- }
152
-
153
- .item-label-item__bar {
154
- position: absolute;
155
- bottom: 0;
156
- width: 3px;
157
- background-image: linear-gradient(to bottom, white, rgba(255, 255, 255, 0));
158
- box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.20);
159
- pointer-events: none;
160
- }
161
-
162
- .item-label-item__bar.anchor:after {
163
- content: '';
164
- position: absolute;
165
- bottom: 0;
166
- width: 24px;
167
- height: 24px;
168
- background-image: url("//vrlab-public.ljcdn.com/common/file/web/67e7a198-28c9-47dc-879b-507bd3ae600c.png ");
169
- background-position: center;
170
- background-size: contain;
171
- transform: translate(-10.5px, 50%);
172
- }
173
-
174
- @keyframes fadeIn {
175
- from {
176
- opacity: 0
177
- }
178
- to {
179
- opacity: 1
180
- }
181
- }
182
- </style>
183
-
@@ -1,155 +0,0 @@
1
- <script>import { DISPLAY_STRATEGY_TYPE } from "./typings";
2
- import { beforeUpdate, onDestroy, onMount } from "svelte";
3
- import * as THREE from 'three';
4
- import ItemLabelItem from './ItemLabelItem.svelte';
5
- import "./events.type";
6
- import debounce from '../shared-utils/debounce';
7
- const { Raycaster, Vector3 } = THREE;
8
- export let five;
9
- export let modelOcclusionEnable;
10
- export let itemLabels;
11
- export let hooks;
12
- export let displayStrategyType;
13
- let curItemLabels = null;
14
- let renderItemLabels = null;
15
- let containerWidth;
16
- let containerHeight;
17
- // 计算重叠
18
- let cssOffsetLists = [];
19
- let cssHeight = 26;
20
- let basicWidth = 11;
21
- // 动画过程中 itemsVisible 为 false
22
- let itemsVisible = true;
23
- /**
24
- * 可见性策略:
25
- * 1、当前楼层(假设先不考虑多楼层)
26
- * 2、模型未被遮挡(一个 box 有没有被遮挡的计算? TODO)
27
- * */
28
- const getLabelVisible = (five, itemLabel) => {
29
- // 虚拟 VR 仅有一层,不考虑楼层信息
30
- const raycaster = new Raycaster();
31
- const cameraPosition = five.camera.position.clone();
32
- const modelPosition = new Vector3().fromArray(itemLabel.modelPosition);
33
- // 计算点到相机的位置
34
- const vectorDistance = modelPosition.distanceTo(cameraPosition);
35
- raycaster.set(cameraPosition.clone(), modelPosition.clone().sub(cameraPosition).normalize());
36
- const [intersection] = five.model.intersectRaycaster(raycaster);
37
- return !(intersection && intersection.distance + 1 < vectorDistance);
38
- };
39
- // cssOffset 获取
40
- const getLabelCssOffset = (five, itemLabel) => {
41
- const modelPosition = new Vector3(itemLabel.modelPosition[0], itemLabel.modelPosition[1], itemLabel.modelPosition[2]);
42
- const cssPosition = five.project2d(modelPosition);
43
- const xOffset = cssPosition === null || cssPosition === void 0 ? void 0 : cssPosition.x;
44
- const yOffset = cssPosition === null || cssPosition === void 0 ? void 0 : cssPosition.y;
45
- return [xOffset, yOffset];
46
- };
47
- const getLabelTransform = (cssOffset) => {
48
- return `translate(${cssOffset[0]}px, ${cssOffset[1]}px)`;
49
- };
50
- // 重叠计算
51
- const isOverlap = (cssOffset, widthOffset) => {
52
- if (cssOffsetLists.length === 0) {
53
- return false;
54
- }
55
- const hasOverlapPoint = cssOffsetLists.find(item => ((cssOffset[0] >= item[0] - widthOffset && cssOffset[0] <= item[0] + widthOffset)
56
- || (cssOffset[1] >= item[1] - cssHeight && cssOffset[1] <= item[1] + cssHeight)));
57
- return !!hasOverlapPoint;
58
- };
59
- function getStrokeLength(itemSpaceHeight, type) {
60
- switch (type) {
61
- case DISPLAY_STRATEGY_TYPE.SMALL:
62
- return Math.ceil(-27.78 * itemSpaceHeight + 85);
63
- case DISPLAY_STRATEGY_TYPE.MIDLLE:
64
- return Math.ceil(-38.9 * itemSpaceHeight + 130);
65
- case DISPLAY_STRATEGY_TYPE.LARGE:
66
- return Math.ceil(-44.44 * itemSpaceHeight + 140);
67
- case DISPLAY_STRATEGY_TYPE.EXTRA_LARGE:
68
- return Math.ceil(-92.59 * itemSpaceHeight + 300);
69
- }
70
- }
71
- const getFormatedItemLabels = (five, labels) => {
72
- // 计算位置 & 可见性
73
- const newLabels = labels.map(label => {
74
- const cssOffset = getLabelCssOffset(five, label);
75
- const curLabelWidth = label.name.length * basicWidth;
76
- const strokeLength = getStrokeLength(label.modelPosition[1], displayStrategyType);
77
- // 是否加入碰撞检测
78
- const naturalVisible = modelOcclusionEnable ? getLabelVisible(five, label) : true;
79
- const visible = naturalVisible && !isOverlap([cssOffset[0], cssOffset[1] + strokeLength], curLabelWidth);
80
- if (!visible)
81
- return Object.assign(Object.assign({}, label), { visible });
82
- cssOffsetLists.push(cssOffset);
83
- // position
84
- const transform = getLabelTransform(cssOffset);
85
- return Object.assign(Object.assign({}, label), { visible, transform, strokeLength });
86
- });
87
- const sortedItemLabelItems = newLabels
88
- .filter(({ visible }) => visible)
89
- .map(label => ({
90
- itemLabelItem: label,
91
- distance: new Vector3(label.modelPosition[0], label.modelPosition[1], label.modelPosition[2]).clone().distanceTo(five.camera.position)
92
- }))
93
- .sort((a, b) => a.distance - b.distance);
94
- return newLabels.map(label => {
95
- const sortIndex = sortedItemLabelItems.findIndex(item => item.itemLabelItem.id === label.id);
96
- if (sortIndex !== undefined)
97
- return Object.assign(Object.assign({}, label), { zIndex: sortIndex * 10 });
98
- return label;
99
- });
100
- };
101
- const onItemLabelUpdate = () => {
102
- cssOffsetLists = [];
103
- renderItemLabels = getFormatedItemLabels(five, renderItemLabels);
104
- };
105
- beforeUpdate(() => {
106
- addDataUpdateListener();
107
- });
108
- const handleCameraUpdateCallback = () => {
109
- itemsVisible = false;
110
- handleCameraUpdate();
111
- };
112
- onMount(() => {
113
- renderItemLabels = itemLabels;
114
- curItemLabels = itemLabels;
115
- onItemLabelUpdate();
116
- addResizeListener();
117
- five.on('cameraUpdate', handleCameraUpdateCallback);
118
- });
119
- const handleCameraUpdate = debounce(() => {
120
- itemsVisible = true;
121
- onItemLabelUpdate();
122
- }, 300);
123
- const addResizeListener = () => {
124
- window.addEventListener('resize', onResize, false);
125
- };
126
- const addDataUpdateListener = () => {
127
- if (curItemLabels !== itemLabels) {
128
- renderItemLabels = itemLabels;
129
- curItemLabels = itemLabels;
130
- onItemLabelUpdate();
131
- }
132
- };
133
- const onResize = () => {
134
- five.once('renderFrame', onItemLabelUpdate);
135
- };
136
- onDestroy(() => {
137
- five.off('cameraUpdate', handleCameraUpdateCallback);
138
- window.removeEventListener('resize', onResize, false);
139
- });
140
- </script>
141
-
142
- <div class="item-labels-container" bind:clientWidth="{containerWidth}" bind:clientHeight="{containerHeight}"
143
- style:opacity="{itemsVisible ? 1 : 0}">
144
- {#each renderItemLabels as itemLabelItem (itemLabelItem.id)}
145
- <ItemLabelItem itemLabel="{itemLabelItem}" hooks="{hooks}" />
146
- {/each}
147
- </div>
148
-
149
- <style>
150
- .item-labels-container {
151
- width: 100%;
152
- height: 100%;
153
- position: relative;
154
- }
155
- </style>
@@ -1,100 +0,0 @@
1
- <script>import "./events.type";
2
- import classNames from 'classnames';
3
- export let itemLabel;
4
- export let hooks;
5
- function onClick() {
6
- console.log('__onclick___: ', itemLabel);
7
- hooks.emit('onLabelClick', itemLabel);
8
- }
9
- </script>
10
-
11
- <div
12
- class={classNames("item-label-item", { visible: itemLabel.visible })}
13
- style:z-index="{itemLabel.zIndex}"
14
- style:transform="{itemLabel.transform}"
15
- >
16
- <div
17
- class="item-label-item__text-wrap"
18
- style="top: {`-${itemLabel.strokeLength + 26}px`}"
19
- >
20
- <span
21
- class="item-label-item__text"
22
- on:click="{onClick}"
23
- >{itemLabel.name.length > 6 ? `${itemLabel.name.slice(0, 6)}...` : itemLabel.name}</span>
24
- </div>
25
- <div
26
- class="item-label-item__bar"
27
- style="height: {`${itemLabel.strokeLength}px`}">
28
- </div>
29
- </div>
30
-
31
- <style>
32
- .item-label-item {
33
- position: absolute;
34
- z-index: 0;
35
- transform: none;
36
- cursor: pointer;
37
- pointer-events: none;
38
- user-select: none;
39
- opacity: 0;
40
- }
41
-
42
- .item-label-item.visible {
43
- opacity: 1;
44
- animation: fadeIn .3s ease-in;
45
- }
46
-
47
- .item-label-item__text-wrap::before {
48
- content: '';
49
- position: absolute;
50
- width: 100%;
51
- height: 100%;
52
- background-color: rgba(0, 0, 0, .3);
53
- filter: blur(16px);
54
- z-index: -1;
55
- }
56
-
57
- .item-label-item__text-wrap {
58
- padding: 6px 6px 0;
59
- position: absolute;
60
- height: 20px;
61
- pointer-events: all;
62
- background-size: 100% 100%;
63
- background-repeat: no-repeat;
64
- white-space: nowrap;
65
- line-height: 10px;
66
- font-size: 11px;
67
- font-weight: bold;
68
- color: #FFEAC0;
69
- transform: translate(-50%, 0);
70
- display: flex;
71
- justify-content: center;
72
- align-items: center;
73
- }
74
-
75
- .item-label-item__text {
76
- padding-bottom: 4px;
77
- border-top: 0 solid;
78
- border-left: 0 solid;
79
- border-right: 0 solid;
80
- border-bottom: 1px solid;
81
- border-image: linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5;
82
- }
83
-
84
- .item-label-item__bar {
85
- position: absolute;
86
- bottom: 0;
87
- width: 1px;
88
- background-image: linear-gradient(to bottom, rgba(234, 208, 154, 0), rgba(234, 208, 154, 1));
89
- }
90
-
91
- @keyframes fadeIn {
92
- from {
93
- opacity: 0
94
- }
95
- to {
96
- opacity: 1
97
- }
98
- }
99
- </style>
100
-
@@ -1,63 +0,0 @@
1
- <script>import { ROOM_LABEL_BG } from './Assets/roomLabelBg';
2
- export let five;
3
- export let roomLabel;
4
- function onClick() {
5
- five.setState({ panoIndex: roomLabel.panoIndex, mode: 'Panorama', longitude: roomLabel.longitude });
6
- }
7
- </script>
8
-
9
- <div
10
- class="room-label-item"
11
- style:z-index="{roomLabel.zIndex}"
12
- style:transform="{roomLabel.transform}"
13
- style:opacity="{roomLabel.visible ? 1 : 0}"
14
- >
15
- <span
16
- class="room-label-item__text"
17
- class:wide="{roomLabel.name.length > 3}"
18
- style="background-image: url({ROOM_LABEL_BG})"
19
- on:click="{onClick}">{roomLabel.name}</span
20
- >
21
- <div class="room-label-item__bar"></div>
22
- </div>
23
-
24
- <style>
25
- .room-label-item {
26
- position: absolute;
27
- font-size: 8px;
28
- z-index: 0;
29
- transform: none;
30
- cursor: pointer;
31
- pointer-events: none;
32
- user-select: none;
33
- }
34
-
35
- .room-label-item__text {
36
- position: absolute;
37
- left: 0;
38
- top: -64px;
39
- transform: translate(-50%, 0);
40
- display: flex;
41
- justify-content: center;
42
- align-items: center;
43
- height: 20px;
44
- min-width: 32px;
45
- padding: 0 6px;
46
- pointer-events: all;
47
- background-size: 100% 100%;
48
- background-repeat: no-repeat;
49
- white-space: nowrap;
50
- }
51
-
52
- .room-label-item__bar {
53
- position: absolute;
54
- top: -44px;
55
- height: 48px;
56
- width: 1px;
57
- background-image: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
58
- }
59
-
60
- .wide {
61
- font-size: 10px;
62
- }
63
- </style>
@@ -1,94 +0,0 @@
1
- <script>import { onDestroy } from 'svelte';
2
- import { Raycaster, Vector3 } from 'three';
3
- import RoomLabelItem from './RoomLabelItem.svelte';
4
- export let five;
5
- export let roomLabels;
6
- let containerWidth;
7
- let containerHeight;
8
- let shownFloor = null;
9
- $: rendererSize = { x: containerWidth, y: containerHeight };
10
- $: {
11
- // rendererSize 变化时,触发 reRender
12
- roomLabels = getFormatedRoomLabels(rendererSize);
13
- }
14
- $: {
15
- // shownFloor 变化时,更新 item visible
16
- roomLabels = roomLabels.map((item) => {
17
- const isLabelInFloor = shownFloor === null || item.floorIndex === shownFloor;
18
- const visible = isLabelInFloor ? item.visible : false;
19
- return Object.assign(Object.assign({}, item), { visible });
20
- });
21
- }
22
- function getLabelVisible(item) {
23
- const raycaster = new Raycaster();
24
- const cameraPosition = five.camera.position.clone();
25
- const position = new Vector3(item.position.x, item.position.y, item.position.z);
26
- const vectorDistance = position.distanceTo(cameraPosition);
27
- raycaster.set(cameraPosition.clone(), position.clone().sub(cameraPosition).normalize());
28
- const [intersection] = five.model.intersectRaycaster(raycaster);
29
- if (intersection && intersection.distance + 1 < vectorDistance)
30
- return false;
31
- return true;
32
- }
33
- function getLabelTransform(item, rendererSize) {
34
- const position = new Vector3(item.position.x, item.position.y, item.position.z);
35
- const mouse = position.clone().project(five.camera);
36
- const xOffset = Math.ceil(((mouse.x + 1) / 2) * rendererSize.x);
37
- const yOffset = Math.ceil(((-mouse.y + 1) / 2) * rendererSize.y);
38
- return `translate(${xOffset}px, ${yOffset}px)`;
39
- }
40
- function getFormatedRoomLabels(rendererSize) {
41
- // 因为 item distance 需要重复计算,所以缓存一下
42
- const distanceMap = new Map();
43
- function getItemDistance(item) {
44
- const cacheDistance = distanceMap.get(item.id);
45
- if (cacheDistance)
46
- return cacheDistance;
47
- const { x, y, z } = item.position;
48
- const distance = new Vector3(x, y, z).clone().distanceTo(five.camera.position);
49
- distanceMap.set(item.id, distance);
50
- return distance;
51
- }
52
- const formatedItems = roomLabels.map((item) => {
53
- const visible = getLabelVisible(item);
54
- const transform = visible ? getLabelTransform(item, rendererSize) : item.transform;
55
- const itemDistance = getItemDistance(item);
56
- // visible === true 的 item 中,distance 比自己小的 item 个数
57
- const minItemLen = roomLabels.filter((item) => item.visible && getItemDistance(item) < itemDistance).length;
58
- const zIndex = minItemLen * 10;
59
- return Object.assign(Object.assign({}, item), { visible, transform, zIndex });
60
- });
61
- return formatedItems;
62
- }
63
- function onFiveCameraUpdate() {
64
- roomLabels = getFormatedRoomLabels(rendererSize);
65
- }
66
- function onFiveModelShownFloorChange(floorIndex) {
67
- shownFloor = floorIndex;
68
- }
69
- five.on('cameraUpdate', onFiveCameraUpdate);
70
- five.on('modelShownFloorChange', onFiveModelShownFloorChange);
71
- onDestroy(() => {
72
- five.off('cameraUpdate', onFiveCameraUpdate);
73
- five.off('modelShownFloorChange', onFiveModelShownFloorChange);
74
- });
75
- </script>
76
-
77
- <div
78
- class="room-labels-container"
79
- bind:clientWidth="{containerWidth}"
80
- bind:clientHeight="{containerHeight}"
81
- >
82
- {#each roomLabels as roomLableItem (roomLableItem.id)}
83
- <RoomLabelItem roomLabel="{roomLableItem}" five="{five}" />
84
- {/each}
85
- </div>
86
-
87
- <style>
88
- .room-labels-container {
89
- width: 100%;
90
- height: 100%;
91
- position: relative;
92
- color: #fff;
93
- }
94
- </style>