@realsee/dnalogel 3.20.0-dev.2 → 3.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.js +104 -95
- package/dist/PanoVideoPlugin/Controller.d.ts +17 -0
- package/dist/PanoVideoPlugin/VideoMeshController.d.ts +6 -0
- package/dist/index.cjs.js +39 -39
- package/dist/index.js +3952 -3885
- package/dist/index.umd.js +37 -37
- package/docs/classes/AreaMakerPluginType.AreaMakerController.html +3 -3
- package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +3 -3
- package/docs/classes/CSS3DRender.html +3 -3
- package/docs/classes/GuideLineItem.GuideLineItem.html +3 -3
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +3 -3
- package/docs/classes/Magnifier.html +3 -3
- package/docs/classes/ModelRoomLabelController.html +3 -3
- package/docs/classes/MoveController.html +3 -3
- package/docs/classes/Object3DHelperController.html +3 -3
- package/docs/classes/PaintBrush.html +3 -3
- package/docs/classes/PanoMeasurePluginLine.html +3 -3
- package/docs/classes/PanoMeasurePluginModel.html +3 -3
- package/docs/classes/PanoMeasurePluginPoint.html +3 -3
- package/docs/classes/PanoMeasurePluginPolyline.html +3 -3
- package/docs/classes/PanoTagPluginController.html +3 -3
- package/docs/classes/Util.BetterTween.html +3 -3
- package/docs/classes/Util.Interval.html +3 -3
- package/docs/classes/Util.LineSegments.html +3 -3
- package/docs/classes/Util.Magnifier.html +3 -3
- package/docs/classes/Util.Object3D.html +3 -3
- package/docs/classes/Util.PointDomHelper.html +3 -3
- package/docs/classes/Util.PointHelper.html +3 -3
- package/docs/classes/Util.PointSelectorHelper.html +3 -3
- package/docs/classes/Util.Rectangle.html +3 -3
- package/docs/classes/WalkController.html +3 -3
- package/docs/enums/CameraMovementEffect.html +3 -3
- package/docs/enums/ContentType.html +3 -3
- package/docs/enums/DIRECTION.html +3 -3
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +3 -3
- package/docs/enums/DimensionType.html +3 -3
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +3 -3
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +3 -3
- package/docs/enums/PaintBrushTypeEnum.html +3 -3
- package/docs/enums/PointType.html +3 -3
- package/docs/enums/Rotation.html +3 -3
- package/docs/functions/AreaMakerPlugin.html +3 -3
- package/docs/functions/CSS3DRenderPlugin.html +3 -3
- package/docs/functions/CameraMovementPlugin.html +3 -3
- package/docs/functions/CruisePlugin.html +3 -3
- package/docs/functions/CurrentPanoImagePlugin.html +3 -3
- package/docs/functions/GuideLinePlugin.html +3 -3
- package/docs/functions/ItemLabelPlugin.html +3 -3
- package/docs/functions/MapviewFloorplanPlugin.html +3 -3
- package/docs/functions/ModelChassisCompassPlugin.html +3 -3
- package/docs/functions/ModelEntryDoorGuidePlugin.html +3 -3
- package/docs/functions/ModelFloorplanPlugin.html +3 -3
- package/docs/functions/ModelItemLabelPlugin.html +3 -3
- package/docs/functions/ModelRoomLabelPlugin.html +3 -3
- package/docs/functions/ModelTVVideoPlugin.html +3 -3
- package/docs/functions/ModelViewPlugin.html +3 -3
- package/docs/functions/MovePlugin.html +3 -3
- package/docs/functions/Object3DHelperPlugin.html +3 -3
- package/docs/functions/PanoCompassPlugin.html +3 -3
- package/docs/functions/PanoCursorRaycasterPlugin.html +3 -3
- package/docs/functions/PanoDoorLabelPlugin.html +3 -3
- package/docs/functions/PanoFloorplanRadarPlugin.html +3 -3
- package/docs/functions/PanoMeasurePlugin.html +3 -3
- package/docs/functions/PanoRulerPlugin.html +3 -3
- package/docs/functions/PanoRulerProPlugin.html +3 -3
- package/docs/functions/PanoSpatialTagPlugin.html +3 -3
- package/docs/functions/PanoTagPlugin.html +3 -3
- package/docs/functions/PanoVideoPlugin.html +3 -3
- package/docs/functions/PipelinePlugin.html +3 -3
- package/docs/functions/TopviewFloorplanPlugin.html +3 -3
- package/docs/functions/Util.absoluteUrl.html +3 -3
- package/docs/functions/Util.checkFiveModelLoaded.html +3 -3
- package/docs/functions/Util.equal.html +3 -3
- package/docs/functions/Util.getCoordsFromClient.html +3 -3
- package/docs/functions/Util.getCoordsFromElement.html +3 -3
- package/docs/functions/Util.getFrameTime.html +3 -3
- package/docs/functions/Util.getIntersectFromRelativePosition.html +3 -3
- package/docs/functions/Util.getRaycasterFromFivePointer.html +3 -3
- package/docs/functions/Util.isAbsoluteURL.html +3 -3
- package/docs/functions/Util.isModelLike.html +3 -3
- package/docs/functions/Util.isNil.html +3 -3
- package/docs/functions/Util.isPanoramaLike.html +3 -3
- package/docs/functions/Util.nextFrame.html +3 -3
- package/docs/functions/Util.notNil.html +3 -3
- package/docs/functions/Util.requestAnimationFrameInterval.html +3 -3
- package/docs/functions/Util.tweenProgress.html +3 -3
- package/docs/functions/Util.uuid.html +3 -3
- package/docs/functions/pluginFlag.html +3 -3
- package/docs/index.html +4 -4
- package/docs/interfaces/AddTagConfig.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.Config.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.EventMap.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.Params.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.State.html +3 -3
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +3 -3
- package/docs/interfaces/CSS3DRenderPluginState.html +3 -3
- package/docs/interfaces/CameraMovementPluginExportType.html +3 -3
- package/docs/interfaces/CruisePluginTypes.Config.html +3 -3
- package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +3 -3
- package/docs/interfaces/CruisePluginTypes.EventMap.html +3 -3
- package/docs/interfaces/CruisePluginTypes.MoveAction.html +3 -3
- package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +3 -3
- package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +3 -3
- package/docs/interfaces/CruisePluginTypes.PluginData.html +3 -3
- package/docs/interfaces/CruisePluginTypes.PluginServerData.html +3 -3
- package/docs/interfaces/CruisePluginTypes.PluginState.html +3 -3
- package/docs/interfaces/CurrentPanoImagePluginType.Config.html +3 -3
- package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +3 -3
- package/docs/interfaces/CurrentPanoImagePluginType.Params.html +3 -3
- package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +3 -3
- package/docs/interfaces/CurrentPanoImagePluginType.State.html +3 -3
- package/docs/interfaces/EventMap.html +3 -3
- package/docs/interfaces/FloorplanBounding.html +3 -3
- package/docs/interfaces/FloorplanData.html +3 -3
- package/docs/interfaces/FloorplanEntrance.html +3 -3
- package/docs/interfaces/FloorplanExtraObject.html +3 -3
- package/docs/interfaces/FloorplanExtraObject3D.html +3 -3
- package/docs/interfaces/FloorplanFloorData.html +3 -3
- package/docs/interfaces/FloorplanImagePosition.html +3 -3
- package/docs/interfaces/FloorplanObserver.html +3 -3
- package/docs/interfaces/FloorplanOutlineItem.html +3 -3
- package/docs/interfaces/FloorplanPosition.html +3 -3
- package/docs/interfaces/FloorplanRoomItem.html +3 -3
- package/docs/interfaces/FloorplanRoomLabelItem.html +3 -3
- package/docs/interfaces/FloorplanServerBounding.html +3 -3
- package/docs/interfaces/FloorplanServerComputedData.html +3 -3
- package/docs/interfaces/FloorplanServerData.html +3 -3
- package/docs/interfaces/FloorplanServerDoorItem.html +3 -3
- package/docs/interfaces/FloorplanServerDoorPosition.html +3 -3
- package/docs/interfaces/FloorplanServerEntrance.html +3 -3
- package/docs/interfaces/FloorplanServerFloorData.html +3 -3
- package/docs/interfaces/FloorplanServerImagePosition.html +3 -3
- package/docs/interfaces/FloorplanServerObserver.html +3 -3
- package/docs/interfaces/FloorplanServerOutlineItem.html +3 -3
- package/docs/interfaces/FloorplanServerPosition.html +3 -3
- package/docs/interfaces/FloorplanServerRoomItem.html +3 -3
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +3 -3
- package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +3 -3
- package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +3 -3
- package/docs/interfaces/GuideLinePluginType.EventMap.html +3 -3
- package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +3 -3
- package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +3 -3
- package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +3 -3
- package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +3 -3
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +3 -3
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +3 -3
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +3 -3
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +3 -3
- package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +3 -3
- package/docs/interfaces/GuideLinePluginType.PluginServerData.html +3 -3
- package/docs/interfaces/GuideLinePluginType.PluginState.html +3 -3
- package/docs/interfaces/GuideLinePluginType.Route.html +3 -3
- package/docs/interfaces/GuideLinePluginType.RouteConfig.html +3 -3
- package/docs/interfaces/HelperOffset.html +3 -3
- package/docs/interfaces/ImagePlaneGroup.html +3 -3
- package/docs/interfaces/ItemLabelPluginData.html +3 -3
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +3 -3
- package/docs/interfaces/ItemLabelPluginParametersType.html +3 -3
- package/docs/interfaces/MinMax.html +3 -3
- package/docs/interfaces/ModelChassisCompassPluginData.html +3 -3
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +3 -3
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +3 -3
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +3 -3
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +3 -3
- package/docs/interfaces/ModelItemLabelPluginData.html +3 -3
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +3 -3
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +3 -3
- package/docs/interfaces/ModelRoomLabelPluginData.html +3 -3
- package/docs/interfaces/ModelTVVideoPluginData.html +3 -3
- package/docs/interfaces/ModelTVVideoPluginExportType.html +3 -3
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +3 -3
- package/docs/interfaces/ModelViewPluginExportType.html +3 -3
- package/docs/interfaces/Object3DHelperState.html +3 -3
- package/docs/interfaces/ObjectHelperControllers.html +3 -3
- package/docs/interfaces/PaintBrushAction.html +3 -3
- package/docs/interfaces/PaintBrushConfigs.html +3 -3
- package/docs/interfaces/PaintBrushState.html +3 -3
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +3 -3
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +3 -3
- package/docs/interfaces/PanoMeasureParameterType.html +3 -3
- package/docs/interfaces/PanoMeasurePluginLineJson.html +3 -3
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +3 -3
- package/docs/interfaces/PanoMeasurePluginPointJson.html +3 -3
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +3 -3
- package/docs/interfaces/PanoRulerPluginExportType.html +3 -3
- package/docs/interfaces/PanoRulerPluginOptions.html +3 -3
- package/docs/interfaces/PanoRulerPluginParameterType.html +3 -3
- package/docs/interfaces/PanoRulerProPluginExportType.html +3 -3
- package/docs/interfaces/PanoRulerProPluginOptions.html +3 -3
- package/docs/interfaces/PanoRulerProPluginParameterType.html +3 -3
- package/docs/interfaces/PanoRulerProPluginState.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginData.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +3 -3
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +3 -3
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +3 -3
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +3 -3
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +3 -3
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +3 -3
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +3 -3
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +3 -3
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +3 -3
- package/docs/interfaces/Point.html +3 -3
- package/docs/interfaces/Room.html +3 -3
- package/docs/interfaces/RoomInfo.html +3 -3
- package/docs/interfaces/RoomLabel.html +3 -3
- package/docs/interfaces/RoomRules.html +3 -3
- package/docs/interfaces/Rooms.html +3 -3
- package/docs/interfaces/Scissor.html +3 -3
- package/docs/interfaces/State.html +3 -3
- package/docs/interfaces/TagCacheInterface.html +3 -3
- package/docs/interfaces/TagConfig.html +3 -3
- package/docs/interfaces/TagGLTFObjectGroup.html +3 -3
- package/docs/interfaces/TagIconUrl.html +3 -3
- package/docs/interfaces/TagObjectGroup.html +3 -3
- package/docs/interfaces/TagStyle.html +3 -3
- package/docs/interfaces/Tags.html +3 -3
- package/docs/interfaces/TemporaryState.html +3 -3
- package/docs/interfaces/Util.MagnifierParameter.html +3 -3
- package/docs/interfaces/Util.MouseGroupParameter.html +3 -3
- package/docs/interfaces/Util.PointIntersection.html +3 -3
- package/docs/modules/AreaMakerPluginType.html +3 -3
- package/docs/modules/CruisePluginTypes.html +3 -3
- package/docs/modules/CurrentPanoImagePluginType.html +3 -3
- package/docs/modules/GuideLineItem.html +3 -3
- package/docs/modules/GuideLineModeItem.html +3 -3
- package/docs/modules/GuideLinePluginType.html +3 -3
- package/docs/modules/PanoVideoPluginType.html +3 -3
- package/docs/modules/Util.html +3 -3
- package/docs/modules.html +4 -4
- package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +3 -3
- package/docs/types/AreaMakerPluginType.ItemRenderer.html +3 -3
- package/docs/types/AreaMakerPluginType.PluginData.html +3 -3
- package/docs/types/AreaMakerPluginType.ServerData.html +3 -3
- package/docs/types/ArrayPosition.html +3 -3
- package/docs/types/AudioAppearance.html +3 -3
- package/docs/types/AudioTagTypeConfigKey.html +3 -3
- package/docs/types/CSS3DRenderExportType.html +3 -3
- package/docs/types/CSS3DRenderPluginExportType.html +3 -3
- package/docs/types/CSS3DRenderPluginParameterType.html +3 -3
- package/docs/types/ClassFunctionParameters.html +3 -3
- package/docs/types/Color.html +3 -3
- package/docs/types/ContentTypeConfigKey.html +3 -3
- package/docs/types/ContentTypeConfigKeySplit.html +3 -3
- package/docs/types/ContentTypeMap.html +3 -3
- package/docs/types/Create3DDomContainerReturnType.html +3 -3
- package/docs/types/Create3DElementReturnType.html +3 -3
- package/docs/types/CruisePluginExportType.html +3 -3
- package/docs/types/CruisePluginTypes.CruiseData.html +3 -3
- package/docs/types/CruisePluginTypes.MoveEffect.html +3 -3
- package/docs/types/CurrentPanoImagePluginExportType.html +3 -3
- package/docs/types/DeprecatedMediaPlaneProperty.html +3 -3
- package/docs/types/DeprecatedTagProperty.html +3 -3
- package/docs/types/Direction-1.html +3 -3
- package/docs/types/Direction4.html +3 -3
- package/docs/types/ElementRenderer.html +3 -3
- package/docs/types/FloorplanRuleLabels.html +3 -3
- package/docs/types/FloorplanServerRuleLabels.html +3 -3
- package/docs/types/GuideLinePluginExportType.html +3 -3
- package/docs/types/GuideLinePluginType.GuideLineItem.html +3 -3
- package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +3 -3
- package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +3 -3
- package/docs/types/GuideLinePluginType.GuideLineStyle.html +3 -3
- package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +3 -3
- package/docs/types/GuideLinePluginType.PathItem.html +3 -3
- package/docs/types/GuideLinePluginType.PluginData.html +3 -3
- package/docs/types/HelperEventMap.html +3 -3
- package/docs/types/InternalHelperEventMap.html +3 -3
- package/docs/types/LoadTagConfig.html +3 -3
- package/docs/types/MapviewFloorplanPluginParameterType.html +3 -3
- package/docs/types/MapviewFloorplanPluginReturnType.html +3 -3
- package/docs/types/MediaData.html +3 -3
- package/docs/types/MediaStore.html +3 -3
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +3 -3
- package/docs/types/ModelFloorplanPluginParameterType.html +3 -3
- package/docs/types/ModelFloorplanPluginReturnType.html +3 -3
- package/docs/types/ModelId.html +3 -3
- package/docs/types/ModelRoomLabelPluginParameters.html +3 -3
- package/docs/types/ModelRoomLabelPluginReturnType.html +3 -3
- package/docs/types/MoveArgs.html +3 -3
- package/docs/types/MoveOpts.html +3 -3
- package/docs/types/Object3DHelperEventMap.html +3 -3
- package/docs/types/ObjectFit.html +3 -3
- package/docs/types/PaintBrushEventMap.html +3 -3
- package/docs/types/PanoCompassPluginData.html +3 -3
- package/docs/types/PanoCompassPluginExportType.html +3 -3
- package/docs/types/PanoCompassPluginParameterType.html +3 -3
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +3 -3
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +3 -3
- package/docs/types/PanoIndex.html +3 -3
- package/docs/types/PanoMeasurePluginEvent.html +3 -3
- package/docs/types/PanoMeasureReturnType.html +3 -3
- package/docs/types/PanoSpatialTagPluginId.html +3 -3
- package/docs/types/PanoTagPluginExportInterface.html +3 -3
- package/docs/types/PanoTagPluginParamsInterface.html +3 -3
- package/docs/types/PanoVideoPluginParameterType.html +3 -3
- package/docs/types/PanoVideoPluginReturnType.html +3 -3
- package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +3 -3
- package/docs/types/PipelinePluginParameterType.html +3 -3
- package/docs/types/PipelinePluginReturnType.html +3 -3
- package/docs/types/PlaneTag.html +3 -3
- package/docs/types/Point2DTag.html +3 -3
- package/docs/types/Point3DTag.html +3 -3
- package/docs/types/PointTag.html +3 -3
- package/docs/types/PointTagInstance.html +3 -3
- package/docs/types/Position.html +3 -3
- package/docs/types/RotateArgs.html +3 -3
- package/docs/types/RotateOpts.html +3 -3
- package/docs/types/RuleLabelsKey.html +3 -3
- package/docs/types/RuleLabelsValue.html +3 -3
- package/docs/types/StickType.html +3 -3
- package/docs/types/Tag.html +3 -3
- package/docs/types/Tag2D.html +3 -3
- package/docs/types/Tag3D.html +3 -3
- package/docs/types/TagConfigByKey.html +3 -3
- package/docs/types/TagContentType.html +3 -3
- package/docs/types/TagContentTypeMapping.html +3 -3
- package/docs/types/TagDimensionType.html +3 -3
- package/docs/types/TagElement.html +3 -3
- package/docs/types/TagEvents.html +3 -3
- package/docs/types/TagGLTFObject.html +3 -3
- package/docs/types/TagHooks.html +3 -3
- package/docs/types/TagId.html +3 -3
- package/docs/types/TagInstance.html +3 -3
- package/docs/types/TagPointType.html +3 -3
- package/docs/types/TagRendererMap.html +3 -3
- package/docs/types/TopviewFloorplanPluginParameterType.html +3 -3
- package/docs/types/TopviewFloorplanPluginReturnType.html +3 -3
- package/docs/types/WorkCode.html +3 -3
- package/docs/variables/FLOOR_TYPE_MAP.html +3 -3
- package/docs/variables/PLUGIN.html +3 -3
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +3 -3
- package/docs/variables/ROOM_TYPE_MAP.html +3 -3
- package/docs/variables/defaultGlobalConfig.html +3 -3
- package/docs/variables/itemLabelPluginServerParams.html +3 -3
- package/docs/variables/modelItemLabelPluginServerParams.html +3 -3
- package/docs/variables/modelRoomLabelPluginServerParams.html +3 -3
- package/libs/PanoTagPlugin/Components/TagItem.js +232 -208
- package/libs/PanoTagPlugin/controller/TagRender.js +78 -79
- package/libs/PanoVideoPlugin/Controller.d.ts +17 -0
- package/libs/PanoVideoPlugin/Controller.js +63 -39
- package/libs/PanoVideoPlugin/VideoMeshController.d.ts +6 -0
- package/libs/PanoVideoPlugin/VideoMeshController.js +8 -0
- package/libs/base/BasePlugin.js +1 -1
- package/libs/floorplan/Components/RoomLabels/RoomLabel.js +111 -108
- package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/ModelFloorplanPlugin/Controller.js +1 -1
- package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +1 -1
- package/libs/shared-utils/logger.js +1 -1
- package/libs/vendor/@tweenjs/tween/dist/tween.esm.js.js +88 -79
- package/package.json +2 -2
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
var
|
|
1
|
+
var A = Object.defineProperty;
|
|
2
2
|
var R = Object.getOwnPropertySymbols;
|
|
3
|
-
var
|
|
4
|
-
var C = (
|
|
5
|
-
for (var t in
|
|
6
|
-
|
|
3
|
+
var k = Object.prototype.hasOwnProperty, I = Object.prototype.propertyIsEnumerable;
|
|
4
|
+
var C = (d, m, t) => m in d ? A(d, m, { enumerable: !0, configurable: !0, writable: !0, value: t }) : d[m] = t, j = (d, m) => {
|
|
5
|
+
for (var t in m || (m = {}))
|
|
6
|
+
k.call(m, t) && C(d, t, m[t]);
|
|
7
7
|
if (R)
|
|
8
|
-
for (var t of R(
|
|
9
|
-
I.call(
|
|
10
|
-
return
|
|
8
|
+
for (var t of R(m))
|
|
9
|
+
I.call(m, t) && C(d, t, m[t]);
|
|
10
|
+
return d;
|
|
11
11
|
};
|
|
12
|
-
var
|
|
13
|
-
var S = (
|
|
12
|
+
var u = (d, m, t) => (C(d, typeof m != "symbol" ? m + "" : m, t), t);
|
|
13
|
+
var S = (d, m, t) => new Promise((e, o) => {
|
|
14
14
|
var i = (s) => {
|
|
15
15
|
try {
|
|
16
16
|
a(t.next(s));
|
|
@@ -24,16 +24,16 @@ var S = (c, l, t) => new Promise((e, o) => {
|
|
|
24
24
|
o(n);
|
|
25
25
|
}
|
|
26
26
|
}, a = (s) => s.done ? e(s.value) : Promise.resolve(s.value).then(i, r);
|
|
27
|
-
a((t = t.apply(
|
|
27
|
+
a((t = t.apply(d, m)).next());
|
|
28
28
|
});
|
|
29
|
-
import { TagComputer as
|
|
30
|
-
import { Group as y, Quaternion as
|
|
31
|
-
import
|
|
32
|
-
import
|
|
33
|
-
import { CSS3DRenderPlugin as
|
|
34
|
-
import { loadGLTF as
|
|
35
|
-
import { isMediaModelTag as D, isStickModelTag as
|
|
36
|
-
import { VideoPlane as
|
|
29
|
+
import { TagComputer as V } from "./TagComputer.js";
|
|
30
|
+
import { Group as y, Quaternion as E, Vector3 as b, Matrix4 as v } from "three";
|
|
31
|
+
import O from "../Components/TagContainer.js";
|
|
32
|
+
import x from "../Components/Tag/index.js";
|
|
33
|
+
import { CSS3DRenderPlugin as G } from "../../CSS3DRenderPlugin/index.js";
|
|
34
|
+
import { loadGLTF as F } from "../../shared-utils/three/GLTFLoader.js";
|
|
35
|
+
import { isMediaModelTag as D, isStickModelTag as _ } from "../utils/tag/tagCheck.js";
|
|
36
|
+
import { VideoPlane as L, ImagePlane as w } from "../utils/model/mediaPlane.js";
|
|
37
37
|
import { centerPoint as q } from "../../shared-utils/three/centerPoint.js";
|
|
38
38
|
import { arrayPositionToVector3 as g } from "../../shared-utils/positionToVector3.js";
|
|
39
39
|
import "../utils/tagPosition.js";
|
|
@@ -162,38 +162,38 @@ import "../../CSS3DRenderPlugin/Controller.js";
|
|
|
162
162
|
import "../../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js";
|
|
163
163
|
import "@realsee/five/gltf-loader";
|
|
164
164
|
const W = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map();
|
|
165
|
-
class Ti extends
|
|
165
|
+
class Ti extends V {
|
|
166
166
|
constructor(t) {
|
|
167
167
|
super(t);
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
168
|
+
u(this, "rendererMap", /* @__PURE__ */ new Map());
|
|
169
|
+
u(this, "contentTypeMap", /* @__PURE__ */ new Map());
|
|
170
|
+
u(this, "group", new y());
|
|
171
|
+
u(this, "imagePlaneGroup", new y());
|
|
172
|
+
u(this, "gltfObjectGroup", new y());
|
|
173
173
|
/** 维护一个可用模型表,用于快速删除不应该在场景中的模型 */
|
|
174
|
-
|
|
174
|
+
u(this, "enabledModelTagSet", /* @__PURE__ */ new Set());
|
|
175
175
|
/** 临时状态 */
|
|
176
|
-
|
|
176
|
+
u(this, "temporaryState", { visible: !0 });
|
|
177
177
|
/** 点标签 */
|
|
178
|
-
|
|
178
|
+
u(this, "TagContainerSvelte");
|
|
179
179
|
/** 加载外部模型 */
|
|
180
|
-
|
|
180
|
+
u(this, "loadModel", (t) => S(this, null, function* () {
|
|
181
181
|
var a;
|
|
182
182
|
const e = t.data.modelUrl;
|
|
183
183
|
if (!e)
|
|
184
184
|
return;
|
|
185
185
|
t.loading = !0;
|
|
186
|
-
const o =
|
|
187
|
-
var
|
|
186
|
+
const o = F(e).then((s) => {
|
|
187
|
+
var p;
|
|
188
188
|
const n = Object.assign(s.scene, {
|
|
189
189
|
customID: t.id,
|
|
190
190
|
isTagModel: !0,
|
|
191
191
|
removeEventListener: this.getTagConfig(t).clickable === !1 ? () => {
|
|
192
|
-
} : this.addObjectClickHandler(t, s.scene, (
|
|
193
|
-
this.hooks.emit("click", { target: "TagModel", tag: t, event:
|
|
192
|
+
} : this.addObjectClickHandler(t, s.scene, (h) => {
|
|
193
|
+
this.hooks.emit("click", { target: "TagModel", tag: t, event: h });
|
|
194
194
|
})
|
|
195
195
|
});
|
|
196
|
-
return n.visible = this.getCurrentVisibleState(t), new v().fromArray(t.matrix).decompose(n.position, n.quaternion, n.scale), n.updateWorldMatrix(!0, !0), n.visible = this.getVisible(t), (
|
|
196
|
+
return n.visible = this.getCurrentVisibleState(t), new v().fromArray(t.matrix).decompose(n.position, n.quaternion, n.scale), n.updateWorldMatrix(!0, !0), n.visible = this.getVisible(t), (p = this.getTagConfig(t).modelConfig) != null && p.autoLookAtEnabled && n.lookAt(this.five.camera.position.clone().setY(n.position.y)), n;
|
|
197
197
|
});
|
|
198
198
|
t.model = { promise: o };
|
|
199
199
|
const i = yield o;
|
|
@@ -204,7 +204,7 @@ class Ti extends E {
|
|
|
204
204
|
if (r && (this.gltfObjectGroup.remove(r), r.removeEventListener()), this.updateRender3DDomTag(), D(t)) {
|
|
205
205
|
if (this.getRenderType(t) === "Mesh" && !t.mediaPlane) {
|
|
206
206
|
const s = t.data.mediaPosition.map(g);
|
|
207
|
-
t.mediaPlane = new
|
|
207
|
+
t.mediaPlane = new w(t.data.mediaData[0].url, t.data.mediaPosition.map(g), {
|
|
208
208
|
objectFit: t.data.objectFit
|
|
209
209
|
});
|
|
210
210
|
const n = new b().addVectors(s[0], s[2]).divideScalar(2);
|
|
@@ -249,30 +249,29 @@ class Ti extends E {
|
|
|
249
249
|
var o, i;
|
|
250
250
|
return ((i = (o = e.data.mediaData) == null ? void 0 : o[0]) == null ? void 0 : i.type) === "Video";
|
|
251
251
|
}).forEach((e) => {
|
|
252
|
-
var
|
|
252
|
+
var l;
|
|
253
253
|
const o = e.data.mediaData[0];
|
|
254
254
|
if (!o)
|
|
255
255
|
return;
|
|
256
256
|
const { url: i } = o;
|
|
257
257
|
if (!i)
|
|
258
258
|
return;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
const d = new w(i, r, {
|
|
259
|
+
const r = this.getCurrentVisibleState(e), a = (() => !!(e.mediaPlane && !r))(), s = (() => !!(!e.mediaPlane && r))(), n = (() => !!(e.mediaPlane && e.mediaPlane.src !== i))();
|
|
260
|
+
if ((a || n) && e.mediaPlane && (this.imagePlaneGroup.remove(e.mediaPlane), e.mediaPlane.dispose(), e.mediaPlane.removeFromParent(), e.mediaPlane = void 0), s || n) {
|
|
261
|
+
const p = e.position.map(g), h = new L(i, p, {
|
|
263
262
|
videoCoverSrc: o.videoCoverUrl,
|
|
264
263
|
playButton: e.data.playIcon,
|
|
265
|
-
paused: !((
|
|
264
|
+
paused: !((l = e.data.autoplayConfig) != null && l.autoplayVideo),
|
|
266
265
|
objectFit: e.data.objectFit,
|
|
267
266
|
videoTextureMap: W,
|
|
268
267
|
ImageTextureMap: $,
|
|
269
268
|
domEvents: this.domEvents
|
|
270
269
|
});
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
h.onVideoReady = (c) => {
|
|
271
|
+
c.addEventListener("play", () => this.mediaStore.set({ currentMediaElement: h.videoInstance }));
|
|
273
272
|
};
|
|
274
|
-
const
|
|
275
|
-
|
|
273
|
+
const f = (c) => (this.five.on("renderFrame", c), () => this.five.off("renderFrame", c));
|
|
274
|
+
h.initialRenderHooks(f), e.mediaPlane = h, this.imagePlaneGroup.add(e.mediaPlane);
|
|
276
275
|
}
|
|
277
276
|
});
|
|
278
277
|
}
|
|
@@ -288,8 +287,8 @@ class Ti extends E {
|
|
|
288
287
|
if (!o)
|
|
289
288
|
return;
|
|
290
289
|
const i = e.position.map(g), r = this.getCurrentVisibleState(e), a = (() => !!(e.mediaPlane && !r))(), s = (() => !!(!e.mediaPlane && r))(), n = (() => !!(e.mediaPlane && e.mediaPlane.src !== o))();
|
|
291
|
-
(a || n) && e.mediaPlane && (this.imagePlaneGroup.remove(e.mediaPlane), e.mediaPlane.dispose(), e.mediaPlane.removeFromParent(), e.mediaPlane = void 0), (s || n) && (e.mediaPlane = new
|
|
292
|
-
this.hooks.emit("click", { tag: e, target: "TagContent", event:
|
|
290
|
+
(a || n) && e.mediaPlane && (this.imagePlaneGroup.remove(e.mediaPlane), e.mediaPlane.dispose(), e.mediaPlane.removeFromParent(), e.mediaPlane = void 0), (s || n) && (e.mediaPlane = new w(o, i, { objectFit: e.data.objectFit }), this.getTagConfig(e).clickable !== !1 && this.domEvents.addAutoBindEventListener(e.mediaPlane, "click", (l) => {
|
|
291
|
+
this.hooks.emit("click", { tag: e, target: "TagContent", event: l.origDomEvent });
|
|
293
292
|
}), this.imagePlaneGroup.add(e.mediaPlane));
|
|
294
293
|
});
|
|
295
294
|
}
|
|
@@ -300,16 +299,16 @@ class Ti extends E {
|
|
|
300
299
|
this.filterCSS3DTag.forEach((e) => {
|
|
301
300
|
var o, i, r;
|
|
302
301
|
if (e.tag3DContentSvelte) {
|
|
303
|
-
const { svelteApp: a, css3DInstance: s, initialNormal: n, currentNormal:
|
|
304
|
-
if (a.$set({ tag: e, hooks: this.hooks, state: this.state, temporaryState: this.temporaryState }), !n.equals(
|
|
305
|
-
const
|
|
306
|
-
s.css3DObject.setRotationFromQuaternion(
|
|
302
|
+
const { svelteApp: a, css3DInstance: s, initialNormal: n, currentNormal: l } = e.tag3DContentSvelte;
|
|
303
|
+
if (a.$set({ tag: e, hooks: this.hooks, state: this.state, temporaryState: this.temporaryState }), !n.equals(l)) {
|
|
304
|
+
const p = new E().setFromUnitVectors(n, l);
|
|
305
|
+
s.css3DObject.setRotationFromQuaternion(p);
|
|
307
306
|
}
|
|
308
307
|
return;
|
|
309
308
|
} else {
|
|
310
309
|
if (D(e) && !((o = e.model) != null && o.object) || ((i = e.state) == null ? void 0 : i.visible) === !1 || !this.state.visible || !this.state.enabled)
|
|
311
310
|
return;
|
|
312
|
-
if (this.css3DRenderPlugin || (this.css3DRenderPlugin =
|
|
311
|
+
if (this.css3DRenderPlugin || (this.css3DRenderPlugin = G(this.five)), e.stickType === "3DPoint" && !e.normal)
|
|
313
312
|
return console.error("updateRenderPlaneTag: 三维点标签缺少法向量!");
|
|
314
313
|
const a = this.getPositions(e);
|
|
315
314
|
if (!a)
|
|
@@ -317,26 +316,26 @@ class Ti extends E {
|
|
|
317
316
|
const s = this.getTagNormal(e);
|
|
318
317
|
if (!s)
|
|
319
318
|
return;
|
|
320
|
-
const n = this.getTagConfig(e),
|
|
321
|
-
if (this.getRenderType(e) === "BehindDom" ||
|
|
322
|
-
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
var
|
|
326
|
-
if (
|
|
327
|
-
const
|
|
328
|
-
this.hooks.emit("click", { event:
|
|
319
|
+
const n = this.getTagConfig(e), l = j({ wrapperStyle: { zIndex: this.calculateTagZIndex(e).toString() } }, n.tag3DConfig);
|
|
320
|
+
if (this.getRenderType(e) === "BehindDom" || l.mode === "behind") {
|
|
321
|
+
l.mode = "behind", l.container = document.createElement("div");
|
|
322
|
+
const f = "black";
|
|
323
|
+
l.container.style.backgroundColor = f, l.container.style.border = `3px solid ${f}`, this.css3DRenderPlugin.hooks.on("render", () => {
|
|
324
|
+
var c;
|
|
325
|
+
if (p.css3DObject.opacityMesh && n.clickable !== !1) {
|
|
326
|
+
const P = this.addObjectClickHandler(e, p.css3DObject.opacityMesh, (T) => {
|
|
327
|
+
this.hooks.emit("click", { event: T, target: "TagContent", tag: e });
|
|
329
328
|
});
|
|
330
|
-
(
|
|
329
|
+
(c = this.store.css3DRenderDisposer.get(e.id)) == null || c.push(P);
|
|
331
330
|
}
|
|
332
331
|
});
|
|
333
332
|
}
|
|
334
|
-
const
|
|
335
|
-
if (!
|
|
333
|
+
const p = this.css3DRenderPlugin.create3DDomContainer(a, l);
|
|
334
|
+
if (!p)
|
|
336
335
|
return;
|
|
337
|
-
this.store.css3DRenderDisposer.set(e.id, [
|
|
338
|
-
const
|
|
339
|
-
target:
|
|
336
|
+
this.store.css3DRenderDisposer.set(e.id, [p.dispose]);
|
|
337
|
+
const h = new x({
|
|
338
|
+
target: p.container,
|
|
340
339
|
props: {
|
|
341
340
|
tag: e,
|
|
342
341
|
hooks: this.hooks,
|
|
@@ -347,13 +346,13 @@ class Ti extends E {
|
|
|
347
346
|
}
|
|
348
347
|
});
|
|
349
348
|
e.tag3DContentSvelte = {
|
|
350
|
-
svelteApp:
|
|
351
|
-
domContainer:
|
|
352
|
-
css3DInstance:
|
|
349
|
+
svelteApp: h,
|
|
350
|
+
domContainer: p,
|
|
351
|
+
css3DInstance: p,
|
|
353
352
|
initialNormal: s,
|
|
354
353
|
currentNormal: s,
|
|
355
354
|
dispose: () => {
|
|
356
|
-
|
|
355
|
+
h.$destroy(), p.dispose();
|
|
357
356
|
}
|
|
358
357
|
}, D(e) && ((r = e.model) != null && r.object) && this.updateTagCss3DObjectMatrix(e, e.model.object);
|
|
359
358
|
}
|
|
@@ -387,23 +386,23 @@ class Ti extends E {
|
|
|
387
386
|
* @param model 模型
|
|
388
387
|
*/
|
|
389
388
|
updateTagCss3DObjectMatrix(t, e) {
|
|
390
|
-
var
|
|
391
|
-
const o = (
|
|
389
|
+
var P, T, M;
|
|
390
|
+
const o = (T = (P = this.getTagConfig(t).tag3DConfig) == null ? void 0 : P.ratio) != null ? T : 216e-5, i = (M = t.tag3DContentSvelte) == null ? void 0 : M.css3DInstance.css3DObject;
|
|
392
391
|
if (!i)
|
|
393
392
|
return;
|
|
394
393
|
const r = D(t) ? t.data.mediaPosition : t.position;
|
|
395
394
|
if (!r || r.length !== 4 || !Array.isArray(r[0]) || !Array.isArray(r[2]))
|
|
396
395
|
return;
|
|
397
396
|
e.updateWorldMatrix(!1, !1);
|
|
398
|
-
const a = e.matrixWorld, s = new b().fromArray(r[0]), n = new b().fromArray(r[2]),
|
|
399
|
-
|
|
400
|
-
const
|
|
401
|
-
|
|
397
|
+
const a = e.matrixWorld, s = new b().fromArray(r[0]), n = new b().fromArray(r[2]), l = q(s, n).add(new b(0, 0, 5e-4)), p = new v().setPosition(l), h = new v().makeScale(o, o, o), f = new v().multiply(a).multiply(p).multiply(h);
|
|
398
|
+
f.decompose(i.position, i.quaternion, i.scale);
|
|
399
|
+
const c = i.opacityMesh;
|
|
400
|
+
c && f.decompose(c.position, c.quaternion, c.scale);
|
|
402
401
|
}
|
|
403
402
|
/** 添加模型标签 */
|
|
404
403
|
addMediaModelTag(t) {
|
|
405
404
|
return S(this, null, function* () {
|
|
406
|
-
const e = t.filter(
|
|
405
|
+
const e = t.filter(_).map((o) => this.loadModel(o));
|
|
407
406
|
yield Promise.all(e), this.setVisible(), this.updateRenderAllTags();
|
|
408
407
|
});
|
|
409
408
|
}
|
|
@@ -480,7 +479,7 @@ class Ti extends E {
|
|
|
480
479
|
const r = (o = this.five.getElement()) == null ? void 0 : o.parentElement;
|
|
481
480
|
if (!r)
|
|
482
481
|
return console.error("updateRenderPlaneTag: tag2DContainer not found");
|
|
483
|
-
this.TagContainerSvelte = new
|
|
482
|
+
this.TagContainerSvelte = new O({
|
|
484
483
|
target: r,
|
|
485
484
|
props: {
|
|
486
485
|
hooks: this.hooks,
|
|
@@ -23,6 +23,23 @@ export declare class PanoVideoPluginController extends BasePlugin.Controller<Plu
|
|
|
23
23
|
* - 如果遇到不能自动播放的问题,需要放到用户交互事件中调用。
|
|
24
24
|
*/
|
|
25
25
|
lookAtVideoItemByRenderID(id: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* 取消静音。
|
|
28
|
+
*
|
|
29
|
+
* 大部分浏览器需要用户交互后才能开启视频声音。
|
|
30
|
+
*
|
|
31
|
+
* 如果需要取消静音,建议在用户交互事件中调用本方法。
|
|
32
|
+
*
|
|
33
|
+
* 例如:
|
|
34
|
+
*
|
|
35
|
+
* ```jsx
|
|
36
|
+
* onClick={() => {
|
|
37
|
+
* panoVideoPluginController.lookAtVideoItemByRenderID('xxx')
|
|
38
|
+
* panoVideoPluginController.unmuteByRenderID('xxx')
|
|
39
|
+
* }}
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
unmuteByRenderID(id: string): void;
|
|
26
43
|
/** 为一个点位添加视频(可以是多条)。 */
|
|
27
44
|
add(panoIndex: number, videoItems: VideoItem[]): void;
|
|
28
45
|
/** 根据 VideoItem render_id 删除某个视频。 */
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
var
|
|
1
|
+
var f = Object.defineProperty, m = Object.defineProperties;
|
|
2
2
|
var b = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var p = Object.getOwnPropertySymbols;
|
|
4
4
|
var M = Object.prototype.hasOwnProperty, W = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var l = (o,
|
|
6
|
-
for (var
|
|
7
|
-
M.call(
|
|
5
|
+
var l = (o, t, r) => t in o ? f(o, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[t] = r, a = (o, t) => {
|
|
6
|
+
for (var r in t || (t = {}))
|
|
7
|
+
M.call(t, r) && l(o, r, t[r]);
|
|
8
8
|
if (p)
|
|
9
|
-
for (var
|
|
10
|
-
W.call(
|
|
9
|
+
for (var r of p(t))
|
|
10
|
+
W.call(t, r) && l(o, r, t[r]);
|
|
11
11
|
return o;
|
|
12
|
-
}, d = (o,
|
|
13
|
-
var s = (o,
|
|
12
|
+
}, d = (o, t) => m(o, b(t));
|
|
13
|
+
var s = (o, t, r) => (l(o, typeof t != "symbol" ? t + "" : t, r), r);
|
|
14
14
|
import { VideoMeshController as c } from "./VideoMeshController.js";
|
|
15
15
|
import { Controller as _ } from "../base/BasePlugin.js";
|
|
16
16
|
import "./utils/shader.js";
|
|
@@ -39,12 +39,12 @@ import "./utils/index.js";
|
|
|
39
39
|
import "animejs";
|
|
40
40
|
import "../shared-utils/url/absoluteUrl.js";
|
|
41
41
|
class T extends _ {
|
|
42
|
-
constructor(
|
|
43
|
-
super(
|
|
42
|
+
constructor(r) {
|
|
43
|
+
super(r);
|
|
44
44
|
s(this, "enabled", !0);
|
|
45
45
|
s(this, "controllerMap", /* @__PURE__ */ new Map());
|
|
46
46
|
s(this, "_disposed", !1);
|
|
47
|
-
this.five =
|
|
47
|
+
this.five = r;
|
|
48
48
|
}
|
|
49
49
|
/** 插件 State */
|
|
50
50
|
get state() {
|
|
@@ -57,18 +57,18 @@ class T extends _ {
|
|
|
57
57
|
return this._disposed;
|
|
58
58
|
}
|
|
59
59
|
/** 加载点位视频数据,加载数据并不代表会加载点位视频。 */
|
|
60
|
-
load(
|
|
60
|
+
load(r, e) {
|
|
61
61
|
var i;
|
|
62
62
|
if (this.disposed)
|
|
63
63
|
return this.logWarning("插件已被销毁");
|
|
64
|
-
typeof ((i =
|
|
65
|
-
const
|
|
64
|
+
typeof ((i = e == null ? void 0 : e.initialState) == null ? void 0 : i.enabled) != "undefined" && e.initialState.enabled !== this.enabled && (e.initialState.enabled ? this.enable() : this.disable()), r.list.forEach((n) => {
|
|
65
|
+
const u = n.pano_index, g = n.render_id;
|
|
66
66
|
n.video_list.forEach((h) => {
|
|
67
67
|
this.controllerMap.set(
|
|
68
68
|
h.render_id,
|
|
69
69
|
new c(this.five, d(a({}, h), {
|
|
70
|
-
panoIndex:
|
|
71
|
-
renderID:
|
|
70
|
+
panoIndex: u,
|
|
71
|
+
renderID: g,
|
|
72
72
|
initialState: { enabled: this.enabled }
|
|
73
73
|
}))
|
|
74
74
|
);
|
|
@@ -76,51 +76,75 @@ class T extends _ {
|
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
/** 开启插件功能。 */
|
|
79
|
-
enable(
|
|
79
|
+
enable(r) {
|
|
80
80
|
var i;
|
|
81
81
|
if (this.disposed)
|
|
82
82
|
return this.logWarning("插件已被销毁");
|
|
83
83
|
if (this.enabled)
|
|
84
84
|
return;
|
|
85
85
|
this.enabled = !0, Array.from(this.controllerMap.values()).forEach((n) => n.enable());
|
|
86
|
-
const
|
|
87
|
-
this.hooks.emit("enable", { userAction:
|
|
86
|
+
const e = (i = r == null ? void 0 : r.userAction) != null ? i : !0;
|
|
87
|
+
this.hooks.emit("enable", { userAction: e });
|
|
88
88
|
}
|
|
89
89
|
/** 禁用插件功能。 */
|
|
90
|
-
disable(
|
|
90
|
+
disable(r) {
|
|
91
91
|
var i;
|
|
92
92
|
if (this.disposed)
|
|
93
93
|
return this.logWarning("插件已被销毁");
|
|
94
94
|
if (!this.enabled)
|
|
95
95
|
return;
|
|
96
96
|
this.enabled = !1, Array.from(this.controllerMap.values()).forEach((n) => n.disable());
|
|
97
|
-
const
|
|
98
|
-
this.hooks.emit("disable", { userAction:
|
|
97
|
+
const e = (i = r == null ? void 0 : r.userAction) != null ? i : !0;
|
|
98
|
+
this.hooks.emit("disable", { userAction: e });
|
|
99
99
|
}
|
|
100
100
|
/** 看向某个视频。
|
|
101
101
|
* - 会自动切换到全景模式。
|
|
102
102
|
* - 如果遇到不能自动播放的问题,需要放到用户交互事件中调用。
|
|
103
103
|
*/
|
|
104
|
-
lookAtVideoItemByRenderID(
|
|
104
|
+
lookAtVideoItemByRenderID(r) {
|
|
105
105
|
if (this.disposed)
|
|
106
106
|
return this.logWarning("插件已被销毁");
|
|
107
|
-
const
|
|
108
|
-
if (!
|
|
109
|
-
return this.logWarning(`ID 为 ${
|
|
110
|
-
|
|
107
|
+
const e = this.controllerMap.get(r);
|
|
108
|
+
if (!e)
|
|
109
|
+
return this.logWarning(`ID 为 ${r} 的点位视频不存在`);
|
|
110
|
+
e.lookAtVideo();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 取消静音。
|
|
114
|
+
*
|
|
115
|
+
* 大部分浏览器需要用户交互后才能开启视频声音。
|
|
116
|
+
*
|
|
117
|
+
* 如果需要取消静音,建议在用户交互事件中调用本方法。
|
|
118
|
+
*
|
|
119
|
+
* 例如:
|
|
120
|
+
*
|
|
121
|
+
* ```jsx
|
|
122
|
+
* onClick={() => {
|
|
123
|
+
* panoVideoPluginController.lookAtVideoItemByRenderID('xxx')
|
|
124
|
+
* panoVideoPluginController.unmuteByRenderID('xxx')
|
|
125
|
+
* }}
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
unmuteByRenderID(r) {
|
|
129
|
+
if (this.disposed)
|
|
130
|
+
return this.logWarning("插件已被销毁");
|
|
131
|
+
const e = this.controllerMap.get(r);
|
|
132
|
+
if (!e)
|
|
133
|
+
return this.logWarning(`ID 为 ${r} 的点位视频不存在`);
|
|
134
|
+
e.unmute();
|
|
111
135
|
}
|
|
112
136
|
/** 为一个点位添加视频(可以是多条)。 */
|
|
113
|
-
add(
|
|
137
|
+
add(r, e) {
|
|
114
138
|
if (this.disposed)
|
|
115
139
|
return this.logWarning("插件已被销毁");
|
|
116
|
-
|
|
140
|
+
e.forEach((i) => {
|
|
117
141
|
if (this.controllerMap.get(i.render_id))
|
|
118
142
|
return this.logWarning(`ID 为 ${i.render_id} 的点位视频已存在`);
|
|
119
143
|
const n = i.render_id;
|
|
120
144
|
this.controllerMap.set(
|
|
121
145
|
i.render_id,
|
|
122
146
|
new c(this.five, d(a({}, i), {
|
|
123
|
-
panoIndex:
|
|
147
|
+
panoIndex: r,
|
|
124
148
|
renderID: n,
|
|
125
149
|
initialState: { enabled: this.enabled }
|
|
126
150
|
}))
|
|
@@ -128,30 +152,30 @@ class T extends _ {
|
|
|
128
152
|
});
|
|
129
153
|
}
|
|
130
154
|
/** 根据 VideoItem render_id 删除某个视频。 */
|
|
131
|
-
removeByRenderID(
|
|
155
|
+
removeByRenderID(r) {
|
|
132
156
|
if (this.disposed)
|
|
133
157
|
return this.logWarning("插件已被销毁");
|
|
134
|
-
const
|
|
135
|
-
if (!
|
|
136
|
-
return this.logWarning(`ID 为 ${
|
|
137
|
-
|
|
158
|
+
const e = this.controllerMap.get(r);
|
|
159
|
+
if (!e)
|
|
160
|
+
return this.logWarning(`ID 为 ${r} 的点位视频不存在`);
|
|
161
|
+
e.dispose(), this.controllerMap.delete(r);
|
|
138
162
|
}
|
|
139
163
|
/** 清空现有数据 */
|
|
140
164
|
clear() {
|
|
141
165
|
if (this.disposed)
|
|
142
166
|
return this.logWarning("插件已被销毁");
|
|
143
|
-
Array.from(this.controllerMap.values()).forEach((
|
|
167
|
+
Array.from(this.controllerMap.values()).forEach((r) => r.dispose()), this.controllerMap.clear();
|
|
144
168
|
}
|
|
145
169
|
/** 销毁插件 */
|
|
146
170
|
dispose() {
|
|
147
171
|
if (this.disposed)
|
|
148
172
|
return this.logWarning("插件已被销毁");
|
|
149
|
-
this._disposed = !0, Array.from(this.controllerMap.values()).forEach((
|
|
173
|
+
this._disposed = !0, Array.from(this.controllerMap.values()).forEach((r) => r.dispose()), this.controllerMap.clear();
|
|
150
174
|
}
|
|
151
175
|
/** 控制台打印警告 */
|
|
152
176
|
// TODO: 全局函数 curry 化
|
|
153
|
-
logWarning(
|
|
154
|
-
console.warn("⛔ ==> [PanoVideoPluginController]:",
|
|
177
|
+
logWarning(r) {
|
|
178
|
+
console.warn("⛔ ==> [PanoVideoPluginController]:", r);
|
|
155
179
|
}
|
|
156
180
|
}
|
|
157
181
|
export {
|
|
@@ -46,6 +46,12 @@ export declare class VideoMeshController {
|
|
|
46
46
|
private renderFiveDisposer?;
|
|
47
47
|
/** 初始化视频、模型以及相关事件监听。 */
|
|
48
48
|
constructor(five: Five, params: VideoMeshParams);
|
|
49
|
+
/**
|
|
50
|
+
* 取消静音
|
|
51
|
+
*
|
|
52
|
+
* @warning 需要注意:由于大部分浏览器的限制,视频的声音必须在用户有交互事件后才能开启,否则会被浏览器禁用视频播放。
|
|
53
|
+
*/
|
|
54
|
+
unmute: () => void;
|
|
49
55
|
/** 彻底销毁,不响应之后的任何事件 */
|
|
50
56
|
dispose(): void;
|
|
51
57
|
enable(): void;
|
|
@@ -53,6 +53,14 @@ class ie {
|
|
|
53
53
|
* @remark 由于 render video 依赖 Five render,因此需要自动 render five。
|
|
54
54
|
*/
|
|
55
55
|
t(this, "renderFiveDisposer");
|
|
56
|
+
/**
|
|
57
|
+
* 取消静音
|
|
58
|
+
*
|
|
59
|
+
* @warning 需要注意:由于大部分浏览器的限制,视频的声音必须在用户有交互事件后才能开启,否则会被浏览器禁用视频播放。
|
|
60
|
+
*/
|
|
61
|
+
t(this, "unmute", () => {
|
|
62
|
+
this.video.muted = !1;
|
|
63
|
+
});
|
|
56
64
|
/** 把 uv 值转换成位置 */
|
|
57
65
|
t(this, "uv2Position", (e, i) => {
|
|
58
66
|
var c;
|