@realsee/dnalogel 3.68.1-alpha.2 → 3.68.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/CHANGELOG.md +3 -2
- package/dist/MeasurePlugin/Controller.d.ts +2 -2
- package/dist/MeasurePlugin/index.d.ts +6 -1
- package/dist/Sculpt/typings/style.d.ts +5 -0
- package/dist/Sculpt/utils/unit.d.ts +1 -1
- package/dist/index.cjs.js +34 -34
- package/dist/index.js +1384 -1382
- package/dist/index.umd.js +34 -34
- package/dist/shared-utils/three/Magnifier.d.ts +2 -0
- package/dist/shared-utils/three/PointSelector/index.d.ts +5 -0
- package/dist/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +1 -0
- package/docs/assets/search.js +1 -1
- package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
- package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
- package/docs/classes/CSS3DRender.html +2 -2
- package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
- package/docs/classes/ModelMakerPluginInstance.html +2 -2
- package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
- package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
- package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
- package/docs/classes/ModelRoomLabelController.html +2 -2
- package/docs/classes/MoveController.html +2 -2
- package/docs/classes/Object3DHelperController.html +2 -2
- package/docs/classes/PaintBrush.html +2 -2
- package/docs/classes/PanoMeasurePluginLine.html +2 -2
- package/docs/classes/PanoMeasurePluginModel.html +2 -2
- package/docs/classes/PanoMeasurePluginPoint.html +2 -2
- package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
- package/docs/classes/PanoTagPluginController.html +2 -2
- package/docs/classes/Sculpt.html +2 -2
- package/docs/classes/Util.BetterTween.html +2 -2
- package/docs/classes/Util.FiveDomEvents.html +2 -2
- package/docs/classes/Util.FivePuppet.html +2 -2
- package/docs/classes/Util.Interval.html +2 -2
- package/docs/classes/Util.LegacyPointHelper.html +2 -2
- package/docs/classes/Util.LightTag.html +2 -2
- package/docs/classes/Util.LineSegments.html +2 -2
- package/docs/classes/Util.Magnifier.html +8 -8
- package/docs/classes/Util.Object3D.html +2 -2
- package/docs/classes/Util.PointDomHelper.html +2 -2
- package/docs/classes/Util.PointHelper.html +2 -2
- package/docs/classes/Util.PointSelector.html +12 -12
- package/docs/classes/Util.PointSelectorHelper.html +2 -2
- package/docs/classes/Util.Rectangle.html +2 -2
- package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
- package/docs/classes/Util.sculpt.BoxMesh.html +3 -3
- package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
- package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
- package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
- package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.LineMesh.html +2 -2
- package/docs/classes/Util.sculpt.PointMesh.html +2 -2
- package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
- package/docs/classes/Util.sculpt.PrismMesh.html +3 -3
- package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
- package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
- package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
- package/docs/classes/WalkController.html +2 -2
- package/docs/enums/CameraMovementEffect.html +2 -2
- package/docs/enums/ContentType.html +2 -2
- package/docs/enums/DIRECTION.html +2 -2
- package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
- package/docs/enums/DimensionType.html +2 -2
- package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
- package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
- package/docs/enums/PaintBrushTypeEnum.html +2 -2
- package/docs/enums/PointType.html +2 -2
- package/docs/enums/Rotation.html +2 -2
- package/docs/functions/AreaMakerPlugin.html +1 -1
- package/docs/functions/CSS3DRenderPlugin.html +1 -1
- package/docs/functions/CameraMovementPlugin.html +2 -2
- package/docs/functions/CruisePlugin.html +1 -1
- package/docs/functions/CurrentPanoImagePlugin.html +1 -1
- package/docs/functions/GuideLinePlugin.html +1 -1
- package/docs/functions/ItemLabelPlugin.html +1 -1
- package/docs/functions/MapviewFloorplanPlugin.html +1 -1
- package/docs/functions/MeasurePlugin.html +1 -1
- package/docs/functions/ModelChassisCompassPlugin.html +2 -2
- package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
- package/docs/functions/ModelFloorplanPlugin.html +1 -1
- package/docs/functions/ModelItemLabelPlugin.html +1 -1
- package/docs/functions/ModelMakerPlugin.html +1 -1
- package/docs/functions/ModelRoomLabelPlugin.html +1 -1
- package/docs/functions/ModelTVVideoPlugin.html +1 -1
- package/docs/functions/ModelViewPlugin.html +2 -2
- package/docs/functions/MovePlugin.html +1 -1
- package/docs/functions/Object3DHelperPlugin.html +1 -1
- package/docs/functions/PanoCompassPlugin.html +1 -1
- package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
- package/docs/functions/PanoDoorLabelPlugin.html +1 -1
- package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
- package/docs/functions/PanoMeasurePlugin.html +1 -1
- package/docs/functions/PanoRulerPlugin.html +2 -2
- package/docs/functions/PanoRulerProPlugin.html +2 -2
- package/docs/functions/PanoSpatialTagPlugin.html +2 -2
- package/docs/functions/PanoTagPlugin.html +1 -1
- package/docs/functions/PanoVideoPlugin.html +2 -2
- package/docs/functions/PipelinePlugin.html +1 -1
- package/docs/functions/SculptPlugin.html +2 -2
- package/docs/functions/SculptPluginForFive.html +2 -2
- package/docs/functions/TopviewFloorplanPlugin.html +1 -1
- package/docs/functions/Util.absoluteUrl.html +2 -2
- package/docs/functions/Util.awaitNextFrame.html +1 -1
- package/docs/functions/Util.blink.html +2 -2
- package/docs/functions/Util.bounding.html +1 -1
- package/docs/functions/Util.boundingBox.html +1 -1
- package/docs/functions/Util.boundingSphere.html +1 -1
- package/docs/functions/Util.boxVertex.html +2 -2
- package/docs/functions/Util.boxVertexes.html +1 -1
- package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
- package/docs/functions/Util.convexHull.html +2 -2
- package/docs/functions/Util.equal.html +2 -2
- package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
- package/docs/functions/Util.getCoordsFromClient.html +1 -1
- package/docs/functions/Util.getCoordsFromElement.html +1 -1
- package/docs/functions/Util.getFrameTime.html +2 -2
- package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
- package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
- package/docs/functions/Util.initialCSS3DRender.html +1 -1
- package/docs/functions/Util.inside.html +1 -1
- package/docs/functions/Util.isAbsoluteURL.html +1 -1
- package/docs/functions/Util.isModelLike.html +1 -1
- package/docs/functions/Util.isNil.html +2 -2
- package/docs/functions/Util.isPanoramaLike.html +1 -1
- package/docs/functions/Util.lookObject.html +2 -2
- package/docs/functions/Util.lookPoint.html +2 -2
- package/docs/functions/Util.nextFrame.html +1 -1
- package/docs/functions/Util.notNil.html +2 -2
- package/docs/functions/Util.reblink.html +2 -2
- package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
- package/docs/functions/Util.sculpt.createBox.html +1 -1
- package/docs/functions/Util.sculpt.createCircle.html +1 -1
- package/docs/functions/Util.sculpt.createCylinder.html +1 -1
- package/docs/functions/Util.sculpt.createLine.html +2 -2
- package/docs/functions/Util.sculpt.createPoint.html +1 -1
- package/docs/functions/Util.sculpt.createPolygon.html +1 -1
- package/docs/functions/Util.sculpt.createPrism.html +1 -1
- package/docs/functions/Util.sculpt.createRectangle.html +2 -2
- package/docs/functions/Util.tag.html +1 -1
- package/docs/functions/Util.tweenProgress.html +1 -1
- package/docs/functions/Util.uuid.html +2 -2
- package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
- package/docs/functions/Util.worldBounding.html +1 -1
- package/docs/functions/Util.worldBoundingBox.html +1 -1
- package/docs/functions/Util.worldBoundingSphere.html +1 -1
- package/docs/functions/createPolyline.html +2 -2
- package/docs/functions/pluginFlag.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
- package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
- package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
- package/docs/interfaces/ContentTypeMapInterface.html +2 -2
- package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
- package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
- package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
- package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
- package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
- package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
- package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
- package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
- package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
- package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
- package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
- package/docs/interfaces/FloorplanBounding.html +2 -2
- package/docs/interfaces/FloorplanData.html +2 -2
- package/docs/interfaces/FloorplanEntrance.html +2 -2
- package/docs/interfaces/FloorplanExtraObject.html +2 -2
- package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
- package/docs/interfaces/FloorplanFloorData.html +2 -2
- package/docs/interfaces/FloorplanImagePosition.html +2 -2
- package/docs/interfaces/FloorplanObserver.html +2 -2
- package/docs/interfaces/FloorplanOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanPosition.html +2 -2
- package/docs/interfaces/FloorplanRoomItem.html +2 -2
- package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
- package/docs/interfaces/FloorplanServerBounding.html +2 -2
- package/docs/interfaces/FloorplanServerComputedData.html +2 -2
- package/docs/interfaces/FloorplanServerData.html +2 -2
- package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
- package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
- package/docs/interfaces/FloorplanServerEntrance.html +2 -2
- package/docs/interfaces/FloorplanServerFloorData.html +2 -2
- package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
- package/docs/interfaces/FloorplanServerObserver.html +2 -2
- package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
- package/docs/interfaces/FloorplanServerPosition.html +2 -2
- package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
- package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
- package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
- package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
- package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
- package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
- package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
- package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
- package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
- package/docs/interfaces/HelperOffset.html +2 -2
- package/docs/interfaces/ImagePlaneGroup.html +2 -2
- package/docs/interfaces/ItemLabelPluginData.html +2 -2
- package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
- package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
- package/docs/interfaces/MinMax.html +2 -2
- package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
- package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
- package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
- package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
- package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
- package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
- package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
- package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
- package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
- package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
- package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
- package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
- package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
- package/docs/interfaces/ModelViewPluginExportType.html +2 -2
- package/docs/interfaces/Object3DHelperState.html +2 -2
- package/docs/interfaces/ObjectHelperControllers.html +2 -2
- package/docs/interfaces/PaintBrushAction.html +2 -2
- package/docs/interfaces/PaintBrushConfigs.html +2 -2
- package/docs/interfaces/PaintBrushState.html +2 -2
- package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
- package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
- package/docs/interfaces/PanoMeasureParameterType.html +2 -2
- package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
- package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
- package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
- package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
- package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
- package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
- package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
- package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
- package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
- package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
- package/docs/interfaces/PanoRulerProPluginState.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
- package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
- package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
- package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
- package/docs/interfaces/PluginEventMap.html +2 -2
- package/docs/interfaces/Point.html +2 -2
- package/docs/interfaces/Room.html +2 -2
- package/docs/interfaces/RoomInfo.html +2 -2
- package/docs/interfaces/RoomLabel.html +2 -2
- package/docs/interfaces/RoomRules.html +1 -1
- package/docs/interfaces/Rooms.html +1 -1
- package/docs/interfaces/Scissor.html +2 -2
- package/docs/interfaces/SculptConfig.html +2 -2
- package/docs/interfaces/State.html +2 -2
- package/docs/interfaces/TagCacheInterface.html +2 -2
- package/docs/interfaces/TagConfig.html +2 -2
- package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
- package/docs/interfaces/TagIconUrl.html +2 -2
- package/docs/interfaces/TagObjectGroup.html +2 -2
- package/docs/interfaces/TagState.html +2 -2
- package/docs/interfaces/TagStyle.html +2 -2
- package/docs/interfaces/Tags.html +2 -2
- package/docs/interfaces/TemporaryState.html +2 -2
- package/docs/interfaces/Util.AnimeInstance.html +2 -2
- package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
- package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
- package/docs/interfaces/Util.FiveDomEvent.html +2 -2
- package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
- package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
- package/docs/interfaces/Util.MagnifierParameter.html +6 -4
- package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
- package/docs/interfaces/Util.PointIntersection.html +8 -8
- package/docs/interfaces/Util.PointSelectorHelperConfig.html +3 -2
- package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
- package/docs/modules/AreaMakerPluginType.html +2 -2
- package/docs/modules/CruisePluginTypes.html +2 -2
- package/docs/modules/CurrentPanoImagePluginType.html +2 -2
- package/docs/modules/GuideLineItem.html +2 -2
- package/docs/modules/GuideLineModeItem.html +2 -2
- package/docs/modules/GuideLinePluginType.html +2 -2
- package/docs/modules/ModelMakerPluginType.html +2 -2
- package/docs/modules/PanoVideoPluginType.html +2 -2
- package/docs/modules/SculptData.html +2 -2
- package/docs/modules/SculptType.html +2 -2
- package/docs/modules/Util.html +2 -2
- package/docs/modules/Util.sculpt.html +2 -2
- package/docs/modules.html +2 -2
- package/docs/types/AddObject3DHelperConfig.html +2 -2
- package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
- package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
- package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
- package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
- package/docs/types/ArrayPosition.html +1 -1
- package/docs/types/AudioAppearance.html +1 -1
- package/docs/types/CSS3DRenderExportType.html +1 -1
- package/docs/types/CSS3DRenderPluginExportType.html +1 -1
- package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
- package/docs/types/ClassFunctionParameters.html +1 -1
- package/docs/types/Color.html +1 -1
- package/docs/types/ContentTypeConfigKey.html +1 -1
- package/docs/types/ContentTypeConfigKeySplit.html +1 -1
- package/docs/types/ContentTypeMap.html +1 -1
- package/docs/types/Create3DDomContainerReturnType.html +1 -1
- package/docs/types/Create3DElementReturnType.html +1 -1
- package/docs/types/CruisePluginExportType.html +1 -1
- package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
- package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
- package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
- package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
- package/docs/types/DeprecatedTagProperty.html +2 -2
- package/docs/types/Direction-1.html +1 -1
- package/docs/types/Direction4.html +1 -1
- package/docs/types/ElementRenderer.html +2 -2
- package/docs/types/FloorplanRuleLabels.html +2 -2
- package/docs/types/FloorplanServerRuleLabels.html +1 -1
- package/docs/types/GuideLinePluginExportType.html +1 -1
- package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
- package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
- package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
- package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
- package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
- package/docs/types/GuideLinePluginType.PathItem.html +2 -2
- package/docs/types/GuideLinePluginType.PluginData.html +2 -2
- package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
- package/docs/types/HelperEventMap.html +1 -1
- package/docs/types/InternalHelperEventMap.html +1 -1
- package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
- package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
- package/docs/types/MeasurePluginConfig.html +5 -1
- package/docs/types/MediaData.html +2 -2
- package/docs/types/MediaStore.html +1 -1
- package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
- package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
- package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
- package/docs/types/ModelId.html +1 -1
- package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
- package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
- package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
- package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
- package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
- package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
- package/docs/types/MoveArgs.html +2 -2
- package/docs/types/MoveOpts.html +2 -2
- package/docs/types/Object3DHelperEventMap.html +1 -1
- package/docs/types/ObjectFit.html +1 -1
- package/docs/types/PaintBrushEventMap.html +1 -1
- package/docs/types/PanoCompassPluginData.html +1 -1
- package/docs/types/PanoCompassPluginExportType.html +1 -1
- package/docs/types/PanoCompassPluginParameterType.html +1 -1
- package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
- package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
- package/docs/types/PanoIndex.html +1 -1
- package/docs/types/PanoMeasurePluginEvent.html +1 -1
- package/docs/types/PanoMeasureReturnType.html +1 -1
- package/docs/types/PanoSpatialTagPluginId.html +1 -1
- package/docs/types/PanoTagPluginExportInterface.html +1 -1
- package/docs/types/PanoTagPluginParamsInterface.html +1 -1
- package/docs/types/PanoVideoPluginParameterType.html +1 -1
- package/docs/types/PanoVideoPluginReturnType.html +1 -1
- package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
- package/docs/types/PipelinePluginParameterType.html +1 -1
- package/docs/types/PipelinePluginReturnType.html +1 -1
- package/docs/types/PlaneTag.html +2 -2
- package/docs/types/Point2DTag.html +2 -2
- package/docs/types/Point3DTag.html +2 -2
- package/docs/types/PointTagInstance.html +1 -1
- package/docs/types/Position.html +1 -1
- package/docs/types/PositionFrom.html +1 -1
- package/docs/types/RotateArgs.html +2 -2
- package/docs/types/RotateOpts.html +2 -2
- package/docs/types/RuleLabelsKey.html +1 -1
- package/docs/types/RuleLabelsValue.html +1 -1
- package/docs/types/ScaleCallback.html +1 -1
- package/docs/types/ScalePosition.html +2 -2
- package/docs/types/SculptData.BoxData.html +1 -1
- package/docs/types/SculptData.CircleData.html +1 -1
- package/docs/types/SculptData.CylinderData.html +1 -1
- package/docs/types/SculptData.PointData.html +1 -1
- package/docs/types/SculptData.PolygonData.html +1 -1
- package/docs/types/SculptData.PolylineData.html +1 -1
- package/docs/types/SculptData.PrismData.html +1 -1
- package/docs/types/SculptData.RectangleData.html +1 -1
- package/docs/types/SculptType.Theme.html +2 -2
- package/docs/types/StickType.html +1 -1
- package/docs/types/Tag.html +2 -2
- package/docs/types/Tag2D.html +2 -2
- package/docs/types/Tag3D.html +2 -2
- package/docs/types/TagClickParams.html +1 -1
- package/docs/types/TagConfigByKey.html +1 -1
- package/docs/types/TagContentType.html +1 -1
- package/docs/types/TagContentTypeMapping.html +1 -1
- package/docs/types/TagDimensionType.html +1 -1
- package/docs/types/TagElement.html +2 -2
- package/docs/types/TagEvents.html +1 -1
- package/docs/types/TagGLTFObject.html +1 -1
- package/docs/types/TagHooks.html +1 -1
- package/docs/types/TagId.html +1 -1
- package/docs/types/TagInstance.html +1 -1
- package/docs/types/TagPlacement.html +2 -2
- package/docs/types/TagPointType.html +2 -2
- package/docs/types/TagRendererMap.html +1 -1
- package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
- package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
- package/docs/types/Util.ActionIfNoIntersection.html +1 -1
- package/docs/types/Util.AdherePoint.html +2 -2
- package/docs/types/Util.PointSelectorConfig.html +1 -1
- package/docs/types/WorkCode.html +1 -1
- package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
- package/docs/variables/PLUGIN.html +1 -1
- package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
- package/docs/variables/ROOM_TYPE_MAP.html +2 -2
- package/docs/variables/Util.animeMap.html +1 -1
- package/docs/variables/defaultGlobalConfig.html +1 -1
- package/docs/variables/itemLabelPluginServerParams.html +1 -1
- package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
- package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
- package/libs/MeasurePlugin/Controller.d.ts +2 -2
- package/libs/MeasurePlugin/Controller.js +6 -5
- package/libs/MeasurePlugin/index.d.ts +6 -1
- package/libs/Sculpt/Meshes/Line.js +10 -10
- package/libs/Sculpt/Meshes/Prism.js +82 -84
- package/libs/Sculpt/typings/style.d.ts +5 -0
- package/libs/Sculpt/utils/unit.d.ts +1 -1
- package/libs/Sculpt/utils/unit.js +18 -18
- package/libs/base/BasePlugin.js +1 -1
- package/libs/shared-utils/logger.js +1 -1
- package/libs/shared-utils/three/Magnifier.d.ts +2 -0
- package/libs/shared-utils/three/Magnifier.js +17 -15
- package/libs/shared-utils/three/PointSelector/index.d.ts +5 -0
- package/libs/shared-utils/three/PointSelector/index.js +38 -37
- package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +1 -0
- package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.js +41 -31
- package/package.json +1 -1
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var b = (m, o, e) => o in m ?
|
|
1
|
+
var z = Object.defineProperty;
|
|
2
|
+
var w = Object.getOwnPropertySymbols;
|
|
3
|
+
var C = Object.prototype.hasOwnProperty, E = Object.prototype.propertyIsEnumerable;
|
|
4
|
+
var b = (m, o, e) => o in m ? z(m, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[o] = e, P = (m, o) => {
|
|
5
5
|
for (var e in o || (o = {}))
|
|
6
|
-
|
|
7
|
-
if (
|
|
8
|
-
for (var e of
|
|
9
|
-
|
|
6
|
+
C.call(o, e) && b(m, e, o[e]);
|
|
7
|
+
if (w)
|
|
8
|
+
for (var e of w(o))
|
|
9
|
+
E.call(o, e) && b(m, e, o[e]);
|
|
10
10
|
return m;
|
|
11
11
|
};
|
|
12
12
|
var f = (m, o, e) => (b(m, typeof o != "symbol" ? o + "" : o, e), e);
|
|
13
|
-
import { IObject3D as
|
|
14
|
-
import { anyPositionToVector3 as
|
|
15
|
-
import * as
|
|
16
|
-
import { intersectWithoutLine as
|
|
17
|
-
import { ColoredMesh as
|
|
18
|
-
import { PrismGeometry as
|
|
19
|
-
import { triangleArea as
|
|
20
|
-
import { LineMesh as
|
|
21
|
-
import { LineGeometry as
|
|
22
|
-
import { AnimationFrameLoop as
|
|
23
|
-
class
|
|
13
|
+
import { IObject3D as B } from "../../shared-utils/three/IObject3D.js";
|
|
14
|
+
import { anyPositionToVector3 as S } from "../../shared-utils/positionToVector3.js";
|
|
15
|
+
import * as i from "three";
|
|
16
|
+
import { intersectWithoutLine as F } from "../../shared-utils/three/core/Raycaster.js";
|
|
17
|
+
import { ColoredMesh as R } from "../utils/three/ColoredMesh.js";
|
|
18
|
+
import { PrismGeometry as U } from "../../shared-utils/three/core/PrismGeometry.js";
|
|
19
|
+
import { triangleArea as _, triangleCenter as O } from "../../shared-utils/three/geometryUtil.js";
|
|
20
|
+
import { LineMesh as W } from "./Line.js";
|
|
21
|
+
import { LineGeometry as G } from "../../shared-utils/three/core/LineGeometry.js";
|
|
22
|
+
import { AnimationFrameLoop as T } from "@realsee/five";
|
|
23
|
+
class Q extends B {
|
|
24
24
|
constructor(e) {
|
|
25
25
|
super();
|
|
26
26
|
f(this, "name", "PrismMesh");
|
|
@@ -29,16 +29,16 @@ class ee extends _ {
|
|
|
29
29
|
f(this, "activeEaseInAnimations", /* @__PURE__ */ new Map());
|
|
30
30
|
f(this, "_geometryInfoCache");
|
|
31
31
|
f(this, "geometryInfoNeedUpdate", !0);
|
|
32
|
-
f(this, "edgeMesh", new
|
|
33
|
-
f(this, "prismMesh", new
|
|
32
|
+
f(this, "edgeMesh", new W());
|
|
33
|
+
f(this, "prismMesh", new R());
|
|
34
34
|
f(this, "paramStyle");
|
|
35
|
-
this.five = e == null ? void 0 : e.five, this.prismMesh.name = "PrismMesh", this.prismMesh.geometry = new
|
|
35
|
+
this.five = e == null ? void 0 : e.five, this.prismMesh.name = "PrismMesh", this.prismMesh.geometry = new U(), this.edgeMesh.name = "EdgeMesh", this.addIfNotExists(this.prismMesh, this.edgeMesh), e && this.setPoints(e), this.setStyle(e);
|
|
36
36
|
}
|
|
37
37
|
get topPosition() {
|
|
38
|
-
return new
|
|
38
|
+
return new i.Vector3().fromArray(this.prismMesh.geometry.topPosition);
|
|
39
39
|
}
|
|
40
40
|
get bottomPositions() {
|
|
41
|
-
return this.prismMesh.geometry.bottomPositions.map((e) => new
|
|
41
|
+
return this.prismMesh.geometry.bottomPositions.map((e) => new i.Vector3().fromArray(e));
|
|
42
42
|
}
|
|
43
43
|
get topPositions() {
|
|
44
44
|
const e = this.bottomPositions[0].clone().sub(this.topPosition);
|
|
@@ -71,7 +71,7 @@ class ee extends _ {
|
|
|
71
71
|
}
|
|
72
72
|
get localCenter() {
|
|
73
73
|
var e;
|
|
74
|
-
return (e = this.geometryInfo.center.clone()) != null ? e : new
|
|
74
|
+
return (e = this.geometryInfo.center.clone()) != null ? e : new i.Vector3(9999, 9999, 9999);
|
|
75
75
|
}
|
|
76
76
|
get geometryInfo() {
|
|
77
77
|
if (this.geometryInfoNeedUpdate) {
|
|
@@ -81,22 +81,22 @@ class ee extends _ {
|
|
|
81
81
|
this._geometryInfoCache = void 0;
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
const
|
|
85
|
-
new
|
|
86
|
-
new
|
|
87
|
-
new
|
|
84
|
+
const t = e.map((p, y) => y >= e.length - 2 ? null : [
|
|
85
|
+
new i.Vector3().fromArray(e[0]),
|
|
86
|
+
new i.Vector3().fromArray(e[y + 1]),
|
|
87
|
+
new i.Vector3().fromArray(e[y + 2])
|
|
88
88
|
]).filter(Boolean);
|
|
89
|
-
if (
|
|
89
|
+
if (t.length === 0) {
|
|
90
90
|
this._geometryInfoCache = void 0;
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
|
-
let r = 0, a = new
|
|
94
|
-
for (const [p, y,
|
|
95
|
-
const
|
|
96
|
-
r +=
|
|
93
|
+
let r = 0, a = new i.Vector3();
|
|
94
|
+
for (const [p, y, g] of t) {
|
|
95
|
+
const h = _(p, y, g), l = O(p, y, g, h);
|
|
96
|
+
r += h, a.add(l);
|
|
97
97
|
}
|
|
98
98
|
a = a.divideScalar(r);
|
|
99
|
-
const
|
|
99
|
+
const d = new i.Vector3().fromArray(s).sub(new i.Vector3().fromArray(e[0])), v = a.clone().add(d.divideScalar(2));
|
|
100
100
|
this._geometryInfoCache = { center: v };
|
|
101
101
|
}
|
|
102
102
|
return this._geometryInfoCache;
|
|
@@ -114,7 +114,7 @@ class ee extends _ {
|
|
|
114
114
|
return this.edgeMesh.color;
|
|
115
115
|
}
|
|
116
116
|
setStyle(e = {}) {
|
|
117
|
-
this.paramStyle =
|
|
117
|
+
this.paramStyle = P(P({}, this.paramStyle), e), this.prismMesh.setStyle(this.paramStyle), this.edgeMesh.setStyle(this.paramStyle);
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
120
|
* Check if the prism is a box (has 4 bottom positions)
|
|
@@ -126,9 +126,9 @@ class ee extends _ {
|
|
|
126
126
|
setPoints(e) {
|
|
127
127
|
var s;
|
|
128
128
|
this.prismMesh.geometry.setPosition({
|
|
129
|
-
bottomPositions: (s = e.points) == null ? void 0 : s.map(
|
|
130
|
-
topPosition: e.heightPoint ?
|
|
131
|
-
}), this.edgeMesh.geometry = new
|
|
129
|
+
bottomPositions: (s = e.points) == null ? void 0 : s.map(S).map((t) => t.toArray()),
|
|
130
|
+
topPosition: e.heightPoint ? S(e.heightPoint).toArray() : void 0
|
|
131
|
+
}), this.edgeMesh.geometry = new G().fromEdgesGeometry(new i.EdgesGeometry(this.prismMesh.geometry)), this.geometryInfoNeedUpdate = !0;
|
|
132
132
|
}
|
|
133
133
|
highlight() {
|
|
134
134
|
this.prismMesh.highlight();
|
|
@@ -137,7 +137,7 @@ class ee extends _ {
|
|
|
137
137
|
this.prismMesh.unhighlight();
|
|
138
138
|
}
|
|
139
139
|
raycast(e, s) {
|
|
140
|
-
return this.children.forEach((
|
|
140
|
+
return this.children.forEach((t) => F(t, e, s, !0)), !1;
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* 设置Five实例
|
|
@@ -154,13 +154,13 @@ class ee extends _ {
|
|
|
154
154
|
playBoxAnimation(e) {
|
|
155
155
|
return this.five ? this.isBox() ? (this.activeAnimations.has(e) && this.forceFinishBoxAnimation(e), new Promise((s) => {
|
|
156
156
|
this.prismMesh.visible = !1, this.edgeMesh.visible = !1;
|
|
157
|
-
const
|
|
157
|
+
const t = new i.Vector3(1 / 0, 1 / 0, 1 / 0), r = new i.Vector3(-1 / 0, -1 / 0, -1 / 0), a = this.bottomPositions;
|
|
158
158
|
for (const n of a)
|
|
159
|
-
|
|
160
|
-
const
|
|
161
|
-
for (const n of
|
|
162
|
-
|
|
163
|
-
const v = r.clone().sub(
|
|
159
|
+
t.min(n), r.max(n);
|
|
160
|
+
const d = this.topPositions;
|
|
161
|
+
for (const n of d)
|
|
162
|
+
t.min(n), r.max(n);
|
|
163
|
+
const v = r.clone().sub(t), p = new i.BoxGeometry(v.x, v.y, v.z), y = `
|
|
164
164
|
varying vec2 vUV;
|
|
165
165
|
varying vec3 vPosition;
|
|
166
166
|
#include <common>
|
|
@@ -170,7 +170,7 @@ class ee extends _ {
|
|
|
170
170
|
vec4 transformed = vec4(position, 1.0);
|
|
171
171
|
gl_Position = projectionMatrix * modelViewMatrix * transformed;
|
|
172
172
|
}
|
|
173
|
-
`,
|
|
173
|
+
`, g = `
|
|
174
174
|
#include <common>
|
|
175
175
|
uniform vec3 color;
|
|
176
176
|
uniform vec3 size;
|
|
@@ -200,15 +200,15 @@ class ee extends _ {
|
|
|
200
200
|
|
|
201
201
|
gl_FragColor = vec4(color, clamp(r * opacity, 0.0, 1.0));
|
|
202
202
|
}
|
|
203
|
-
`,
|
|
203
|
+
`, h = new i.ShaderMaterial({
|
|
204
204
|
vertexShader: y,
|
|
205
|
-
fragmentShader:
|
|
205
|
+
fragmentShader: g,
|
|
206
206
|
uniforms: {
|
|
207
|
-
color: { value: new
|
|
207
|
+
color: { value: new i.Color(77 / 255, 240 / 255, 1) },
|
|
208
208
|
// 颜色
|
|
209
209
|
size: { value: v },
|
|
210
210
|
// 盒子大小
|
|
211
|
-
faceSize: { value: new
|
|
211
|
+
faceSize: { value: new i.Vector2(1, 1) },
|
|
212
212
|
// 面大小
|
|
213
213
|
opacity: { value: 0.8 },
|
|
214
214
|
// 透明度
|
|
@@ -218,52 +218,50 @@ class ee extends _ {
|
|
|
218
218
|
// 动画扩散
|
|
219
219
|
},
|
|
220
220
|
depthTest: !1,
|
|
221
|
-
side:
|
|
221
|
+
side: i.DoubleSide,
|
|
222
222
|
transparent: !0
|
|
223
223
|
});
|
|
224
|
-
|
|
225
|
-
const
|
|
226
|
-
|
|
224
|
+
h.polygonOffset = !0, h.polygonOffsetFactor = 1, h.polygonOffsetUnits = 1;
|
|
225
|
+
const l = new i.Mesh(p, [
|
|
226
|
+
h.clone(),
|
|
227
227
|
// 右
|
|
228
|
-
|
|
228
|
+
h.clone(),
|
|
229
229
|
// 左
|
|
230
|
-
|
|
230
|
+
h.clone(),
|
|
231
231
|
// 上
|
|
232
|
-
|
|
232
|
+
h.clone(),
|
|
233
233
|
// 下
|
|
234
|
-
|
|
234
|
+
h.clone(),
|
|
235
235
|
// 后
|
|
236
|
-
|
|
236
|
+
h.clone()
|
|
237
237
|
// 前
|
|
238
|
-
])
|
|
239
|
-
|
|
240
|
-
const C = new t.Vector3(), x = new t.Quaternion(), z = new t.Vector3();
|
|
241
|
-
this.matrixWorld.decompose(C, x, z), h.position.copy(P), h.quaternion.copy(x), h.onBeforeRender = () => {
|
|
238
|
+
]);
|
|
239
|
+
l.position.copy(this.localCenter), l.position.applyMatrix4(this.matrixWorld), l.quaternion.copy(this.quaternion), l.onBeforeRender = () => {
|
|
242
240
|
p.boundingBox || p.computeBoundingBox();
|
|
243
|
-
const n = p.boundingBox.getSize(new
|
|
241
|
+
const n = p.boundingBox.getSize(new i.Vector3());
|
|
244
242
|
for (let c = 0; c < 6; c++) {
|
|
245
|
-
const u =
|
|
243
|
+
const u = l.material[c];
|
|
246
244
|
c === 0 || c === 1 ? u.uniforms.faceSize.value.set(n.z, n.y) : c === 2 || c === 3 ? u.uniforms.faceSize.value.set(n.x, n.z) : u.uniforms.faceSize.value.set(n.x, n.y);
|
|
247
245
|
}
|
|
248
|
-
for (const c of
|
|
246
|
+
for (const c of l.material)
|
|
249
247
|
c.uniforms.size.value.copy(n);
|
|
250
248
|
this.five.needsRender = !0;
|
|
251
249
|
};
|
|
252
|
-
const
|
|
253
|
-
let
|
|
254
|
-
const
|
|
255
|
-
|
|
256
|
-
let u =
|
|
250
|
+
const I = 3e3;
|
|
251
|
+
let x = 0;
|
|
252
|
+
const A = T.shared.add((n, c) => {
|
|
253
|
+
x += c;
|
|
254
|
+
let u = x / I;
|
|
257
255
|
u > 1 && (u = 1);
|
|
258
256
|
let M = Math.abs((u - 0.5) * 2);
|
|
259
257
|
M = M * 2 - 0.5;
|
|
260
|
-
for (const
|
|
261
|
-
|
|
262
|
-
u === 1 && (
|
|
258
|
+
for (const V of l.material)
|
|
259
|
+
V.uniforms.progress.value = M;
|
|
260
|
+
u === 1 && (A(), l.visible = !1, this.playEaseInAnimation(e, () => {
|
|
263
261
|
this.activeAnimations.delete(e), s();
|
|
264
262
|
})), this.five.needsRender = !0;
|
|
265
263
|
});
|
|
266
|
-
this.activeAnimations.set(e, { animatedBoxMesh:
|
|
264
|
+
this.activeAnimations.set(e, { animatedBoxMesh: l, remove: A }), this.five.scene.add(l);
|
|
267
265
|
})) : (console.warn("Animation only available for box shapes"), Promise.resolve()) : (console.warn("Five instance not available for box animation"), Promise.resolve());
|
|
268
266
|
}
|
|
269
267
|
/**
|
|
@@ -275,22 +273,22 @@ class ee extends _ {
|
|
|
275
273
|
console.warn("Five instance not available for finishing box animation");
|
|
276
274
|
return;
|
|
277
275
|
}
|
|
278
|
-
(e ? [e] : Array.from(this.activeAnimations.keys())).forEach((
|
|
279
|
-
const r = this.activeAnimations.get(
|
|
280
|
-
r && (r.remove(), r.animatedBoxMesh.visible = !1, this.activeAnimations.delete(
|
|
281
|
-
const a = this.activeEaseInAnimations.get(
|
|
282
|
-
a && (clearInterval(a.interval), this.activeEaseInAnimations.delete(
|
|
276
|
+
(e ? [e] : Array.from(this.activeAnimations.keys())).forEach((t) => {
|
|
277
|
+
const r = this.activeAnimations.get(t);
|
|
278
|
+
r && (r.remove(), r.animatedBoxMesh.visible = !1, this.activeAnimations.delete(t));
|
|
279
|
+
const a = this.activeEaseInAnimations.get(t);
|
|
280
|
+
a && (clearInterval(a.interval), this.activeEaseInAnimations.delete(t));
|
|
283
281
|
}), this.showBoxFinalState(), this.five.needsRender = !0;
|
|
284
282
|
}
|
|
285
283
|
playEaseInAnimation(e, s) {
|
|
286
284
|
if (!this.five)
|
|
287
285
|
return;
|
|
288
286
|
this.prismMesh.visible = !0, this.edgeMesh.visible = !0;
|
|
289
|
-
let
|
|
287
|
+
let t = 0;
|
|
290
288
|
const r = this.prismMesh.style.opacity;
|
|
291
289
|
this.prismMesh.setStyle({ opacity: 0 }), this.edgeMesh.setStyle({ lineOpacity: 0 });
|
|
292
290
|
const a = setInterval(() => {
|
|
293
|
-
|
|
291
|
+
t === 61 && (clearInterval(a), this.activeEaseInAnimations.delete(e), this.showBoxFinalState(), s()), this.edgeMesh.setStyle({ lineOpacity: t / 60 }), this.prismMesh.setStyle({ opacity: t / 60 * r }), this.five.needsRender = !0, t++;
|
|
294
292
|
}, 16);
|
|
295
293
|
this.activeEaseInAnimations.set(e, { interval: a, model: this });
|
|
296
294
|
}
|
|
@@ -302,5 +300,5 @@ class ee extends _ {
|
|
|
302
300
|
}
|
|
303
301
|
}
|
|
304
302
|
export {
|
|
305
|
-
|
|
303
|
+
Q as PrismMesh
|
|
306
304
|
};
|
|
@@ -78,6 +78,11 @@ export type LengthConfig = {
|
|
|
78
78
|
* @default 'm'
|
|
79
79
|
*/
|
|
80
80
|
lengthUnit: 'm' | 'mm' | 'ft';
|
|
81
|
+
/**
|
|
82
|
+
* @description Number of decimal places for length measurements in metric units (meters). Area measurements remain at fixed 2 decimal places.
|
|
83
|
+
* @default 2
|
|
84
|
+
*/
|
|
85
|
+
precision?: number;
|
|
81
86
|
};
|
|
82
87
|
export type DisplayInfoConfig = {
|
|
83
88
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function transformUnit(value: number, unit?: 'm' | 'mm' | 'ft'): string;
|
|
1
|
+
export declare function transformUnit(value: number, unit?: 'm' | 'mm' | 'ft', precision?: number): string;
|
|
2
2
|
export declare function transformUnitSquare(value: number, unit?: 'm' | 'mm' | 'ft'): string;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
function
|
|
1
|
+
function o(t, n = "m", e = 2) {
|
|
2
2
|
let r;
|
|
3
|
-
if (
|
|
4
|
-
return r = t.toFixed(
|
|
5
|
-
if (
|
|
3
|
+
if (n === "m")
|
|
4
|
+
return r = t.toFixed(e), parseFloat(r) === 0 ? void 0 : r + "m";
|
|
5
|
+
if (n === "mm")
|
|
6
6
|
return r = (t * 1e3).toFixed(0), r === "0" ? void 0 : r + "mm";
|
|
7
|
-
if (
|
|
8
|
-
const
|
|
9
|
-
return
|
|
7
|
+
if (n === "ft") {
|
|
8
|
+
const f = Math.floor(t / 0.3048), i = Math.floor(t % 0.3048 / 0.0254);
|
|
9
|
+
return f === 0 && i === 0 ? void 0 : `${f}′${i}″`;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
function
|
|
13
|
-
let
|
|
14
|
-
if (
|
|
15
|
-
return
|
|
16
|
-
if (
|
|
17
|
-
return
|
|
18
|
-
if (
|
|
19
|
-
const
|
|
20
|
-
return
|
|
12
|
+
function m(t, n = "m") {
|
|
13
|
+
let e;
|
|
14
|
+
if (n === "m")
|
|
15
|
+
return e = t.toFixed(2), e === "0.00" ? void 0 : e + "m²";
|
|
16
|
+
if (n === "mm")
|
|
17
|
+
return e = (t * 1e3 * 1e3).toFixed(0), e === "0" ? void 0 : e + "mm²";
|
|
18
|
+
if (n === "ft") {
|
|
19
|
+
const r = (t * 10.76).toFixed(1);
|
|
20
|
+
return r === "0.0" ? void 0 : r + "ft²";
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
export {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
o as transformUnit,
|
|
25
|
+
m as transformUnitSquare
|
|
26
26
|
};
|
package/libs/base/BasePlugin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function A() {
|
|
2
2
|
console.debug(
|
|
3
|
-
"%c %c@realsee/dnalogel %cv3.68.1
|
|
3
|
+
"%c %c@realsee/dnalogel %cv3.68.1",
|
|
4
4
|
[
|
|
5
5
|
"background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
|
|
6
6
|
"background-repeat: no-repeat",
|
|
@@ -45,7 +45,8 @@ class L {
|
|
|
45
45
|
this.five = t, this.scale = (h = e == null ? void 0 : e.scale) != null ? h : 2, this.width = (n = e == null ? void 0 : e.width) != null ? n : 190, this.height = (o = (l = e == null ? void 0 : e.height) != null ? l : e == null ? void 0 : e.width) != null ? o : 190, this.config = {
|
|
46
46
|
dragEnabled: (e == null ? void 0 : e.dragEnabled) || !1,
|
|
47
47
|
autoFixPCPosition: (e == null ? void 0 : e.autoFixPCPosition) || !1,
|
|
48
|
-
initialPosition: (e == null ? void 0 : e.initialPosition) || { left: "0", top: "0" }
|
|
48
|
+
initialPosition: (e == null ? void 0 : e.initialPosition) || { left: "0", top: "0" },
|
|
49
|
+
skipPanorama: (e == null ? void 0 : e.skipPanorama) || !1
|
|
49
50
|
};
|
|
50
51
|
const i = this.canvas.getContext("2d");
|
|
51
52
|
if (!i)
|
|
@@ -113,21 +114,22 @@ class L {
|
|
|
113
114
|
a.disableGetPixel === !0 && (v.set(a, a.visible), a.visible = !1);
|
|
114
115
|
});
|
|
115
116
|
try {
|
|
116
|
-
const a = this.five.getPixels(
|
|
117
|
-
l - m / 2,
|
|
118
|
-
o - m / 2,
|
|
119
|
-
m,
|
|
120
|
-
d,
|
|
121
|
-
x
|
|
122
|
-
|
|
123
|
-
v.forEach((y, b) => {
|
|
124
|
-
b.visible = y;
|
|
117
|
+
const a = this.five.getPixels({
|
|
118
|
+
x: l - m / 2,
|
|
119
|
+
y: o - m / 2,
|
|
120
|
+
width: m,
|
|
121
|
+
height: d,
|
|
122
|
+
pixelRatio: x,
|
|
123
|
+
skipPanorama: this.config.skipPanorama
|
|
125
124
|
});
|
|
126
|
-
|
|
127
|
-
|
|
125
|
+
v.forEach((P, b) => {
|
|
126
|
+
b.visible = P;
|
|
127
|
+
});
|
|
128
|
+
const f = Math.floor(i * c), g = Math.floor(h * c), y = f * g * 4;
|
|
129
|
+
if (!a || a.length !== y) {
|
|
128
130
|
console.warn("Magnifier: Invalid pixel data", {
|
|
129
131
|
pixelsLength: a == null ? void 0 : a.length,
|
|
130
|
-
expectedLength:
|
|
132
|
+
expectedLength: y,
|
|
131
133
|
imageWidth: f,
|
|
132
134
|
imageHeight: g
|
|
133
135
|
});
|
|
@@ -141,9 +143,9 @@ class L {
|
|
|
141
143
|
}), this.imageData = new ImageData(f, g));
|
|
142
144
|
try {
|
|
143
145
|
this.imageData.data.set(a);
|
|
144
|
-
} catch (
|
|
146
|
+
} catch (P) {
|
|
145
147
|
console.error("Magnifier: Failed to set pixel data", {
|
|
146
|
-
error:
|
|
148
|
+
error: P,
|
|
147
149
|
imageDataLength: this.imageData.data.length,
|
|
148
150
|
pixelsLength: a.length,
|
|
149
151
|
imageWidth: f,
|
|
@@ -34,6 +34,11 @@ interface Config {
|
|
|
34
34
|
*/
|
|
35
35
|
actionIfNoModelUnderMouse: ActionIfNoIntersection;
|
|
36
36
|
helper: PointSelectorHelperConfig;
|
|
37
|
+
/**
|
|
38
|
+
* @description 是否跳过全景图渲染
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
skipPanorama: boolean;
|
|
37
42
|
}
|
|
38
43
|
export type PointSelectorConfig = Partial<Config>;
|
|
39
44
|
type EventMap = {
|
|
@@ -2,28 +2,28 @@ var R = Object.defineProperty, O = Object.defineProperties;
|
|
|
2
2
|
var X = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var N = Object.getOwnPropertySymbols;
|
|
4
4
|
var Y = Object.prototype.hasOwnProperty, B = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var
|
|
5
|
+
var M = (l, h, e) => h in l ? R(l, h, { enumerable: !0, configurable: !0, writable: !0, value: e }) : l[h] = e, P = (l, h) => {
|
|
6
6
|
for (var e in h || (h = {}))
|
|
7
|
-
Y.call(h, e) &&
|
|
7
|
+
Y.call(h, e) && M(l, e, h[e]);
|
|
8
8
|
if (N)
|
|
9
9
|
for (var e of N(h))
|
|
10
|
-
B.call(h, e) &&
|
|
10
|
+
B.call(h, e) && M(l, e, h[e]);
|
|
11
11
|
return l;
|
|
12
|
-
},
|
|
13
|
-
var i = (l, h, e) => (
|
|
12
|
+
}, T = (l, h) => O(l, X(h));
|
|
13
|
+
var i = (l, h, e) => (M(l, typeof h != "symbol" ? h + "" : h, e), e);
|
|
14
14
|
import { PointSelectorHelper as C } from "./utils/PointSelectorHelper.js";
|
|
15
|
-
import { isTouchDevice as
|
|
15
|
+
import { isTouchDevice as k } from "../../isTouchDevice.js";
|
|
16
16
|
import * as o from "three";
|
|
17
|
-
import { Subscribe as
|
|
18
|
-
import { getIntersectByRaycaster as
|
|
19
|
-
import { getRaycasterByNdcPosition as
|
|
17
|
+
import { Subscribe as j } from "../../Subscribe.js";
|
|
18
|
+
import { getIntersectByRaycaster as A, getVirtualIntersectByRaycaster as G } from "../../five/getPosition.js";
|
|
19
|
+
import { getRaycasterByNdcPosition as W } from "../../five/getRaycasterByNdcPosition.js";
|
|
20
20
|
import { CURSOR_NOT_ALLOW_URL as V } from "./utils/contents.js";
|
|
21
|
-
import { rayOnLine as
|
|
22
|
-
import { THREERaycaster as
|
|
21
|
+
import { rayOnLine as z } from "../../../Sculpt/utils/three/rayOnLine.js";
|
|
22
|
+
import { THREERaycaster as K } from "../core/Raycaster.js";
|
|
23
23
|
const _ = new o.Vector3(), w = () => !1;
|
|
24
|
-
class se extends
|
|
24
|
+
class se extends j {
|
|
25
25
|
constructor(e, t) {
|
|
26
|
-
var u, d, n, f;
|
|
26
|
+
var u, d, n, f, y;
|
|
27
27
|
super();
|
|
28
28
|
i(this, "_cursorError", !1);
|
|
29
29
|
i(this, "actionIfNoIntersection", "virtualPoint");
|
|
@@ -181,10 +181,10 @@ class se extends A {
|
|
|
181
181
|
*/
|
|
182
182
|
i(this, "updateByNdcPosition", (e) => {
|
|
183
183
|
var c, u, d;
|
|
184
|
-
const t =
|
|
185
|
-
let s =
|
|
184
|
+
const t = W(this.five, e);
|
|
185
|
+
let s = A(this.five, t);
|
|
186
186
|
if (s) {
|
|
187
|
-
if (this.plane && this.planeMode === "vertical" && (s =
|
|
187
|
+
if (this.plane && this.planeMode === "vertical" && (s = T(P({}, s), {
|
|
188
188
|
point: this.plane.projectPoint(s.point, new o.Vector3()),
|
|
189
189
|
face: new o.Face3(0, 0, 0, this.plane.normal.clone()),
|
|
190
190
|
originalPoint: s.point.clone()
|
|
@@ -219,7 +219,7 @@ class se extends A {
|
|
|
219
219
|
if (this.actionIfNoIntersection === "lastPoint")
|
|
220
220
|
return this.updatePointSelectorHelperIntersect(this.lastIntersection), !0;
|
|
221
221
|
if (this.actionIfNoIntersection === "virtualPoint") {
|
|
222
|
-
const n =
|
|
222
|
+
const n = G(t, (c = this.lastIntersection) == null ? void 0 : c.distance);
|
|
223
223
|
return n.face = new o.Face3(0, 0, 0, (d = (u = this.lastIntersection) == null ? void 0 : u.face) == null ? void 0 : d.normal), n.isVirtual = !0, this.lastIntersection = n, this.updatePointSelectorHelperIntersect(n), !0;
|
|
224
224
|
} else if (this.actionIfNoIntersection === "disable")
|
|
225
225
|
return this.updatePointSelectorHelperIntersect(null), !1;
|
|
@@ -228,7 +228,7 @@ class se extends A {
|
|
|
228
228
|
* @description: 更新 pointSelectorHelper 的焦点位置
|
|
229
229
|
*/
|
|
230
230
|
i(this, "updatePointSelectorHelperIntersect", (e) => {
|
|
231
|
-
var s, c, u, d, n, f,
|
|
231
|
+
var s, c, u, d, n, f, y, L;
|
|
232
232
|
if (!e) {
|
|
233
233
|
this.pointSelectorHelper.hide(), this.pointSelectorHelper.position = e, this.emit("intersectionUpdate", e), this.five.getElement().style.cursor = V;
|
|
234
234
|
return;
|
|
@@ -236,7 +236,7 @@ class se extends A {
|
|
|
236
236
|
this.onEnter(), this.cursorError || (this.five.getElement().style.cursor = "");
|
|
237
237
|
const t = P({}, e);
|
|
238
238
|
if (this.adhereEnabled && this.mouseNdcPosition && this.five.renderer) {
|
|
239
|
-
const
|
|
239
|
+
const I = {
|
|
240
240
|
x: this.mouseNdcPosition.x,
|
|
241
241
|
y: 1 - this.mouseNdcPosition.y
|
|
242
242
|
}, H = this.five.renderer.getSize(new o.Vector2());
|
|
@@ -251,21 +251,21 @@ class se extends A {
|
|
|
251
251
|
if (a.distanceTo(e.point) < this.adhereRadius)
|
|
252
252
|
(!this.plane || this.plane.distanceToPoint(a) < 0.01) && (a = (d = (u = this.plane) == null ? void 0 : u.projectPoint(a, new o.Vector3())) != null ? d : a, t.point = a.clone(), t.adhereLine = r.clone(), t.isAdsorbed = !0);
|
|
253
253
|
else {
|
|
254
|
-
const p =
|
|
255
|
-
raycaster: new
|
|
254
|
+
const p = z({
|
|
255
|
+
raycaster: new K(this.five.camera.position, e.point.clone().sub(this.five.camera.position).normalize()),
|
|
256
256
|
line: r,
|
|
257
257
|
clampToLine: !1
|
|
258
258
|
}), v = p.clone().project(this.five.camera);
|
|
259
259
|
if (v.z <= 1) {
|
|
260
|
-
const
|
|
260
|
+
const b = {
|
|
261
261
|
x: (v.x + 1) / 2,
|
|
262
262
|
y: (1 - v.y) / 2
|
|
263
|
-
},
|
|
264
|
-
x: Math.abs(
|
|
265
|
-
y: Math.abs(
|
|
263
|
+
}, S = {
|
|
264
|
+
x: Math.abs(b.x - I.x) * H.width,
|
|
265
|
+
y: Math.abs(b.y - I.y) * H.height
|
|
266
266
|
};
|
|
267
267
|
let m = p.clone();
|
|
268
|
-
|
|
268
|
+
S.x < 10 && S.y < 10 && (!this.plane || this.plane.distanceToPoint(m) < 0.01) && (m = (f = (n = this.plane) == null ? void 0 : n.projectPoint(m, new o.Vector3())) != null ? f : m, t.point = m.clone(), t.adhereLine = r.clone(), t.isAdsorbed = !0);
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
}
|
|
@@ -274,30 +274,30 @@ class se extends A {
|
|
|
274
274
|
if (a.IsAlwaysVisible = r.IsAlwaysVisible, this.plane && this.plane.distanceToPoint(a) > 0.01)
|
|
275
275
|
continue;
|
|
276
276
|
if (a.distanceTo(e.point) < this.adhereRadius) {
|
|
277
|
-
t.point = (L = (
|
|
277
|
+
t.point = (L = (y = this.plane) == null ? void 0 : y.projectPoint(a, new o.Vector3())) != null ? L : a.clone(), !this.plane && r instanceof o.Face3 && (t.face = r), t.isAdsorbed = !0;
|
|
278
278
|
break;
|
|
279
279
|
} else {
|
|
280
280
|
const v = a.clone().project(this.five.camera);
|
|
281
281
|
if (v.z > 1)
|
|
282
282
|
continue;
|
|
283
|
-
const
|
|
283
|
+
const b = this.five.renderer.getSize(new o.Vector2()), S = {
|
|
284
284
|
x: (v.x + 1) / 2,
|
|
285
285
|
y: (1 - v.y) / 2
|
|
286
286
|
}, m = {
|
|
287
|
-
x: Math.abs(
|
|
288
|
-
y: Math.abs(
|
|
287
|
+
x: Math.abs(S.x - I.x) * b.width,
|
|
288
|
+
y: Math.abs(S.y - I.y) * b.height
|
|
289
289
|
};
|
|
290
290
|
if (m.x < 10 && m.y < 10) {
|
|
291
|
-
let
|
|
291
|
+
let E = !1;
|
|
292
292
|
if (a.IsAlwaysVisible)
|
|
293
|
-
|
|
293
|
+
E = !0;
|
|
294
294
|
else {
|
|
295
295
|
const D = new o.Raycaster();
|
|
296
296
|
D.setFromCamera(a.clone(), this.five.camera);
|
|
297
297
|
const F = this.five.model.intersectRaycaster(D, void 0, !0)[0], x = 0.1, U = this.five.camera.position.distanceTo(a);
|
|
298
|
-
F && F.distance < U + x && (
|
|
298
|
+
F && F.distance < U + x && (E = !0);
|
|
299
299
|
}
|
|
300
|
-
if (
|
|
300
|
+
if (E) {
|
|
301
301
|
t.point = a.clone(), !this.plane && r instanceof o.Face3 && (t.face = r), t.isAdsorbed = !0;
|
|
302
302
|
break;
|
|
303
303
|
}
|
|
@@ -330,13 +330,14 @@ class se extends A {
|
|
|
330
330
|
});
|
|
331
331
|
this.five = e, this.config = P(P({}, this.config), t), this.actionIfNoIntersection = (d = (u = t == null ? void 0 : t.actionIfNoIntersection) != null ? u : t == null ? void 0 : t.actionIfNoModelUnderMouse) != null ? d : "virtualPoint";
|
|
332
332
|
const s = (n = t == null ? void 0 : t.mode) != null ? n : "auto";
|
|
333
|
-
s === "auto" ? this.mode =
|
|
333
|
+
s === "auto" ? this.mode = k ? "fixed" : "cursor" : this.mode = s;
|
|
334
334
|
const c = {
|
|
335
335
|
autoFixPCPosition: this.mode === "cursor",
|
|
336
336
|
initialPosition: this.mode === "fixed" ? { left: "35%", top: "20%" } : void 0
|
|
337
337
|
};
|
|
338
|
-
this.pointSelectorHelper = new C(this.five,
|
|
339
|
-
magnifierParams: P(P({}, c), (f = t == null ? void 0 : t.helper) == null ? void 0 : f.magnifierParams)
|
|
338
|
+
this.pointSelectorHelper = new C(this.five, T(P({}, t == null ? void 0 : t.helper), {
|
|
339
|
+
magnifierParams: P(P({}, c), (f = t == null ? void 0 : t.helper) == null ? void 0 : f.magnifierParams),
|
|
340
|
+
skipPanorama: (y = t == null ? void 0 : t.skipPanorama) != null ? y : !1
|
|
340
341
|
})), this.pointSelectorHelper.hide();
|
|
341
342
|
}
|
|
342
343
|
get position() {
|
|
@@ -9,6 +9,7 @@ export interface PointSelectorHelperConfig {
|
|
|
9
9
|
magnifierParams?: ConstructorParameters<typeof Magnifier>[1];
|
|
10
10
|
pointHelper?: PointHelperAbstract | 'default' | 'highlight' | null;
|
|
11
11
|
container?: Element;
|
|
12
|
+
skipPanorama?: boolean;
|
|
12
13
|
}
|
|
13
14
|
type EventMap = {
|
|
14
15
|
intersectionUpdate: (intersection: PointIntersection) => void;
|