@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.
- package/dist/CSS3DRenderPlugin/index.js +8 -1
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/CruisePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/Object3DHelperPlugin/index.js +134 -113
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoCompassPlugin/index.js +8 -1
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/index.js +8 -1
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/PanoTagPlugin/index.js +25 -18
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/dist/index.es.js +151 -130
- package/dist/index.js +151 -130
- package/dist/index.umd.js +151 -130
- package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/dist/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/docs/classes/CruisePluginController.html +14 -14
- package/docs/classes/Magnifier.html +4 -4
- package/docs/classes/ModelRoomLabelController.html +4 -4
- package/docs/classes/Object3DHelperController.html +9 -9
- package/docs/classes/PanoTagPluginController.html +25 -25
- package/docs/enums/CameraMovementEffect.html +2 -2
- package/docs/enums/ContentType.html +7 -7
- package/docs/enums/DIRECTION.html +1 -1
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/DimensionType.html +1 -1
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
- package/docs/enums/LinkType.html +1 -1
- package/docs/enums/PointType.html +1 -1
- package/docs/enums/Rotation.html +2 -2
- package/docs/index.html +1 -1
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
- package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/FloorplanBounding.html +4 -4
- package/docs/interfaces/FloorplanData.html +2 -2
- package/docs/interfaces/FloorplanEntrance.html +7 -7
- package/docs/interfaces/FloorplanExtraObject.html +3 -3
- package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
- package/docs/interfaces/FloorplanFloorData.html +2 -2
- package/docs/interfaces/FloorplanImagePosition.html +2 -2
- package/docs/interfaces/FloorplanObserver.html +2 -2
- package/docs/interfaces/FloorplanOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanPosition.html +2 -2
- package/docs/interfaces/FloorplanRoomItem.html +6 -6
- package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
- package/docs/interfaces/FloorplanServerBounding.html +4 -4
- package/docs/interfaces/FloorplanServerComputedData.html +1 -1
- package/docs/interfaces/FloorplanServerData.html +2 -2
- package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
- package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
- package/docs/interfaces/FloorplanServerEntrance.html +7 -7
- package/docs/interfaces/FloorplanServerFloorData.html +2 -2
- package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
- package/docs/interfaces/FloorplanServerObserver.html +2 -2
- package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanServerPosition.html +2 -2
- package/docs/interfaces/FloorplanServerRoomItem.html +7 -7
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
- package/docs/interfaces/ItemLabelPluginData.html +1 -1
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/LineJson.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
- package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
- package/docs/interfaces/ModelViewPluginExportType.html +1 -1
- package/docs/interfaces/Object3DHelperState.html +1 -1
- package/docs/interfaces/OpenParameter.html +2 -2
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
- package/docs/interfaces/PanoMeasureParameterType.html +1 -1
- package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
- package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
- package/docs/interfaces/PanoRulerProPluginState.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
- package/docs/interfaces/Point.html +1 -1
- package/docs/interfaces/PointJson.html +1 -1
- package/docs/interfaces/Room.html +1 -1
- package/docs/interfaces/RoomInfo.html +1 -1
- package/docs/interfaces/RoomLabel.html +7 -7
- package/docs/interfaces/RoomRules.html +1 -1
- package/docs/interfaces/Rooms.html +1 -1
- package/docs/interfaces/Scissor.html +5 -5
- package/docs/interfaces/TagConfig.html +3 -3
- package/docs/interfaces/Tags.html +3 -3
- package/docs/modules.html +21 -21
- package/libs/CSS3DRenderPlugin/CSS3DRender.js +7 -1
- package/libs/CSS3DRenderPlugin/utils/CSS3DObjectPlus.js +1 -0
- package/libs/ItemLabelPlugin/Plugin.js +1 -1
- package/libs/ItemLabelPlugin/typings.d.ts +1 -1
- package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +1 -1
- package/libs/ModelItemLabelPlugin/typings.d.ts +1 -1
- package/libs/ModelRoomLabelPlugin/Controller.js +1 -1
- package/libs/Object3DHelperPlugin/Controller.js +3 -2
- package/libs/PanoDoorLabelPlugin/Controller.js +1 -1
- package/libs/PanoRulerProPlugin/Controller.js +1 -1
- package/libs/PanoSpatialTagPlugin/Plugin.js +2 -2
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +15 -15
- package/libs/PanoTagPlugin/controller/index.js +6 -6
- package/libs/PanoTagPlugin/tag.config.js +1 -1
- package/libs/PanoTagPlugin/typings/controller.d.ts +1 -1
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +1 -1
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -1
- package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +3 -1
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +9 -3
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +2 -2
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +92 -86
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +2 -1
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +17 -8
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +1 -0
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +5 -7
- package/libs/shared-utils/Object3DHelper/index.js +3 -3
- package/libs/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
- package/libs/shared-utils/Object3DHelper/utils/finiteNumber.js +9 -0
- package/package.json +1 -1
- package/libs/ItemLabelPlugin/ItemLabelComponent.svelte +0 -251
- package/libs/ItemLabelPlugin/ItemLabelItem.svelte +0 -183
- package/libs/ModelItemLabelPlugin/ItemLabelComponent.svelte +0 -155
- package/libs/ModelItemLabelPlugin/ItemLabelItem.svelte +0 -100
- package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +0 -63
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +0 -94
- package/libs/PanoDoorLabelPlugin/DoorLabelItem.svelte +0 -200
- package/libs/PanoRulerProPlugin/RulerItem.svelte +0 -166
- package/libs/PanoRulerProPlugin/RulerItems.svelte +0 -212
- package/libs/PanoSpatialTagPlugin/Components/origins.svelte +0 -58
- package/libs/PanoSpatialTagPlugin/Components/tag.svelte +0 -292
- package/libs/PanoTagPlugin/Components/Common/Arrow.svelte +0 -56
- package/libs/PanoTagPlugin/Components/Common/Audio.svelte +0 -82
- package/libs/PanoTagPlugin/Components/Common/Line/Polyline.svelte +0 -36
- package/libs/PanoTagPlugin/Components/Common/Line/Straight.svelte +0 -36
- package/libs/PanoTagPlugin/Components/Common/Media.svelte +0 -70
- package/libs/PanoTagPlugin/Components/Common/MultiLineText.svelte +0 -56
- package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.svelte +0 -120
- package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.svelte +0 -81
- package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.svelte +0 -30
- package/libs/PanoTagPlugin/Components/Common/Shadow.svelte +0 -46
- package/libs/PanoTagPlugin/Components/Common/Text.svelte +0 -69
- package/libs/PanoTagPlugin/Components/Common/TextItem.svelte +0 -42
- package/libs/PanoTagPlugin/Components/PointTag.svelte +0 -55
- package/libs/PanoTagPlugin/Components/Tag/AudioTag.svelte +0 -105
- package/libs/PanoTagPlugin/Components/Tag/CustomTag.svelte +0 -33
- package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.svelte +0 -63
- package/libs/PanoTagPlugin/Components/Tag/LinkTag.svelte +0 -166
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.svelte +0 -234
- package/libs/PanoTagPlugin/Components/Tag/MediaPlane.svelte +0 -30
- package/libs/PanoTagPlugin/Components/Tag/TextTag.svelte +0 -63
- package/libs/PanoTagPlugin/Components/Tag/index.svelte +0 -145
- package/libs/PanoTagPlugin/Components/TagWrapper.svelte +0 -69
- package/libs/floorplan/Components/BaseImage.svelte +0 -26
- package/libs/floorplan/Components/Camera.svelte +0 -46
- package/libs/floorplan/Components/Compass.svelte +0 -51
- package/libs/floorplan/Components/CurrentFloor.svelte +0 -46
- package/libs/floorplan/Components/Main.svelte +0 -51
- package/libs/floorplan/Components/Normalmage.svelte +0 -11
- package/libs/floorplan/Components/RoomHighlight/Room.svelte +0 -27
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +0 -29
- package/libs/floorplan/Components/RoomLabels/RoomLabel.svelte +0 -119
- package/libs/floorplan/Components/RoomLabels/RoomLabels.svelte +0 -35
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +0 -42
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +0 -7
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +0 -24
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +0 -33
- package/libs/floorplan/Components/RuleLabels/RuleItem.svelte +0 -174
- package/libs/floorplan/Components/RuleLabels/RuleLabels.svelte +0 -32
- package/libs/floorplan/Components/SvgImage.svelte +0 -28
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +0 -85
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +0 -18
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +0 -40
- 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>
|