@realsee/dnalogel 2.6.6 → 2.6.7-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CSS3DRenderPlugin/Controller.d.ts +1 -1
- package/dist/Object3DHelperPlugin/Controller.d.ts +25 -10
- package/dist/Object3DHelperPlugin/FiveControllerWrapper.d.ts +6 -8
- package/dist/Object3DHelperPlugin/typings.d.ts +14 -0
- package/dist/PanoTagPlugin/controller/TagCacheController.d.ts +1 -0
- package/dist/PanoTagPlugin/controller/TagComputer.d.ts +22 -6
- package/dist/PanoTagPlugin/controller/index.d.ts +32 -6
- package/dist/PanoTagPlugin/typings/controller.d.ts +17 -2
- package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +5 -2
- package/dist/PanoTagPlugin/typings/tag/TagData.d.ts +19 -3
- package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +1 -1
- package/dist/PanoTagPlugin/utils/tag/index.d.ts +2 -0
- package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +2 -1
- package/dist/PanoTagPlugin/utils/tagPosition.d.ts +3 -1
- package/dist/index.cjs.js +43 -43
- package/dist/index.js +5075 -4664
- package/dist/index.umd.js +32 -32
- package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +41 -15
- package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +27 -20
- package/dist/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +7 -0
- package/dist/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +1 -0
- package/dist/shared-utils/Object3DHelper/Controller/MoveController.d.ts +24 -0
- package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +6 -1
- package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +14 -0
- package/dist/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +12 -0
- package/dist/shared-utils/Object3DHelper/Helper/{OutlineHelper.d.ts → BoundingBoxHelper.d.ts} +3 -2
- package/{libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts → dist/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts} +3 -8
- package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +14 -11
- package/dist/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +5 -0
- package/dist/shared-utils/Object3DHelper/Helper/index.d.ts +2 -2
- package/dist/shared-utils/Object3DHelper/index.d.ts +4 -27
- package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +22 -12
- package/dist/shared-utils/Object3DHelper/typings/index.d.ts +22 -0
- package/dist/shared-utils/Object3DHelper/utils/boundingBox.d.ts +2 -0
- package/dist/shared-utils/three/GLTFLoader.d.ts +2 -0
- package/docs/assets/search.js +1 -1
- package/docs/classes/CSS3DRender.html +31 -31
- package/docs/classes/CruisePluginController.html +24 -24
- package/docs/classes/Magnifier.html +20 -20
- package/docs/classes/ModelRoomLabelController.html +11 -11
- package/docs/classes/Object3DHelperController.html +40 -33
- package/docs/classes/PaintBrush.html +15 -15
- package/docs/classes/PanoMeasurePluginLine.html +23 -23
- package/docs/classes/PanoMeasurePluginModel.html +22 -22
- package/docs/classes/PanoMeasurePluginPoint.html +14 -14
- package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
- package/docs/classes/PanoTagPluginController.html +205 -77
- package/docs/classes/Util.BetterTween.html +8 -8
- package/docs/classes/Util.FivePointSelector.html +12 -12
- package/docs/classes/Util.Interval.html +12 -12
- package/docs/classes/Util.Magnifier.html +17 -17
- package/docs/classes/Util.PointDomHelper.html +11 -11
- package/docs/classes/Util.PointHelper.html +11 -11
- package/docs/classes/Util.Rectangle.html +13 -13
- package/docs/enums/CameraMovementEffect.html +7 -7
- package/docs/enums/ContentType.html +34 -16
- package/docs/enums/DIRECTION.html +9 -9
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
- package/docs/enums/DimensionType.html +7 -7
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
- package/docs/enums/PaintBrushTypeEnum.html +8 -8
- package/docs/enums/PointType.html +7 -7
- package/docs/enums/Rotation.html +8 -8
- package/docs/functions/CSS3DRenderPlugin.html +10 -5
- package/docs/functions/CameraMovementPlugin.html +10 -5
- package/docs/functions/CruisePlugin.html +10 -5
- package/docs/functions/GuideLinePlugin.html +10 -5
- package/docs/functions/ItemLabelPlugin.html +10 -5
- package/docs/functions/MapviewFloorplanPlugin.html +10 -5
- package/docs/functions/ModelChassisCompassPlugin.html +10 -5
- package/docs/functions/ModelEntryDoorGuidePlugin.html +10 -5
- package/docs/functions/ModelFloorplanPlugin.html +10 -5
- package/docs/functions/ModelItemLabelPlugin.html +10 -5
- package/docs/functions/ModelRoomLabelPlugin.html +10 -5
- package/docs/functions/ModelTVVideoPlugin.html +10 -5
- package/docs/functions/ModelViewPlugin.html +10 -5
- package/docs/functions/Object3DHelperPlugin.html +10 -5
- package/docs/functions/PanoCompassPlugin.html +10 -5
- package/docs/functions/PanoCursorRaycasterPlugin.html +10 -5
- package/docs/functions/PanoDoorLabelPlugin.html +10 -5
- package/docs/functions/PanoFloorplanRadarPlugin.html +10 -5
- package/docs/functions/PanoMeasurePlugin.html +10 -5
- package/docs/functions/PanoRulerPlugin.html +10 -5
- package/docs/functions/PanoRulerProPlugin.html +10 -5
- package/docs/functions/PanoSpatialTagPlugin.html +10 -5
- package/docs/functions/PanoTagPlugin.html +15 -10
- package/docs/functions/TopviewFloorplanPlugin.html +10 -5
- package/docs/functions/Util.getCoordsFromClient.html +5 -5
- package/docs/functions/Util.getCoordsFromElement.html +5 -5
- package/docs/functions/Util.getFrameTime.html +5 -5
- package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
- package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
- package/docs/functions/Util.isNil.html +5 -5
- package/docs/functions/Util.nextFrame.html +5 -5
- package/docs/functions/Util.notNil.html +5 -5
- package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
- package/docs/functions/Util.tweenProgress.html +5 -5
- package/docs/functions/pluginFlag.html +10 -5
- package/docs/index.html +9 -4
- package/docs/interfaces/AddTagConfig.html +6 -6
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
- package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
- package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
- package/docs/interfaces/EventMap.html +19 -19
- package/docs/interfaces/FloorplanBounding.html +8 -8
- package/docs/interfaces/FloorplanData.html +10 -10
- package/docs/interfaces/FloorplanEntrance.html +11 -11
- package/docs/interfaces/FloorplanExtraObject.html +10 -10
- package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
- package/docs/interfaces/FloorplanFloorData.html +9 -9
- package/docs/interfaces/FloorplanImagePosition.html +7 -7
- package/docs/interfaces/FloorplanObserver.html +9 -9
- package/docs/interfaces/FloorplanOutlineItem.html +9 -9
- package/docs/interfaces/FloorplanPosition.html +7 -7
- package/docs/interfaces/FloorplanRoomItem.html +13 -13
- package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
- package/docs/interfaces/FloorplanServerBounding.html +8 -8
- package/docs/interfaces/FloorplanServerComputedData.html +10 -10
- package/docs/interfaces/FloorplanServerData.html +7 -7
- package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
- package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
- package/docs/interfaces/FloorplanServerEntrance.html +11 -11
- package/docs/interfaces/FloorplanServerFloorData.html +9 -9
- package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
- package/docs/interfaces/FloorplanServerObserver.html +9 -9
- package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
- package/docs/interfaces/FloorplanServerPosition.html +7 -7
- package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
- package/docs/interfaces/HelperOffset.html +78 -0
- package/docs/interfaces/ItemLabelPluginData.html +6 -6
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
- package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
- package/docs/interfaces/MinMax.html +7 -7
- package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
- package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
- package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
- package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
- package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
- package/docs/interfaces/ModelViewPluginExportType.html +11 -11
- package/docs/interfaces/Object3DHelperState.html +8 -8
- package/docs/interfaces/ObjectHelperControllers.html +85 -0
- package/docs/interfaces/PaintBrushAction.html +12 -12
- package/docs/interfaces/PaintBrushConfigs.html +12 -12
- package/docs/interfaces/PaintBrushState.html +10 -10
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +10 -5
- package/docs/interfaces/PanoMeasureParameterType.html +12 -12
- package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -8
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -7
- package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -7
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -8
- package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
- package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
- package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
- package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
- package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
- package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
- package/docs/interfaces/PanoRulerProPluginState.html +8 -8
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +10 -5
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +10 -5
- package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
- package/docs/interfaces/Point.html +8 -8
- package/docs/interfaces/Room.html +9 -9
- package/docs/interfaces/RoomInfo.html +7 -7
- package/docs/interfaces/RoomLabel.html +14 -14
- package/docs/interfaces/RoomRules.html +10 -5
- package/docs/interfaces/Rooms.html +10 -5
- package/docs/interfaces/Scissor.html +9 -9
- package/docs/interfaces/State.html +8 -8
- package/docs/interfaces/TagCache.html +25 -16
- package/docs/interfaces/TagConfig.html +10 -10
- package/docs/interfaces/TagIconUrl.html +9 -9
- package/docs/interfaces/Tags.html +11 -11
- package/docs/interfaces/TemporaryState.html +6 -6
- package/docs/interfaces/Util.MagnifierParameter.html +11 -11
- package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
- package/docs/modules/Util.html +5 -5
- package/docs/modules.html +14 -4
- package/docs/types/ArrayPosition.html +10 -5
- package/docs/types/AudioAppearance.html +10 -5
- package/docs/types/AudioTagTypeConfigKey.html +10 -5
- package/docs/types/CSS3DRenderExportType.html +10 -5
- package/docs/types/CSS3DRenderPluginExportType.html +10 -5
- package/docs/types/CSS3DRenderPluginParameterType.html +10 -5
- package/docs/types/ClassFunctionParameters.html +268 -0
- package/docs/types/Color.html +10 -5
- package/docs/types/ContentTypeConfigKey.html +10 -5
- package/docs/types/ContentTypeConfigKeySplit.html +10 -5
- package/docs/types/ContentTypeMap.html +10 -5
- package/docs/types/Create3DDomContainerReturnType.html +10 -5
- package/docs/types/Create3DElementReturnType.html +10 -5
- package/docs/types/CruisePluginExportType.html +10 -5
- package/docs/types/Direction-1.html +10 -5
- package/docs/types/Direction4.html +10 -5
- package/docs/types/FloorplanRuleLabels.html +10 -5
- package/docs/types/FloorplanServerRuleLabels.html +10 -5
- package/docs/types/GuideLinePluginExportType.html +10 -5
- package/docs/types/HelperEventMap.html +174 -21
- package/docs/types/LoadTagConfig.html +10 -5
- package/docs/types/MapviewFloorplanPluginParameterType.html +10 -5
- package/docs/types/MapviewFloorplanPluginReturnType.html +10 -5
- package/docs/types/MediaData.html +10 -5
- package/docs/types/MediaStore.html +10 -5
- package/docs/types/ModelElement.html +266 -0
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +10 -5
- package/docs/types/ModelFloorplanPluginParameterType.html +10 -5
- package/docs/types/ModelFloorplanPluginReturnType.html +10 -5
- package/docs/types/ModelRoomLabelPluginParameters.html +10 -5
- package/docs/types/ModelRoomLabelPluginReturnType.html +10 -5
- package/docs/types/MoveArgs.html +10 -5
- package/docs/types/MoveOpts.html +10 -5
- package/docs/types/Object3DHelperEventMap.html +10 -5
- package/docs/types/ObjectFit.html +10 -5
- package/docs/types/PaintBrushEventMap.html +10 -5
- package/docs/types/PanoCompassPluginData.html +10 -5
- package/docs/types/PanoCompassPluginExportType.html +10 -5
- package/docs/types/PanoCompassPluginParameterType.html +10 -5
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +10 -5
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +10 -5
- package/docs/types/PanoIndex.html +10 -5
- package/docs/types/PanoMeasurePluginEvent.html +10 -5
- package/docs/types/PanoMeasureReturnType.html +10 -5
- package/docs/types/PanoSpatialTagPluginId.html +10 -5
- package/docs/types/PanoTagPluginExportInterface.html +10 -5
- package/docs/types/PanoTagPluginParamsInterface.html +10 -5
- package/docs/types/PlaneTag.html +10 -5
- package/docs/types/PlaneTagElement.html +10 -5
- package/docs/types/Point2DElement.html +10 -5
- package/docs/types/Point2DTag.html +10 -5
- package/docs/types/Point3DElement.html +10 -5
- package/docs/types/Point3DTag.html +10 -5
- package/docs/types/PointTag.html +10 -5
- package/docs/types/PointTagElement.html +10 -5
- package/docs/types/Position.html +10 -5
- package/docs/types/RotateArgs.html +10 -5
- package/docs/types/RotateOpts.html +10 -5
- package/docs/types/RuleLabelsKey.html +10 -5
- package/docs/types/RuleLabelsValue.html +10 -5
- package/docs/types/StickType.html +11 -6
- package/docs/types/Tag.html +11 -6
- package/docs/types/Tag2D.html +10 -5
- package/docs/types/Tag3D.html +10 -5
- package/docs/types/TagContentType.html +11 -6
- package/docs/types/TagDimensionType.html +10 -5
- package/docs/types/TagElement.html +11 -6
- package/docs/types/TagEvents.html +10 -5
- package/docs/types/TagGLTFObject.html +261 -0
- package/docs/types/TagHooks.html +10 -5
- package/docs/types/TagIconSize.html +10 -5
- package/docs/types/TagId.html +10 -5
- package/docs/types/TagPointType.html +10 -5
- package/docs/types/TopviewFloorplanPluginParameterType.html +10 -5
- package/docs/types/TopviewFloorplanPluginReturnType.html +10 -5
- package/docs/types/WorkCode.html +10 -5
- package/docs/variables/FLOOR_TYPE_MAP.html +10 -5
- package/docs/variables/PLUGIN.html +10 -5
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +10 -5
- package/docs/variables/ROOM_TYPE_MAP.html +10 -5
- package/docs/variables/VERSION.html +10 -5
- package/docs/variables/itemLabelPluginServerParams.html +10 -5
- package/docs/variables/modelItemLabelPluginServerParams.html +10 -5
- package/docs/variables/modelRoomLabelPluginServerParams.html +10 -5
- package/libs/CSS3DRenderPlugin/CSS3DRender.js +43 -43
- package/libs/CSS3DRenderPlugin/Controller.d.ts +1 -1
- package/libs/CSS3DRenderPlugin/utils/generateBehindFiveElement.js +15 -14
- package/libs/Object3DHelperPlugin/Controller.d.ts +25 -10
- package/libs/Object3DHelperPlugin/Controller.js +117 -97
- package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +6 -8
- package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +29 -22
- package/libs/Object3DHelperPlugin/index.js +16 -11
- package/libs/Object3DHelperPlugin/typings.d.ts +14 -0
- package/libs/PanoTagPlugin/Components/Common/Media.js +3 -2
- package/libs/PanoTagPlugin/Components/Common/Text/FlyMText.js +3 -2
- package/libs/PanoTagPlugin/Components/Common/Text/FlyText.js +3 -2
- package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.js +3 -2
- package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.js +3 -2
- package/libs/PanoTagPlugin/Components/Tag/AudioTag/index.js +12 -11
- package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +33 -33
- package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +3 -2
- package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +12 -11
- package/libs/PanoTagPlugin/Components/Tag/TextTag/TextTag.js +26 -25
- package/libs/PanoTagPlugin/Components/Tag/TextTag/index.js +29 -28
- package/libs/PanoTagPlugin/Components/Tag/index.js +126 -119
- package/libs/PanoTagPlugin/Components/TagContainer.js +4 -2
- package/libs/PanoTagPlugin/Components/TagItem.js +4 -2
- package/libs/PanoTagPlugin/controller/TagCacheController.d.ts +1 -0
- package/libs/PanoTagPlugin/controller/TagCacheController.js +14 -12
- package/libs/PanoTagPlugin/controller/TagComputer.d.ts +22 -6
- package/libs/PanoTagPlugin/controller/TagComputer.js +242 -176
- package/libs/PanoTagPlugin/controller/index.d.ts +32 -6
- package/libs/PanoTagPlugin/controller/index.js +176 -91
- package/libs/PanoTagPlugin/index.js +15 -12
- package/libs/PanoTagPlugin/tag.config.js +9 -0
- package/libs/PanoTagPlugin/typings/controller.d.ts +17 -2
- package/libs/PanoTagPlugin/typings/controller.js +1 -1
- package/libs/PanoTagPlugin/typings/index.js +6 -5
- package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +5 -2
- package/libs/PanoTagPlugin/typings/tag/TagData.d.ts +19 -3
- package/libs/PanoTagPlugin/typings/tag/TagData.js +1 -1
- package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +1 -1
- package/libs/PanoTagPlugin/utils/addDebugPoints.js +5 -4
- package/libs/PanoTagPlugin/utils/color.js +5 -5
- package/libs/PanoTagPlugin/utils/index.js +37 -34
- package/libs/PanoTagPlugin/utils/planeNormal.js +3 -2
- package/libs/PanoTagPlugin/utils/tag/index.d.ts +2 -0
- package/libs/PanoTagPlugin/utils/tag/index.js +11 -0
- package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +2 -1
- package/libs/PanoTagPlugin/utils/tag/tagCheck.js +6 -2
- package/libs/PanoTagPlugin/utils/tagPosition.d.ts +3 -1
- package/libs/PanoTagPlugin/utils/tagPosition.js +20 -8
- package/libs/index.js +111 -104
- package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +41 -15
- package/libs/shared-utils/Object3DHelper/Base/BaseController.js +112 -90
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +27 -20
- package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +55 -22
- package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +7 -0
- package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.js +14 -0
- package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +1 -0
- package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +14 -10
- package/libs/shared-utils/Object3DHelper/Controller/MoveController.d.ts +24 -0
- package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +80 -37
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +6 -1
- package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +44 -41
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +14 -0
- package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +95 -67
- package/libs/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +12 -0
- package/libs/shared-utils/Object3DHelper/Controller/ScaleController.js +21 -0
- package/libs/shared-utils/Object3DHelper/Helper/{OutlineHelper.d.ts → BoundingBoxHelper.d.ts} +3 -2
- package/libs/shared-utils/Object3DHelper/Helper/BoundingBoxHelper.js +87 -0
- package/{dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts → libs/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts} +3 -8
- package/libs/shared-utils/Object3DHelper/Helper/{RectangleScaleHelper.js → CSS3DScaleHelper.js} +5 -7
- package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +7 -9
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +14 -11
- package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +72 -66
- package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +5 -0
- package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.js +9 -0
- package/libs/shared-utils/Object3DHelper/Helper/index.d.ts +2 -2
- package/libs/shared-utils/Object3DHelper/Helper/index.js +0 -2
- package/libs/shared-utils/Object3DHelper/index.d.ts +4 -27
- package/libs/shared-utils/Object3DHelper/index.js +48 -96
- package/libs/shared-utils/Object3DHelper/typings/Hooks.d.ts +22 -12
- package/libs/shared-utils/Object3DHelper/typings/index.d.ts +22 -0
- package/libs/shared-utils/Object3DHelper/typings/index.js +2 -1
- package/libs/shared-utils/Object3DHelper/utils/boundingBox.d.ts +2 -0
- package/libs/shared-utils/Object3DHelper/utils/boundingBox.js +24 -0
- package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +2 -2
- package/libs/shared-utils/three/GLTFLoader.d.ts +2 -0
- package/libs/shared-utils/three/GLTFLoader.js +16 -0
- package/libs/typings/math.type.js +1 -0
- package/package.json +4 -4
- package/dist/shared-utils/Object3DHelper/utils/getPoint.d.ts +0 -3
- package/libs/shared-utils/Object3DHelper/Helper/OutlineHelper.js +0 -2
- package/libs/shared-utils/Object3DHelper/utils/getPoint.d.ts +0 -3
- package/libs/shared-utils/Object3DHelper/utils/getPoint.js +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Five } from '@realsee/five';
|
|
2
|
-
import
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
import type { Tag, Tags, TagConfig, ContentTypeConfigKey, PlaneTag, TagElement, Point2DElement, Point3DElement, PlaneTagElement, PointTagElement, Point3DTag, TagId, ModelElement, TagContentType, StickType } from '../typings';
|
|
3
4
|
import { TagCacheController } from './TagCacheController';
|
|
5
|
+
import { Raycaster } from 'three';
|
|
4
6
|
export declare abstract class TagComputer extends TagCacheController {
|
|
5
7
|
tags: TagElement[];
|
|
6
8
|
config: {
|
|
@@ -10,7 +12,7 @@ export declare abstract class TagComputer extends TagCacheController {
|
|
|
10
12
|
protected get isPanorama(): boolean;
|
|
11
13
|
private raycaster;
|
|
12
14
|
protected constructor(five: Five);
|
|
13
|
-
getTagById(id: TagId): TagElement<
|
|
15
|
+
getTagById<C extends TagContentType = any, S extends StickType = any>(id: TagId): TagElement<C, S>;
|
|
14
16
|
/**
|
|
15
17
|
* @description: 改变类型配置
|
|
16
18
|
*/
|
|
@@ -19,6 +21,8 @@ export declare abstract class TagComputer extends TagCacheController {
|
|
|
19
21
|
* @description: 获取是否可见
|
|
20
22
|
*/
|
|
21
23
|
getVisibleByPanoIndex(tag: Tag<any, any>, panoIndex?: number): boolean;
|
|
24
|
+
/** 获取当前点位上模型中的多媒体是否应该展示 */
|
|
25
|
+
getModelMedialVisibleByPanoIndex(tag: Tag<any, any>): boolean;
|
|
22
26
|
/**
|
|
23
27
|
* @description: 获取是否展开
|
|
24
28
|
*/
|
|
@@ -38,7 +42,7 @@ export declare abstract class TagComputer extends TagCacheController {
|
|
|
38
42
|
/**
|
|
39
43
|
* @description: 获取merge后的配置
|
|
40
44
|
*/
|
|
41
|
-
getTagConfig(tag: Tag<any, any>): TagConfig<
|
|
45
|
+
getTagConfig(tag: Tag<any, any>): TagConfig<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown", StickType>;
|
|
42
46
|
protected can(action: 'show' | 'hide' | 'fold' | 'unfold', tag: Tag<any, any>): boolean;
|
|
43
47
|
protected sort<T extends Tag<any, any>>(tags: T[]): T[];
|
|
44
48
|
/**
|
|
@@ -46,6 +50,7 @@ export declare abstract class TagComputer extends TagCacheController {
|
|
|
46
50
|
*/
|
|
47
51
|
protected setPointTagPosition(): void;
|
|
48
52
|
protected setVisibleByPanoIndex(): void;
|
|
53
|
+
protected setModelMedialVisibleByPanoIndex(): void;
|
|
49
54
|
protected setUnfoldedByPanoIndex(): void;
|
|
50
55
|
/**
|
|
51
56
|
* @description: 一个点的标签
|
|
@@ -55,12 +60,23 @@ export declare abstract class TagComputer extends TagCacheController {
|
|
|
55
60
|
y: number;
|
|
56
61
|
z: number;
|
|
57
62
|
};
|
|
58
|
-
protected filterPointTag(): PointTagElement<
|
|
59
|
-
protected filter2DPointTag(): Point2DElement<
|
|
60
|
-
protected filter3DPointTag(): Point3DElement<
|
|
63
|
+
protected filterPointTag(): PointTagElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
|
|
64
|
+
protected filter2DPointTag(): Point2DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
|
|
65
|
+
protected filter3DPointTag(): Point3DElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
|
|
66
|
+
protected filterModelTag(): ModelElement<"Image" | "Link" | "Audio" | "Text" | "ImageText" | "Video" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Custom" | "Unknown">[];
|
|
61
67
|
protected filter3DTag(): TagElement<any, "3DPoint" | "Plane">[];
|
|
62
68
|
protected filterPlaneTag(): PlaneTagElement[];
|
|
63
69
|
protected updateTagConfig(params?: {
|
|
64
70
|
force?: boolean;
|
|
65
71
|
}): void;
|
|
72
|
+
/** 通过射线检测标签可用性 */
|
|
73
|
+
protected getTagEnableByIntersect(tag: Tag<any, any>, raycaster: Raycaster): {
|
|
74
|
+
value: boolean;
|
|
75
|
+
reason: string;
|
|
76
|
+
};
|
|
77
|
+
/** 获取点位看向标签的射线 */
|
|
78
|
+
protected getRaycasterFromPanoIndex(tag: Tag, panoIndex: number): THREE.Raycaster;
|
|
79
|
+
/** 检测 target floor index 是否匹配当前楼层 */
|
|
80
|
+
protected checkFloorIndex(tag: TagElement): boolean;
|
|
81
|
+
protected changeTagMode(tag: TagElement<'MediaModel', 'Model'>, mode: 'behind' | 'front'): void;
|
|
66
82
|
}
|
|
@@ -1,246 +1,262 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var R = Object.prototype.hasOwnProperty,
|
|
5
|
-
var
|
|
6
|
-
for (var e in
|
|
7
|
-
R.call(
|
|
8
|
-
if (
|
|
9
|
-
for (var e of
|
|
10
|
-
|
|
1
|
+
var M = Object.defineProperty, U = Object.defineProperties;
|
|
2
|
+
var B = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var P = Object.getOwnPropertySymbols;
|
|
4
|
+
var R = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var T = (g, d, e) => d in g ? M(g, d, { enumerable: !0, configurable: !0, writable: !0, value: e }) : g[d] = e, C = (g, d) => {
|
|
6
|
+
for (var e in d || (d = {}))
|
|
7
|
+
R.call(d, e) && T(g, e, d[e]);
|
|
8
|
+
if (P)
|
|
9
|
+
for (var e of P(d))
|
|
10
|
+
w.call(d, e) && T(g, e, d[e]);
|
|
11
11
|
return g;
|
|
12
|
-
}, I = (g,
|
|
13
|
-
var
|
|
14
|
-
import
|
|
15
|
-
import * as
|
|
16
|
-
import { DefaultConfig as
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { planeNormal as
|
|
20
|
-
import { tagPosition as
|
|
21
|
-
import { checkRange as
|
|
22
|
-
import { TagCacheController as
|
|
12
|
+
}, I = (g, d) => U(g, B(d));
|
|
13
|
+
var y = (g, d, e) => (T(g, typeof d != "symbol" ? d + "" : d, e), e);
|
|
14
|
+
import x from "object-assign-deep";
|
|
15
|
+
import * as k from "three";
|
|
16
|
+
import { DefaultConfig as $ } from "../tag.config.js";
|
|
17
|
+
import { isMediaModelTag as m, is3DTag as A } from "../utils/tag/tagCheck.js";
|
|
18
|
+
import { anyPositionToVector3 as E } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
|
|
19
|
+
import { planeNormal as V } from "../utils/planeNormal.js";
|
|
20
|
+
import { getTagPosition as D, tagPosition as j } from "../utils/tagPosition.js";
|
|
21
|
+
import { checkRange as b } from "../utils/checkRange.js";
|
|
22
|
+
import { TagCacheController as S } from "./TagCacheController.js";
|
|
23
|
+
import "hammerjs";
|
|
24
|
+
import "@realsee/five";
|
|
25
|
+
import "@tweenjs/tween.js";
|
|
26
|
+
import "../../CSS3DRenderPlugin/CSS3DRender.js";
|
|
27
|
+
import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
|
|
28
|
+
import { notNil as _ } from "../../shared-utils/isNil.js";
|
|
29
|
+
import "../../shared-utils/animationFrame/BetterTween.js";
|
|
30
|
+
import "@realsee/five/gltf-loader";
|
|
23
31
|
import "../../CSS3DRenderPlugin/utils/centerPoint.js";
|
|
24
32
|
import "../../base/BasePlugin.js";
|
|
25
33
|
import "../../shared-utils/Subscribe.js";
|
|
26
|
-
|
|
34
|
+
import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
|
|
35
|
+
import "three/examples/jsm/renderers/CSS3DRenderer";
|
|
36
|
+
import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
|
|
37
|
+
import "../../CSS3DRenderPlugin/utils/createResizeObserver.js";
|
|
38
|
+
import "../../CSS3DRenderPlugin/utils/even.js";
|
|
39
|
+
import "../../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
|
|
40
|
+
import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
|
|
41
|
+
import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
|
|
42
|
+
import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
|
|
43
|
+
import "../../shared-utils/animationFrame/index.js";
|
|
44
|
+
class he extends S {
|
|
27
45
|
constructor(e) {
|
|
28
46
|
super(e);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
47
|
+
y(this, "tags", []);
|
|
48
|
+
y(this, "config", $);
|
|
49
|
+
y(this, "raycaster", new k.Raycaster());
|
|
32
50
|
}
|
|
33
51
|
get isPanorama() {
|
|
34
52
|
return this.five.currentMode === "Panorama";
|
|
35
53
|
}
|
|
36
54
|
getTagById(e) {
|
|
37
|
-
const
|
|
38
|
-
if (!
|
|
39
|
-
console.error(`getTagById(): tag is ${
|
|
55
|
+
const t = this.tags.find((i) => i.id === e);
|
|
56
|
+
if (!t) {
|
|
57
|
+
console.error(`getTagById(): tag is ${t}, id is ${e}`);
|
|
40
58
|
return;
|
|
41
59
|
}
|
|
42
|
-
return
|
|
60
|
+
return t;
|
|
43
61
|
}
|
|
44
|
-
changeContentTypeConfig(e,
|
|
45
|
-
this.config.contentTypeConfig || (this.config.contentTypeConfig = {}), i ? this.config.contentTypeConfig[e] =
|
|
62
|
+
changeContentTypeConfig(e, t, i = !0) {
|
|
63
|
+
this.config.contentTypeConfig || (this.config.contentTypeConfig = {}), i ? this.config.contentTypeConfig[e] = x({}, this.config.contentTypeConfig[e], t) : this.config.contentTypeConfig[e] = t, this.clearCache();
|
|
46
64
|
}
|
|
47
|
-
getVisibleByPanoIndex(e,
|
|
48
|
-
var
|
|
49
|
-
const i = this.getCache({ panoIndex:
|
|
65
|
+
getVisibleByPanoIndex(e, t) {
|
|
66
|
+
var n;
|
|
67
|
+
const i = this.getCache({ panoIndex: t, id: e.id }), o = (n = this.five.panoIndex) != null ? n : t;
|
|
68
|
+
if (m(e))
|
|
69
|
+
return !0;
|
|
50
70
|
if (i.visible !== void 0)
|
|
51
71
|
return i.visible;
|
|
52
72
|
{
|
|
53
|
-
const
|
|
54
|
-
var
|
|
55
|
-
const
|
|
56
|
-
if (typeof
|
|
57
|
-
return { value:
|
|
58
|
-
if (
|
|
73
|
+
const r = (() => {
|
|
74
|
+
var c, u, f;
|
|
75
|
+
const s = (c = this.getTagConfig(e).visibleConfig) != null ? c : {}, l = this.getDistance(e);
|
|
76
|
+
if (typeof s == "function")
|
|
77
|
+
return { value: s(this.five, { tag: e, distance: l }), reason: "config function result" };
|
|
78
|
+
if (s.keep === "hidden")
|
|
59
79
|
return { value: !1, reason: "config.keep is hidden" };
|
|
60
|
-
if (
|
|
80
|
+
if (s.keep === "visible")
|
|
61
81
|
return { value: !0, reason: "config.keep is visible" };
|
|
62
|
-
if (
|
|
63
|
-
if (Array.isArray(
|
|
82
|
+
if (s.visiblePanoIndex !== void 0 && s.visiblePanoIndex !== "all" && o !== void 0) {
|
|
83
|
+
if (Array.isArray(s.visiblePanoIndex) && !s.visiblePanoIndex.includes(o))
|
|
64
84
|
return {
|
|
65
85
|
value: !1,
|
|
66
|
-
reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${
|
|
86
|
+
reason: `current panoIndex is not included in visiblePano. currentPanoIndex: ${o}, visiblePanoIndex: ${s.visiblePanoIndex}`
|
|
67
87
|
};
|
|
68
|
-
if (
|
|
88
|
+
if (s.visiblePanoIndex === "current" && o !== ((u = e.fiveState) == null ? void 0 : u.panoIndex))
|
|
69
89
|
return {
|
|
70
90
|
value: !1,
|
|
71
|
-
reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${
|
|
91
|
+
reason: `current panoIndex is not equal to tag.panoIndex. currentPanoIndex: ${o}, tag.panoIndex: ${(f = e.fiveState) == null ? void 0 : f.panoIndex}`
|
|
72
92
|
};
|
|
73
93
|
}
|
|
74
|
-
if (
|
|
94
|
+
if (s.visibleDistance !== void 0 && s.visibleDistance !== "unLimited" && b(l, s.visibleDistance) === !1)
|
|
75
95
|
return {
|
|
76
96
|
value: !1,
|
|
77
|
-
reason: `distance is not in visibleDistance. distance: ${
|
|
97
|
+
reason: `distance is not in visibleDistance. distance: ${l}, visibleDistance: ${s.visibleDistance}`
|
|
78
98
|
};
|
|
79
|
-
if (
|
|
80
|
-
if (
|
|
81
|
-
return {
|
|
82
|
-
value: !1,
|
|
83
|
-
reason: `intersectRaycaster check failed: fivePanoIndex is ${s}`
|
|
84
|
-
};
|
|
85
|
-
const u = (l = this.five.work.observers[s]) == null ? void 0 : l.position;
|
|
86
|
-
if (u === void 0)
|
|
87
|
-
throw new Error(`getVisible(): observerPosition is ${u}`);
|
|
88
|
-
const p = T(e.position).sub(u).normalize();
|
|
89
|
-
this.raycaster.set(u, p);
|
|
90
|
-
const [v] = this.five.model.intersectRaycaster(this.raycaster), C = (() => {
|
|
91
|
-
var m;
|
|
92
|
-
return typeof t.intersectRaycaster == "object" && (m = t.intersectRaycaster.distanceAccuracy) != null ? m : 0.01;
|
|
93
|
-
})();
|
|
94
|
-
if (v && v.distance + C < r)
|
|
99
|
+
if (s.intersectRaycaster !== !1 && (typeof s.intersectRaycaster != "object" || s.intersectRaycaster.enabled !== !1)) {
|
|
100
|
+
if (o === void 0)
|
|
95
101
|
return {
|
|
96
102
|
value: !1,
|
|
97
|
-
reason: `intersectRaycaster check failed:
|
|
103
|
+
reason: `intersectRaycaster check failed: fivePanoIndex is ${o}`
|
|
98
104
|
};
|
|
105
|
+
const a = this.getRaycasterFromPanoIndex(e, o), p = this.getTagEnableByIntersect(e, a);
|
|
106
|
+
if (p.value === !1)
|
|
107
|
+
return p;
|
|
99
108
|
}
|
|
100
|
-
if (
|
|
101
|
-
const
|
|
102
|
-
if (
|
|
103
|
-
return { value: !1, reason: `angle is not in angleRange. angle: ${
|
|
109
|
+
if (s.angleRange && A(e)) {
|
|
110
|
+
const a = this.getAngle(e);
|
|
111
|
+
if (b(a, s.angleRange) === !1)
|
|
112
|
+
return { value: !1, reason: `angle is not in angleRange. angle: ${a}, angleRange: ${s.angleRange}` };
|
|
104
113
|
}
|
|
105
114
|
return {
|
|
106
115
|
value: !0,
|
|
107
116
|
reason: "all check passed"
|
|
108
117
|
};
|
|
109
118
|
})();
|
|
110
|
-
return i.visible =
|
|
119
|
+
return i.visible = r.value, i.__debug_visible_reason__ = r, i.visible;
|
|
111
120
|
}
|
|
112
121
|
}
|
|
113
|
-
|
|
122
|
+
getModelMedialVisibleByPanoIndex(e) {
|
|
123
|
+
const t = this.five.getCurrentState().panoIndex, i = this.getCache({ panoIndex: t, id: e.id });
|
|
124
|
+
if (i.modelMedialVisible !== void 0)
|
|
125
|
+
return i.modelMedialVisible;
|
|
126
|
+
const o = this.getRaycasterFromPanoIndex(e, t), n = this.getTagEnableByIntersect(e, o);
|
|
127
|
+
return i.modelMedialVisible = n.value, i.__debug_visible_reason__ = n, n.value !== !1;
|
|
128
|
+
}
|
|
129
|
+
getUnfoldedByPanoIndex(e, t) {
|
|
114
130
|
if (!this.getVisibleByPanoIndex(e))
|
|
115
131
|
return;
|
|
116
|
-
const
|
|
117
|
-
if (
|
|
118
|
-
return
|
|
132
|
+
const o = this.getCache({ panoIndex: t, id: e.id });
|
|
133
|
+
if (o.unfolded !== void 0)
|
|
134
|
+
return o.unfolded;
|
|
119
135
|
{
|
|
120
|
-
const
|
|
121
|
-
if (!
|
|
136
|
+
const n = this.getTagConfig(e).unfoldedConfig;
|
|
137
|
+
if (!n)
|
|
122
138
|
return;
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
if (typeof
|
|
126
|
-
return
|
|
127
|
-
if (
|
|
139
|
+
const r = (() => {
|
|
140
|
+
const l = this.getDistance(e);
|
|
141
|
+
if (typeof n == "function")
|
|
142
|
+
return n(this.five, { tag: e, distance: l });
|
|
143
|
+
if (n.keep === "folded")
|
|
128
144
|
return !1;
|
|
129
|
-
if (
|
|
145
|
+
if (n.keep === "unfolded")
|
|
130
146
|
return !0;
|
|
131
|
-
if (
|
|
147
|
+
if (n.unfoldDistance && b(l, n.unfoldDistance) === !1)
|
|
132
148
|
return !1;
|
|
133
149
|
})();
|
|
134
|
-
|
|
135
|
-
const
|
|
136
|
-
return
|
|
150
|
+
o.unfolded = r;
|
|
151
|
+
const s = this.getUnfoldedByCamera(e);
|
|
152
|
+
return s !== void 0 ? s : o.unfolded;
|
|
137
153
|
}
|
|
138
154
|
}
|
|
139
155
|
getUnfoldedByCamera(e) {
|
|
140
156
|
return this.getVisibleByPanoIndex(e) ? (() => {
|
|
141
|
-
var
|
|
142
|
-
const
|
|
143
|
-
if (!!
|
|
144
|
-
if (typeof
|
|
145
|
-
return
|
|
146
|
-
if (
|
|
157
|
+
var r;
|
|
158
|
+
const o = this.getDistance(e), n = this.getTagConfig(e).unfoldedConfig;
|
|
159
|
+
if (!!n) {
|
|
160
|
+
if (typeof n == "function")
|
|
161
|
+
return n(this.five, { tag: e, distance: o });
|
|
162
|
+
if (n.keep === "folded")
|
|
147
163
|
return !1;
|
|
148
|
-
if (
|
|
164
|
+
if (n.keep === "unfolded")
|
|
149
165
|
return !0;
|
|
150
|
-
if (
|
|
166
|
+
if (n.autoUnfold === void 0 || n.autoUnfold === !1 || n.autoUnfold.enable === !1)
|
|
151
167
|
return;
|
|
152
|
-
if (
|
|
153
|
-
const
|
|
154
|
-
if (
|
|
168
|
+
if (n.autoUnfold.strategy === "ScreenPostion") {
|
|
169
|
+
const s = this.getTagProject(e);
|
|
170
|
+
if (s && b(s.x, n.autoUnfold.autoUnfoldProjectX) === !1)
|
|
155
171
|
return !1;
|
|
156
172
|
}
|
|
157
|
-
if (
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
if (!
|
|
173
|
+
if (n.autoUnfold.strategy === "MinimumDistance") {
|
|
174
|
+
const c = this.filterPointTag().filter((f) => this.getVisibleByPanoIndex(f)).filter((f) => {
|
|
175
|
+
const a = this.getTagProject(f);
|
|
176
|
+
if (!a)
|
|
161
177
|
return !1;
|
|
162
|
-
const { x:
|
|
163
|
-
return !(Math.abs(v) > 1 || Math.abs(
|
|
164
|
-
}).map((f) => ({ tag: f, id: f.id, tagConfig: this.getTagConfig(f).unfoldedConfig })).filter(({ tag: f, tagConfig:
|
|
165
|
-
var
|
|
166
|
-
return !(typeof
|
|
167
|
-
}).map((f) => I(
|
|
168
|
-
var
|
|
169
|
-
return !(f === void 0 || typeof
|
|
170
|
-
}).sort((f,
|
|
171
|
-
if (
|
|
178
|
+
const { x: p, y: h, z: v } = a;
|
|
179
|
+
return !(Math.abs(v) > 1 || Math.abs(p) > 1 || Math.abs(h) > 1);
|
|
180
|
+
}).map((f) => ({ tag: f, id: f.id, tagConfig: this.getTagConfig(f).unfoldedConfig })).filter(({ tag: f, tagConfig: a }) => {
|
|
181
|
+
var p, h;
|
|
182
|
+
return !(typeof a != "object" || a.keep || a.autoUnfold === !1 || ((p = a.autoUnfold) == null ? void 0 : p.enable) === !1 || ((h = a.autoUnfold) == null ? void 0 : h.strategy) !== "MinimumDistance");
|
|
183
|
+
}).map((f) => I(C({}, f), { distance: this.getDistance(f.tag) })).filter(({ distance: f, tagConfig: a }) => {
|
|
184
|
+
var p, h;
|
|
185
|
+
return !(f === void 0 || typeof a != "object" || a.autoUnfold === !1 || ((p = a.autoUnfold) == null ? void 0 : p.enable) === !1 || ((h = a.autoUnfold) == null ? void 0 : h.strategy) !== "MinimumDistance" || a.autoUnfold.distance && b(f, a.autoUnfold.distance) === !1);
|
|
186
|
+
}).sort((f, a) => f.distance - a.distance).findIndex((f) => f.id === e.id);
|
|
187
|
+
if (c === -1 || c <= ((r = n.autoUnfold.maxNumber) != null ? r : 1) - 1 === !1)
|
|
172
188
|
return !1;
|
|
173
189
|
}
|
|
174
190
|
return !0;
|
|
175
191
|
}
|
|
176
192
|
})() : void 0;
|
|
177
193
|
}
|
|
178
|
-
getDistance(e,
|
|
179
|
-
var
|
|
180
|
-
const i = (
|
|
194
|
+
getDistance(e, t) {
|
|
195
|
+
var n, r, s;
|
|
196
|
+
const i = (n = this.five.panoIndex) != null ? n : t;
|
|
181
197
|
if (i === void 0)
|
|
182
198
|
throw new Error(`getDistance(): fivePanoIndex is ${i}`);
|
|
183
|
-
const
|
|
184
|
-
if (
|
|
185
|
-
return
|
|
199
|
+
const o = this.getCache({ panoIndex: t, id: e.id });
|
|
200
|
+
if (o.distance !== void 0)
|
|
201
|
+
return o.distance;
|
|
186
202
|
{
|
|
187
|
-
const
|
|
188
|
-
if (
|
|
189
|
-
throw new Error(`getDistance(): observerPosition is ${
|
|
190
|
-
const
|
|
191
|
-
return
|
|
203
|
+
const l = (s = (r = this.five.work) == null ? void 0 : r.observers[i]) == null ? void 0 : s.position;
|
|
204
|
+
if (l === void 0)
|
|
205
|
+
throw new Error(`getDistance(): observerPosition is ${l}`);
|
|
206
|
+
const c = D(e), u = l.distanceTo(c);
|
|
207
|
+
return o.distance = u, u;
|
|
192
208
|
}
|
|
193
209
|
}
|
|
194
|
-
getAngle(e,
|
|
195
|
-
var
|
|
196
|
-
const i = (
|
|
210
|
+
getAngle(e, t) {
|
|
211
|
+
var n, r, s;
|
|
212
|
+
const i = (n = this.five.panoIndex) != null ? n : t;
|
|
197
213
|
if (i === void 0)
|
|
198
214
|
throw new Error(`getDistance(): fivePanoIndex is ${i}`);
|
|
199
|
-
const
|
|
200
|
-
if (
|
|
201
|
-
return
|
|
215
|
+
const o = this.getCache({ panoIndex: t, id: e.id });
|
|
216
|
+
if (o.angle !== void 0)
|
|
217
|
+
return o.angle;
|
|
202
218
|
{
|
|
203
|
-
const
|
|
204
|
-
if (
|
|
205
|
-
throw new Error(`getAngleRange(): observerPosition is ${
|
|
206
|
-
const
|
|
207
|
-
if (!
|
|
219
|
+
const l = (s = (r = this.five.work) == null ? void 0 : r.observers[i]) == null ? void 0 : s.position;
|
|
220
|
+
if (l === void 0)
|
|
221
|
+
throw new Error(`getAngleRange(): observerPosition is ${l}`);
|
|
222
|
+
const c = (() => e.stickType === "3DPoint" ? E(e.normal) : V(e.position))();
|
|
223
|
+
if (!c)
|
|
208
224
|
return;
|
|
209
|
-
const
|
|
210
|
-
return
|
|
225
|
+
const u = new k.Vector3().copy(l).sub(j(e.position)), f = c.angleTo(u) * 180 / Math.PI;
|
|
226
|
+
return o.angle = f, o.angle;
|
|
211
227
|
}
|
|
212
228
|
}
|
|
213
229
|
getTagConfig(e) {
|
|
214
|
-
var
|
|
230
|
+
var o;
|
|
215
231
|
if (!e)
|
|
216
|
-
return (
|
|
217
|
-
const
|
|
218
|
-
this.config.contentTypeConfig && Object.keys(this.config.contentTypeConfig).forEach((
|
|
219
|
-
const
|
|
220
|
-
if (
|
|
232
|
+
return (o = this.config.globalConfig) != null ? o : {};
|
|
233
|
+
const t = {};
|
|
234
|
+
this.config.contentTypeConfig && Object.keys(this.config.contentTypeConfig).forEach((n) => {
|
|
235
|
+
const r = n;
|
|
236
|
+
if (t[r])
|
|
221
237
|
return;
|
|
222
|
-
const
|
|
223
|
-
if (
|
|
224
|
-
const [
|
|
225
|
-
e.contentType ===
|
|
238
|
+
const s = r.split("-");
|
|
239
|
+
if (s.length === 1) {
|
|
240
|
+
const [l] = s;
|
|
241
|
+
e.contentType === l && (t[r] = this.config.contentTypeConfig[r]);
|
|
226
242
|
}
|
|
227
|
-
if (
|
|
228
|
-
const [
|
|
229
|
-
(e.stickType ===
|
|
243
|
+
if (s.length === 2) {
|
|
244
|
+
const [l = "Any", c = "Any"] = s;
|
|
245
|
+
(e.stickType === l || l === "Any") && (e.contentType === c || c === "Any") && (t[r] = this.config.contentTypeConfig[r]);
|
|
230
246
|
}
|
|
231
|
-
if (
|
|
232
|
-
const [
|
|
233
|
-
if (
|
|
247
|
+
if (s.length === 3) {
|
|
248
|
+
const [l = "Any", c, u] = s;
|
|
249
|
+
if (c === "Audio" && e.contentType === "Audio") {
|
|
234
250
|
const f = e;
|
|
235
|
-
(f.stickType ===
|
|
251
|
+
(f.stickType === l || l === "Any") && f.data.appearance === u && (t[r] = this.config.contentTypeConfig[r]);
|
|
236
252
|
}
|
|
237
253
|
}
|
|
238
254
|
});
|
|
239
|
-
const i =
|
|
255
|
+
const i = x({}, this.config.globalConfig, ...Object.values(t), e.config);
|
|
240
256
|
return typeof i.unfoldedConfig == "object" && (i.unfoldedConfig.disableFold && (i.unfoldedConfig = { keep: "unfolded" }), i.unfoldedConfig.disableUnfold && (i.unfoldedConfig = { keep: "folded" }), i.unfoldedConfig.keep && (i.unfoldedConfig = { keep: i.unfoldedConfig.keep })), typeof i.visibleConfig == "object" && i.visibleConfig.keep && (i.visibleConfig = { keep: i.visibleConfig.keep }), i;
|
|
241
257
|
}
|
|
242
|
-
can(e,
|
|
243
|
-
const i = this.getTagConfig(
|
|
258
|
+
can(e, t) {
|
|
259
|
+
const i = this.getTagConfig(t);
|
|
244
260
|
if (!i || typeof i != "object")
|
|
245
261
|
return !0;
|
|
246
262
|
if (e === "show" || e === "hide") {
|
|
@@ -258,37 +274,45 @@ class Y extends z {
|
|
|
258
274
|
return !0;
|
|
259
275
|
}
|
|
260
276
|
sort(e) {
|
|
261
|
-
return e.sort((
|
|
262
|
-
const
|
|
263
|
-
return
|
|
277
|
+
return e.sort((t, i) => {
|
|
278
|
+
const o = this.getDistance(t), n = this.getDistance(i);
|
|
279
|
+
return o === void 0 || n === void 0 ? 0 : n - o;
|
|
264
280
|
});
|
|
265
281
|
}
|
|
266
282
|
setPointTagPosition() {
|
|
267
283
|
const e = this.filterPointTag();
|
|
268
|
-
e.length !== 0 && e.forEach((
|
|
269
|
-
var
|
|
270
|
-
if (!((
|
|
271
|
-
|
|
284
|
+
e.length !== 0 && e.forEach((t) => {
|
|
285
|
+
var o;
|
|
286
|
+
if (!((o = t.state) != null && o.visible)) {
|
|
287
|
+
t.pointTagStyle = null;
|
|
272
288
|
return;
|
|
273
289
|
}
|
|
274
|
-
const i = this.getTagProject(
|
|
290
|
+
const i = this.getTagProject(t);
|
|
275
291
|
if (!i) {
|
|
276
|
-
|
|
292
|
+
t.pointTagStyle = null;
|
|
277
293
|
return;
|
|
278
294
|
}
|
|
279
|
-
|
|
295
|
+
t.pointTagStyle = { leftPercent: (i.x + 1) / 2 * 100, topPercent: (-i.y + 1) / 2 * 100 };
|
|
280
296
|
});
|
|
281
297
|
}
|
|
282
298
|
setVisibleByPanoIndex() {
|
|
283
299
|
this.tags.forEach((e) => {
|
|
284
|
-
const
|
|
285
|
-
e.state && (e.state.visible =
|
|
300
|
+
const t = this.getVisibleByPanoIndex(e);
|
|
301
|
+
e.state && (e.state.visible = t);
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
setModelMedialVisibleByPanoIndex() {
|
|
305
|
+
this.tags.forEach((e) => {
|
|
306
|
+
if (!m(e))
|
|
307
|
+
return;
|
|
308
|
+
const t = this.getModelMedialVisibleByPanoIndex(e);
|
|
309
|
+
e.mediaVisible = t;
|
|
286
310
|
});
|
|
287
311
|
}
|
|
288
312
|
setUnfoldedByPanoIndex() {
|
|
289
313
|
this.tags.forEach((e) => {
|
|
290
|
-
const
|
|
291
|
-
if (!!e.state && (
|
|
314
|
+
const t = this.getUnfoldedByPanoIndex(e);
|
|
315
|
+
if (!!e.state && (t !== void 0 && (e.state.unfolded = t), t && !e.state.visible)) {
|
|
292
316
|
const i = this.getTagConfig(e);
|
|
293
317
|
typeof i.unfoldedConfig == "object" && i.unfoldedConfig.autoUnfoldWhenHide !== !1 && (e.state.unfolded = !1);
|
|
294
318
|
}
|
|
@@ -297,9 +321,9 @@ class Y extends z {
|
|
|
297
321
|
getTagProject(e) {
|
|
298
322
|
if (!this.getVisibleByPanoIndex(e))
|
|
299
323
|
return;
|
|
300
|
-
const i =
|
|
301
|
-
if (!(
|
|
302
|
-
return { x:
|
|
324
|
+
const i = j(e.position), { x: o, y: n, z: r } = i.project(this.five.camera);
|
|
325
|
+
if (!(r > 1))
|
|
326
|
+
return { x: o, y: n, z: r };
|
|
303
327
|
}
|
|
304
328
|
filterPointTag() {
|
|
305
329
|
return this.tags.filter((e) => e.stickType === "2DPoint" || e.stickType === "3DPoint");
|
|
@@ -310,6 +334,9 @@ class Y extends z {
|
|
|
310
334
|
filter3DPointTag() {
|
|
311
335
|
return this.tags.filter((e) => e.stickType === "3DPoint");
|
|
312
336
|
}
|
|
337
|
+
filterModelTag() {
|
|
338
|
+
return this.tags.filter((e) => e.stickType === "Model");
|
|
339
|
+
}
|
|
313
340
|
filter3DTag() {
|
|
314
341
|
return this.tags.filter((e) => e.stickType === "3DPoint" || e.stickType === "Plane");
|
|
315
342
|
}
|
|
@@ -317,12 +344,51 @@ class Y extends z {
|
|
|
317
344
|
return this.tags.filter((e) => e.stickType === "Plane");
|
|
318
345
|
}
|
|
319
346
|
updateTagConfig(e) {
|
|
320
|
-
e != null && e.force && this.clearCache(), this.tags.forEach((
|
|
321
|
-
const i = this.getTagConfig(
|
|
322
|
-
|
|
347
|
+
e != null && e.force && this.clearCache(), this.tags.forEach((t) => {
|
|
348
|
+
const i = this.getTagConfig(t);
|
|
349
|
+
t.mergedConfig = i;
|
|
323
350
|
});
|
|
324
351
|
}
|
|
352
|
+
getTagEnableByIntersect(e, t) {
|
|
353
|
+
var c, u, f;
|
|
354
|
+
const i = (c = this.getTagConfig(e).visibleConfig) != null ? c : {}, o = this.getDistance(e), [n] = this.five.model.intersectRaycaster(t), r = (() => {
|
|
355
|
+
if (!m(e))
|
|
356
|
+
return;
|
|
357
|
+
const a = this.tags.filter(m).map((h) => {
|
|
358
|
+
var v;
|
|
359
|
+
return (v = h.model) == null ? void 0 : v.object;
|
|
360
|
+
}).filter(_);
|
|
361
|
+
return t.intersectObjects(a, !0)[0];
|
|
362
|
+
})(), s = (() => {
|
|
363
|
+
var a;
|
|
364
|
+
return typeof i == "object" && typeof i.intersectRaycaster == "object" && (a = i.intersectRaycaster.distanceAccuracy) != null ? a : 0.01;
|
|
365
|
+
})();
|
|
366
|
+
return Math.min((u = n == null ? void 0 : n.distance) != null ? u : 1 / 0, (f = r == null ? void 0 : r.distance) != null ? f : 1 / 0) + s < o ? {
|
|
367
|
+
value: !1,
|
|
368
|
+
reason: `intersectRaycaster check failed: distance is ${o}, intersection.point is ${n.point.toArray()}, distanceError is ${s}`
|
|
369
|
+
} : { value: !0, reason: "" };
|
|
370
|
+
}
|
|
371
|
+
getRaycasterFromPanoIndex(e, t) {
|
|
372
|
+
var n;
|
|
373
|
+
const i = (n = this.five.work.observers[t]) == null ? void 0 : n.position;
|
|
374
|
+
if (i === void 0)
|
|
375
|
+
throw new Error(`getVisible(): observerPosition is ${i}`);
|
|
376
|
+
const o = D(e).sub(i).normalize();
|
|
377
|
+
return this.raycaster.set(i, o), this.raycaster;
|
|
378
|
+
}
|
|
379
|
+
checkFloorIndex(e) {
|
|
380
|
+
var r;
|
|
381
|
+
const t = e.fiveState;
|
|
382
|
+
if (!t)
|
|
383
|
+
return !0;
|
|
384
|
+
const i = t.panoIndex, o = (r = this.five.work.observers[i]) == null ? void 0 : r.floorIndex, n = this.five.model.shownFloor;
|
|
385
|
+
return n === null || n === o;
|
|
386
|
+
}
|
|
387
|
+
changeTagMode(e, t) {
|
|
388
|
+
var i, o, n, r, s;
|
|
389
|
+
(i = e.config) != null && i.tag3DConfig ? e.config.tag3DConfig.mode = t : e.config ? e.config.tag3DConfig = { mode: t } : e.config = { tag3DConfig: { mode: t } }, (n = (o = e.tag3DContentSvelte) == null ? void 0 : o.domContainer) == null || n.dispose(), (s = (r = e.tag3DContentSvelte) == null ? void 0 : r.svelteApp) == null || s.$destroy(), e.tag3DContentSvelte = void 0;
|
|
390
|
+
}
|
|
325
391
|
}
|
|
326
392
|
export {
|
|
327
|
-
|
|
393
|
+
he as TagComputer
|
|
328
394
|
};
|