@realsee/dnalogel 2.1.0-alpha.4 → 2.1.0-alpha.5
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/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/CSS3DRenderPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/CSS3DRenderPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/CameraMovementPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/CameraMovementPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/CameraMovementPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/CruisePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/CruisePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/CruisePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/CruisePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/GuideLinePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/GuideLinePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/GuideLinePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ItemLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ItemLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ItemLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelChassisCompassPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelChassisCompassPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelEntryDoorGuidePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelEntryDoorGuidePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelItemLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelItemLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelRoomLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelRoomLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelTVVideoPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelTVVideoPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/ModelViewPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/ModelViewPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/ModelViewPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/Object3DHelperPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/Object3DHelperPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/Object3DHelperPlugin/index.js +32 -28
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/Object3DHelperPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoCompassPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoCompassPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoCompassPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoCursorRaycasterPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoCursorRaycasterPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoDoorLabelPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoDoorLabelPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoMeasurePlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoMeasurePlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoMeasurePlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoRulerPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoRulerPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoRulerPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoRulerProPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoRulerProPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoRulerProPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoSpatialTagPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoSpatialTagPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoTagPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoTagPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/PanoTagPlugin/index.js +23 -17
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/PanoTagPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/MapviewFloorplanPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/floorplan/ModelFloorplanPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/ModelFloorplanPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/PanoFloorplanRadarPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/floorplan/TopviewFloorplanPlugin/PanoTagPlugin/typings/controller.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/floorplan/TopviewFloorplanPlugin/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/dist/index.es.js +55 -45
- package/dist/index.js +55 -45
- package/dist/index.umd.js +55 -45
- package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +2 -2
- package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/docs/assets/search.js +1 -1
- 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 +4 -4
- package/docs/interfaces/Tags.html +3 -3
- package/docs/modules.html +21 -21
- package/libs/ItemLabelPlugin/ItemLabelComponent.svelte +251 -0
- package/libs/ItemLabelPlugin/ItemLabelItem.svelte +183 -0
- package/libs/ItemLabelPlugin/Plugin.js +1 -1
- package/libs/ItemLabelPlugin/typings.d.ts +1 -1
- package/libs/ModelItemLabelPlugin/ItemLabelComponent.svelte +155 -0
- package/libs/ModelItemLabelPlugin/ItemLabelItem.svelte +100 -0
- package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +1 -1
- package/libs/ModelItemLabelPlugin/typings.d.ts +1 -1
- package/libs/ModelRoomLabelPlugin/Controller.js +1 -1
- package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte +63 -0
- package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte +94 -0
- package/libs/PanoDoorLabelPlugin/Controller.js +1 -1
- package/libs/PanoDoorLabelPlugin/DoorLabelItem.svelte +200 -0
- package/libs/PanoRulerProPlugin/Controller.js +1 -1
- package/libs/PanoRulerProPlugin/RulerItem.svelte +166 -0
- package/libs/PanoRulerProPlugin/RulerItems.svelte +212 -0
- package/libs/PanoSpatialTagPlugin/Components/origins.svelte +58 -0
- package/libs/PanoSpatialTagPlugin/Components/tag.svelte +292 -0
- package/libs/PanoSpatialTagPlugin/Plugin.js +2 -2
- package/libs/PanoTagPlugin/Components/Common/Arrow.svelte +56 -0
- package/libs/PanoTagPlugin/Components/Common/Audio.svelte +82 -0
- package/libs/PanoTagPlugin/Components/Common/Line/Polyline.svelte +36 -0
- package/libs/PanoTagPlugin/Components/Common/Line/Straight.svelte +36 -0
- package/libs/PanoTagPlugin/Components/Common/Media.svelte +70 -0
- package/libs/PanoTagPlugin/Components/Common/MultiLineText.svelte +56 -0
- package/libs/PanoTagPlugin/Components/Common/Point/CustomPoint.svelte +120 -0
- package/libs/PanoTagPlugin/Components/Common/Point/DefaultPoint.svelte +81 -0
- package/libs/PanoTagPlugin/Components/Common/Point/PointSwitch.svelte +30 -0
- package/libs/PanoTagPlugin/Components/Common/Shadow.svelte +46 -0
- package/libs/PanoTagPlugin/Components/Common/Text.svelte +69 -0
- package/libs/PanoTagPlugin/Components/Common/TextItem.svelte +42 -0
- package/libs/PanoTagPlugin/Components/PointTag.js +3 -3
- package/libs/PanoTagPlugin/Components/PointTag.svelte +55 -0
- package/libs/PanoTagPlugin/Components/Tag/AudioTag.svelte +105 -0
- package/libs/PanoTagPlugin/Components/Tag/CustomTag.svelte +33 -0
- package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.svelte +63 -0
- package/libs/PanoTagPlugin/Components/Tag/LinkTag.svelte +166 -0
- package/libs/PanoTagPlugin/Components/Tag/MarketingTag.svelte +234 -0
- package/libs/PanoTagPlugin/Components/Tag/MediaPlane.svelte +30 -0
- package/libs/PanoTagPlugin/Components/Tag/TextTag.svelte +63 -0
- package/libs/PanoTagPlugin/Components/Tag/index.js +16 -11
- package/libs/PanoTagPlugin/Components/Tag/index.svelte +145 -0
- package/libs/PanoTagPlugin/Components/TagWrapper.svelte +69 -0
- package/libs/PanoTagPlugin/controller/index.js +9 -9
- package/libs/PanoTagPlugin/tag.config.js +1 -0
- package/libs/PanoTagPlugin/typings/controller.d.ts +2 -1
- package/libs/PanoTagPlugin/typings/tag.d.ts +1 -0
- package/libs/floorplan/Components/BaseImage.svelte +26 -0
- package/libs/floorplan/Components/Camera.svelte +46 -0
- package/libs/floorplan/Components/Compass.svelte +51 -0
- package/libs/floorplan/Components/CurrentFloor.svelte +46 -0
- package/libs/floorplan/Components/Main.svelte +51 -0
- package/libs/floorplan/Components/Normalmage.svelte +11 -0
- package/libs/floorplan/Components/RoomHighlight/Room.svelte +27 -0
- package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte +29 -0
- package/libs/floorplan/Components/RoomLabels/RoomLabel.svelte +119 -0
- package/libs/floorplan/Components/RoomLabels/RoomLabels.svelte +35 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte +42 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte +7 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte +24 -0
- package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte +33 -0
- package/libs/floorplan/Components/RuleLabels/RuleItem.svelte +174 -0
- package/libs/floorplan/Components/RuleLabels/RuleLabels.svelte +32 -0
- package/libs/floorplan/Components/SvgImage.svelte +28 -0
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte +85 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte +18 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte +40 -0
- package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte +64 -0
- 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 +2 -2
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +9 -5
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +3 -3
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +7 -4
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +1 -1
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts +2 -3
- package/libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.js +6 -7
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +1 -1
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +1 -1
- package/libs/shared-utils/Object3DHelper/index.js +8 -10
- package/libs/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -1
- package/package.json +1 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<script>import { writable } from 'svelte/store';
|
|
2
|
+
import BaseImage from './BaseImage.svelte';
|
|
3
|
+
import RoomLabels from './RoomLabels/RoomLabels.svelte';
|
|
4
|
+
import RuleLabels from './RuleLabels/RuleLabels.svelte';
|
|
5
|
+
import RoomMaterial from './RoomMaterials/RoomMaterial.svelte';
|
|
6
|
+
import RoomHighlight from './RoomHighlight/RoomHighlight.svelte';
|
|
7
|
+
export let isCurrent;
|
|
8
|
+
export let floorIndex;
|
|
9
|
+
export let hoverEnable;
|
|
10
|
+
export let roomLabelsEnable;
|
|
11
|
+
export let ruleLabelsEnable;
|
|
12
|
+
export let floorplanData;
|
|
13
|
+
export let getLabelElement;
|
|
14
|
+
export let adaptiveRoomLabelVisibleEnable;
|
|
15
|
+
const hoveredRoom = writable(undefined);
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<div class={`floorplan-plugin__floor${isCurrent ? ' floorplan-plugin__floor--is-current' : ''}`}>
|
|
19
|
+
<RoomMaterial {...{ floorIndex, floorplanData }} />
|
|
20
|
+
{#if hoverEnable}
|
|
21
|
+
<RoomHighlight {...{ floorIndex, floorplanData, hoveredRoom }} />
|
|
22
|
+
{/if}
|
|
23
|
+
<BaseImage {...{ floorplanData, floorIndex }} />
|
|
24
|
+
{#if roomLabelsEnable}
|
|
25
|
+
<RoomLabels {...{ floorplanData, floorIndex, getLabelElement, hoveredRoom, adaptiveRoomLabelVisibleEnable }} />
|
|
26
|
+
{/if}
|
|
27
|
+
{#if ruleLabelsEnable}
|
|
28
|
+
<RuleLabels {...{ floorplanData, floorIndex }} />
|
|
29
|
+
{/if}
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<style>
|
|
33
|
+
.floorplan-plugin__floor {
|
|
34
|
+
position: absolute;
|
|
35
|
+
left: 0;
|
|
36
|
+
top: 0;
|
|
37
|
+
width: 100%;
|
|
38
|
+
height: 100%;
|
|
39
|
+
opacity: 0;
|
|
40
|
+
pointer-events: none;
|
|
41
|
+
}
|
|
42
|
+
.floorplan-plugin__floor--is-current {
|
|
43
|
+
opacity: 1;
|
|
44
|
+
pointer-events: auto;
|
|
45
|
+
}
|
|
46
|
+
</style>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<script>import { linear } from 'svelte/easing';
|
|
2
|
+
import { fade } from 'svelte/transition';
|
|
3
|
+
import Camera from './Camera.svelte';
|
|
4
|
+
import Compass from './Compass.svelte';
|
|
5
|
+
import CurrentFloor from './CurrentFloor.svelte';
|
|
6
|
+
export let duration = 0;
|
|
7
|
+
export let visible;
|
|
8
|
+
export let northDesc;
|
|
9
|
+
export let panoIndex;
|
|
10
|
+
export let floorIndex;
|
|
11
|
+
export let hoverEnable;
|
|
12
|
+
export let compassEnable;
|
|
13
|
+
export let roomLabelsEnable;
|
|
14
|
+
export let ruleLabelsEnable;
|
|
15
|
+
export let floorplanData;
|
|
16
|
+
export let lastPanoramaLongitude;
|
|
17
|
+
export let cameraImageUrl;
|
|
18
|
+
export let getLabelElement;
|
|
19
|
+
export let adaptiveRoomLabelVisibleEnable;
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
{#if visible}
|
|
23
|
+
<div class="floorplan-main" in:fade={{ duration, easing: linear }}>
|
|
24
|
+
{#each floorplanData.floorDatas as floorData}
|
|
25
|
+
<CurrentFloor
|
|
26
|
+
{...{
|
|
27
|
+
hoverEnable,
|
|
28
|
+
floorplanData,
|
|
29
|
+
getLabelElement,
|
|
30
|
+
roomLabelsEnable,
|
|
31
|
+
ruleLabelsEnable,
|
|
32
|
+
adaptiveRoomLabelVisibleEnable,
|
|
33
|
+
}}
|
|
34
|
+
floorIndex={floorData.floorIndex}
|
|
35
|
+
isCurrent={floorData.floorIndex === floorIndex}
|
|
36
|
+
/>
|
|
37
|
+
{/each}
|
|
38
|
+
<Camera {...{ panoIndex, floorplanData, lastPanoramaLongitude, cameraImageUrl }} />
|
|
39
|
+
{#if compassEnable}
|
|
40
|
+
<Compass {floorplanData} {northDesc} />
|
|
41
|
+
{/if}
|
|
42
|
+
</div>
|
|
43
|
+
{/if}
|
|
44
|
+
|
|
45
|
+
<style>
|
|
46
|
+
.floorplan-main {
|
|
47
|
+
width: 100%;
|
|
48
|
+
height: 100%;
|
|
49
|
+
pointer-events: none;
|
|
50
|
+
}
|
|
51
|
+
</style>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script>import formatFloorplanPoint, { pathD } from '../../utils/formatPosition';
|
|
2
|
+
export let room;
|
|
3
|
+
export let floorplanData;
|
|
4
|
+
export let hoveredRoom;
|
|
5
|
+
function onMouseEnter() {
|
|
6
|
+
hoveredRoom.set(room);
|
|
7
|
+
}
|
|
8
|
+
function onMouseLeave() {
|
|
9
|
+
hoveredRoom.set(undefined);
|
|
10
|
+
}
|
|
11
|
+
const { bounding } = floorplanData;
|
|
12
|
+
const _pathD = pathD(room.path, {
|
|
13
|
+
needZ: true,
|
|
14
|
+
format: (vector) => formatFloorplanPoint(vector, bounding),
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<path d={_pathD} fill={`#fff`} on:mouseenter={onMouseEnter} on:mouseleave={onMouseLeave} />
|
|
19
|
+
|
|
20
|
+
<style>
|
|
21
|
+
path {
|
|
22
|
+
opacity: 0;
|
|
23
|
+
}
|
|
24
|
+
path:hover {
|
|
25
|
+
opacity: 0.1;
|
|
26
|
+
}
|
|
27
|
+
</style>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<script>import Room from './Room.svelte';
|
|
2
|
+
export let floorIndex;
|
|
3
|
+
export let floorplanData;
|
|
4
|
+
export let hoveredRoom;
|
|
5
|
+
const boundingWidth = floorplanData.bounding.max.x - floorplanData.bounding.min.x;
|
|
6
|
+
const boundingHeight = floorplanData.bounding.max.y - floorplanData.bounding.min.y;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<div class="floorplan-plugin__room-highlight">
|
|
10
|
+
<svg width="100%" height="100%" viewBox={`0 0 ${boundingWidth} ${boundingHeight}`}>
|
|
11
|
+
{#each floorplanData.floorDatas[floorIndex].rooms as room (room.id)}
|
|
12
|
+
<Room {...{ room, floorplanData, hoveredRoom }} />
|
|
13
|
+
{/each}
|
|
14
|
+
</svg>
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
<style>
|
|
18
|
+
.floorplan-plugin__room-highlight {
|
|
19
|
+
position: absolute;
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 100%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
svg {
|
|
25
|
+
width: 100%;
|
|
26
|
+
height: 100%;
|
|
27
|
+
overflow: visible;
|
|
28
|
+
}
|
|
29
|
+
</style>
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
<script>import { onMount } from 'svelte';
|
|
2
|
+
export let pxmm;
|
|
3
|
+
export let room;
|
|
4
|
+
export let hoveredRoom;
|
|
5
|
+
export let getLabelElement;
|
|
6
|
+
export let adaptiveRoomLabelVisibleEnable;
|
|
7
|
+
// https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html
|
|
8
|
+
// https://github.com/substack/point-in-polygon
|
|
9
|
+
function isPointInPolygon(point, polygon) {
|
|
10
|
+
const x = point[0];
|
|
11
|
+
const y = point[1];
|
|
12
|
+
let inside = false;
|
|
13
|
+
for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
14
|
+
const xi = polygon[i][0];
|
|
15
|
+
const yi = polygon[i][1];
|
|
16
|
+
const xj = polygon[j][0];
|
|
17
|
+
const yj = polygon[j][1];
|
|
18
|
+
const intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;
|
|
19
|
+
if (intersect)
|
|
20
|
+
inside = !inside;
|
|
21
|
+
}
|
|
22
|
+
return inside;
|
|
23
|
+
}
|
|
24
|
+
function isLabelInRoomCurry(room, labelElementSize) {
|
|
25
|
+
if (labelElementSize.width === 0 || labelElementSize.height === 0)
|
|
26
|
+
return () => false;
|
|
27
|
+
const polygon = room.path.map(({ x, y }) => [x, y]);
|
|
28
|
+
const labelPosition = room.roomLabel.position;
|
|
29
|
+
const { x, y } = labelPosition;
|
|
30
|
+
const { width, height } = labelElementSize;
|
|
31
|
+
const halfWidth = width / 2;
|
|
32
|
+
const halfHeight = height / 2;
|
|
33
|
+
return function isLabelInRoom(pxmm) {
|
|
34
|
+
const clientX = x * pxmm;
|
|
35
|
+
const clientY = y * pxmm;
|
|
36
|
+
const clientPolygon = polygon.map(([x, y]) => [x * pxmm, y * pxmm]);
|
|
37
|
+
// const
|
|
38
|
+
/** 围成 labelRect 的四个点
|
|
39
|
+
* 1----0
|
|
40
|
+
* | |
|
|
41
|
+
* 2----3
|
|
42
|
+
*/
|
|
43
|
+
const labelRectClientPoints = [
|
|
44
|
+
[clientX + halfWidth, clientY - halfHeight],
|
|
45
|
+
[clientX - halfWidth, clientY - halfHeight],
|
|
46
|
+
[clientX - halfWidth, clientY + halfHeight],
|
|
47
|
+
[clientX + halfWidth, clientY + halfHeight],
|
|
48
|
+
];
|
|
49
|
+
return labelRectClientPoints.every((point) => isPointInPolygon(point, clientPolygon));
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// ========== 获取设备宽高像素 ==========
|
|
53
|
+
// TODO: 统一这里的判断条件,目前写了多处
|
|
54
|
+
const bodyWidth = document.body.clientWidth;
|
|
55
|
+
const bodyHeight = document.body.clientHeight;
|
|
56
|
+
const roomSizeDes = room.size ? (room.size / 1000000).toFixed(1) + '㎡' : '';
|
|
57
|
+
// ====================================
|
|
58
|
+
const roomLabel = room.roomLabel;
|
|
59
|
+
const left = roomLabel.positionInImage.x * 100 + '%';
|
|
60
|
+
const top = roomLabel.positionInImage.y * 100 + '%';
|
|
61
|
+
// 屏幕宽或高小于 500px 时,用 10px 字体,否则用 14px
|
|
62
|
+
const fontSize = (bodyWidth < 500 || bodyHeight < 500 ? 10 : 14) / 16 + 'rem';
|
|
63
|
+
let isHoverd = false;
|
|
64
|
+
let labelElement;
|
|
65
|
+
let labelElementSize;
|
|
66
|
+
$: isLabelInRoom = labelElementSize ? isLabelInRoomCurry(room, labelElementSize) : undefined;
|
|
67
|
+
$: userConfigElement = getLabelElement === null || getLabelElement === void 0 ? void 0 : getLabelElement(room);
|
|
68
|
+
$: labelVisible = adaptiveRoomLabelVisibleEnable ? (isHoverd ? true : !!(isLabelInRoom === null || isLabelInRoom === void 0 ? void 0 : isLabelInRoom(pxmm))) : true;
|
|
69
|
+
hoveredRoom.subscribe(function onHoverdRoomUpdate(_room) {
|
|
70
|
+
isHoverd = !!_room && _room.id === room.id;
|
|
71
|
+
});
|
|
72
|
+
onMount(() => {
|
|
73
|
+
// Label 能不能展示只跟房间大小有关
|
|
74
|
+
// 计算 LabelElement 宽高
|
|
75
|
+
const labelDomRect = labelElement === null || labelElement === void 0 ? void 0 : labelElement.getClientRects()[0];
|
|
76
|
+
labelElementSize = { width: labelDomRect.width, height: labelDomRect.height };
|
|
77
|
+
});
|
|
78
|
+
</script>
|
|
79
|
+
|
|
80
|
+
<div
|
|
81
|
+
bind:this={labelElement}
|
|
82
|
+
class="floorplan-plugin__room-label-item"
|
|
83
|
+
style:left
|
|
84
|
+
style:top
|
|
85
|
+
style:font-size={fontSize}
|
|
86
|
+
style:opacity={labelVisible ? '1' : '0'}
|
|
87
|
+
>
|
|
88
|
+
<!-- 用户没有配置自定义 DOM 时,使用默认 DOM -->
|
|
89
|
+
{#if getLabelElement === undefined}
|
|
90
|
+
<span class="floorplan-plugin__room-name">
|
|
91
|
+
{room.name}
|
|
92
|
+
</span>
|
|
93
|
+
<span class="floorplan-plugin__room-size">{roomSizeDes}</span>
|
|
94
|
+
<!-- 用户配置自定义 DOM 时,使用用户 DOM -->
|
|
95
|
+
{:else if userConfigElement}
|
|
96
|
+
<!-- TODO: @html 是一个很不好的语法,但是目前没有好的方式去配置 User DOM -->
|
|
97
|
+
<!-- TODO: 看一下能不能改成在 reactive segment 里动态插入 DOM -->
|
|
98
|
+
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
99
|
+
{@html userConfigElement.outerHTML}
|
|
100
|
+
{/if}
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<style>
|
|
104
|
+
.floorplan-plugin__room-label-item {
|
|
105
|
+
position: absolute;
|
|
106
|
+
display: flex;
|
|
107
|
+
flex-flow: column;
|
|
108
|
+
align-items: center;
|
|
109
|
+
line-height: 1;
|
|
110
|
+
color: #fff;
|
|
111
|
+
transform: translate(-50%, -50%);
|
|
112
|
+
white-space: nowrap;
|
|
113
|
+
will-change: opacity;
|
|
114
|
+
transition: opacity 300ms;
|
|
115
|
+
}
|
|
116
|
+
.floorplan-plugin__room-size {
|
|
117
|
+
opacity: 0.45;
|
|
118
|
+
}
|
|
119
|
+
</style>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<script>import RoomLabel from './RoomLabel.svelte';
|
|
2
|
+
export let floorIndex;
|
|
3
|
+
export let floorplanData;
|
|
4
|
+
export let hoveredRoom;
|
|
5
|
+
export let getLabelElement;
|
|
6
|
+
export let adaptiveRoomLabelVisibleEnable;
|
|
7
|
+
$: rooms = floorplanData.floorDatas[floorIndex].rooms;
|
|
8
|
+
let clientWidth = 0;
|
|
9
|
+
let pxmm = 0;
|
|
10
|
+
$: {
|
|
11
|
+
const { max, min } = floorplanData.bounding;
|
|
12
|
+
const boundingWidth = max.x - min.x;
|
|
13
|
+
pxmm = clientWidth / boundingWidth;
|
|
14
|
+
}
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{#if rooms}
|
|
18
|
+
<div class="floorplan-plugin__room-labels" bind:clientWidth>
|
|
19
|
+
{#each rooms as room (room.id)}
|
|
20
|
+
<RoomLabel {...{ pxmm, room, getLabelElement, hoveredRoom, adaptiveRoomLabelVisibleEnable }} />
|
|
21
|
+
{/each}
|
|
22
|
+
</div>
|
|
23
|
+
{/if}
|
|
24
|
+
|
|
25
|
+
<style>
|
|
26
|
+
.floorplan-plugin__room-labels {
|
|
27
|
+
width: 100%;
|
|
28
|
+
height: 100%;
|
|
29
|
+
position: absolute;
|
|
30
|
+
left: 0;
|
|
31
|
+
top: 0;
|
|
32
|
+
z-index: 20;
|
|
33
|
+
pointer-events: none;
|
|
34
|
+
}
|
|
35
|
+
</style>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<script>import formatFloorplanPoint from '../../utils/formatPosition';
|
|
2
|
+
import RoomMaterial_0 from './RoomMaterial_0.svelte';
|
|
3
|
+
import RoomMaterial_1 from './RoomMaterial_1.svelte';
|
|
4
|
+
import RoomMaterial_2 from './RoomMaterial_2.svelte';
|
|
5
|
+
export let floorIndex;
|
|
6
|
+
export let floorplanData;
|
|
7
|
+
const boundingWidth = floorplanData.bounding.max.x - floorplanData.bounding.min.x;
|
|
8
|
+
const boundingHeight = floorplanData.bounding.max.y - floorplanData.bounding.min.y;
|
|
9
|
+
$: rooms = floorplanData.floorDatas[floorIndex].rooms.map((room) => (Object.assign(Object.assign({}, room), { path: room.path.map((p) => formatFloorplanPoint(p, floorplanData.bounding)) })));
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div class="floorplan-plugin__room-material">
|
|
13
|
+
{#each rooms as room}
|
|
14
|
+
<svg width="100%" height="100%" viewBox={`0 0 ${boundingWidth} ${boundingHeight}`}>
|
|
15
|
+
{#if room.floorType === 1}
|
|
16
|
+
<RoomMaterial_0 path={room.path} />
|
|
17
|
+
{:else if room.floorType === 0}
|
|
18
|
+
<RoomMaterial_2 path={room.path} />
|
|
19
|
+
{:else}
|
|
20
|
+
<RoomMaterial_1 path={room.path} />
|
|
21
|
+
{/if}
|
|
22
|
+
</svg>
|
|
23
|
+
{/each}
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
<style>
|
|
27
|
+
.floorplan-plugin__room-material {
|
|
28
|
+
position: absolute;
|
|
29
|
+
left: 0;
|
|
30
|
+
top: 0;
|
|
31
|
+
width: 100%;
|
|
32
|
+
height: 100%;
|
|
33
|
+
}
|
|
34
|
+
svg {
|
|
35
|
+
position: absolute;
|
|
36
|
+
left: 0;
|
|
37
|
+
top: 0;
|
|
38
|
+
width: 100%;
|
|
39
|
+
height: 100%;
|
|
40
|
+
overflow: visible;
|
|
41
|
+
}
|
|
42
|
+
</style>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script>import { pathD } from '../../utils/formatPosition';
|
|
2
|
+
export let path;
|
|
3
|
+
$: d = pathD(path, { needZ: true });
|
|
4
|
+
const halfWidth = 6;
|
|
5
|
+
const width = halfWidth * 2;
|
|
6
|
+
const patternPathD = `M0 ${halfWidth} h ${width} M${halfWidth} 0 v ${width}`;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<!-- 瓷砖地板, 偏蓝的格格 -->
|
|
10
|
+
<defs>
|
|
11
|
+
<pattern
|
|
12
|
+
id="fpm-room-pattern-0"
|
|
13
|
+
x="0"
|
|
14
|
+
y="0"
|
|
15
|
+
{width}
|
|
16
|
+
height={width}
|
|
17
|
+
patternUnits="userSpaceOnUse"
|
|
18
|
+
patternTransform="scale(50 50)"
|
|
19
|
+
>
|
|
20
|
+
<rect x="0" y="0" {width} height={width} fill="#323747" />
|
|
21
|
+
<path d={patternPathD} stroke="#ffffff" stroke-opacity="0.06" stroke-width="0.5" fill="none" />
|
|
22
|
+
</pattern>
|
|
23
|
+
</defs>
|
|
24
|
+
<path {d} fill="url(#fpm-room-pattern-0)" />
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script>import { pathD } from '../../utils/formatPosition';
|
|
2
|
+
export let path;
|
|
3
|
+
$: d = pathD(path, { needZ: true });
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- 木地板,偏灰的格格 -->
|
|
7
|
+
<defs>
|
|
8
|
+
<pattern
|
|
9
|
+
id="room-material-pattern-1"
|
|
10
|
+
x="0"
|
|
11
|
+
y="0"
|
|
12
|
+
width="12"
|
|
13
|
+
height="50"
|
|
14
|
+
patternUnits="userSpaceOnUse"
|
|
15
|
+
patternTransform="scale(50 50)"
|
|
16
|
+
>
|
|
17
|
+
<rect x="0" y="0" width="6" height="50" fill="none" stroke="#4B4B57" stroke-width="0.5" />
|
|
18
|
+
</pattern>
|
|
19
|
+
<pattern
|
|
20
|
+
id="room-material-pattern-2"
|
|
21
|
+
x="6"
|
|
22
|
+
y="25"
|
|
23
|
+
width="12"
|
|
24
|
+
height="50"
|
|
25
|
+
patternUnits="userSpaceOnUse"
|
|
26
|
+
patternTransform="scale(50 50)"
|
|
27
|
+
>
|
|
28
|
+
<rect x="0" y="0" width="6" height="50" fill="none" stroke="#4B4B57" stroke-width="0.5" />
|
|
29
|
+
</pattern>
|
|
30
|
+
</defs>
|
|
31
|
+
<path {d} fill="#43434D" />
|
|
32
|
+
<path {d} fill="url(#room-material-pattern-1)" />
|
|
33
|
+
<path {d} fill="url(#room-material-pattern-2)" />
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
<script>export let type;
|
|
2
|
+
export let data;
|
|
3
|
+
export let bounding;
|
|
4
|
+
const isRow = type === 'top' || type === 'bottom';
|
|
5
|
+
const padding = 1000;
|
|
6
|
+
const exteriorWallOffset = 180;
|
|
7
|
+
const contentWidth = bounding.max.x - bounding.min.x - (padding - exteriorWallOffset) * 2;
|
|
8
|
+
const contentHeight = bounding.max.y - bounding.min.y - (padding - exteriorWallOffset) * 2;
|
|
9
|
+
// 计算每一段墙的长度,以及墙两侧点距离标尺初始点的像素值
|
|
10
|
+
const rulerPoints = data
|
|
11
|
+
.map(([start, end]) => (isRow ? [start.x, end.x] : [start.y, end.y]))
|
|
12
|
+
.flat()
|
|
13
|
+
.sort()
|
|
14
|
+
.filter((x, index, arr) => {
|
|
15
|
+
// 筛除重复数据
|
|
16
|
+
if (index === 0)
|
|
17
|
+
return true;
|
|
18
|
+
return x !== arr[index - 1];
|
|
19
|
+
});
|
|
20
|
+
const rulerLabels = rulerPoints.map((num) => {
|
|
21
|
+
const left = isRow ? (num - bounding.min.x - padding + exteriorWallOffset) / contentWidth : 0;
|
|
22
|
+
const bottom = !isRow ? (num - bounding.min.y - padding + exteriorWallOffset) / contentHeight : 0;
|
|
23
|
+
return { left, bottom };
|
|
24
|
+
});
|
|
25
|
+
rulerLabels.unshift({ left: 0, bottom: 0 });
|
|
26
|
+
rulerLabels.push(isRow ? { left: 1, bottom: 0 } : { left: 0, bottom: 1 });
|
|
27
|
+
const length = rulerPoints[rulerPoints.length - 1] - rulerPoints[0];
|
|
28
|
+
const rulerTexts = rulerPoints
|
|
29
|
+
.map((num, index, arr) => {
|
|
30
|
+
const distance = index === 0 ? 0 : num - arr[index - 1];
|
|
31
|
+
const positionNum = index === 0 ? 0 : (num + arr[index - 1]) / 2;
|
|
32
|
+
const left = isRow ? (positionNum - bounding.min.x - padding + exteriorWallOffset) / contentWidth : 0;
|
|
33
|
+
const bottom = !isRow ? (positionNum - bounding.min.y - padding + exteriorWallOffset) / contentHeight : 0;
|
|
34
|
+
return { left, bottom, distance };
|
|
35
|
+
})
|
|
36
|
+
.filter(({ distance }) => distance / length > 0.1);
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<div
|
|
40
|
+
class="floorplan-plugin__rule-labels floorplan-plugin__rule-labels--{type}"
|
|
41
|
+
class:is-row={isRow}
|
|
42
|
+
style:width={isRow ? '100%' : 1 / 16 + 'rem'}
|
|
43
|
+
style:height={!isRow ? '100%' : 1 / 16 + 'rem'}
|
|
44
|
+
>
|
|
45
|
+
<div class="floorplan-plugin__rule-line" />
|
|
46
|
+
<div class="floorplan-plugin__rule-scale-wrapper" class:is-row={isRow}>
|
|
47
|
+
{#each rulerLabels as rulerLabel}
|
|
48
|
+
<div
|
|
49
|
+
class="floorplan-plugin__rule-scale"
|
|
50
|
+
style:left={rulerLabel.left * 100 + '%'}
|
|
51
|
+
style:bottom={rulerLabel.bottom * 100 + '%'}
|
|
52
|
+
/>
|
|
53
|
+
{/each}
|
|
54
|
+
</div>
|
|
55
|
+
<div class="floorplan-plugin__rule-text-wrapper">
|
|
56
|
+
{#each rulerTexts as textItem, textItemIndex (textItemIndex)}
|
|
57
|
+
<div
|
|
58
|
+
class="floorplan-plugin__rule-text-item"
|
|
59
|
+
style:left={textItem.left * 100 + '%'}
|
|
60
|
+
style:bottom={textItem.bottom * 100 + '%'}
|
|
61
|
+
>
|
|
62
|
+
<div class="floorplan-plugin__rule-text" class:is-row={isRow}>
|
|
63
|
+
{textItem.distance}
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
{/each}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<style>
|
|
71
|
+
.floorplan-plugin__rule-labels {
|
|
72
|
+
position: absolute;
|
|
73
|
+
display: flex;
|
|
74
|
+
}
|
|
75
|
+
.floorplan-plugin__rule-labels--top {
|
|
76
|
+
left: 0;
|
|
77
|
+
top: -1.25rem;
|
|
78
|
+
}
|
|
79
|
+
.floorplan-plugin__rule-labels--bottom {
|
|
80
|
+
left: 0;
|
|
81
|
+
bottom: -1.25rem;
|
|
82
|
+
}
|
|
83
|
+
.floorplan-plugin__rule-labels--left {
|
|
84
|
+
top: 0;
|
|
85
|
+
left: -1.25rem;
|
|
86
|
+
}
|
|
87
|
+
.floorplan-plugin__rule-labels--right {
|
|
88
|
+
top: 0;
|
|
89
|
+
right: -1.25rem;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.floorplan-plugin__rule-line {
|
|
93
|
+
background: #fff;
|
|
94
|
+
opacity: 0.05;
|
|
95
|
+
width: 100%;
|
|
96
|
+
height: 100%;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.floorplan-plugin__rule-scale-wrapper {
|
|
100
|
+
position: absolute;
|
|
101
|
+
/* 5px */
|
|
102
|
+
width: 0.3125rem;
|
|
103
|
+
height: 100%;
|
|
104
|
+
left: 50%;
|
|
105
|
+
top: 0;
|
|
106
|
+
transform: translateX(-50%);
|
|
107
|
+
}
|
|
108
|
+
.floorplan-plugin__rule-labels.is-row .floorplan-plugin__rule-scale-wrapper {
|
|
109
|
+
width: 100%;
|
|
110
|
+
/* 5px */
|
|
111
|
+
height: 0.3125rem;
|
|
112
|
+
top: 50%;
|
|
113
|
+
left: 0;
|
|
114
|
+
transform: translateY(-50%);
|
|
115
|
+
}
|
|
116
|
+
.floorplan-plugin__rule-scale {
|
|
117
|
+
position: absolute;
|
|
118
|
+
background: #fff;
|
|
119
|
+
opacity: 0.05;
|
|
120
|
+
width: 100%;
|
|
121
|
+
/* 1px */
|
|
122
|
+
height: 0.0625rem;
|
|
123
|
+
}
|
|
124
|
+
.floorplan-plugin__rule-labels.is-row .floorplan-plugin__rule-scale {
|
|
125
|
+
/* 1px */
|
|
126
|
+
width: 0.0625rem;
|
|
127
|
+
height: 100%;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.floorplan-plugin__rule-text-wrapper {
|
|
131
|
+
position: absolute;
|
|
132
|
+
}
|
|
133
|
+
.floorplan-plugin__rule-labels--top .floorplan-plugin__rule-text-wrapper {
|
|
134
|
+
width: 100%;
|
|
135
|
+
height: 0;
|
|
136
|
+
/* 10px */
|
|
137
|
+
top: 0.625rem;
|
|
138
|
+
}
|
|
139
|
+
.floorplan-plugin__rule-labels--bottom .floorplan-plugin__rule-text-wrapper {
|
|
140
|
+
width: 100%;
|
|
141
|
+
height: 0;
|
|
142
|
+
/* 10px */
|
|
143
|
+
bottom: 0.625rem;
|
|
144
|
+
}
|
|
145
|
+
.floorplan-plugin__rule-labels--left .floorplan-plugin__rule-text-wrapper {
|
|
146
|
+
width: 0;
|
|
147
|
+
height: 100%;
|
|
148
|
+
/* 10px */
|
|
149
|
+
left: 0.625rem;
|
|
150
|
+
}
|
|
151
|
+
.floorplan-plugin__rule-labels--right .floorplan-plugin__rule-text-wrapper {
|
|
152
|
+
width: 0;
|
|
153
|
+
height: 100%;
|
|
154
|
+
/* 10px */
|
|
155
|
+
right: 0.625rem;
|
|
156
|
+
}
|
|
157
|
+
.floorplan-plugin__rule-text-item {
|
|
158
|
+
width: 0;
|
|
159
|
+
height: 0;
|
|
160
|
+
position: absolute;
|
|
161
|
+
transform: rotate(90deg);
|
|
162
|
+
}
|
|
163
|
+
.floorplan-plugin__rule-labels.is-row .floorplan-plugin__rule-text-item {
|
|
164
|
+
transform: rotate(0);
|
|
165
|
+
}
|
|
166
|
+
.floorplan-plugin__rule-text {
|
|
167
|
+
width: max-content;
|
|
168
|
+
transform: translate(-50%, -50%);
|
|
169
|
+
/* 10px */
|
|
170
|
+
font-size: 0.625rem;
|
|
171
|
+
color: #fff;
|
|
172
|
+
opacity: 0.2;
|
|
173
|
+
}
|
|
174
|
+
</style>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<script>import RuleItem from './RuleItem.svelte';
|
|
2
|
+
export let floorIndex;
|
|
3
|
+
export let floorplanData;
|
|
4
|
+
const padding = 1000;
|
|
5
|
+
const exteriorWallOffset = 180;
|
|
6
|
+
$: bounding = floorplanData.bounding;
|
|
7
|
+
$: ruleLabelData = floorplanData.floorDatas[floorIndex].rules;
|
|
8
|
+
$: ruleLabelDataKeys = Object.keys(ruleLabelData);
|
|
9
|
+
$: ruleLabelArray = ruleLabelDataKeys.map((key) => [key, ruleLabelData[key]]);
|
|
10
|
+
$: boundingWidth = bounding.max.x - bounding.min.x;
|
|
11
|
+
$: boundingHeight = bounding.max.y - bounding.min.y;
|
|
12
|
+
$: contentWidth = bounding.max.x - bounding.min.x - (padding - exteriorWallOffset) * 2;
|
|
13
|
+
$: contentHeight = bounding.max.y - bounding.min.y - (padding - exteriorWallOffset) * 2;
|
|
14
|
+
$: width = (contentWidth / boundingWidth) * 100 + '%';
|
|
15
|
+
$: height = (contentHeight / boundingHeight) * 100 + '%';
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<div class="floorplan-plugin__rule-labels-wrapper" style:width style:height>
|
|
19
|
+
{#each ruleLabelArray as [type, data] (type)}
|
|
20
|
+
<RuleItem {...{ type, data, bounding }} />
|
|
21
|
+
{/each}
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<style>
|
|
25
|
+
.floorplan-plugin__rule-labels-wrapper {
|
|
26
|
+
position: absolute;
|
|
27
|
+
top: 50%;
|
|
28
|
+
left: 50%;
|
|
29
|
+
transform: translate(-50%, -50%);
|
|
30
|
+
pointer-events: none;
|
|
31
|
+
}
|
|
32
|
+
</style>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<script>export let content;
|
|
2
|
+
const svgStyle = `
|
|
3
|
+
<style>
|
|
4
|
+
svg [type='lineGroup'] path {
|
|
5
|
+
fill: #ffffff;
|
|
6
|
+
stroke: #ffffff;
|
|
7
|
+
}
|
|
8
|
+
svg [type='lineItemGroup'] g g g g {
|
|
9
|
+
stroke: #ffffff;
|
|
10
|
+
}
|
|
11
|
+
</style>
|
|
12
|
+
`;
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<div class="floorplan-plugin__base-image">
|
|
16
|
+
<!-- TODO: @html 是一个很不好的语法,但是目前没有好的方式去配置 User DOM -->
|
|
17
|
+
<!-- TODO: 看一下能不能改成在 reactive segment 里动态插入 DOM -->
|
|
18
|
+
<!-- eslint-disable svelte/no-at-html-tags -->
|
|
19
|
+
{@html svgStyle}
|
|
20
|
+
{@html content}
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<style>
|
|
24
|
+
.floorplan-plugin__base-image {
|
|
25
|
+
width: 100%;
|
|
26
|
+
height: 100%;
|
|
27
|
+
}
|
|
28
|
+
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import to from '../../shared-utils/to';
|
|
3
3
|
import equal from '../../shared-utils/equal';
|
|
4
|
-
import Main from '../Components/Main';
|
|
4
|
+
import Main from '../Components/Main.svelte';
|
|
5
5
|
import formatData from '../utils/formatData';
|
|
6
6
|
import { CAMERA_IMAGE } from '../Assets/camera';
|
|
7
7
|
import { omit } from '../../shared-utils/filter';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import to from '../../shared-utils/to';
|
|
2
2
|
import equal from '../../shared-utils/equal';
|
|
3
|
-
import Main from '../Components/Main';
|
|
3
|
+
import Main from '../Components/Main.svelte';
|
|
4
4
|
import formatData from '../utils/formatData';
|
|
5
5
|
import { CAMERA_IMAGE } from '../Assets/camera';
|
|
6
6
|
import { omit } from '../../shared-utils/filter';
|