@realsee/dnalogel 3.65.7 → 3.65.8
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 -0
- package/dist/MeasurePlugin/Controller.d.ts +10 -0
- package/dist/MeasurePlugin/index.d.ts +1 -0
- package/dist/PanoMeasurePlugin/utils/dom/base.d.ts +1 -1
- package/dist/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +8 -1
- package/dist/Sculpt/Meshes/Line.d.ts +3 -0
- package/dist/Sculpt/utils/Meshes/getLengthHTML.d.ts +1 -0
- package/dist/index.cjs.js +127 -55
- package/dist/index.js +2740 -2542
- package/dist/index.umd.js +139 -67
- package/docs/assets/highlight.css +42 -21
- package/docs/assets/search.js +1 -1
- package/docs/classes/AreaMakerPluginType.AreaMakerController.html +3 -3
- package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
- package/docs/classes/CSS3DRender.html +3 -3
- package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
- package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
- package/docs/classes/ModelMakerPluginInstance.html +3 -3
- 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 +5 -5
- package/docs/classes/Util.Interval.html +2 -2
- package/docs/classes/Util.LegacyPointHelper.html +2 -2
- package/docs/classes/Util.LightTag.html +6 -6
- package/docs/classes/Util.LineSegments.html +2 -2
- package/docs/classes/Util.Magnifier.html +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +5 -5
- 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 +2 -2
- 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/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 +3 -3
- 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 +6 -6
- package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.Config.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +3 -3
- package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +3 -3
- 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 +5 -5
- 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 +4 -4
- package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
- package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +4 -4
- package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
- package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +7 -7
- 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/State.html +2 -2
- package/docs/interfaces/TagCacheInterface.html +2 -2
- package/docs/interfaces/TagConfig.html +17 -17
- package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
- package/docs/interfaces/TagIconUrl.html +2 -2
- package/docs/interfaces/TagObjectGroup.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 +3 -3
- package/docs/interfaces/Util.EventHandlerConfig.html +6 -6
- 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 +2 -2
- package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
- package/docs/interfaces/Util.PointIntersection.html +2 -2
- package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
- package/docs/interfaces/Util.ReBlinkAnimeOptions.html +3 -3
- 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 +1 -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/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 +10 -0
- package/libs/MeasurePlugin/Controller.js +157 -115
- package/libs/MeasurePlugin/index.d.ts +1 -0
- package/libs/PanoMeasurePlugin/utils/dom/base.d.ts +1 -1
- package/libs/PanoMeasurePlugin/utils/dom/base.js +3 -3
- package/libs/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +8 -1
- package/libs/PanoMeasurePlugin/utils/dom/distanceItem.js +128 -44
- package/libs/Sculpt/Meshes/Line.d.ts +3 -0
- package/libs/Sculpt/Meshes/Line.js +142 -103
- package/libs/Sculpt/Meshes/Point.js +35 -36
- package/libs/Sculpt/Meshes/Polygon.js +32 -44
- package/libs/Sculpt/utils/Meshes/getLengthHTML.d.ts +1 -0
- package/libs/Sculpt/utils/Meshes/getLengthHTML.js +55 -21
- package/libs/base/BasePlugin.js +1 -1
- package/libs/shared-utils/logger.js +1 -1
- package/package.json +1 -1
|
@@ -19,9 +19,16 @@ interface DistanceItemParams extends ItemDomParams {
|
|
|
19
19
|
export declare class DistanceItem extends ItemDom {
|
|
20
20
|
protected params: DistanceItemParams;
|
|
21
21
|
private line;
|
|
22
|
+
private lastFOV;
|
|
23
|
+
private cameraUpdateHandler;
|
|
22
24
|
constructor(params: DistanceItemParams);
|
|
23
|
-
|
|
25
|
+
appendTo(container: Element): this;
|
|
26
|
+
remove(): void;
|
|
24
27
|
/** 获取内容文本 */
|
|
25
28
|
getCurrentContent(): string;
|
|
29
|
+
update(five: Five): void;
|
|
30
|
+
private getFiveInstance;
|
|
31
|
+
private onCameraUpdate;
|
|
32
|
+
private onPanoChange;
|
|
26
33
|
}
|
|
27
34
|
export {};
|
|
@@ -1,63 +1,147 @@
|
|
|
1
|
-
var j = Object.defineProperty,
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var u = (
|
|
6
|
-
for (var
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
for (var
|
|
10
|
-
|
|
11
|
-
return
|
|
12
|
-
},
|
|
13
|
-
var
|
|
14
|
-
import { ItemDom as
|
|
1
|
+
var j = Object.defineProperty, V = Object.defineProperties;
|
|
2
|
+
var $ = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var F = Object.getOwnPropertySymbols;
|
|
4
|
+
var A = Object.prototype.hasOwnProperty, B = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var u = (i, t, e) => t in i ? j(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, y = (i, t) => {
|
|
6
|
+
for (var e in t || (t = {}))
|
|
7
|
+
A.call(t, e) && u(i, e, t[e]);
|
|
8
|
+
if (F)
|
|
9
|
+
for (var e of F(t))
|
|
10
|
+
B.call(t, e) && u(i, e, t[e]);
|
|
11
|
+
return i;
|
|
12
|
+
}, D = (i, t) => V(i, $(t));
|
|
13
|
+
var m = (i, t, e) => (u(i, typeof t != "symbol" ? t + "" : t, e), e);
|
|
14
|
+
import { ItemDom as L } from "./base.js";
|
|
15
15
|
import { Vector2 as I } from "three";
|
|
16
16
|
import { isNDCPointInFront as g } from "../isNDCPointInScreen.js";
|
|
17
|
-
import { centerPoint as
|
|
18
|
-
class
|
|
19
|
-
constructor(
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
background: "
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
import { centerPoint as U } from "../../../shared-utils/three/centerPoint.js";
|
|
18
|
+
class K extends L {
|
|
19
|
+
constructor(e) {
|
|
20
|
+
var n;
|
|
21
|
+
e.contentStyle = D(y({}, e.contentStyle), {
|
|
22
|
+
background: "#FFFFFF",
|
|
23
|
+
color: "#041066",
|
|
24
|
+
fontFamily: "Arial-BoldMT",
|
|
25
|
+
fontWeight: "BoldMT",
|
|
26
|
+
letterSpacing: "0",
|
|
27
|
+
lineHeight: "20px",
|
|
28
|
+
padding: "2px 8px",
|
|
29
|
+
borderRadius: "12px",
|
|
30
|
+
display: "flex",
|
|
31
|
+
alignItems: "center",
|
|
32
|
+
justifyContent: "center",
|
|
33
|
+
"--distance-scale": "1",
|
|
34
|
+
transition: "font-size 0.5s ease"
|
|
25
35
|
});
|
|
26
|
-
super(
|
|
27
|
-
|
|
28
|
-
this
|
|
36
|
+
super(e);
|
|
37
|
+
m(this, "line");
|
|
38
|
+
m(this, "lastFOV");
|
|
39
|
+
m(this, "cameraUpdateHandler", null);
|
|
40
|
+
m(this, "onPanoChange", () => {
|
|
41
|
+
const e = this.getFiveInstance();
|
|
42
|
+
e && setTimeout(() => this.update(e), 100);
|
|
43
|
+
});
|
|
44
|
+
if (this.line = e.line, (n = this.params.userDistanceItem) != null && n.element ? this.containerDom.appendChild(this.params.userDistanceItem.element) : this.containerDom.appendChild(this.contentDom), !document.getElementById("PanoMeasurePluginFontSizes")) {
|
|
45
|
+
const a = document.createElement("style");
|
|
46
|
+
a.id = "PanoMeasurePluginFontSizes", document.head.appendChild(a), a.innerHTML = `
|
|
47
|
+
.pano-measure-item-content {
|
|
48
|
+
transition: font-size 0.5s ease; /* Smooth transition for font size */
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* sm screen */
|
|
52
|
+
@media screen and (max-width: 499px) {
|
|
53
|
+
.pano-measure-item-content {
|
|
54
|
+
font-size: calc(12px + (14px - 12px) * var(--distance-scale));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* md screen */
|
|
59
|
+
@media screen and (min-width: 500px) and (max-width: 929px) {
|
|
60
|
+
.pano-measure-item-content {
|
|
61
|
+
font-size: calc(12px + (14px - 12px) * var(--distance-scale));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* lg screen */
|
|
66
|
+
@media screen and (min-width: 930px) and (max-width: 1365px) {
|
|
67
|
+
.pano-measure-item-content {
|
|
68
|
+
font-size: calc(14px + (16px - 14px) * var(--distance-scale));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* xl screen */
|
|
73
|
+
@media screen and (min-width: 1366px) and (max-width: 2549px) {
|
|
74
|
+
.pano-measure-item-content {
|
|
75
|
+
font-size: calc(14px + (16px - 14px) * var(--distance-scale));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* xxl screen */
|
|
80
|
+
@media screen and (min-width: 2550px) {
|
|
81
|
+
.pano-measure-item-content {
|
|
82
|
+
font-size: calc(0.875rem + (1rem - 0.875rem) * var(--distance-scale));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
`;
|
|
86
|
+
}
|
|
87
|
+
this.contentDom.classList.add("pano-measure-item-content");
|
|
88
|
+
}
|
|
89
|
+
appendTo(e) {
|
|
90
|
+
if (super.appendTo(e), !this.cameraUpdateHandler) {
|
|
91
|
+
this.cameraUpdateHandler = () => this.onCameraUpdate();
|
|
92
|
+
const n = this.getFiveInstance();
|
|
93
|
+
n && (n.on("cameraUpdate", this.cameraUpdateHandler), n.on("cameraFovUpdate", this.cameraUpdateHandler), n.on("panoArrived", this.onPanoChange));
|
|
94
|
+
}
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
remove() {
|
|
98
|
+
if (this.cameraUpdateHandler) {
|
|
99
|
+
const e = this.getFiveInstance();
|
|
100
|
+
e && (e.off("cameraUpdate", this.cameraUpdateHandler), e.off("cameraFovUpdate", this.cameraUpdateHandler), e.off("panoArrived", this.onPanoChange)), this.cameraUpdateHandler = null;
|
|
101
|
+
}
|
|
102
|
+
super.remove();
|
|
103
|
+
}
|
|
104
|
+
/** 获取内容文本 */
|
|
105
|
+
getCurrentContent() {
|
|
106
|
+
var l, d, s, o;
|
|
107
|
+
if (this.line.points.length < 2)
|
|
108
|
+
return "";
|
|
109
|
+
const [e, n] = this.line.points, a = e.position.clone().distanceTo(n.position), r = (d = this.line.text) != null ? d : (l = this.line.model.config) == null ? void 0 : l.defaultText, p = (o = (s = this.line.model.config) == null ? void 0 : s.getDistanceText) == null ? void 0 : o.call(s, a), c = r != null ? r : p;
|
|
110
|
+
return c != null ? c : a.toFixed(2) + "m";
|
|
29
111
|
}
|
|
30
|
-
update(
|
|
31
|
-
var
|
|
112
|
+
update(e) {
|
|
113
|
+
var v;
|
|
32
114
|
if (this.line.mesh.visible === !1) {
|
|
33
115
|
this.hide();
|
|
34
116
|
return;
|
|
35
117
|
}
|
|
36
|
-
const
|
|
37
|
-
if (!
|
|
118
|
+
const n = e.getElement();
|
|
119
|
+
if (!n)
|
|
38
120
|
return;
|
|
39
|
-
const a =
|
|
121
|
+
const a = n.clientWidth, r = n.clientHeight, p = a / 2, c = r / 2;
|
|
40
122
|
if (this.line.points.length < 2)
|
|
41
123
|
return;
|
|
42
|
-
const [l,
|
|
43
|
-
if ((() => !(Math.abs(
|
|
124
|
+
const [l, d] = this.line.points.map((W) => W.position.clone().applyMatrix4(this.line.mesh.matrixWorld)), s = l.clone().project(e.camera), o = d.clone().project(e.camera), h = U(l, d).clone().project(e.camera), f = new I(s.x * p, s.y * c), x = new I(o.x * p, o.y * c), P = f.distanceTo(x);
|
|
125
|
+
if ((() => !(Math.abs(s.z) > 1 || Math.abs(o.z) > 1 || !g(s) && !g(o) || !g(h) || P === 0))() === !1) {
|
|
44
126
|
this.hide();
|
|
45
127
|
return;
|
|
46
128
|
}
|
|
47
|
-
const
|
|
48
|
-
this.
|
|
49
|
-
const T =
|
|
50
|
-
this.
|
|
129
|
+
const C = U(l, d).distanceTo(e.camera.position), H = e.camera.fov || 60, M = 2 * Math.tan(0.5 * H / 180 * Math.PI), z = Math.max(Math.min(1 - M * C / 40, 1), 0);
|
|
130
|
+
this.contentDom.style.setProperty("--distance-scale", z.toString());
|
|
131
|
+
const S = (h.x + 1) / 2 * a, w = -(h.y - 1) / 2 * r, T = -(Math.atan((f.y - x.y) / (f.x - x.x)) * 180) / Math.PI, b = this.containerDom.parentElement && this.contentDom.clientWidth > P ? -20 : 0;
|
|
132
|
+
this.containerDom.style.transform = `translate(${S}px, ${w}px) rotate(${T}deg) translateY(${b}px)`, this.show(), (v = this.params.userDistanceItem) == null || v.update({ line: this.line, polyline: this.line.getPolyline() });
|
|
133
|
+
const E = this.getCurrentContent();
|
|
134
|
+
this.contentDom.innerText = E;
|
|
51
135
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
136
|
+
getFiveInstance() {
|
|
137
|
+
var e, n;
|
|
138
|
+
return (n = (e = this.line.model) == null ? void 0 : e.config) == null ? void 0 : n.five;
|
|
139
|
+
}
|
|
140
|
+
onCameraUpdate() {
|
|
141
|
+
const e = this.getFiveInstance();
|
|
142
|
+
e != null && e.camera && this.lastFOV !== e.camera.fov && (this.lastFOV = e.camera.fov, this.update(e));
|
|
59
143
|
}
|
|
60
144
|
}
|
|
61
145
|
export {
|
|
62
|
-
|
|
146
|
+
K as DistanceItem
|
|
63
147
|
};
|
|
@@ -35,6 +35,7 @@ export declare class LineMesh extends IObject3D implements RenderDomObjectType {
|
|
|
35
35
|
private colorBeforeHighlight;
|
|
36
36
|
private paramsStyle;
|
|
37
37
|
private lastRenderDomItem;
|
|
38
|
+
private lastFOV;
|
|
38
39
|
constructor(params?: Partial<LineMeshStyle & LineData>);
|
|
39
40
|
updateMatrixWorld(force?: boolean): void;
|
|
40
41
|
setPoints(points: AnyPositions): void;
|
|
@@ -49,4 +50,6 @@ export declare class LineMesh extends IObject3D implements RenderDomObjectType {
|
|
|
49
50
|
_onShowed: () => void;
|
|
50
51
|
_onHidden: () => void;
|
|
51
52
|
private updateDomItems;
|
|
53
|
+
private onCameraUpdate;
|
|
54
|
+
private onPanoArrived;
|
|
52
55
|
}
|
|
@@ -1,89 +1,99 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
for (var e in
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
for (var e of
|
|
10
|
-
|
|
11
|
-
return
|
|
12
|
-
},
|
|
13
|
-
var
|
|
14
|
-
import * as
|
|
15
|
-
import { DEFAULT_LINE_COLOR as
|
|
16
|
-
import { anyPositionToVector3 as
|
|
17
|
-
import { IObject3D as
|
|
18
|
-
import { LightTag as
|
|
1
|
+
var $ = Object.defineProperty, Y = Object.defineProperties;
|
|
2
|
+
var q = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var B = Object.getOwnPropertySymbols;
|
|
4
|
+
var J = Object.prototype.hasOwnProperty, K = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var L = (a, n, e) => n in a ? $(a, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[n] = e, p = (a, n) => {
|
|
6
|
+
for (var e in n || (n = {}))
|
|
7
|
+
J.call(n, e) && L(a, e, n[e]);
|
|
8
|
+
if (B)
|
|
9
|
+
for (var e of B(n))
|
|
10
|
+
K.call(n, e) && L(a, e, n[e]);
|
|
11
|
+
return a;
|
|
12
|
+
}, E = (a, n) => Y(a, q(n));
|
|
13
|
+
var o = (a, n, e) => (L(a, typeof n != "symbol" ? n + "" : n, e), e);
|
|
14
|
+
import * as v from "three";
|
|
15
|
+
import { DEFAULT_LINE_COLOR as Q, DEFAULT_LINE_WIDTH as X, DEFAULT_HIGHLIGHT_OPACITY as Z } from "../typings/style.js";
|
|
16
|
+
import { anyPositionToVector3 as ee } from "../../shared-utils/positionToVector3.js";
|
|
17
|
+
import { IObject3D as te } from "../../shared-utils/three/IObject3D.js";
|
|
18
|
+
import { LightTag as ie } from "../../shared-utils/tag.js";
|
|
19
19
|
import "../../vendor/hammerjs/hammer.js";
|
|
20
20
|
import "../../shared-utils/three/PointSelector/index.js";
|
|
21
|
-
import { centerPoint as
|
|
21
|
+
import { centerPoint as U } from "../../shared-utils/three/centerPoint.js";
|
|
22
22
|
import "../../shared-utils/three/CSS3DRenderer/index.js";
|
|
23
23
|
import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
|
|
24
|
-
import { getLengthHTML as
|
|
25
|
-
import { localToWorld as
|
|
26
|
-
import { LineGeometry as
|
|
27
|
-
import { LineMaterial as
|
|
28
|
-
import { THREE_Line2 as
|
|
29
|
-
import { LineMaterial2 as
|
|
30
|
-
import { transformUnit as
|
|
31
|
-
import { RenderDom as
|
|
24
|
+
import { getLengthHTML as se } from "../utils/Meshes/getLengthHTML.js";
|
|
25
|
+
import { localToWorld as V } from "../../shared-utils/three/applyObjectMatrixWorld.js";
|
|
26
|
+
import { LineGeometry as H } from "../../shared-utils/three/core/LineGeometry.js";
|
|
27
|
+
import { LineMaterial as oe } from "../../shared-utils/three/core/LineMaterial.js";
|
|
28
|
+
import { THREE_Line2 as F } from "../../shared-utils/three/core/Line2.js";
|
|
29
|
+
import { LineMaterial2 as ne } from "../../shared-utils/three/core/LineMaterial2.js";
|
|
30
|
+
import { transformUnit as le } from "../utils/unit.js";
|
|
31
|
+
import { RenderDom as T } from "../utils/renderDom.js";
|
|
32
32
|
import "../../shared-utils/three/core/Sphere.js";
|
|
33
33
|
import "../../vendor/animejs/lib/anime.es.js";
|
|
34
34
|
import "../../vendor/@tweenjs/tween/dist/tween.esm.js.js";
|
|
35
35
|
import "../../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
|
|
36
|
-
import { notNil as
|
|
36
|
+
import { notNil as m } from "../../shared-utils/isNil.js";
|
|
37
37
|
import "../../shared-utils/five/FivePuppet.js";
|
|
38
|
-
class
|
|
38
|
+
class Oe extends te {
|
|
39
39
|
constructor(e) {
|
|
40
|
-
var
|
|
40
|
+
var h, l, f, d;
|
|
41
41
|
super();
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
o(this, "name", "LineMesh");
|
|
43
|
+
o(this, "type", "Line2");
|
|
44
|
+
o(this, "object");
|
|
45
|
+
o(this, "points", []);
|
|
46
|
+
o(this, "doms", []);
|
|
47
|
+
o(this, "highlighted", !1);
|
|
48
|
+
o(this, "_geometry");
|
|
49
|
+
o(this, "line1");
|
|
50
|
+
o(this, "line2");
|
|
51
|
+
o(this, "opacityBeforeHighlight");
|
|
52
|
+
o(this, "colorBeforeHighlight");
|
|
53
|
+
o(this, "paramsStyle", {});
|
|
54
|
+
o(this, "lastRenderDomItem");
|
|
55
|
+
o(this, "lastFOV");
|
|
56
|
+
o(this, "_onAdded", () => {
|
|
56
57
|
this.doms.length === 0 && this.paramsStyle.lengthEnable && this.updateDomItems();
|
|
57
58
|
});
|
|
58
|
-
|
|
59
|
+
o(this, "_onRemoved", () => {
|
|
59
60
|
this.doms.forEach((e) => e.destroy()), this.doms = [];
|
|
60
61
|
});
|
|
61
|
-
|
|
62
|
+
o(this, "_onShowed", () => {
|
|
62
63
|
this.doms.forEach((e) => e.container.style.display = "block");
|
|
63
64
|
});
|
|
64
|
-
|
|
65
|
+
o(this, "_onHidden", () => {
|
|
65
66
|
this.doms.forEach((e) => e.container.style.display = "none");
|
|
66
67
|
});
|
|
67
|
-
|
|
68
|
+
// Handle camera updates (zoom changes)
|
|
69
|
+
o(this, "onCameraUpdate", () => {
|
|
70
|
+
var e;
|
|
71
|
+
(e = this.five) != null && e.camera && this.lastFOV !== this.five.camera.fov && (this.lastFOV = this.five.camera.fov, this.updateDomItems({ force: !0 }));
|
|
72
|
+
});
|
|
73
|
+
// Handle panorama point changes
|
|
74
|
+
o(this, "onPanoArrived", () => {
|
|
75
|
+
setTimeout(() => this.updateDomItems({ force: !0 }), 100);
|
|
76
|
+
});
|
|
77
|
+
this.paramsStyle = p({ dashed: !1, lineOpacity: 1 }, e), this.geometry = new H();
|
|
68
78
|
const i = {
|
|
69
|
-
color: new
|
|
70
|
-
linewidth: (
|
|
79
|
+
color: new v.Color((h = e == null ? void 0 : e.lineColor) != null ? h : Q),
|
|
80
|
+
linewidth: (l = e == null ? void 0 : e.lineWidth) != null ? l : X,
|
|
71
81
|
dashScale: 1,
|
|
72
82
|
dashSize: 0.02,
|
|
73
83
|
gapSize: 0.02,
|
|
74
|
-
opacity: (
|
|
84
|
+
opacity: (f = e == null ? void 0 : e.lineOpacity) != null ? f : 1,
|
|
75
85
|
depthWrite: !1,
|
|
76
86
|
transparent: !0
|
|
77
|
-
},
|
|
78
|
-
if (this.line1 = new
|
|
79
|
-
const
|
|
80
|
-
|
|
87
|
+
}, s = new oe(E(p({}, i), { dashed: !1, depthTest: !0 })), t = new ne(E(p({}, i), { dashed: !0, depthTest: !1 }));
|
|
88
|
+
if (this.line1 = new F(this.geometry, s), this.line2 = new F(this.geometry, t), this.line1.renderOrder = 2, this.line2.renderOrder = 2, this.line1.name = "line1", this.line2.name = "line2", this.add(this.line1), this.five) {
|
|
89
|
+
const y = (d = this.five.renderer) == null ? void 0 : d.getSize(new v.Vector2());
|
|
90
|
+
y && this.setResolution(y.width, y.height), this.five.on("cameraUpdate", this.onCameraUpdate), this.five.on("cameraFovUpdate", this.onCameraUpdate), this.five.on("panoArrived", this.onPanoArrived);
|
|
81
91
|
}
|
|
82
92
|
e && this.setStyle(e), e != null && e.points && this.setPoints(e.points), this.addEventListener("removed", () => {
|
|
83
|
-
|
|
93
|
+
this.five && (this.five.off("cameraUpdate", this.onCameraUpdate), this.five.off("cameraFovUpdate", this.onCameraUpdate), this.five.off("panoArrived", this.onPanoArrived)), T.cacheObject.delete(this), T.checkDom(this);
|
|
84
94
|
}), this.addEventListener("added", () => {
|
|
85
|
-
|
|
86
|
-
}),
|
|
95
|
+
T.cacheObject.add(this);
|
|
96
|
+
}), T.checkDomEveryFrame();
|
|
87
97
|
}
|
|
88
98
|
get style() {
|
|
89
99
|
return {
|
|
@@ -107,7 +117,7 @@ class fe extends V {
|
|
|
107
117
|
}
|
|
108
118
|
get color() {
|
|
109
119
|
var e;
|
|
110
|
-
return new
|
|
120
|
+
return new v.Color((e = this.line1.material.three_color) != null ? e : this.paramsStyle.lineColor);
|
|
111
121
|
}
|
|
112
122
|
get dashed() {
|
|
113
123
|
return this.paramsStyle.dashed;
|
|
@@ -119,8 +129,8 @@ class fe extends V {
|
|
|
119
129
|
return this.paramsStyle.occlusionMode;
|
|
120
130
|
}
|
|
121
131
|
get five() {
|
|
122
|
-
var i,
|
|
123
|
-
const e = (
|
|
132
|
+
var i, s;
|
|
133
|
+
const e = (s = (i = window.globalModules) == null ? void 0 : i.five) != null ? s : window.$five;
|
|
124
134
|
return e || console.error("请先调用 Sculpt.modules.init(five) "), e;
|
|
125
135
|
}
|
|
126
136
|
set geometry(e) {
|
|
@@ -133,57 +143,57 @@ class fe extends V {
|
|
|
133
143
|
updateMatrixWorld(e) {
|
|
134
144
|
var i;
|
|
135
145
|
if (super.updateMatrixWorld(e), this.points) {
|
|
136
|
-
const
|
|
137
|
-
|
|
146
|
+
const s = (i = V(this, this.points)) == null ? void 0 : i.map((t) => t.toArray().join(",")).join(",");
|
|
147
|
+
s !== this.lastRenderDomItem && (this.updateDomItems(), this.lastRenderDomItem = s);
|
|
138
148
|
}
|
|
139
149
|
}
|
|
140
150
|
setPoints(e) {
|
|
141
151
|
if (this.points.length === 0 && e.length === 0)
|
|
142
152
|
return;
|
|
143
|
-
const i = e.map(
|
|
153
|
+
const i = e.map(ee).filter(m);
|
|
144
154
|
if (this.points = i, i.length < 2) {
|
|
145
|
-
const t = new
|
|
155
|
+
const t = new H();
|
|
146
156
|
this.line1.geometry = t, this.line2.geometry = t, this.updateDomItems();
|
|
147
157
|
return;
|
|
148
158
|
}
|
|
149
|
-
const
|
|
150
|
-
if (
|
|
159
|
+
const s = i.flatMap((t) => [t.x, t.y, t.z]);
|
|
160
|
+
if (s.length > 2) {
|
|
151
161
|
this.line1.geometry.dispose();
|
|
152
|
-
const t = new
|
|
162
|
+
const t = new H();
|
|
153
163
|
this.line1.geometry = t, this.line2.geometry = t;
|
|
154
164
|
}
|
|
155
|
-
this.line1.geometry.setPositions(
|
|
165
|
+
this.line1.geometry.setPositions(s), this.line1.computeLineDistances(), this.updateDomItems(), this.needsRender = !0;
|
|
156
166
|
}
|
|
157
167
|
setResolution(e, i) {
|
|
158
|
-
const
|
|
159
|
-
(
|
|
168
|
+
const s = this.line1.material.resolution;
|
|
169
|
+
(s.x !== e || s.y !== i) && (s.set(e, i), this.needsRender = !0);
|
|
160
170
|
const t = this.line2.material.resolution;
|
|
161
171
|
(t.x !== e || t.y !== i) && (t.set(e, i), this.needsRender = !0);
|
|
162
172
|
}
|
|
163
173
|
setStyle(e) {
|
|
164
|
-
var t,
|
|
165
|
-
if (this.paramsStyle =
|
|
166
|
-
const
|
|
167
|
-
this.line1.material.three_color =
|
|
174
|
+
var t, h, l, f;
|
|
175
|
+
if (this.paramsStyle = p(p({}, this.paramsStyle), e), m(e.lineColor)) {
|
|
176
|
+
const d = new v.Color(e.lineColor);
|
|
177
|
+
this.line1.material.three_color = d, this.line2.material.three_color = d;
|
|
168
178
|
}
|
|
169
|
-
|
|
170
|
-
const i = (
|
|
171
|
-
i ? this.dashed ? (this.remove(this.line2), this.line1.material.dashed = !0, this.line1.material.depthTest = !1) :
|
|
179
|
+
m(e.lineWidth) && (this.line1.material.linewidth = e.lineWidth, this.line2.material.linewidth = e.lineWidth), m(e.dashed) && (this.line1.material.dashed = e.dashed), m(e.lineOpacity) && (this.line1.material.opacity = e.lineOpacity, this.line2.material.opacity = e.lineOpacity), this.updateDomItems({ force: !0 });
|
|
180
|
+
const i = (h = (t = e.occlusionVisibility) != null ? t : this.paramsStyle.occlusionVisibility) != null ? h : !0, s = (f = (l = e.occlusionMode) != null ? l : this.paramsStyle.occlusionMode) != null ? f : "translucence";
|
|
181
|
+
i ? this.dashed ? (this.remove(this.line2), this.line1.material.dashed = !0, this.line1.material.depthTest = !1) : s === "depthTest" ? (this.remove(this.line2), this.line1.material.dashed = !1, this.line1.material.depthTest = !1) : s === "translucence" && (this.line1.material.depthTest = !0, this.line2.material.depthTest = !1, this.line1.material.dashed = !0, this.line2.material.dashed = !0, this.addIfNotExists(this.line2)) : (this.remove(this.line2), this.line1.material.depthTest = !0, this.line1.material.dashed = this.paramsStyle.dashed), this.doms.forEach((d) => d.intersectCheck = !i), this.needsRender = !0;
|
|
172
182
|
}
|
|
173
183
|
highlight(e) {
|
|
174
|
-
var i,
|
|
184
|
+
var i, s;
|
|
175
185
|
if (this.highlighted = !0, e != null && e.color) {
|
|
176
|
-
const t = new
|
|
186
|
+
const t = new v.Color(e.color);
|
|
177
187
|
this.colorBeforeHighlight = (i = this.colorBeforeHighlight) != null ? i : this.line1.material.three_color, this.line1.material.three_color = t, this.line2.material.three_color = t;
|
|
178
188
|
} else {
|
|
179
|
-
this.opacityBeforeHighlight = (
|
|
180
|
-
const t = this.opacityBeforeHighlight *
|
|
189
|
+
this.opacityBeforeHighlight = (s = this.opacityBeforeHighlight) != null ? s : this.line1.material.opacity;
|
|
190
|
+
const t = this.opacityBeforeHighlight * Z;
|
|
181
191
|
this.line1.material.opacity = t, this.line2.material.opacity = t;
|
|
182
192
|
}
|
|
183
193
|
this.needsRender = !0;
|
|
184
194
|
}
|
|
185
195
|
unhighlight() {
|
|
186
|
-
this.highlighted && (this.highlighted = !1,
|
|
196
|
+
this.highlighted && (this.highlighted = !1, m(this.opacityBeforeHighlight) && (this.line1.material.opacity = this.opacityBeforeHighlight, this.line2.material.opacity = this.line1.material.opacity, this.opacityBeforeHighlight = void 0), m(this.colorBeforeHighlight) && (this.line1.material.three_color = this.colorBeforeHighlight, this.line2.material.three_color = this.colorBeforeHighlight, this.colorBeforeHighlight = void 0), this.needsRender = !0);
|
|
187
197
|
}
|
|
188
198
|
updateDomItems(e) {
|
|
189
199
|
const i = () => {
|
|
@@ -193,31 +203,60 @@ class fe extends V {
|
|
|
193
203
|
return i();
|
|
194
204
|
if (!this.five)
|
|
195
205
|
return console.error("Five not found");
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
var
|
|
199
|
-
const
|
|
200
|
-
this.doms[
|
|
201
|
-
var
|
|
202
|
-
const
|
|
203
|
-
return
|
|
204
|
-
})(), this.doms[
|
|
205
|
-
const
|
|
206
|
-
var
|
|
207
|
-
const
|
|
208
|
-
this.doms[
|
|
209
|
-
|
|
210
|
-
|
|
206
|
+
const s = this.points.map((t, h) => h !== 0 ? [this.points[h - 1], t] : null).filter(m).map((t) => V(this, t));
|
|
207
|
+
s.forEach(([t, h], l) => {
|
|
208
|
+
var y;
|
|
209
|
+
const f = U(t, h);
|
|
210
|
+
this.doms[l] = (y = this.doms[l]) != null ? y : (() => {
|
|
211
|
+
var S;
|
|
212
|
+
const r = new ie(this.five), u = (S = this.paramsStyle.occlusionVisibility) != null ? S : !0;
|
|
213
|
+
return r.intersectCheck = !u, r.simulate3D = !0, r;
|
|
214
|
+
})(), this.doms[l].setPosition(f, [t, h]);
|
|
215
|
+
const d = (r, u) => {
|
|
216
|
+
var _, D, b;
|
|
217
|
+
const S = (_ = u == null ? void 0 : u.force) != null ? _ : !1;
|
|
218
|
+
if (!(this.doms[l].__text === r && !S))
|
|
219
|
+
if (this.doms[l].__text = r, r instanceof HTMLElement)
|
|
220
|
+
this.doms[l].container.innerHTML = "", this.doms[l].container.appendChild(r);
|
|
221
|
+
else if (r) {
|
|
222
|
+
const w = (() => {
|
|
223
|
+
if (!this.five || !this.five.camera)
|
|
224
|
+
return 0;
|
|
225
|
+
const g = this.five.getElement();
|
|
226
|
+
if (!g)
|
|
227
|
+
return 0;
|
|
228
|
+
const c = g.clientWidth, M = g.clientHeight, C = c / 2, I = M / 2, O = t.clone().project(this.five.camera), W = h.clone().project(this.five.camera), P = {
|
|
229
|
+
x: O.x * C,
|
|
230
|
+
y: O.y * I
|
|
231
|
+
}, R = {
|
|
232
|
+
x: W.x * C,
|
|
233
|
+
y: W.y * I
|
|
234
|
+
};
|
|
235
|
+
return Math.sqrt(Math.pow(R.x - P.x, 2) + Math.pow(R.y - P.y, 2));
|
|
236
|
+
})(), A = (() => !this.five || !this.five.camera ? 20 : U(t, h).distanceTo(this.five.camera.position))(), j = ((b = (D = this.five) == null ? void 0 : D.camera) == null ? void 0 : b.fov) || 60, z = 2 * Math.tan(0.5 * j / 180 * Math.PI), k = `--distance-scale: ${Math.max(Math.min(1 - z * A / 40, 1), 0)};`, G = (g) => {
|
|
237
|
+
const c = document.createElement("div");
|
|
238
|
+
c.classList.add("LineLengthTag"), c.style.visibility = "hidden", c.style.position = "absolute", c.style.padding = "2px 8px", c.style.fontFamily = "Arial-BoldMT", c.style.fontSize = "14px", c.innerText = g, document.body.appendChild(c);
|
|
239
|
+
const M = c.offsetWidth;
|
|
240
|
+
return document.body.removeChild(c), M;
|
|
241
|
+
};
|
|
242
|
+
let x = 0;
|
|
243
|
+
const N = G(r);
|
|
244
|
+
w > 0 && N > w && (x = -20), this.doms[l].container.innerHTML = se(r, {
|
|
245
|
+
style: `${k} ${this.paramsStyle.cssStyle || ""}`,
|
|
246
|
+
offsetY: x
|
|
247
|
+
});
|
|
248
|
+
} else
|
|
249
|
+
this.doms[l].container.innerHTML = "";
|
|
211
250
|
};
|
|
212
251
|
if (this.paramsStyle.tip)
|
|
213
|
-
|
|
252
|
+
d(this.paramsStyle.tip, e);
|
|
214
253
|
else {
|
|
215
|
-
const
|
|
216
|
-
|
|
254
|
+
const r = le(t.distanceTo(h), this.paramsStyle.lengthUnit);
|
|
255
|
+
d(r || null, e);
|
|
217
256
|
}
|
|
218
|
-
}), this.doms.length >
|
|
257
|
+
}), this.doms.length > s.length && (this.doms.slice(s.length).forEach((t) => t.destroy()), this.doms.length = s.length);
|
|
219
258
|
}
|
|
220
259
|
}
|
|
221
260
|
export {
|
|
222
|
-
|
|
261
|
+
Oe as LineMesh
|
|
223
262
|
};
|