@realsee/dnalogel 3.77.3 → 3.78.0-alpha.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/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
- package/dist/PanoTagPlugin/controller/Tag/BoxTag.d.ts +118 -0
- package/dist/PanoTagPlugin/controller/Tag/MaskTag.d.ts +157 -0
- package/dist/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +13 -0
- package/dist/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
- package/dist/PanoTagPlugin/controller/TagRender.d.ts +1 -1
- package/dist/PanoTagPlugin/controller/index.d.ts +36 -1
- package/dist/PanoTagPlugin/typings/controller.d.ts +10 -0
- package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
- package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
- package/dist/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
- package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
- package/dist/PanoTagPlugin/utils/tagPosition.d.ts +2 -2
- package/dist/index.cjs.js +160 -82
- package/dist/index.js +10904 -9736
- package/dist/index.umd.js +161 -83
- package/docs/.nojekyll +1 -0
- package/docs/assets/custom.css +0 -0
- package/docs/assets/highlight.css +127 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1493 -0
- package/docs/classes/AreaMakerPluginType.AreaMakerController.html +59 -0
- package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +71 -0
- package/docs/classes/CSS3DRender.html +100 -0
- package/docs/classes/GuideLineItem.GuideLineItem.html +21 -0
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +70 -0
- package/docs/classes/ModelMakerPluginInstance.html +116 -0
- package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +52 -0
- package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +52 -0
- package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +53 -0
- package/docs/classes/ModelRoomLabelController.html +19 -0
- package/docs/classes/MoveController.html +45 -0
- package/docs/classes/Object3DHelperController.html +45 -0
- package/docs/classes/PaintBrush.html +15 -0
- package/docs/classes/PanoMeasurePluginLine.html +24 -0
- package/docs/classes/PanoMeasurePluginModel.html +23 -0
- package/docs/classes/PanoMeasurePluginPoint.html +7 -0
- package/docs/classes/PanoMeasurePluginPolyline.html +27 -0
- package/docs/classes/PanoTagPluginController.html +119 -0
- package/docs/classes/Sculpt.html +77 -0
- package/docs/classes/Util.BetterTween.html +6 -0
- package/docs/classes/Util.FiveDomEvents.html +13 -0
- package/docs/classes/Util.FivePuppet.html +20 -0
- package/docs/classes/Util.Interval.html +11 -0
- package/docs/classes/Util.LegacyPointHelper.html +7 -0
- package/docs/classes/Util.LightTag.html +47 -0
- package/docs/classes/Util.LineSegments.html +4 -0
- package/docs/classes/Util.Magnifier.html +26 -0
- package/docs/classes/Util.Object3D.html +8 -0
- package/docs/classes/Util.PointDomHelper.html +8 -0
- package/docs/classes/Util.PointHelper.html +10 -0
- package/docs/classes/Util.PointSelector.html +66 -0
- package/docs/classes/Util.PointSelectorHelper.html +14 -0
- package/docs/classes/Util.Rectangle.html +12 -0
- package/docs/classes/Util.sculpt.BaseEditor.html +17 -0
- package/docs/classes/Util.sculpt.BoxMesh.html +48 -0
- package/docs/classes/Util.sculpt.BoxMeshEditor.html +18 -0
- package/docs/classes/Util.sculpt.CircleMesh.html +26 -0
- package/docs/classes/Util.sculpt.CircleMeshEditor.html +18 -0
- package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +26 -0
- package/docs/classes/Util.sculpt.CylinderMesh.html +25 -0
- package/docs/classes/Util.sculpt.CylinderMeshEditor.html +18 -0
- package/docs/classes/Util.sculpt.LineMesh.html +34 -0
- package/docs/classes/Util.sculpt.PointMesh.html +24 -0
- package/docs/classes/Util.sculpt.PolygonMesh.html +40 -0
- package/docs/classes/Util.sculpt.PrismMesh.html +48 -0
- package/docs/classes/Util.sculpt.PrismMeshEditor.html +18 -0
- package/docs/classes/Util.sculpt.RectangleMesh.html +41 -0
- package/docs/classes/Util.sculpt.RectangleMeshEditor.html +18 -0
- package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +44 -0
- package/docs/classes/WalkController.html +42 -0
- package/docs/enums/CameraMovementEffect.html +4 -0
- package/docs/enums/ContentType.html +34 -0
- package/docs/enums/DIRECTION.html +5 -0
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +5 -0
- package/docs/enums/DimensionType.html +4 -0
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +4 -0
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +5 -0
- package/docs/enums/PaintBrushTypeEnum.html +4 -0
- package/docs/enums/PointType.html +4 -0
- package/docs/enums/Rotation.html +5 -0
- package/docs/functions/AreaMakerPlugin.html +1 -0
- package/docs/functions/CSS3DRenderPlugin.html +1 -0
- package/docs/functions/CameraMovementPlugin.html +2 -0
- package/docs/functions/CruisePlugin.html +1 -0
- package/docs/functions/CurrentPanoImagePlugin.html +1 -0
- package/docs/functions/FloorplanGuidePlugin.html +1 -0
- package/docs/functions/GuideLinePlugin.html +1 -0
- package/docs/functions/ItemLabelPlugin.html +1 -0
- package/docs/functions/MapviewFloorplanPlugin.html +1 -0
- package/docs/functions/MeasurePlugin.html +1 -0
- package/docs/functions/ModelChassisCompassPlugin.html +2 -0
- package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -0
- package/docs/functions/ModelFloorplanPlugin.html +1 -0
- package/docs/functions/ModelItemLabelPlugin.html +1 -0
- package/docs/functions/ModelMakerPlugin.html +1 -0
- package/docs/functions/ModelRoomLabelPlugin.html +1 -0
- package/docs/functions/ModelTVVideoPlugin.html +1 -0
- package/docs/functions/ModelViewPlugin.html +2 -0
- package/docs/functions/MovePlugin.html +1 -0
- package/docs/functions/Object3DHelperPlugin.html +1 -0
- package/docs/functions/PanoCompassPlugin.html +1 -0
- package/docs/functions/PanoCursorRaycasterPlugin.html +2 -0
- package/docs/functions/PanoDoorLabelPlugin.html +1 -0
- package/docs/functions/PanoFloorplanRadarPlugin.html +1 -0
- package/docs/functions/PanoMeasurePlugin.html +1 -0
- package/docs/functions/PanoRulerPlugin.html +2 -0
- package/docs/functions/PanoRulerProPlugin.html +2 -0
- package/docs/functions/PanoSpatialTagPlugin.html +2 -0
- package/docs/functions/PanoTagPlugin.html +1 -0
- package/docs/functions/PanoVideoPlugin.html +10 -0
- package/docs/functions/PipelinePlugin.html +1 -0
- package/docs/functions/SculptPlugin.html +2 -0
- package/docs/functions/SculptPluginForFive.html +2 -0
- package/docs/functions/TopviewFloorplanPlugin.html +1 -0
- package/docs/functions/Util.awaitNextFrame.html +1 -0
- package/docs/functions/Util.blink.html +13 -0
- package/docs/functions/Util.blinkWithPreset.html +6 -0
- package/docs/functions/Util.bounding.html +1 -0
- package/docs/functions/Util.boundingBox.html +1 -0
- package/docs/functions/Util.boundingSphere.html +1 -0
- package/docs/functions/Util.boxVertex.html +7 -0
- package/docs/functions/Util.boxVertexes.html +1 -0
- package/docs/functions/Util.checkFiveModelLoaded.html +2 -0
- package/docs/functions/Util.cleanup.html +3 -0
- package/docs/functions/Util.convexHull.html +2 -0
- package/docs/functions/Util.equal.html +5 -0
- package/docs/functions/Util.fiveModelIsLoaded.html +2 -0
- package/docs/functions/Util.generatePolygonGeometry.html +2 -0
- package/docs/functions/Util.getCoordsFromClient.html +1 -0
- package/docs/functions/Util.getCoordsFromElement.html +1 -0
- package/docs/functions/Util.getFrameTime.html +3 -0
- package/docs/functions/Util.getGeometryArea.html +1 -0
- package/docs/functions/Util.getGeometryInfo.html +1 -0
- package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -0
- package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -0
- package/docs/functions/Util.initialCSS3DRender.html +1 -0
- package/docs/functions/Util.inside.html +1 -0
- package/docs/functions/Util.isModelLike.html +1 -0
- package/docs/functions/Util.isNil.html +2 -0
- package/docs/functions/Util.isPanoramaLike.html +1 -0
- package/docs/functions/Util.lookObject.html +7 -0
- package/docs/functions/Util.lookPoint.html +5 -0
- package/docs/functions/Util.nextFrame.html +1 -0
- package/docs/functions/Util.notNil.html +2 -0
- package/docs/functions/Util.reblink.html +13 -0
- package/docs/functions/Util.replaceStaticPrefix.html +8 -0
- package/docs/functions/Util.requestAnimationFrameInterval.html +5 -0
- package/docs/functions/Util.sculpt.createBox.html +1 -0
- package/docs/functions/Util.sculpt.createCircle.html +1 -0
- package/docs/functions/Util.sculpt.createCylinder.html +1 -0
- package/docs/functions/Util.sculpt.createLine.html +2 -0
- package/docs/functions/Util.sculpt.createPoint.html +1 -0
- package/docs/functions/Util.sculpt.createPolygon.html +1 -0
- package/docs/functions/Util.sculpt.createPrism.html +1 -0
- package/docs/functions/Util.sculpt.createRectangle.html +2 -0
- package/docs/functions/Util.sculpt.transformUnit.html +1 -0
- package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -0
- package/docs/functions/Util.tag.html +1 -0
- package/docs/functions/Util.triangleArea.html +2 -0
- package/docs/functions/Util.triangleCenter.html +2 -0
- package/docs/functions/Util.tweenProgress.html +1 -0
- package/docs/functions/Util.uuid.html +2 -0
- package/docs/functions/Util.waitFiveModelLoaded.html +2 -0
- package/docs/functions/Util.worldBounding.html +1 -0
- package/docs/functions/Util.worldBoundingBox.html +1 -0
- package/docs/functions/Util.worldBoundingSphere.html +1 -0
- package/docs/functions/createPolyline.html +2 -0
- package/docs/functions/pluginFlag.html +1 -0
- package/docs/functions/validatePolygon.html +1 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +70 -0
- package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +4 -0
- package/docs/interfaces/AreaMakerPluginType.Config.html +8 -0
- package/docs/interfaces/AreaMakerPluginType.EventMap.html +25 -0
- package/docs/interfaces/AreaMakerPluginType.Params.html +4 -0
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +20 -0
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +13 -0
- package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +9 -0
- package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +3 -0
- package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +3 -0
- package/docs/interfaces/AreaMakerPluginType.State.html +8 -0
- package/docs/interfaces/BoxAnimationConfig.html +6 -0
- package/docs/interfaces/BoxPosition.html +8 -0
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +9 -0
- package/docs/interfaces/CSS3DRenderPluginState.html +7 -0
- package/docs/interfaces/CameraMovementPluginExportType.html +11 -0
- package/docs/interfaces/ContentTypeMapInterface.html +73 -0
- package/docs/interfaces/CruisePluginTypes.Config.html +7 -0
- package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +8 -0
- package/docs/interfaces/CruisePluginTypes.EventMap.html +33 -0
- package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +6 -0
- package/docs/interfaces/CruisePluginTypes.MoveAction.html +16 -0
- package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +19 -0
- package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +20 -0
- package/docs/interfaces/CruisePluginTypes.PluginData.html +8 -0
- package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -0
- package/docs/interfaces/CruisePluginTypes.PluginState.html +15 -0
- package/docs/interfaces/CurrentPanoImagePluginType.Config.html +13 -0
- package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +15 -0
- package/docs/interfaces/CurrentPanoImagePluginType.Params.html +4 -0
- package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +3 -0
- package/docs/interfaces/CurrentPanoImagePluginType.State.html +7 -0
- package/docs/interfaces/FloorplanBounding.html +9 -0
- package/docs/interfaces/FloorplanData.html +7 -0
- package/docs/interfaces/FloorplanEntrance.html +14 -0
- package/docs/interfaces/FloorplanExtraObject.html +9 -0
- package/docs/interfaces/FloorplanExtraObject3D.html +5 -0
- package/docs/interfaces/FloorplanFloorData.html +9 -0
- package/docs/interfaces/FloorplanImagePosition.html +4 -0
- package/docs/interfaces/FloorplanObserver.html +8 -0
- package/docs/interfaces/FloorplanOutlineItem.html +6 -0
- package/docs/interfaces/FloorplanPosition.html +4 -0
- package/docs/interfaces/FloorplanRoomItem.html +24 -0
- package/docs/interfaces/FloorplanRoomLabelItem.html +6 -0
- package/docs/interfaces/FloorplanServerBounding.html +9 -0
- package/docs/interfaces/FloorplanServerComputedData.html +6 -0
- package/docs/interfaces/FloorplanServerData.html +4 -0
- package/docs/interfaces/FloorplanServerDoorItem.html +6 -0
- package/docs/interfaces/FloorplanServerDoorPosition.html +4 -0
- package/docs/interfaces/FloorplanServerEntrance.html +14 -0
- package/docs/interfaces/FloorplanServerFloorData.html +8 -0
- package/docs/interfaces/FloorplanServerImagePosition.html +4 -0
- package/docs/interfaces/FloorplanServerObserver.html +8 -0
- package/docs/interfaces/FloorplanServerOutlineItem.html +6 -0
- package/docs/interfaces/FloorplanServerPosition.html +4 -0
- package/docs/interfaces/FloorplanServerRoomItem.html +27 -0
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +6 -0
- package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +4 -0
- package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +7 -0
- package/docs/interfaces/GuideLinePluginType.EventMap.html +13 -0
- package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +5 -0
- package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +8 -0
- package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -0
- package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +32 -0
- package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +4 -0
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +5 -0
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +42 -0
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +3 -0
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +57 -0
- package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -0
- package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -0
- package/docs/interfaces/GuideLinePluginType.PluginState.html +7 -0
- package/docs/interfaces/GuideLinePluginType.Route.html +13 -0
- package/docs/interfaces/HelperOffset.html +4 -0
- package/docs/interfaces/ImagePlaneGroup.html +3 -0
- package/docs/interfaces/ItemLabelPluginData.html +2 -0
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +7 -0
- package/docs/interfaces/ItemLabelPluginParametersType.html +5 -0
- package/docs/interfaces/MinMax.html +3 -0
- package/docs/interfaces/ModelChassisCompassPluginData.html +3 -0
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +4 -0
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +3 -0
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +4 -0
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +4 -0
- package/docs/interfaces/ModelItemLabelPluginData.html +2 -0
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +7 -0
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +3 -0
- package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +17 -0
- package/docs/interfaces/ModelMakerPluginType.EventMap.html +18 -0
- package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +23 -0
- package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +11 -0
- package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +10 -0
- package/docs/interfaces/ModelMakerPluginType.ServerData.html +3 -0
- package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +10 -0
- package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +10 -0
- package/docs/interfaces/ModelMakerPluginType.State.html +8 -0
- package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +11 -0
- package/docs/interfaces/ModelRoomLabelPluginData.html +2 -0
- package/docs/interfaces/ModelTVVideoPluginData.html +5 -0
- package/docs/interfaces/ModelTVVideoPluginExportType.html +4 -0
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -0
- package/docs/interfaces/ModelViewPluginExportType.html +8 -0
- package/docs/interfaces/Object3DHelperState.html +4 -0
- package/docs/interfaces/ObjectHelperControllers.html +5 -0
- package/docs/interfaces/PaintBrushAction.html +14 -0
- package/docs/interfaces/PaintBrushConfigs.html +8 -0
- package/docs/interfaces/PaintBrushState.html +6 -0
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +16 -0
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -0
- package/docs/interfaces/PanoMeasureParameterType.html +20 -0
- package/docs/interfaces/PanoMeasurePluginLineJson.html +4 -0
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +4 -0
- package/docs/interfaces/PanoMeasurePluginPointJson.html +3 -0
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +7 -0
- package/docs/interfaces/PanoRulerPluginExportType.html +6 -0
- package/docs/interfaces/PanoRulerPluginOptions.html +3 -0
- package/docs/interfaces/PanoRulerPluginParameterType.html +4 -0
- package/docs/interfaces/PanoRulerProPluginExportType.html +5 -0
- package/docs/interfaces/PanoRulerProPluginOptions.html +3 -0
- package/docs/interfaces/PanoRulerProPluginParameterType.html +3 -0
- package/docs/interfaces/PanoRulerProPluginState.html +4 -0
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -0
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -0
- package/docs/interfaces/PanoSpatialTagPluginData.html +7 -0
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +6 -0
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +9 -0
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +6 -0
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +9 -0
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +7 -0
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +6 -0
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +3 -0
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +8 -0
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -0
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +15 -0
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -0
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +14 -0
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +13 -0
- package/docs/interfaces/PluginEventMap.html +16 -0
- package/docs/interfaces/Point.html +4 -0
- package/docs/interfaces/Room.html +5 -0
- package/docs/interfaces/RoomInfo.html +3 -0
- package/docs/interfaces/RoomLabel.html +16 -0
- package/docs/interfaces/RoomRules.html +1 -0
- package/docs/interfaces/Rooms.html +1 -0
- package/docs/interfaces/Scissor.html +13 -0
- package/docs/interfaces/SculptConfig.html +19 -0
- package/docs/interfaces/State.html +7 -0
- package/docs/interfaces/TagCacheInterface.html +9 -0
- package/docs/interfaces/TagConfig.html +174 -0
- package/docs/interfaces/TagGLTFObjectGroup.html +3 -0
- package/docs/interfaces/TagIconAnimationConfig.html +7 -0
- package/docs/interfaces/TagIconUrl.html +22 -0
- package/docs/interfaces/TagObjectGroup.html +3 -0
- package/docs/interfaces/TagState.html +3 -0
- package/docs/interfaces/TagStyle.html +17 -0
- package/docs/interfaces/Tags.html +8 -0
- package/docs/interfaces/TemporaryState.html +2 -0
- package/docs/interfaces/Util.AnimeInstance.html +14 -0
- package/docs/interfaces/Util.BlinkAnimeOptions.html +21 -0
- package/docs/interfaces/Util.EventHandlerConfig.html +21 -0
- package/docs/interfaces/Util.FiveDomEvent.html +7 -0
- package/docs/interfaces/Util.FiveDomEventMap.html +20 -0
- package/docs/interfaces/Util.LegacyMouseGroupParameter.html +4 -0
- package/docs/interfaces/Util.MagnifierParameter.html +13 -0
- package/docs/interfaces/Util.MouseGroupParameter.html +4 -0
- package/docs/interfaces/Util.ObjectInitialState.html +9 -0
- package/docs/interfaces/Util.PointIntersection.html +21 -0
- package/docs/interfaces/Util.PointSelectorHelperConfig.html +6 -0
- package/docs/interfaces/Util.ReBlinkAnimeOptions.html +27 -0
- package/docs/modules/AreaMakerPluginType.html +17 -0
- package/docs/modules/CruisePluginTypes.html +14 -0
- package/docs/modules/CurrentPanoImagePluginType.html +6 -0
- package/docs/modules/GuideLineItem.html +2 -0
- package/docs/modules/GuideLineModeItem.html +3 -0
- package/docs/modules/GuideLinePluginType.html +25 -0
- package/docs/modules/ModelMakerPluginType.html +19 -0
- package/docs/modules/PanoVideoPluginType.html +8 -0
- package/docs/modules/SculptData.html +9 -0
- package/docs/modules/SculptType.html +2 -0
- package/docs/modules/Util.html +91 -0
- package/docs/modules/Util.sculpt.html +27 -0
- package/docs/modules.html +287 -0
- package/docs/types/AddObject3DHelperConfig.html +19 -0
- package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +7 -0
- package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -0
- package/docs/types/AreaMakerPluginType.PluginData.html +2 -0
- package/docs/types/AreaMakerPluginType.ServerData.html +2 -0
- package/docs/types/ArrayPosition.html +1 -0
- package/docs/types/AudioAppearance.html +1 -0
- package/docs/types/BoxTag.html +2 -0
- package/docs/types/CSS3DRenderExportType.html +1 -0
- package/docs/types/CSS3DRenderPluginExportType.html +1 -0
- package/docs/types/CSS3DRenderPluginParameterType.html +1 -0
- package/docs/types/ClassFunctionParameters.html +1 -0
- package/docs/types/Color.html +1 -0
- package/docs/types/ContentTypeConfigKey.html +1 -0
- package/docs/types/ContentTypeConfigKeySplit.html +1 -0
- package/docs/types/ContentTypeMap.html +1 -0
- package/docs/types/Create3DDomContainerReturnType.html +1 -0
- package/docs/types/Create3DElementReturnType.html +1 -0
- package/docs/types/CruisePluginExportType.html +1 -0
- package/docs/types/CruisePluginTypes.CruiseData.html +6 -0
- package/docs/types/CruisePluginTypes.MoveEffect.html +1 -0
- package/docs/types/CurrentPanoImagePluginExportType.html +1 -0
- package/docs/types/DeprecatedMediaPlaneProperty.html +3 -0
- package/docs/types/DeprecatedTagProperty.html +3 -0
- package/docs/types/Direction-1.html +1 -0
- package/docs/types/Direction4.html +1 -0
- package/docs/types/ElementRenderer.html +2 -0
- package/docs/types/FloorplanGuidePluginParameterType.html +1 -0
- package/docs/types/FloorplanGuidePluginReturnType.html +1 -0
- package/docs/types/FloorplanRuleLabels.html +2 -0
- package/docs/types/FloorplanServerRuleLabels.html +1 -0
- package/docs/types/GuideLinePluginExportType.html +1 -0
- package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -0
- package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -0
- package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -0
- package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -0
- package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -0
- package/docs/types/GuideLinePluginType.PathItem.html +2 -0
- package/docs/types/GuideLinePluginType.PluginData.html +2 -0
- package/docs/types/GuideLinePluginType.RouteConfig.html +4 -0
- package/docs/types/HelperEventMap.html +1 -0
- package/docs/types/InternalHelperEventMap.html +1 -0
- package/docs/types/MapviewFloorplanPluginParameterType.html +1 -0
- package/docs/types/MapviewFloorplanPluginReturnType.html +1 -0
- package/docs/types/MaskPosition.html +3 -0
- package/docs/types/MaskTag.html +2 -0
- package/docs/types/MeasureEndReason.html +1 -0
- package/docs/types/MeasurePluginConfig.html +5 -0
- package/docs/types/MeasurePluginEventMap.html +1 -0
- package/docs/types/MediaData.html +2 -0
- package/docs/types/MediaStore.html +1 -0
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -0
- package/docs/types/ModelFloorplanPluginParameterType.html +1 -0
- package/docs/types/ModelFloorplanPluginReturnType.html +1 -0
- package/docs/types/ModelId.html +1 -0
- package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -0
- package/docs/types/ModelMakerPluginType.ItemType.html +2 -0
- package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -0
- package/docs/types/ModelMakerPluginType.ServerItem.html +2 -0
- package/docs/types/ModelRoomLabelPluginParameters.html +1 -0
- package/docs/types/ModelRoomLabelPluginReturnType.html +1 -0
- package/docs/types/MoveArgs.html +2 -0
- package/docs/types/MoveOpts.html +2 -0
- package/docs/types/Object3DHelperEventMap.html +1 -0
- package/docs/types/ObjectFit.html +1 -0
- package/docs/types/PaintBrushEventMap.html +1 -0
- package/docs/types/PanoCompassPluginData.html +1 -0
- package/docs/types/PanoCompassPluginExportType.html +1 -0
- package/docs/types/PanoCompassPluginParameterType.html +1 -0
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -0
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -0
- package/docs/types/PanoIndex.html +1 -0
- package/docs/types/PanoMeasurePluginEvent.html +1 -0
- package/docs/types/PanoMeasureReturnType.html +1 -0
- package/docs/types/PanoSpatialTagPluginId.html +1 -0
- package/docs/types/PanoTagPluginExportInterface.html +1 -0
- package/docs/types/PanoTagPluginParamsInterface.html +1 -0
- package/docs/types/PanoVideoPluginParameterType.html +1 -0
- package/docs/types/PanoVideoPluginReturnType.html +1 -0
- package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -0
- package/docs/types/PipelinePluginParameterType.html +1 -0
- package/docs/types/PipelinePluginReturnType.html +1 -0
- package/docs/types/PlaneTag.html +2 -0
- package/docs/types/Point2DTag.html +2 -0
- package/docs/types/Point3DTag.html +2 -0
- package/docs/types/PointTagInstance.html +1 -0
- package/docs/types/PolygonPosition.html +3 -0
- package/docs/types/PolygonTag.html +2 -0
- package/docs/types/Position.html +1 -0
- package/docs/types/PositionFrom.html +1 -0
- package/docs/types/RotateArgs.html +2 -0
- package/docs/types/RotateOpts.html +2 -0
- package/docs/types/RuleLabelsKey.html +1 -0
- package/docs/types/RuleLabelsValue.html +1 -0
- package/docs/types/ScaleCallback.html +1 -0
- package/docs/types/ScalePosition.html +3 -0
- package/docs/types/SculptData.BoxData.html +1 -0
- package/docs/types/SculptData.CircleData.html +1 -0
- package/docs/types/SculptData.CylinderData.html +1 -0
- package/docs/types/SculptData.PointData.html +1 -0
- package/docs/types/SculptData.PolygonData.html +1 -0
- package/docs/types/SculptData.PolylineData.html +1 -0
- package/docs/types/SculptData.PrismData.html +1 -0
- package/docs/types/SculptData.RectangleData.html +1 -0
- package/docs/types/SculptType.Theme.html +10 -0
- package/docs/types/StickType.html +1 -0
- package/docs/types/Tag.html +17 -0
- package/docs/types/Tag2D.html +2 -0
- package/docs/types/Tag3D.html +2 -0
- package/docs/types/TagClickParams.html +1 -0
- package/docs/types/TagConfigByKey.html +1 -0
- package/docs/types/TagContentType.html +1 -0
- package/docs/types/TagContentTypeMapping.html +1 -0
- package/docs/types/TagDimensionType.html +1 -0
- package/docs/types/TagElement.html +2 -0
- package/docs/types/TagEvents.html +1 -0
- package/docs/types/TagGLTFObject.html +1 -0
- package/docs/types/TagHooks.html +1 -0
- package/docs/types/TagId.html +1 -0
- package/docs/types/TagInstance.html +1 -0
- package/docs/types/TagPlacement.html +5 -0
- package/docs/types/TagPointType.html +2 -0
- package/docs/types/TagRendererMap.html +1 -0
- package/docs/types/TopviewFloorplanPluginParameterType.html +1 -0
- package/docs/types/TopviewFloorplanPluginReturnType.html +1 -0
- package/docs/types/Util.ActionIfNoIntersection.html +1 -0
- package/docs/types/Util.AdherePoint.html +2 -0
- package/docs/types/Util.PointSelectorConfig.html +1 -0
- package/docs/types/Util.SupportedTarget.html +2 -0
- package/docs/types/Util.Target.html +2 -0
- package/docs/types/Util.ThreeObject.html +2 -0
- package/docs/types/WorkCode.html +1 -0
- package/docs/variables/FLOOR_TYPE_MAP.html +2 -0
- package/docs/variables/PLUGIN.html +1 -0
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -0
- package/docs/variables/ROOM_TYPE_MAP.html +2 -0
- package/docs/variables/Util.ANIME_PRESETS.html +2 -0
- package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -0
- package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -0
- package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -0
- package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -0
- package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -0
- package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -0
- package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -0
- package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -0
- package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -0
- package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -0
- package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -0
- package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -0
- package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -0
- package/docs/variables/defaultGlobalConfig.html +1 -0
- package/docs/variables/itemLabelPluginServerParams.html +1 -0
- package/docs/variables/modelItemLabelPluginServerParams.html +1 -0
- package/docs/variables/modelRoomLabelPluginServerParams.html +1 -0
- package/libs/CruisePlugin/Move.js +7 -2
- package/libs/CruisePlugin/Work.js +7 -2
- package/libs/CruisePlugin/index.js +11 -6
- package/libs/GuideLinePlugin/Controller.js +9 -4
- package/libs/GuideLinePlugin/GuideLineItem.js +7 -2
- package/libs/GuideLinePlugin/GuideLineModeItem.js +7 -2
- package/libs/GuideLinePlugin/index.js +11 -6
- package/libs/PanoTagPlugin/Components/TagItem.js +122 -122
- package/libs/PanoTagPlugin/controller/Tag/BaseTag.d.ts +5 -1
- package/libs/PanoTagPlugin/controller/Tag/BaseTag.js +320 -289
- package/libs/PanoTagPlugin/controller/Tag/BoxTag.d.ts +118 -0
- package/libs/PanoTagPlugin/controller/Tag/BoxTag.js +505 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.d.ts +157 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.js +492 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +13 -0
- package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.js +89 -0
- package/libs/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +112 -0
- package/libs/PanoTagPlugin/controller/Tag/PolygonTag.js +478 -0
- package/libs/PanoTagPlugin/controller/TagRender.d.ts +1 -1
- package/libs/PanoTagPlugin/controller/TagUtil.js +21 -19
- package/libs/PanoTagPlugin/controller/index.d.ts +36 -1
- package/libs/PanoTagPlugin/controller/index.js +184 -121
- package/libs/PanoTagPlugin/index.js +16 -11
- package/libs/PanoTagPlugin/typings/controller.d.ts +10 -0
- package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +8 -3
- package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +50 -1
- package/libs/PanoTagPlugin/utils/addDebugPoints.js +27 -13
- package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
- package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.js +18 -0
- package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +6 -0
- package/libs/PanoTagPlugin/utils/tag/tagCheck.js +26 -14
- package/libs/PanoTagPlugin/utils/tagPosition.d.ts +2 -2
- package/libs/PanoTagPlugin/utils/tagPosition.js +46 -17
- package/libs/base/BasePlugin.js +5 -5
- package/libs/index.js +155 -150
- package/libs/shared-utils/logger.js +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,9 @@ import type { PartialObjectDeep } from '../../../typings/typings';
|
|
|
12
12
|
import type { LiteralUnion } from 'type-fest';
|
|
13
13
|
import type { CSS3DObjectPlus } from '../../../shared-utils/CSS3DRender/CSS3DObject';
|
|
14
14
|
import type { Rectangle } from '../../../Sculpt/Objects/Rectangle';
|
|
15
|
-
import { Line } from '@realsee/five/line';
|
|
15
|
+
import type { Line } from '@realsee/five/line';
|
|
16
|
+
import type { Box } from '../../../Sculpt/Objects/Box';
|
|
17
|
+
import type { Polygon } from '../../../Sculpt/typings';
|
|
16
18
|
/**
|
|
17
19
|
* @description 标签实例
|
|
18
20
|
* @property `id` 标签id
|
|
@@ -88,6 +90,8 @@ export declare abstract class BaseTag<C extends TagContentType = TagContentType,
|
|
|
88
90
|
dispose: () => void;
|
|
89
91
|
};
|
|
90
92
|
rectanglePlane?: Rectangle;
|
|
93
|
+
boxShape?: Box;
|
|
94
|
+
polygonShape?: Polygon;
|
|
91
95
|
dom?: HTMLDivElement;
|
|
92
96
|
contentDom?: HTMLDivElement;
|
|
93
97
|
initialConfig: TagData['config'];
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type PanoTagPluginController from '..';
|
|
2
|
+
import type { TagContentType, Tag as TagData, TagInstance, ArrayPosition, TagClickParams } from '../..';
|
|
3
|
+
import { BaseTag } from './BaseTag';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import type { PartialObjectDeep } from '../../../typings/typings';
|
|
6
|
+
import type { Tag } from '../..';
|
|
7
|
+
import { Box } from '../../../Sculpt/Objects/Box';
|
|
8
|
+
export type BoxTagInterface<C extends TagContentType = TagContentType> = TagInstance<C, '3DBox'>;
|
|
9
|
+
/**
|
|
10
|
+
* 3DBox 类型的标签
|
|
11
|
+
* 使用 Sculpt Box 进行渲染,避免复杂的坐标转换
|
|
12
|
+
*/
|
|
13
|
+
export declare class BoxTag<C extends TagContentType = TagContentType> extends BaseTag<C, '3DBox'> {
|
|
14
|
+
boxShape?: Box;
|
|
15
|
+
private tagStyle?;
|
|
16
|
+
private clickEventDispose?;
|
|
17
|
+
private domClickDispose?;
|
|
18
|
+
screenPosition: {
|
|
19
|
+
leftPx: number;
|
|
20
|
+
topPx: number;
|
|
21
|
+
scale: number;
|
|
22
|
+
} | null;
|
|
23
|
+
constructor(plugin: PanoTagPluginController, tagData: TagData);
|
|
24
|
+
/**
|
|
25
|
+
* 获取 Box 样式配置(合并用户配置和默认值)
|
|
26
|
+
*/
|
|
27
|
+
private getBoxStyle;
|
|
28
|
+
/**
|
|
29
|
+
* 更新 Box 样式
|
|
30
|
+
*/
|
|
31
|
+
private updateBoxStyle;
|
|
32
|
+
/**
|
|
33
|
+
* 更新标签数据
|
|
34
|
+
*/
|
|
35
|
+
set(tag: PartialObjectDeep<Tag<C, '3DBox'>>, deepMerge?: boolean): void;
|
|
36
|
+
/**
|
|
37
|
+
* 设置标签数据
|
|
38
|
+
*/
|
|
39
|
+
setData(...data: Parameters<InstanceType<typeof BaseTag<C, '3DBox'>>['setData']>): void;
|
|
40
|
+
/**
|
|
41
|
+
* 获取盒子的中心点
|
|
42
|
+
*/
|
|
43
|
+
getCenter(): ArrayPosition;
|
|
44
|
+
/**
|
|
45
|
+
* 获取盒子的8个角点坐标
|
|
46
|
+
*/
|
|
47
|
+
getCorners(): THREE.Vector3[];
|
|
48
|
+
/**
|
|
49
|
+
* 计算盒子的法向量
|
|
50
|
+
*/
|
|
51
|
+
computeNormal(): THREE.Vector3;
|
|
52
|
+
/**
|
|
53
|
+
* 初始化 Sculpt Box
|
|
54
|
+
*/
|
|
55
|
+
private initializeSculptBox;
|
|
56
|
+
/**
|
|
57
|
+
* 设置点击事件
|
|
58
|
+
*/
|
|
59
|
+
private setupClickEvents;
|
|
60
|
+
/**
|
|
61
|
+
* 清理点击事件
|
|
62
|
+
*/
|
|
63
|
+
private cleanupClickEvents;
|
|
64
|
+
/**
|
|
65
|
+
* 更新 Sculpt Box 的数据
|
|
66
|
+
*/
|
|
67
|
+
private updateSculptBox;
|
|
68
|
+
/**
|
|
69
|
+
* 启用编辑器
|
|
70
|
+
* 用于编辑已存在的 Box
|
|
71
|
+
*/
|
|
72
|
+
editorEnable(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* 禁用编辑器
|
|
75
|
+
*/
|
|
76
|
+
editorDisable(): void;
|
|
77
|
+
/**
|
|
78
|
+
* 从 Sculpt Box 同步 position 到 BoxTag
|
|
79
|
+
*/
|
|
80
|
+
private syncBoxPositionFromSculpt;
|
|
81
|
+
/**
|
|
82
|
+
* 将 BoxPosition 转换为 Sculpt 需要的数据格式
|
|
83
|
+
*/
|
|
84
|
+
private boxPositionToSculptData;
|
|
85
|
+
/**
|
|
86
|
+
* @description 点击事件处理
|
|
87
|
+
*/
|
|
88
|
+
onClick(params: Pick<TagClickParams, 'target'>): void;
|
|
89
|
+
/**
|
|
90
|
+
* @description 展开自己,收起其他标签
|
|
91
|
+
*/
|
|
92
|
+
unfoldAndFoldOthers(): void;
|
|
93
|
+
/**
|
|
94
|
+
* 展开标签详情
|
|
95
|
+
*/
|
|
96
|
+
unfold(): void;
|
|
97
|
+
/**
|
|
98
|
+
* 折叠标签详情
|
|
99
|
+
*/
|
|
100
|
+
fold(): void;
|
|
101
|
+
/**
|
|
102
|
+
* 设置展开/折叠状态
|
|
103
|
+
*/
|
|
104
|
+
setUnfold(unfolded: boolean): void;
|
|
105
|
+
/**
|
|
106
|
+
* 更新屏幕位置(用于在 2D UI 中显示内容)
|
|
107
|
+
* 显示在 Box 最右侧的顶点位置
|
|
108
|
+
*/
|
|
109
|
+
updateScreenPosition(): void;
|
|
110
|
+
/**
|
|
111
|
+
* 应用可见性变化
|
|
112
|
+
*/
|
|
113
|
+
applyVisible(): void;
|
|
114
|
+
/**
|
|
115
|
+
* 销毁标签
|
|
116
|
+
*/
|
|
117
|
+
dispose(): void;
|
|
118
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type PanoTagPluginController from '..';
|
|
2
|
+
import type { TagContentType, Tag as TagData, TagInstance, TagClickParams } from '../..';
|
|
3
|
+
import { BaseTag } from './BaseTag';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import type { PartialObjectDeep } from '../../../typings/typings';
|
|
6
|
+
import type { Tag } from '../..';
|
|
7
|
+
import type { State as FiveState } from '@realsee/five';
|
|
8
|
+
export type MaskTagInterface<C extends TagContentType = TagContentType> = TagInstance<C, 'Mask'>;
|
|
9
|
+
/**
|
|
10
|
+
* Mask 类型的标签
|
|
11
|
+
* 基于全景图 mask 和颜色区域进行物体标记
|
|
12
|
+
*/
|
|
13
|
+
export declare class MaskTag<C extends TagContentType = TagContentType> extends BaseTag<C, 'Mask'> {
|
|
14
|
+
/**
|
|
15
|
+
* Mask 纹理缓存(静态,所有 MaskTag 实例共享)
|
|
16
|
+
* key: mask URL, value: { texture: THREE.Texture, refCount: number, abortController?: AbortController }
|
|
17
|
+
*/
|
|
18
|
+
private static maskTextureCache;
|
|
19
|
+
/**
|
|
20
|
+
* mask 图片 URL(2:1 全景图格式)
|
|
21
|
+
*/
|
|
22
|
+
maskUrl: string;
|
|
23
|
+
/**
|
|
24
|
+
* 目标颜色(RGB 格式)
|
|
25
|
+
*/
|
|
26
|
+
targetColor: [number, number, number];
|
|
27
|
+
/**
|
|
28
|
+
* mask 渲染的 mesh 对象(使用 Sphere)
|
|
29
|
+
*/
|
|
30
|
+
maskMesh?: THREE.Mesh;
|
|
31
|
+
/**
|
|
32
|
+
* mask 纹理对象
|
|
33
|
+
*/
|
|
34
|
+
private maskTexture?;
|
|
35
|
+
/**
|
|
36
|
+
* 是否正在加载 mask
|
|
37
|
+
*/
|
|
38
|
+
private loadingMask;
|
|
39
|
+
/**
|
|
40
|
+
* 标签样式配置
|
|
41
|
+
*/
|
|
42
|
+
private tagStyle?;
|
|
43
|
+
/**
|
|
44
|
+
* 点击事件清理函数
|
|
45
|
+
*/
|
|
46
|
+
private clickEventDispose?;
|
|
47
|
+
constructor(plugin: PanoTagPluginController, tagData: TagData);
|
|
48
|
+
/**
|
|
49
|
+
* 计算法向量
|
|
50
|
+
* Mask 标签返回向上的法向量(因为是贴在 cube 面上)
|
|
51
|
+
*/
|
|
52
|
+
computeNormal(): THREE.Vector3;
|
|
53
|
+
/**
|
|
54
|
+
* 更新标签数据
|
|
55
|
+
*/
|
|
56
|
+
set(tag: PartialObjectDeep<Tag<C, 'Mask'>>, deepMerge?: boolean): void;
|
|
57
|
+
/**
|
|
58
|
+
* 重写 getVisible 方法
|
|
59
|
+
* Mask 标签仅在当前点位可见
|
|
60
|
+
*/
|
|
61
|
+
getVisible(fiveState?: Partial<FiveState>): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* 点击事件处理
|
|
64
|
+
*/
|
|
65
|
+
onClick(params: Pick<TagClickParams, 'target'>): void;
|
|
66
|
+
/**
|
|
67
|
+
* 展开自己,收起其他标签
|
|
68
|
+
*/
|
|
69
|
+
unfoldAndFoldOthers(): void;
|
|
70
|
+
/**
|
|
71
|
+
* 展开标签详情
|
|
72
|
+
*/
|
|
73
|
+
unfold(): void;
|
|
74
|
+
/**
|
|
75
|
+
* 折叠标签详情
|
|
76
|
+
*/
|
|
77
|
+
fold(): void;
|
|
78
|
+
/**
|
|
79
|
+
* 设置展开/折叠状态
|
|
80
|
+
*/
|
|
81
|
+
setUnfold(unfolded: boolean): void;
|
|
82
|
+
/**
|
|
83
|
+
* 更新屏幕位置
|
|
84
|
+
*/
|
|
85
|
+
updateScreenPosition(): void;
|
|
86
|
+
/**
|
|
87
|
+
* 应用可见性变化
|
|
88
|
+
*/
|
|
89
|
+
applyVisible(): void;
|
|
90
|
+
/**
|
|
91
|
+
* 更新 mesh 的位置和旋转(跟随观察者)
|
|
92
|
+
* 参考 itemMask 实现
|
|
93
|
+
*/
|
|
94
|
+
private updateMeshTransform;
|
|
95
|
+
/**
|
|
96
|
+
* 初始化 Mask Mesh(使用 Sphere)
|
|
97
|
+
*/
|
|
98
|
+
private initializeMaskMesh;
|
|
99
|
+
/**
|
|
100
|
+
* 创建 Sphere mesh(参考 itemMask 实现)
|
|
101
|
+
*/
|
|
102
|
+
private createSphereMesh;
|
|
103
|
+
/**
|
|
104
|
+
* 获取 Mask 样式配置(合并用户配置和默认值)
|
|
105
|
+
*/
|
|
106
|
+
private getMaskStyle;
|
|
107
|
+
/**
|
|
108
|
+
* 设置点击事件
|
|
109
|
+
*/
|
|
110
|
+
private setupClickEvents;
|
|
111
|
+
/**
|
|
112
|
+
* 清理点击事件
|
|
113
|
+
*/
|
|
114
|
+
private cleanupClickEvents;
|
|
115
|
+
/**
|
|
116
|
+
* 重新加载 mask 图
|
|
117
|
+
*/
|
|
118
|
+
private reloadMask;
|
|
119
|
+
/**
|
|
120
|
+
* 更新 mask 样式
|
|
121
|
+
*/
|
|
122
|
+
private updateMaskStyle;
|
|
123
|
+
/**
|
|
124
|
+
* 销毁标签
|
|
125
|
+
*/
|
|
126
|
+
dispose(): void;
|
|
127
|
+
/**
|
|
128
|
+
* 加载 Mask 纹理(静态方法,支持缓存和引用计数)
|
|
129
|
+
* @param maskUrl mask 图片 URL
|
|
130
|
+
* @returns Promise<THREE.Texture>
|
|
131
|
+
*/
|
|
132
|
+
private static loadMaskTexture;
|
|
133
|
+
/**
|
|
134
|
+
* 释放 Mask 纹理(静态方法)
|
|
135
|
+
* @param maskUrl mask 图片 URL
|
|
136
|
+
*/
|
|
137
|
+
private static releaseMaskTexture;
|
|
138
|
+
/**
|
|
139
|
+
* 获取当前缓存的纹理统计信息(用于性能监控和调试)
|
|
140
|
+
* @returns 缓存统计信息
|
|
141
|
+
*/
|
|
142
|
+
static getCacheStats(): {
|
|
143
|
+
totalCached: number;
|
|
144
|
+
totalRefCount: number;
|
|
145
|
+
estimatedMemoryMB: number;
|
|
146
|
+
cacheEntries: Array<{
|
|
147
|
+
url: string;
|
|
148
|
+
refCount: number;
|
|
149
|
+
sizeMB: number;
|
|
150
|
+
}>;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* 强制清理所有缓存的纹理(用于内存管理,谨慎使用)
|
|
154
|
+
* 注意:这会释放所有纹理,即使它们仍在使用中
|
|
155
|
+
*/
|
|
156
|
+
static clearAllCache(): void;
|
|
157
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mask 标签的 Shader 代码
|
|
3
|
+
* 参考 itemMask 插件实现
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Vertex Shader
|
|
7
|
+
*/
|
|
8
|
+
export declare const maskVertexShader = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n";
|
|
9
|
+
/**
|
|
10
|
+
* Fragment Shader
|
|
11
|
+
* 实现颜色匹配和高亮渲染逻辑
|
|
12
|
+
*/
|
|
13
|
+
export declare const maskFragmentShader = "\n#extension GL_OES_standard_derivatives : enable\n\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform vec4 color;\nuniform float tolerance;\nuniform vec3 highlightColor;\nuniform float opacity;\n\nfloat colorGap(vec3 color1, vec3 color2) {\n float gap = abs(color1.r - color2.r) + abs(color1.g - color2.g) + abs(color1.b - color2.b);\n return gap;\n}\n\nvoid main() {\n vec4 image = texture2D(map, vUv);\n \n // \u8BA1\u7B97\u5F53\u524D\u50CF\u7D20\u4E0E\u76EE\u6807\u989C\u8272\u7684\u5DEE\u5F02\n float gap = colorGap(image.rgb, color.rgb);\n \n // \u6392\u9664\u9ED1\u8272\u50CF\u7D20\n if (image.r == 0.0 && image.g == 0.0 && image.b == 0.0) {\n discard;\n }\n \n // \u4F7F\u7528 fwidth \u8BA1\u7B97\u68AF\u5EA6\uFF0C\u5B9E\u73B0\u5E73\u6ED1\u7684\u989C\u8272\u5339\u914D\u8FB9\u754C\n #ifdef GL_OES_standard_derivatives\n float smoothRange = fwidth(gap) * 3.0;\n #else\n float smoothRange = 0.01;\n #endif\n \n // \u5E73\u6ED1\u7684\u989C\u8272\u5339\u914D\u56E0\u5B50\uFF080-1\uFF09\n float matchFactor = 1.0 - smoothstep(tolerance - smoothRange, tolerance + smoothRange, gap);\n \n if (matchFactor > 0.0) {\n // \u68C0\u6D4B\u8FB9\u7F18\uFF1A\u91C7\u6837\u5468\u56F4\u50CF\u7D20\n float edgeWidth = 0.004;\n \n vec4 colorLeft = texture2D(map, vUv + vec2(-edgeWidth, 0.0));\n vec4 colorRight = texture2D(map, vUv + vec2(edgeWidth, 0.0));\n vec4 colorUp = texture2D(map, vUv + vec2(0.0, -edgeWidth));\n vec4 colorDown = texture2D(map, vUv + vec2(0.0, edgeWidth));\n \n // \u8BA1\u7B97\u8FB9\u7F18\u5F3A\u5EA6\n float edgeStrength = 0.0;\n \n if (colorGap(colorLeft.rgb, color.rgb) >= tolerance || (colorLeft.r == 0.0 && colorLeft.g == 0.0 && colorLeft.b == 0.0)) {\n edgeStrength += 0.25;\n }\n if (colorGap(colorRight.rgb, color.rgb) >= tolerance || (colorRight.r == 0.0 && colorRight.g == 0.0 && colorRight.b == 0.0)) {\n edgeStrength += 0.25;\n }\n if (colorGap(colorUp.rgb, color.rgb) >= tolerance || (colorUp.r == 0.0 && colorUp.g == 0.0 && colorUp.b == 0.0)) {\n edgeStrength += 0.25;\n }\n if (colorGap(colorDown.rgb, color.rgb) >= tolerance || (colorDown.r == 0.0 && colorDown.g == 0.0 && colorDown.b == 0.0)) {\n edgeStrength += 0.25;\n }\n \n // \u8FB9\u7F18\u5E73\u6ED1\u8FC7\u6E21\uFF1AedgeStrength \u8D8A\u5927\u8D8A\u63A5\u8FD1\u8FB9\u7F18\n float alpha = mix(opacity, 1.0, smoothstep(0.0, 0.3, edgeStrength));\n \n // \u5E94\u7528\u5339\u914D\u56E0\u5B50\uFF08\u5E73\u6ED1\u989C\u8272\u8FB9\u754C\uFF09\n alpha *= matchFactor;\n \n gl_FragColor = vec4(highlightColor, alpha);\n } else {\n discard;\n }\n}\n";
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type PanoTagPluginController from '..';
|
|
2
|
+
import type { TagContentType, Tag as TagData, TagInstance, ArrayPosition, TagClickParams } from '../..';
|
|
3
|
+
import { BaseTag } from './BaseTag';
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import type { PartialObjectDeep } from '../../../typings/typings';
|
|
6
|
+
import type { Tag } from '../..';
|
|
7
|
+
import { Polygon } from '../../../Sculpt/Objects/Polygon';
|
|
8
|
+
export type PolygonTagInterface<C extends TagContentType = TagContentType> = TagInstance<C, 'Polygon'>;
|
|
9
|
+
/**
|
|
10
|
+
* Polygon 类型的标签
|
|
11
|
+
* 使用 Sculpt Polygon 进行渲染
|
|
12
|
+
*/
|
|
13
|
+
export declare class PolygonTag<C extends TagContentType = TagContentType> extends BaseTag<C, 'Polygon'> {
|
|
14
|
+
polygonShape?: Polygon;
|
|
15
|
+
private tagStyle?;
|
|
16
|
+
private clickEventDispose?;
|
|
17
|
+
private domClickDispose?;
|
|
18
|
+
screenPosition: {
|
|
19
|
+
leftPx: number;
|
|
20
|
+
topPx: number;
|
|
21
|
+
scale: number;
|
|
22
|
+
} | null;
|
|
23
|
+
constructor(plugin: PanoTagPluginController, tagData: TagData);
|
|
24
|
+
/**
|
|
25
|
+
* 获取 Polygon 样式配置(合并用户配置和默认值)
|
|
26
|
+
*/
|
|
27
|
+
private getPolygonStyle;
|
|
28
|
+
/**
|
|
29
|
+
* 更新 Polygon 样式
|
|
30
|
+
*/
|
|
31
|
+
private updatePolygonStyle;
|
|
32
|
+
/**
|
|
33
|
+
* 更新标签数据
|
|
34
|
+
*/
|
|
35
|
+
set(tag: PartialObjectDeep<Tag<C, 'Polygon'>>, deepMerge?: boolean): void;
|
|
36
|
+
/**
|
|
37
|
+
* 获取多边形的所有角点(世界坐标)
|
|
38
|
+
*/
|
|
39
|
+
getCorners(): THREE.Vector3[];
|
|
40
|
+
getCenter(): ArrayPosition;
|
|
41
|
+
/**
|
|
42
|
+
* 计算多边形的法向量
|
|
43
|
+
* 使用前三个点来计算平面的法向量
|
|
44
|
+
*/
|
|
45
|
+
computeNormal(): THREE.Vector3 | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* 初始化 Sculpt Polygon
|
|
48
|
+
*/
|
|
49
|
+
private initializeSculptPolygon;
|
|
50
|
+
/**
|
|
51
|
+
* 设置点击事件
|
|
52
|
+
*/
|
|
53
|
+
private setupClickEvents;
|
|
54
|
+
/**
|
|
55
|
+
* 清理点击事件
|
|
56
|
+
*/
|
|
57
|
+
private cleanupClickEvents;
|
|
58
|
+
/**
|
|
59
|
+
* 更新 Sculpt Polygon 的数据
|
|
60
|
+
*/
|
|
61
|
+
private updateSculptPolygon;
|
|
62
|
+
/**
|
|
63
|
+
* 启用编辑器
|
|
64
|
+
* 用于编辑已存在的 Polygon
|
|
65
|
+
*/
|
|
66
|
+
editorEnable(): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* 禁用编辑器
|
|
69
|
+
*/
|
|
70
|
+
editorDisable(): void;
|
|
71
|
+
/**
|
|
72
|
+
* 同步 Sculpt Polygon 的数据到 PolygonPosition
|
|
73
|
+
*/
|
|
74
|
+
private syncPolygonPositionFromSculpt;
|
|
75
|
+
/**
|
|
76
|
+
* @description 点击事件处理
|
|
77
|
+
*/
|
|
78
|
+
onClick(params: Pick<TagClickParams, 'target'>): void;
|
|
79
|
+
/**
|
|
80
|
+
* @description 展开自己,收起其他标签
|
|
81
|
+
*/
|
|
82
|
+
unfoldAndFoldOthers(): void;
|
|
83
|
+
/**
|
|
84
|
+
* 展开标签详情
|
|
85
|
+
*/
|
|
86
|
+
unfold(): void;
|
|
87
|
+
/**
|
|
88
|
+
* 折叠标签详情
|
|
89
|
+
*/
|
|
90
|
+
fold(): void;
|
|
91
|
+
/**
|
|
92
|
+
* 设置展开/折叠状态
|
|
93
|
+
*/
|
|
94
|
+
setUnfold(unfolded: boolean): void;
|
|
95
|
+
/**
|
|
96
|
+
* 获取多边形的中心点
|
|
97
|
+
*/
|
|
98
|
+
private getPolygonCenter;
|
|
99
|
+
/**
|
|
100
|
+
* 更新屏幕位置(用于在 2D UI 中显示内容)
|
|
101
|
+
* 显示在 Polygon 最右侧的顶点位置
|
|
102
|
+
*/
|
|
103
|
+
updateScreenPosition(): void;
|
|
104
|
+
/**
|
|
105
|
+
* 应用可见性变化
|
|
106
|
+
*/
|
|
107
|
+
applyVisible(): void;
|
|
108
|
+
/**
|
|
109
|
+
* 销毁标签
|
|
110
|
+
*/
|
|
111
|
+
dispose(): void;
|
|
112
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TagObjectGroup, TagGLTFObjectGroup, ImagePlaneGroup, TagContentType, ElementRenderer, TagRendererMap, TagContentTypeMapping } from '../typings';
|
|
2
2
|
import type { TemporaryState } from '../typings';
|
|
3
|
-
import TagContainerSvelte from '../Components/TagContainer.svelte';
|
|
3
|
+
import type TagContainerSvelte from '../Components/TagContainer.svelte';
|
|
4
4
|
import type { Five } from '@realsee/five';
|
|
5
5
|
import { TagUtil } from './TagUtil';
|
|
6
6
|
export declare abstract class TagRender extends TagUtil {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Tag, TagId, Tags, State, ContentTypeConfigKey } from '../typings';
|
|
2
2
|
import type { TagClickParams, TagConfigByKey, TagContentType } from '..';
|
|
3
3
|
import type { ArrayPosition } from '../typings';
|
|
4
|
-
import {
|
|
4
|
+
import type { Five } from '@realsee/five';
|
|
5
5
|
import { TagRender } from './TagRender';
|
|
6
6
|
import type { PartialObjectDeep } from '../../typings/typings';
|
|
7
7
|
export declare const pluginFlag: (name: string) => string;
|
|
@@ -166,6 +166,41 @@ declare class PanoTagPluginController extends TagRender {
|
|
|
166
166
|
* @returns 是否为有效的 ArrayPosition
|
|
167
167
|
*/
|
|
168
168
|
private isValidArrayPosition;
|
|
169
|
+
/**
|
|
170
|
+
* 更新当前点位的 Mask 标签
|
|
171
|
+
* Mask 标签仅在当前点位可见
|
|
172
|
+
*/
|
|
173
|
+
private updateMaskTagsForCurrentPano;
|
|
174
|
+
/**
|
|
175
|
+
* 获取所有 Mask 类型的标签
|
|
176
|
+
*/
|
|
177
|
+
get filterMaskTag(): (import("./Tag/BaseTag").BaseTag<"Panorama" | "Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", import("..").StickType> & {
|
|
178
|
+
[key: string]: any;
|
|
179
|
+
})[];
|
|
180
|
+
/**
|
|
181
|
+
* 获取 MaskTag 性能统计信息(用于性能监控和调试)
|
|
182
|
+
* @returns 性能统计信息
|
|
183
|
+
*/
|
|
184
|
+
getMaskTagPerformanceStats(): {
|
|
185
|
+
totalMaskTags: number;
|
|
186
|
+
visibleMaskTags: number;
|
|
187
|
+
textureCache: {
|
|
188
|
+
totalCached: number;
|
|
189
|
+
totalRefCount: number;
|
|
190
|
+
estimatedMemoryMB: number;
|
|
191
|
+
cacheEntries: {
|
|
192
|
+
url: string;
|
|
193
|
+
refCount: number;
|
|
194
|
+
sizeMB: number;
|
|
195
|
+
}[];
|
|
196
|
+
};
|
|
197
|
+
currentPanoIndex: number;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* 清理所有 MaskTag 纹理缓存(用于内存管理)
|
|
201
|
+
* 注意:这会释放所有纹理缓存,谨慎使用
|
|
202
|
+
*/
|
|
203
|
+
clearMaskTagCache(): void;
|
|
169
204
|
}
|
|
170
205
|
export default PanoTagPluginController;
|
|
171
206
|
export { PanoTagPluginController };
|
|
@@ -33,6 +33,15 @@ export type TagClickParams = {
|
|
|
33
33
|
} | {
|
|
34
34
|
target: 'TagPopoverContent';
|
|
35
35
|
tag: TagInstance;
|
|
36
|
+
} | {
|
|
37
|
+
target: 'TagBoxModel';
|
|
38
|
+
tag: TagInstance;
|
|
39
|
+
} | {
|
|
40
|
+
target: 'TagPolygonModel';
|
|
41
|
+
tag: TagInstance;
|
|
42
|
+
} | {
|
|
43
|
+
target: 'TagMaskModel';
|
|
44
|
+
tag: TagInstance;
|
|
36
45
|
});
|
|
37
46
|
export interface PluginEventMap extends BasePlugin.EventMap<State> {
|
|
38
47
|
loaded: () => void;
|
|
@@ -79,6 +88,7 @@ export type TagEvents<C extends TagContentType = TagContentType> = {
|
|
|
79
88
|
}) => void;
|
|
80
89
|
showPopover: () => void;
|
|
81
90
|
hidePopover: () => void;
|
|
91
|
+
positionChanged: (position: TagInstance<C>['position']) => void;
|
|
82
92
|
};
|
|
83
93
|
export interface TagCacheInterface {
|
|
84
94
|
visible?: boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { State as FiveState } from '@realsee/five';
|
|
2
2
|
import type { TagConfig } from './TagConfig';
|
|
3
3
|
import type { ContentTypeMap, TagContentType } from './TagData';
|
|
4
|
-
import type { Position, TagId, StickType, TagStyle, ElementRenderer, TagConfigByKey, ContentTypeConfigKey } from './Utils';
|
|
4
|
+
import type { Position, TagId, StickType, TagStyle, ElementRenderer, TagConfigByKey, ContentTypeConfigKey, BoxPosition, PolygonPosition, MaskPosition } from './Utils';
|
|
5
5
|
import type { DeprecatedTagProperty } from '../../Archive/deprecated';
|
|
6
6
|
import type { LiteralUnion } from 'type-fest';
|
|
7
7
|
export interface Tags {
|
|
@@ -33,7 +33,7 @@ export type Tag<C extends TagContentType = TagContentType, S extends StickType =
|
|
|
33
33
|
*/
|
|
34
34
|
contentType: LiteralUnion<C, string>;
|
|
35
35
|
/** 点 */
|
|
36
|
-
position: S extends 'Plane' ? [Position, Position, Position, Position] : S extends '2DPoint' | '3DPoint' | 'Model' ? Position : Position | [Position, Position, Position, Position];
|
|
36
|
+
position: S extends 'Plane' ? [Position, Position, Position, Position] : S extends '2DPoint' | '3DPoint' | 'Model' ? Position : S extends '3DBox' ? BoxPosition : S extends 'Polygon' ? PolygonPosition : S extends 'Mask' ? MaskPosition : Position | [Position, Position, Position, Position];
|
|
37
37
|
/** 法向量 */
|
|
38
38
|
normal?: Position;
|
|
39
39
|
/** 自定义标签内容 */
|
|
@@ -52,8 +52,13 @@ export type Tag<C extends TagContentType = TagContentType, S extends StickType =
|
|
|
52
52
|
hoverEnabled?: boolean;
|
|
53
53
|
} & (S extends '3DPoint' ? {
|
|
54
54
|
normal: Position;
|
|
55
|
-
} : unknown) &
|
|
55
|
+
} : unknown) & // 三维标签需要法向量
|
|
56
|
+
(S extends 'Model' ? {
|
|
56
57
|
matrix: number[];
|
|
58
|
+
} : unknown) & // 模型标签需要模型
|
|
59
|
+
(S extends 'Mask' ? {
|
|
60
|
+
mask: string;
|
|
61
|
+
color: [number, number, number] | number;
|
|
57
62
|
} : unknown) & {
|
|
58
63
|
[key: string]: any;
|
|
59
64
|
};
|
|
@@ -15,7 +15,34 @@ export interface MinMax {
|
|
|
15
15
|
min?: number;
|
|
16
16
|
max?: number;
|
|
17
17
|
}
|
|
18
|
-
export type StickType = '2DPoint' | '3DPoint' | 'Plane' | 'Model';
|
|
18
|
+
export type StickType = '2DPoint' | '3DPoint' | 'Plane' | 'Model' | '3DBox' | 'Polygon' | 'Mask';
|
|
19
|
+
/**
|
|
20
|
+
* 3DBox 位置定义
|
|
21
|
+
*/
|
|
22
|
+
export interface BoxPosition {
|
|
23
|
+
/** 起始点坐标 [x, y, z] */
|
|
24
|
+
start: ArrayPosition;
|
|
25
|
+
/** 结束点坐标 [x, y, z] */
|
|
26
|
+
end: ArrayPosition;
|
|
27
|
+
/** 旋转角度 [x, y, z](欧拉角) */
|
|
28
|
+
rotation: ArrayPosition;
|
|
29
|
+
}
|
|
30
|
+
/** 3DBox 标签 */
|
|
31
|
+
export type BoxTag<C extends TagContentType = TagContentType> = TagInstance<C, '3DBox'>;
|
|
32
|
+
/**
|
|
33
|
+
* Polygon 位置定义
|
|
34
|
+
* 多边形由多个点组成,至少需要 3 个点
|
|
35
|
+
*/
|
|
36
|
+
export type PolygonPosition = ArrayPosition[];
|
|
37
|
+
/** Polygon 标签 */
|
|
38
|
+
export type PolygonTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Polygon'>;
|
|
39
|
+
/**
|
|
40
|
+
* Mask 位置定义
|
|
41
|
+
* Mask 标签的 position 由 mask 图和 color 计算得出,类型为普通的 Position
|
|
42
|
+
*/
|
|
43
|
+
export type MaskPosition = Position;
|
|
44
|
+
/** Mask 标签 */
|
|
45
|
+
export type MaskTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Mask'>;
|
|
19
46
|
/**
|
|
20
47
|
* @description 标签 icon 动画配置
|
|
21
48
|
*/
|
|
@@ -67,6 +94,28 @@ export interface TagStyle {
|
|
|
67
94
|
*/
|
|
68
95
|
size?: 'S' | 'M' | 'L' | 'XL' | number;
|
|
69
96
|
} & TagIconUrl;
|
|
97
|
+
/** 3D Box 和Polygon样式 */
|
|
98
|
+
boxOrpolygon?: {
|
|
99
|
+
/** 填充颜色(十六进制) */
|
|
100
|
+
color?: number;
|
|
101
|
+
/** 填充透明度 0-1 */
|
|
102
|
+
opacity?: number;
|
|
103
|
+
/** 线条颜色(十六进制) */
|
|
104
|
+
lineColor?: number;
|
|
105
|
+
/** 线条宽度 */
|
|
106
|
+
lineWidth?: number;
|
|
107
|
+
};
|
|
108
|
+
/** Mask 标签样式 */
|
|
109
|
+
mask?: {
|
|
110
|
+
/** 高亮颜色(RGB 数组或十六进制数字) */
|
|
111
|
+
color?: [number, number, number] | number;
|
|
112
|
+
/** 透明度 0-1,用于填充区域;描边区域始终完全不透明 */
|
|
113
|
+
opacity?: number;
|
|
114
|
+
/** 颜色匹配容差(归一化值 0-1,默认 0.001) */
|
|
115
|
+
tolerance?: number;
|
|
116
|
+
/** @deprecated 使用 color 代替 */
|
|
117
|
+
highlightColor?: [number, number, number] | number;
|
|
118
|
+
};
|
|
70
119
|
}
|
|
71
120
|
export type TagGLTFObject = GLTFObject & {
|
|
72
121
|
customID: number | string;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import type { TagContentType, TagInstance } from '../../typings';
|
|
2
2
|
import type { ModelTagInterface } from '../../controller/Tag/ModelTag';
|
|
3
3
|
import type { PlaneTagInterface } from '../../controller/Tag/PlaneTag';
|
|
4
|
+
import type { PolygonTagInterface } from '../../controller/Tag/PolygonTag';
|
|
5
|
+
import type { BoxTagInterface } from '../../controller/Tag/BoxTag';
|
|
6
|
+
import type { MaskTagInterface } from '../../controller/Tag/MaskTag';
|
|
4
7
|
export declare function isPlaneTag<T extends TagContentType>(tag: TagInstance<T>): tag is PlaneTagInterface<T>;
|
|
5
8
|
export declare function isPoint3DTag<T extends TagContentType>(tag: TagInstance<T>): tag is TagInstance<T, '3DPoint'>;
|
|
6
9
|
export declare function is3DTag<T extends TagContentType>(tag: TagInstance): tag is TagInstance<T, '3DPoint'> | TagInstance<T, 'Plane'>;
|
|
7
10
|
export declare function isMediaModelTag(tag: TagInstance): tag is ModelTagInterface<'MediaModel'>;
|
|
8
11
|
export declare function isModelTag(tag: TagInstance): tag is ModelTagInterface<'Model'>;
|
|
9
12
|
export declare function isMediaPlaneTag(tag: TagInstance): tag is PlaneTagInterface<'MediaModel'>;
|
|
13
|
+
export declare function isPolygonTag(tag: TagInstance): tag is PolygonTagInterface;
|
|
14
|
+
export declare function is3DBoxTag(tag: TagInstance): tag is BoxTagInterface;
|
|
15
|
+
export declare function isMaskTag(tag: TagInstance): tag is MaskTagInterface;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Vector3 } from 'three';
|
|
1
|
+
import type { Vector3 } from 'three';
|
|
2
2
|
import type { TagInstance } from '../typings';
|
|
3
|
-
export declare function getTagPosition(tag: TagInstance): Vector3 | [Vector3, Vector3, Vector3, Vector3];
|
|
3
|
+
export declare function getTagPosition(tag: TagInstance): Vector3 | [Vector3, Vector3, Vector3, Vector3] | Vector3[];
|
|
4
4
|
export declare function getTagCenterPosition(tag: TagInstance): Vector3;
|