@realsee/dnalogel 3.61.9 → 3.61.11
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 +9 -0
- package/dist/ModelViewPlugin/Plugin.d.ts +5 -0
- package/dist/index.cjs.js +15 -15
- package/dist/index.js +538 -527
- package/dist/index.umd.js +15 -15
- package/dist/shared-utils/three/PointSelector/index.d.ts +1 -0
- 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/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.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.PointHelper.html +2 -2
- package/docs/classes/Util.PointSelector.html +5 -5
- 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 +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 +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/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.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.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/GuideLinePluginType.RouteConfig.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.EventMap.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/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 +3 -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 +16 -16
- 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 +5 -5
- package/docs/interfaces/Util.FiveDomEvent.html +2 -2
- package/docs/interfaces/Util.FiveDomEventMap.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/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/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/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 +1 -1
- 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/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.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/ModelViewPlugin/Plugin.d.ts +5 -0
- package/libs/ModelViewPlugin/Plugin.js +65 -64
- package/libs/base/BasePlugin.js +1 -1
- package/libs/shared-utils/logger.js +1 -1
- package/libs/shared-utils/three/PointSelector/index.d.ts +1 -0
- package/libs/shared-utils/three/PointSelector/index.js +82 -72
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -43,7 +43,7 @@ import { LineGeometry as vA, LineMaterial as AA, THREE_Line2 as bA, Line as yA }
|
|
|
43
43
|
import { GLTFLoader as wA } from "@realsee/five/gltf-loader";
|
|
44
44
|
function CA() {
|
|
45
45
|
console.debug(
|
|
46
|
-
"%c %c@realsee/dnalogel %cv3.61.
|
|
46
|
+
"%c %c@realsee/dnalogel %cv3.61.11",
|
|
47
47
|
[
|
|
48
48
|
"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=')",
|
|
49
49
|
"background-repeat: no-repeat",
|
|
@@ -1722,7 +1722,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
1722
1722
|
function w(O) {
|
|
1723
1723
|
return Array.prototype.slice.call(O, 0);
|
|
1724
1724
|
}
|
|
1725
|
-
function
|
|
1725
|
+
function k(O, j, W) {
|
|
1726
1726
|
for (var te = [], ce = [], be = 0; be < O.length; ) {
|
|
1727
1727
|
var Ne = j ? O[be][j] : O[be];
|
|
1728
1728
|
I(ce, Ne) < 0 && te.push(O[be]), ce[be] = Ne, be++;
|
|
@@ -1731,7 +1731,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
1731
1731
|
return At[j] > Mt[j];
|
|
1732
1732
|
}) : te = te.sort()), te;
|
|
1733
1733
|
}
|
|
1734
|
-
function
|
|
1734
|
+
function x(O, j) {
|
|
1735
1735
|
for (var W, te, ce = j[0].toUpperCase() + j.slice(1), be = 0; be < r.length; ) {
|
|
1736
1736
|
if (W = r[be], te = W ? W + ce : j, te in O)
|
|
1737
1737
|
return te;
|
|
@@ -1747,7 +1747,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
1747
1747
|
var j = O.ownerDocument || O;
|
|
1748
1748
|
return j.defaultView || j.parentWindow || t;
|
|
1749
1749
|
}
|
|
1750
|
-
var J = /mobile|tablet|ip(ad|hone|od)|android/i, ee = "ontouchstart" in t, K =
|
|
1750
|
+
var J = /mobile|tablet|ip(ad|hone|od)|android/i, ee = "ontouchstart" in t, K = x(t, "PointerEvent") !== s, re = ee && J.test(navigator.userAgent), ne = "touch", ae = "pen", Se = "mouse", Ae = "kinect", Re = 25, ie = 1, we = 2, ke = 4, pe = 8, Xe = 1, je = 2, De = 4, Ue = 8, de = 16, xe = je | De, Ve = Ue | de, Ze = xe | Ve, lt = ["x", "y"], nt = ["clientX", "clientY"];
|
|
1751
1751
|
function Je(O, j) {
|
|
1752
1752
|
var W = this;
|
|
1753
1753
|
this.manager = O, this.callback = j, this.element = O.element, this.target = O.options.inputTarget, this.domHandler = function(te) {
|
|
@@ -1944,7 +1944,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
1944
1944
|
});
|
|
1945
1945
|
function Bi(O, j) {
|
|
1946
1946
|
var W = w(O.touches), te = w(O.changedTouches);
|
|
1947
|
-
return j & (ke | pe) && (W =
|
|
1947
|
+
return j & (ke | pe) && (W = k(W.concat(te), "identifier", !0)), [W, te];
|
|
1948
1948
|
}
|
|
1949
1949
|
var Ds = {
|
|
1950
1950
|
touchstart: ie,
|
|
@@ -1981,7 +1981,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
1981
1981
|
if (pt.length)
|
|
1982
1982
|
return [
|
|
1983
1983
|
// merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'
|
|
1984
|
-
|
|
1984
|
+
k(be.concat(pt), "identifier", !0),
|
|
1985
1985
|
pt
|
|
1986
1986
|
];
|
|
1987
1987
|
}
|
|
@@ -2038,7 +2038,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
2038
2038
|
}
|
|
2039
2039
|
return !1;
|
|
2040
2040
|
}
|
|
2041
|
-
var Ts =
|
|
2041
|
+
var Ts = x(o.style, "touchAction"), Ls = Ts !== s, Os = "compute", Et = "auto", es = "manipulation", wi = "none", en = "pan-x", tn = "pan-y", Cn = Vr();
|
|
2042
2042
|
function Dt(O, j) {
|
|
2043
2043
|
this.manager = O, this.set(j);
|
|
2044
2044
|
}
|
|
@@ -2734,7 +2734,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
2734
2734
|
if (W.style) {
|
|
2735
2735
|
var te;
|
|
2736
2736
|
p(O.options.cssProps, function(ce, be) {
|
|
2737
|
-
te =
|
|
2737
|
+
te = x(W.style, be), j ? (O.oldCssProps[te] = W.style[te], W.style[te] = ce) : W.style[te] = O.oldCssProps[te] || "";
|
|
2738
2738
|
}), j || (O.oldCssProps = {});
|
|
2739
2739
|
}
|
|
2740
2740
|
}
|
|
@@ -2786,7 +2786,7 @@ var pi = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
|
|
|
2786
2786
|
assign: v,
|
|
2787
2787
|
inherit: C,
|
|
2788
2788
|
bindFn: M,
|
|
2789
|
-
prefixed:
|
|
2789
|
+
prefixed: x
|
|
2790
2790
|
});
|
|
2791
2791
|
var Hr = typeof t != "undefined" ? t : typeof self != "undefined" ? self : {};
|
|
2792
2792
|
Hr.Hammer = si, typeof s == "function" && s.amd ? s(function() {
|
|
@@ -4013,6 +4013,7 @@ class $c extends wt {
|
|
|
4013
4013
|
d(this, "lastIntersection");
|
|
4014
4014
|
d(this, "mousePosition");
|
|
4015
4015
|
d(this, "_mouseDownInfo");
|
|
4016
|
+
d(this, "_touchStartInfo");
|
|
4016
4017
|
d(this, "config", {});
|
|
4017
4018
|
/**
|
|
4018
4019
|
* @description: 主动触发一次选点
|
|
@@ -4059,7 +4060,11 @@ class $c extends wt {
|
|
|
4059
4060
|
Math.abs(e.clientX - i) < 2 && Math.abs(e.clientY - s) < 2 && performance.now() - r < 500 ? this.select() : this._mouseDownInfo = null;
|
|
4060
4061
|
});
|
|
4061
4062
|
d(this, "onTouchStart", (e) => {
|
|
4062
|
-
this.
|
|
4063
|
+
this._touchStartInfo = {
|
|
4064
|
+
clientX: e.touches[0].clientX,
|
|
4065
|
+
clientY: e.touches[0].clientY,
|
|
4066
|
+
timestamp: performance.now()
|
|
4067
|
+
}, this.setPressDown = setTimeout(() => {
|
|
4063
4068
|
if (this.setPressDown = void 0, this.mousePosition = {
|
|
4064
4069
|
clientX: e.touches[0].clientX,
|
|
4065
4070
|
clientY: e.touches[0].clientY
|
|
@@ -4067,11 +4072,16 @@ class $c extends wt {
|
|
|
4067
4072
|
return;
|
|
4068
4073
|
const i = this.updateByNdcPosition(this.mouseNdcPosition);
|
|
4069
4074
|
this.pressDown = i;
|
|
4070
|
-
},
|
|
4075
|
+
}, 200);
|
|
4071
4076
|
});
|
|
4072
4077
|
d(this, "onTouchMove", (e) => {
|
|
4073
4078
|
if (this.setPressDown) {
|
|
4074
|
-
|
|
4079
|
+
let i = !1;
|
|
4080
|
+
if (this._touchStartInfo) {
|
|
4081
|
+
const { clientX: s, clientY: r } = this._touchStartInfo;
|
|
4082
|
+
(Math.abs(e.touches[0].clientX - s) > 2 || Math.abs(e.touches[0].clientY - r) > 2) && (i = !0);
|
|
4083
|
+
}
|
|
4084
|
+
i && (clearTimeout(this.setPressDown), this.setPressDown = void 0);
|
|
4075
4085
|
return;
|
|
4076
4086
|
}
|
|
4077
4087
|
if (this.pressDown) {
|
|
@@ -5331,18 +5341,18 @@ function at(n) {
|
|
|
5331
5341
|
Z && (A = $a(H, function(Re) {
|
|
5332
5342
|
return C < Re.end;
|
|
5333
5343
|
})[0] || A);
|
|
5334
|
-
for (var I = Ni(C - A.start - A.delay, 0, A.duration) / A.duration, w = isNaN(I) ? 1 : A.easing(I),
|
|
5344
|
+
for (var I = Ni(C - A.start - A.delay, 0, A.duration) / A.duration, w = isNaN(I) ? 1 : A.easing(I), k = A.to.strings, x = A.round, L = [], R = A.to.numbers.length, V = void 0, J = 0; J < R; J++) {
|
|
5335
5345
|
var ee = void 0, K = A.to.numbers[J], re = A.from.numbers[J] || 0;
|
|
5336
|
-
A.isPath ? ee = Jb(A.value, w * K, A.isPathTargetInsideSVG) : ee = re + w * (K - re),
|
|
5346
|
+
A.isPath ? ee = Jb(A.value, w * K, A.isPathTargetInsideSVG) : ee = re + w * (K - re), x && (A.isColor && J > 2 || (ee = Math.round(ee * x) / x)), L.push(ee);
|
|
5337
5347
|
}
|
|
5338
|
-
var ne =
|
|
5348
|
+
var ne = k.length;
|
|
5339
5349
|
if (!ne)
|
|
5340
5350
|
V = L[0];
|
|
5341
5351
|
else {
|
|
5342
|
-
V =
|
|
5352
|
+
V = k[0];
|
|
5343
5353
|
for (var ae = 0; ae < ne; ae++) {
|
|
5344
|
-
|
|
5345
|
-
var Se =
|
|
5354
|
+
k[ae];
|
|
5355
|
+
var Se = k[ae + 1], Ae = L[ae];
|
|
5346
5356
|
isNaN(Ae) || (Se ? V += Ae + Se : V += Ae + " ");
|
|
5347
5357
|
}
|
|
5348
5358
|
}
|
|
@@ -5417,10 +5427,10 @@ function o1(n, t) {
|
|
|
5417
5427
|
}
|
|
5418
5428
|
m = Math.max.apply(Math, v);
|
|
5419
5429
|
}
|
|
5420
|
-
i && (v = v.map(function(
|
|
5421
|
-
return i(
|
|
5422
|
-
})), e === "reverse" && (v = v.map(function(
|
|
5423
|
-
return r ?
|
|
5430
|
+
i && (v = v.map(function(k) {
|
|
5431
|
+
return i(k / m) * m;
|
|
5432
|
+
})), e === "reverse" && (v = v.map(function(k) {
|
|
5433
|
+
return r ? k < 0 ? k * -1 : -k : Math.abs(m - k);
|
|
5424
5434
|
}));
|
|
5425
5435
|
}
|
|
5426
5436
|
var w = h ? (f - u) / m : u;
|
|
@@ -5578,8 +5588,8 @@ function c1(n, t, e) {
|
|
|
5578
5588
|
for (; f !== 360; ) {
|
|
5579
5589
|
let T = 0;
|
|
5580
5590
|
const S = g(f), _ = (A) => {
|
|
5581
|
-
const I = A.distanceTo(S), w = new y.Raycaster(A, S.clone().sub(A).normalize()),
|
|
5582
|
-
Fe(
|
|
5591
|
+
const I = A.distanceTo(S), w = new y.Raycaster(A, S.clone().sub(A).normalize()), k = s.model.intersectRaycaster(w, void 0, !0)[0], x = k == null ? void 0 : k.distance;
|
|
5592
|
+
Fe(x) ? x > I && (T += 1) : T += 1;
|
|
5583
5593
|
}, H = i.clampPoint(S, new y.Vector3());
|
|
5584
5594
|
_(H);
|
|
5585
5595
|
const Z = new y.Vector3(o.x, S.y, o.z);
|
|
@@ -6058,38 +6068,38 @@ const C5 = (n, t) => {
|
|
|
6058
6068
|
h.near = 1, h.updateTime(Date.now());
|
|
6059
6069
|
let u = new y.Object3D(), f, p;
|
|
6060
6070
|
{
|
|
6061
|
-
const
|
|
6062
|
-
|
|
6071
|
+
const k = new y.DirectionalLight(16777215, 0.5);
|
|
6072
|
+
k.position.copy(new y.Vector3(1, 1, 1)), c.add(k);
|
|
6063
6073
|
}
|
|
6064
6074
|
{
|
|
6065
|
-
const
|
|
6066
|
-
c.add(
|
|
6075
|
+
const k = new y.DirectionalLight(16777215, 0.3);
|
|
6076
|
+
c.add(k);
|
|
6067
6077
|
}
|
|
6068
6078
|
{
|
|
6069
|
-
const
|
|
6070
|
-
c.add(
|
|
6079
|
+
const k = new y.AmbientLight(16777215, 0.3);
|
|
6080
|
+
c.add(k);
|
|
6071
6081
|
}
|
|
6072
6082
|
c.add(u);
|
|
6073
6083
|
const g = () => $(void 0, null, function* () {
|
|
6074
|
-
var
|
|
6075
|
-
if (
|
|
6084
|
+
var V, J, ee, K;
|
|
6085
|
+
if (s || !((J = (V = n.work) == null ? void 0 : V.model) != null && J.file))
|
|
6076
6086
|
return;
|
|
6077
6087
|
c.remove(u), u = yield F0(n.work.model.file, {
|
|
6078
6088
|
textureOptions: { size: 128, quality: 70 },
|
|
6079
|
-
textureArray: (
|
|
6080
|
-
textureBaseUri: (
|
|
6081
|
-
}).then((
|
|
6082
|
-
const
|
|
6083
|
-
return
|
|
6084
|
-
});
|
|
6085
|
-
const
|
|
6086
|
-
x.
|
|
6087
|
-
const
|
|
6089
|
+
textureArray: (ee = n.work.model) == null ? void 0 : ee.textures,
|
|
6090
|
+
textureBaseUri: (K = n.work.model) == null ? void 0 : K.textureBase
|
|
6091
|
+
}).then((re) => {
|
|
6092
|
+
const ne = re.scene;
|
|
6093
|
+
return ne.rotateX(-Math.PI / 2), ne;
|
|
6094
|
+
});
|
|
6095
|
+
const k = Is(u), x = new y.Box3();
|
|
6096
|
+
x.expandByPoint(new y.Vector3(k.min.x, k.min.z, -k.min.y)), x.expandByPoint(new y.Vector3(k.max.x, k.max.z, -k.max.y));
|
|
6097
|
+
const L = Math.pow(
|
|
6088
6098
|
Math.pow(x.max.x - x.min.x + 1, 2) + Math.pow(x.max.y - x.min.y + 1, 2) + Math.pow(x.max.z - x.min.z + 1, 2),
|
|
6089
6099
|
1 / 2
|
|
6090
6100
|
);
|
|
6091
|
-
let
|
|
6092
|
-
h.aspect < 1 && (
|
|
6101
|
+
let R = L / 2 / Math.tan(Math.PI * h.fov / 360);
|
|
6102
|
+
h.aspect < 1 && (R = f / h.aspect), f = isNaN(R) ? L : R, p = x.getCenter(new y.Vector3()), c.add(u), s = !0, e.emit("loaded"), S();
|
|
6093
6103
|
});
|
|
6094
6104
|
i && g();
|
|
6095
6105
|
const v = () => {
|
|
@@ -6100,36 +6110,37 @@ const C5 = (n, t) => {
|
|
|
6100
6110
|
}, b = () => {
|
|
6101
6111
|
i && (s || g());
|
|
6102
6112
|
}, C = () => {
|
|
6103
|
-
|
|
6113
|
+
var k, x;
|
|
6114
|
+
i || (i = !0, c.add(u), !s && ((x = (k = n.work) == null ? void 0 : k.model) != null && x.file) && g(), S());
|
|
6104
6115
|
}, M = () => {
|
|
6105
6116
|
i && (c.remove(u), r = !0, _(), i = !1);
|
|
6106
|
-
}, E = (
|
|
6117
|
+
}, E = (k, x = {}) => {
|
|
6107
6118
|
const L = v();
|
|
6108
6119
|
if (!L)
|
|
6109
6120
|
return;
|
|
6110
|
-
|
|
6111
|
-
const R = window.getComputedStyle(
|
|
6112
|
-
R !== "relative" && R !== "absolute" && R !== "fixed" && R !== "sticky" && (
|
|
6113
|
-
}, T = (
|
|
6121
|
+
k.appendChild(L.domElement), T(x);
|
|
6122
|
+
const R = window.getComputedStyle(k).position;
|
|
6123
|
+
R !== "relative" && R !== "absolute" && R !== "fixed" && R !== "sticky" && (k.style.position = "relative");
|
|
6124
|
+
}, T = (k = {}) => {
|
|
6114
6125
|
if (!o)
|
|
6115
6126
|
return;
|
|
6116
6127
|
const L = o.domElement.parentNode;
|
|
6117
6128
|
if (L != null && L.nodeName) {
|
|
6118
|
-
const { width: R = L.offsetWidth, height: V = L.offsetHeight } =
|
|
6129
|
+
const { width: R = L.offsetWidth, height: V = L.offsetHeight } = k;
|
|
6119
6130
|
o.setSize(R, V), h.aspect = R / V, h.updateProjectionMatrix();
|
|
6120
6131
|
}
|
|
6121
6132
|
S();
|
|
6122
6133
|
}, S = () => {
|
|
6123
6134
|
if (!i || !f || !p)
|
|
6124
6135
|
return;
|
|
6125
|
-
const
|
|
6126
|
-
|
|
6136
|
+
const k = n.getPose();
|
|
6137
|
+
k.fov = h.fov, k.offset = p, k.distance = f, typeof l.lockedLatitude == "number" && (k.latitude = l.lockedLatitude), typeof l.lockedLongitude == "number" && (k.longitude = l.lockedLongitude), typeof l.lockedPanoIndex == "number" && (k.offset = n.work.observers[l.lockedPanoIndex].standingPosition.clone()), l.lookAtCurrentCamera && (k.offset = n.camera.position.clone().setY(n.camera.position.y + 1)), h.setFromPose(k), r = !0;
|
|
6127
6138
|
}, _ = () => {
|
|
6128
6139
|
!i || r !== !0 || !o || !o.domElement.parentNode || o.domElement.parentNode.offsetWidth === 0 || (o.render(c, h), r = !1);
|
|
6129
6140
|
}, H = () => {
|
|
6130
6141
|
o && o.dispose(), o = null;
|
|
6131
|
-
}, Z = (
|
|
6132
|
-
Object.assign(l,
|
|
6142
|
+
}, Z = (k) => {
|
|
6143
|
+
Object.assign(l, k), S();
|
|
6133
6144
|
}, A = () => ({
|
|
6134
6145
|
enabled: i
|
|
6135
6146
|
});
|
|
@@ -8599,7 +8610,7 @@ function Ry(n, t, e) {
|
|
|
8599
8610
|
].every((ze) => jy(ze, Je));
|
|
8600
8611
|
};
|
|
8601
8612
|
}
|
|
8602
|
-
const I = document.body.clientWidth, w = document.body.clientHeight,
|
|
8613
|
+
const I = document.body.clientWidth, w = document.body.clientHeight, k = E.roomLabel, x = k.positionInImage.x * 100 + "%", L = k.positionInImage.y * 100 + "%", R = (I < 500 || w < 500 ? 10 : 14) + "px", V = (I < 500 || w < 500 ? 8 : 12) + "px";
|
|
8603
8614
|
let J = 0, ee = 0, K = 0, re = 0, ne = !1;
|
|
8604
8615
|
T.subscribe(function(we) {
|
|
8605
8616
|
e(25, ne = !!we && we.id === E.id);
|
|
@@ -8652,7 +8663,7 @@ function Ry(n, t, e) {
|
|
|
8652
8663
|
r,
|
|
8653
8664
|
s,
|
|
8654
8665
|
i,
|
|
8655
|
-
|
|
8666
|
+
x,
|
|
8656
8667
|
L,
|
|
8657
8668
|
R,
|
|
8658
8669
|
V,
|
|
@@ -10879,11 +10890,11 @@ function _w(n) {
|
|
|
10879
10890
|
}
|
|
10880
10891
|
function Fw(n, t, e) {
|
|
10881
10892
|
let i, s, { panoIndex: r } = t, { isCurrent: o } = t, { floorIndex: a } = t, { highlightEnable: l } = t, { cameraEnable: c } = t, { hoverEnable: h } = t, { roomLabelsEnable: u } = t, { roomAreaEnable: f } = t, { roomNameEnable: p } = t, { roomDimensionEnable: g } = t, { ruleLabelsEnable: v } = t, { floorplanData: m } = t, { getRoomAreaText: b } = t, { getRoomDimensionText: C } = t, { getLabelElement: M } = t, { getRuleDistanceText: E } = t, { adaptiveRoomLabelVisibleEnable: T } = t, { highlightData: S } = t, { missingFloorConfig: _ } = t, { lastPanoramaLongitude: H } = t, { cameraImageUrl: Z } = t, { northDesc: A } = t, { compassEnable: I } = t, { store: w = void 0 } = t;
|
|
10882
|
-
const
|
|
10883
|
-
return
|
|
10884
|
-
w && e(25, w.roomOnMouse =
|
|
10885
|
-
}), n.$$set = (
|
|
10886
|
-
"panoIndex" in
|
|
10893
|
+
const k = xh(void 0);
|
|
10894
|
+
return k.subscribe((x) => {
|
|
10895
|
+
w && e(25, w.roomOnMouse = x, w);
|
|
10896
|
+
}), n.$$set = (x) => {
|
|
10897
|
+
"panoIndex" in x && e(0, r = x.panoIndex), "isCurrent" in x && e(1, o = x.isCurrent), "floorIndex" in x && e(2, a = x.floorIndex), "highlightEnable" in x && e(3, l = x.highlightEnable), "cameraEnable" in x && e(4, c = x.cameraEnable), "hoverEnable" in x && e(5, h = x.hoverEnable), "roomLabelsEnable" in x && e(6, u = x.roomLabelsEnable), "roomAreaEnable" in x && e(7, f = x.roomAreaEnable), "roomNameEnable" in x && e(8, p = x.roomNameEnable), "roomDimensionEnable" in x && e(9, g = x.roomDimensionEnable), "ruleLabelsEnable" in x && e(10, v = x.ruleLabelsEnable), "floorplanData" in x && e(11, m = x.floorplanData), "getRoomAreaText" in x && e(12, b = x.getRoomAreaText), "getRoomDimensionText" in x && e(13, C = x.getRoomDimensionText), "getLabelElement" in x && e(14, M = x.getLabelElement), "getRuleDistanceText" in x && e(15, E = x.getRuleDistanceText), "adaptiveRoomLabelVisibleEnable" in x && e(16, T = x.adaptiveRoomLabelVisibleEnable), "highlightData" in x && e(17, S = x.highlightData), "missingFloorConfig" in x && e(18, _ = x.missingFloorConfig), "lastPanoramaLongitude" in x && e(19, H = x.lastPanoramaLongitude), "cameraImageUrl" in x && e(20, Z = x.cameraImageUrl), "northDesc" in x && e(21, A = x.northDesc), "compassEnable" in x && e(22, I = x.compassEnable), "store" in x && e(25, w = x.store);
|
|
10887
10898
|
}, n.$$.update = () => {
|
|
10888
10899
|
n.$$.dirty & /*floorplanData, floorIndex*/
|
|
10889
10900
|
2052 && e(26, i = m.floorDatas[a]), n.$$.dirty & /*floorData*/
|
|
@@ -10913,7 +10924,7 @@ function Fw(n, t, e) {
|
|
|
10913
10924
|
A,
|
|
10914
10925
|
I,
|
|
10915
10926
|
s,
|
|
10916
|
-
|
|
10927
|
+
k,
|
|
10917
10928
|
w,
|
|
10918
10929
|
i
|
|
10919
10930
|
];
|
|
@@ -11478,7 +11489,7 @@ let Yn = class {
|
|
|
11478
11489
|
/**
|
|
11479
11490
|
* @realsee/dnalogel 版本号
|
|
11480
11491
|
*/
|
|
11481
|
-
d(this, "VERSION", "3.61.
|
|
11492
|
+
d(this, "VERSION", "3.61.11");
|
|
11482
11493
|
d(this, "NAME");
|
|
11483
11494
|
d(this, "five");
|
|
11484
11495
|
d(this, "workUtil");
|
|
@@ -14100,19 +14111,19 @@ var Zg = function() {
|
|
|
14100
14111
|
}
|
|
14101
14112
|
i.prototype = Object.assign(Object.create(fu.prototype), {
|
|
14102
14113
|
constructor: i,
|
|
14103
|
-
load: function(A, I, w,
|
|
14104
|
-
var
|
|
14105
|
-
R.setPath(
|
|
14114
|
+
load: function(A, I, w, k) {
|
|
14115
|
+
var x = this, L = x.path === "" ? Cl.extractUrlBase(A) : x.path, R = new N0(this.manager);
|
|
14116
|
+
R.setPath(x.path), R.setResponseType("arraybuffer"), R.load(
|
|
14106
14117
|
A,
|
|
14107
14118
|
function(V) {
|
|
14108
14119
|
try {
|
|
14109
|
-
I(
|
|
14120
|
+
I(x.parse(V, L));
|
|
14110
14121
|
} catch (J) {
|
|
14111
|
-
|
|
14122
|
+
k ? k(J) : console.error(J), x.manager.itemError(A);
|
|
14112
14123
|
}
|
|
14113
14124
|
},
|
|
14114
14125
|
w,
|
|
14115
|
-
|
|
14126
|
+
k
|
|
14116
14127
|
);
|
|
14117
14128
|
},
|
|
14118
14129
|
parse: function(A, I) {
|
|
@@ -14126,8 +14137,8 @@ var Zg = function() {
|
|
|
14126
14137
|
throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + p(w));
|
|
14127
14138
|
n = new a().parse(w);
|
|
14128
14139
|
}
|
|
14129
|
-
var
|
|
14130
|
-
return new s(
|
|
14140
|
+
var k = new Uc(this.manager).setPath(this.resourcePath || I).setCrossOrigin(this.crossOrigin);
|
|
14141
|
+
return new s(k, this.manager).parse(n);
|
|
14131
14142
|
}
|
|
14132
14143
|
});
|
|
14133
14144
|
function s(A, I) {
|
|
@@ -14137,8 +14148,8 @@ var Zg = function() {
|
|
|
14137
14148
|
constructor: s,
|
|
14138
14149
|
parse: function() {
|
|
14139
14150
|
t = this.parseConnections();
|
|
14140
|
-
var A = this.parseImages(), I = this.parseTextures(A), w = this.parseMaterials(I),
|
|
14141
|
-
return this.parseScene(
|
|
14151
|
+
var A = this.parseImages(), I = this.parseTextures(A), w = this.parseMaterials(I), k = this.parseDeformers(), x = new r().parse(k);
|
|
14152
|
+
return this.parseScene(k, x, w), e;
|
|
14142
14153
|
},
|
|
14143
14154
|
// Parses FBXTree.Connections which holds parent-child connections between objects (e.g. material -> texture, model->geometry )
|
|
14144
14155
|
// and details the connection type
|
|
@@ -14147,18 +14158,18 @@ var Zg = function() {
|
|
|
14147
14158
|
if ("Connections" in n) {
|
|
14148
14159
|
var I = n.Connections.connections;
|
|
14149
14160
|
I.forEach(function(w) {
|
|
14150
|
-
var
|
|
14151
|
-
A.has(
|
|
14161
|
+
var k = w[0], x = w[1], L = w[2];
|
|
14162
|
+
A.has(k) || A.set(k, {
|
|
14152
14163
|
parents: [],
|
|
14153
14164
|
children: []
|
|
14154
14165
|
});
|
|
14155
|
-
var R = { ID:
|
|
14156
|
-
A.get(
|
|
14166
|
+
var R = { ID: x, relationship: L };
|
|
14167
|
+
A.get(k).parents.push(R), A.has(x) || A.set(x, {
|
|
14157
14168
|
parents: [],
|
|
14158
14169
|
children: []
|
|
14159
14170
|
});
|
|
14160
|
-
var V = { ID:
|
|
14161
|
-
A.get(
|
|
14171
|
+
var V = { ID: k, relationship: L };
|
|
14172
|
+
A.get(x).children.push(V);
|
|
14162
14173
|
});
|
|
14163
14174
|
}
|
|
14164
14175
|
return A;
|
|
@@ -14170,13 +14181,13 @@ var Zg = function() {
|
|
|
14170
14181
|
var A = {}, I = {};
|
|
14171
14182
|
if ("Video" in n.Objects) {
|
|
14172
14183
|
var w = n.Objects.Video;
|
|
14173
|
-
for (var
|
|
14174
|
-
var
|
|
14175
|
-
if (A[L] =
|
|
14176
|
-
var R =
|
|
14184
|
+
for (var k in w) {
|
|
14185
|
+
var x = w[k], L = parseInt(k);
|
|
14186
|
+
if (A[L] = x.RelativeFilename || x.Filename, "Content" in x) {
|
|
14187
|
+
var R = x.Content instanceof ArrayBuffer && x.Content.byteLength > 0, V = typeof x.Content == "string" && x.Content !== "";
|
|
14177
14188
|
if (R || V) {
|
|
14178
|
-
var J = this.parseImage(w[
|
|
14179
|
-
I[
|
|
14189
|
+
var J = this.parseImage(w[k]);
|
|
14190
|
+
I[x.RelativeFilename || x.Filename] = J;
|
|
14180
14191
|
}
|
|
14181
14192
|
}
|
|
14182
14193
|
}
|
|
@@ -14189,32 +14200,32 @@ var Zg = function() {
|
|
|
14189
14200
|
},
|
|
14190
14201
|
// Parse embedded image data in FBXTree.Video.Content
|
|
14191
14202
|
parseImage: function(A) {
|
|
14192
|
-
var I = A.Content, w = A.RelativeFilename || A.Filename,
|
|
14193
|
-
switch (
|
|
14203
|
+
var I = A.Content, w = A.RelativeFilename || A.Filename, k = w.slice(w.lastIndexOf(".") + 1).toLowerCase(), x;
|
|
14204
|
+
switch (k) {
|
|
14194
14205
|
case "bmp":
|
|
14195
|
-
|
|
14206
|
+
x = "image/bmp";
|
|
14196
14207
|
break;
|
|
14197
14208
|
case "jpg":
|
|
14198
14209
|
case "jpeg":
|
|
14199
|
-
|
|
14210
|
+
x = "image/jpeg";
|
|
14200
14211
|
break;
|
|
14201
14212
|
case "png":
|
|
14202
|
-
|
|
14213
|
+
x = "image/png";
|
|
14203
14214
|
break;
|
|
14204
14215
|
case "tif":
|
|
14205
|
-
|
|
14216
|
+
x = "image/tiff";
|
|
14206
14217
|
break;
|
|
14207
14218
|
case "tga":
|
|
14208
|
-
this.manager.getHandler(".tga") === null && console.warn("FBXLoader: TGA loader not found, skipping ", w),
|
|
14219
|
+
this.manager.getHandler(".tga") === null && console.warn("FBXLoader: TGA loader not found, skipping ", w), x = "image/tga";
|
|
14209
14220
|
break;
|
|
14210
14221
|
default:
|
|
14211
|
-
console.warn('FBXLoader: Image type "' +
|
|
14222
|
+
console.warn('FBXLoader: Image type "' + k + '" is not supported.');
|
|
14212
14223
|
return;
|
|
14213
14224
|
}
|
|
14214
14225
|
if (typeof I == "string")
|
|
14215
|
-
return "data:" +
|
|
14226
|
+
return "data:" + x + ";base64," + I;
|
|
14216
14227
|
var L = new Uint8Array(I);
|
|
14217
|
-
return window.URL.createObjectURL(new Blob([L], { type:
|
|
14228
|
+
return window.URL.createObjectURL(new Blob([L], { type: x }));
|
|
14218
14229
|
},
|
|
14219
14230
|
// Parse nodes in FBXTree.Objects.Texture
|
|
14220
14231
|
// These contain details such as UV scaling, cropping, rotation etc and are connected
|
|
@@ -14223,9 +14234,9 @@ var Zg = function() {
|
|
|
14223
14234
|
var I = /* @__PURE__ */ new Map();
|
|
14224
14235
|
if ("Texture" in n.Objects) {
|
|
14225
14236
|
var w = n.Objects.Texture;
|
|
14226
|
-
for (var
|
|
14227
|
-
var
|
|
14228
|
-
I.set(parseInt(
|
|
14237
|
+
for (var k in w) {
|
|
14238
|
+
var x = this.parseTexture(w[k], A);
|
|
14239
|
+
I.set(parseInt(k), x);
|
|
14229
14240
|
}
|
|
14230
14241
|
}
|
|
14231
14242
|
return I;
|
|
@@ -14234,7 +14245,7 @@ var Zg = function() {
|
|
|
14234
14245
|
parseTexture: function(A, I) {
|
|
14235
14246
|
var w = this.loadTexture(A, I);
|
|
14236
14247
|
w.ID = A.id, w.name = A.attrName;
|
|
14237
|
-
var
|
|
14248
|
+
var k = A.WrapModeU, x = A.WrapModeV, L = k !== void 0 ? k.value : 0, R = x !== void 0 ? x.value : 0;
|
|
14238
14249
|
if (w.wrapS = L === 0 ? pu : mu, w.wrapT = R === 0 ? pu : mu, "Scaling" in A) {
|
|
14239
14250
|
var V = A.Scaling.value;
|
|
14240
14251
|
w.repeat.x = V[0], w.repeat.y = V[1];
|
|
@@ -14243,24 +14254,24 @@ var Zg = function() {
|
|
|
14243
14254
|
},
|
|
14244
14255
|
// load a texture specified as a blob or data URI, or via an external URL using TextureLoader
|
|
14245
14256
|
loadTexture: function(A, I) {
|
|
14246
|
-
var w,
|
|
14247
|
-
|
|
14257
|
+
var w, k = this.textureLoader.path, x = t.get(A.id).children;
|
|
14258
|
+
x !== void 0 && x.length > 0 && I[x[0].ID] !== void 0 && (w = I[x[0].ID], (w.indexOf("blob:") === 0 || w.indexOf("data:") === 0) && this.textureLoader.setPath(void 0));
|
|
14248
14259
|
var L, R = A.FileName.slice(-3).toLowerCase();
|
|
14249
14260
|
if (R === "tga") {
|
|
14250
14261
|
var V = this.manager.getHandler(".tga");
|
|
14251
14262
|
V === null ? (console.warn("FBXLoader: TGA loader not found, creating placeholder texture for", A.RelativeFilename), L = new gu()) : L = V.load(w);
|
|
14252
14263
|
} else
|
|
14253
14264
|
R === "psd" ? (console.warn("FBXLoader: PSD textures are not supported, creating placeholder texture for", A.RelativeFilename), L = new gu()) : L = this.textureLoader.load(w);
|
|
14254
|
-
return this.textureLoader.setPath(
|
|
14265
|
+
return this.textureLoader.setPath(k), L;
|
|
14255
14266
|
},
|
|
14256
14267
|
// Parse nodes in FBXTree.Objects.Material
|
|
14257
14268
|
parseMaterials: function(A) {
|
|
14258
14269
|
var I = /* @__PURE__ */ new Map();
|
|
14259
14270
|
if ("Material" in n.Objects) {
|
|
14260
14271
|
var w = n.Objects.Material;
|
|
14261
|
-
for (var
|
|
14262
|
-
var
|
|
14263
|
-
|
|
14272
|
+
for (var k in w) {
|
|
14273
|
+
var x = this.parseMaterial(w[k], A);
|
|
14274
|
+
x !== null && I.set(parseInt(k), x);
|
|
14264
14275
|
}
|
|
14265
14276
|
}
|
|
14266
14277
|
return I;
|
|
@@ -14269,11 +14280,11 @@ var Zg = function() {
|
|
|
14269
14280
|
// Materials are connected to texture maps in FBXTree.Objects.Textures
|
|
14270
14281
|
// FBX format currently only supports Lambert and Phong shading models
|
|
14271
14282
|
parseMaterial: function(A, I) {
|
|
14272
|
-
var w = A.id,
|
|
14273
|
-
if (typeof
|
|
14283
|
+
var w = A.id, k = A.attrName, x = A.ShadingModel;
|
|
14284
|
+
if (typeof x == "object" && (x = x.value), !t.has(w))
|
|
14274
14285
|
return null;
|
|
14275
14286
|
var L = this.parseParameters(A, I, w), R;
|
|
14276
|
-
switch (
|
|
14287
|
+
switch (x.toLowerCase()) {
|
|
14277
14288
|
case "phong":
|
|
14278
14289
|
R = new Pl();
|
|
14279
14290
|
break;
|
|
@@ -14281,49 +14292,49 @@ var Zg = function() {
|
|
|
14281
14292
|
R = new G0();
|
|
14282
14293
|
break;
|
|
14283
14294
|
default:
|
|
14284
|
-
console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',
|
|
14295
|
+
console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.', x), R = new Pl();
|
|
14285
14296
|
break;
|
|
14286
14297
|
}
|
|
14287
|
-
return R.setValues(L), R.name =
|
|
14298
|
+
return R.setValues(L), R.name = k, R;
|
|
14288
14299
|
},
|
|
14289
14300
|
// Parse FBX material and return parameters suitable for a three.js material
|
|
14290
14301
|
// Also parse the texture map and return any textures associated with the material
|
|
14291
14302
|
parseParameters: function(A, I, w) {
|
|
14292
|
-
var
|
|
14293
|
-
A.BumpFactor && (
|
|
14294
|
-
var
|
|
14303
|
+
var k = {};
|
|
14304
|
+
A.BumpFactor && (k.bumpScale = A.BumpFactor.value), A.Diffuse ? k.color = new Kt().fromArray(A.Diffuse.value) : A.DiffuseColor && A.DiffuseColor.type === "Color" && (k.color = new Kt().fromArray(A.DiffuseColor.value)), A.DisplacementFactor && (k.displacementScale = A.DisplacementFactor.value), A.Emissive ? k.emissive = new Kt().fromArray(A.Emissive.value) : A.EmissiveColor && A.EmissiveColor.type === "Color" && (k.emissive = new Kt().fromArray(A.EmissiveColor.value)), A.EmissiveFactor && (k.emissiveIntensity = parseFloat(A.EmissiveFactor.value)), A.Opacity && (k.opacity = parseFloat(A.Opacity.value)), k.opacity < 1 && (k.transparent = !0), A.ReflectionFactor && (k.reflectivity = A.ReflectionFactor.value), A.Shininess && (k.shininess = A.Shininess.value), A.Specular ? k.specular = new Kt().fromArray(A.Specular.value) : A.SpecularColor && A.SpecularColor.type === "Color" && (k.specular = new Kt().fromArray(A.SpecularColor.value));
|
|
14305
|
+
var x = this;
|
|
14295
14306
|
return t.get(w).children.forEach(function(L) {
|
|
14296
14307
|
var R = L.relationship;
|
|
14297
14308
|
switch (R) {
|
|
14298
14309
|
case "Bump":
|
|
14299
|
-
|
|
14310
|
+
k.bumpMap = x.getTexture(I, L.ID);
|
|
14300
14311
|
break;
|
|
14301
14312
|
case "Maya|TEX_ao_map":
|
|
14302
|
-
|
|
14313
|
+
k.aoMap = x.getTexture(I, L.ID);
|
|
14303
14314
|
break;
|
|
14304
14315
|
case "DiffuseColor":
|
|
14305
14316
|
case "Maya|TEX_color_map":
|
|
14306
|
-
|
|
14317
|
+
k.map = x.getTexture(I, L.ID), k.map.encoding = Kr;
|
|
14307
14318
|
break;
|
|
14308
14319
|
case "DisplacementColor":
|
|
14309
|
-
|
|
14320
|
+
k.displacementMap = x.getTexture(I, L.ID);
|
|
14310
14321
|
break;
|
|
14311
14322
|
case "EmissiveColor":
|
|
14312
|
-
|
|
14323
|
+
k.emissiveMap = x.getTexture(I, L.ID), k.emissiveMap.encoding = Kr;
|
|
14313
14324
|
break;
|
|
14314
14325
|
case "NormalMap":
|
|
14315
14326
|
case "Maya|TEX_normal_map":
|
|
14316
|
-
|
|
14327
|
+
k.normalMap = x.getTexture(I, L.ID);
|
|
14317
14328
|
break;
|
|
14318
14329
|
case "ReflectionColor":
|
|
14319
|
-
|
|
14330
|
+
k.envMap = x.getTexture(I, L.ID), k.envMap.mapping = W0, k.envMap.encoding = Kr;
|
|
14320
14331
|
break;
|
|
14321
14332
|
case "SpecularColor":
|
|
14322
|
-
|
|
14333
|
+
k.specularMap = x.getTexture(I, L.ID), k.specularMap.encoding = Kr;
|
|
14323
14334
|
break;
|
|
14324
14335
|
case "TransparentColor":
|
|
14325
14336
|
case "TransparencyFactor":
|
|
14326
|
-
|
|
14337
|
+
k.alphaMap = x.getTexture(I, L.ID), k.transparent = !0;
|
|
14327
14338
|
break;
|
|
14328
14339
|
case "AmbientColor":
|
|
14329
14340
|
case "ShininessExponent":
|
|
@@ -14333,7 +14344,7 @@ var Zg = function() {
|
|
|
14333
14344
|
console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.", R);
|
|
14334
14345
|
break;
|
|
14335
14346
|
}
|
|
14336
|
-
}),
|
|
14347
|
+
}), k;
|
|
14337
14348
|
},
|
|
14338
14349
|
// get a texture from the textureMap for use by a material.
|
|
14339
14350
|
getTexture: function(A, I) {
|
|
@@ -14346,16 +14357,16 @@ var Zg = function() {
|
|
|
14346
14357
|
var A = {}, I = {};
|
|
14347
14358
|
if ("Deformer" in n.Objects) {
|
|
14348
14359
|
var w = n.Objects.Deformer;
|
|
14349
|
-
for (var
|
|
14350
|
-
var
|
|
14351
|
-
if (
|
|
14360
|
+
for (var k in w) {
|
|
14361
|
+
var x = w[k], L = t.get(parseInt(k));
|
|
14362
|
+
if (x.attrType === "Skin") {
|
|
14352
14363
|
var R = this.parseSkeleton(L, w);
|
|
14353
|
-
R.ID =
|
|
14354
|
-
} else if (
|
|
14364
|
+
R.ID = k, L.parents.length > 1 && console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."), R.geometryID = L.parents[0].ID, A[k] = R;
|
|
14365
|
+
} else if (x.attrType === "BlendShape") {
|
|
14355
14366
|
var V = {
|
|
14356
|
-
id:
|
|
14367
|
+
id: k
|
|
14357
14368
|
};
|
|
14358
|
-
V.rawTargets = this.parseMorphTargets(L, w), V.id =
|
|
14369
|
+
V.rawTargets = this.parseMorphTargets(L, w), V.id = k, L.parents.length > 1 && console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."), I[k] = V;
|
|
14359
14370
|
}
|
|
14360
14371
|
}
|
|
14361
14372
|
}
|
|
@@ -14369,18 +14380,18 @@ var Zg = function() {
|
|
|
14369
14380
|
// Each skin node represents a skeleton and each cluster node represents a bone
|
|
14370
14381
|
parseSkeleton: function(A, I) {
|
|
14371
14382
|
var w = [];
|
|
14372
|
-
return A.children.forEach(function(
|
|
14373
|
-
var
|
|
14374
|
-
if (
|
|
14383
|
+
return A.children.forEach(function(k) {
|
|
14384
|
+
var x = I[k.ID];
|
|
14385
|
+
if (x.attrType === "Cluster") {
|
|
14375
14386
|
var L = {
|
|
14376
|
-
ID:
|
|
14387
|
+
ID: k.ID,
|
|
14377
14388
|
indices: [],
|
|
14378
14389
|
weights: [],
|
|
14379
|
-
transformLink: new tt().fromArray(
|
|
14390
|
+
transformLink: new tt().fromArray(x.TransformLink.a)
|
|
14380
14391
|
// transform: new Matrix4().fromArray( boneNode.Transform.a ),
|
|
14381
14392
|
// linkMode: boneNode.Mode,
|
|
14382
14393
|
};
|
|
14383
|
-
"Indexes" in
|
|
14394
|
+
"Indexes" in x && (L.indices = x.Indexes.a, L.weights = x.Weights.a), w.push(L);
|
|
14384
14395
|
}
|
|
14385
14396
|
}), {
|
|
14386
14397
|
rawBones: w,
|
|
@@ -14389,8 +14400,8 @@ var Zg = function() {
|
|
|
14389
14400
|
},
|
|
14390
14401
|
// The top level morph deformer node has type "BlendShape" and sub nodes have type "BlendShapeChannel"
|
|
14391
14402
|
parseMorphTargets: function(A, I) {
|
|
14392
|
-
for (var w = [],
|
|
14393
|
-
var
|
|
14403
|
+
for (var w = [], k = 0; k < A.children.length; k++) {
|
|
14404
|
+
var x = A.children[k], L = I[x.ID], R = {
|
|
14394
14405
|
name: L.attrName,
|
|
14395
14406
|
initialWeight: L.DeformPercent,
|
|
14396
14407
|
id: L.id,
|
|
@@ -14398,7 +14409,7 @@ var Zg = function() {
|
|
|
14398
14409
|
};
|
|
14399
14410
|
if (L.attrType !== "BlendShapeChannel")
|
|
14400
14411
|
return;
|
|
14401
|
-
R.geoID = t.get(parseInt(
|
|
14412
|
+
R.geoID = t.get(parseInt(x.ID)).children.filter(function(V) {
|
|
14402
14413
|
return V.relationship === void 0;
|
|
14403
14414
|
})[0].ID, w.push(R);
|
|
14404
14415
|
}
|
|
@@ -14407,16 +14418,16 @@ var Zg = function() {
|
|
|
14407
14418
|
// create the main Group() to be returned by the loader
|
|
14408
14419
|
parseScene: function(A, I, w) {
|
|
14409
14420
|
e = new jn();
|
|
14410
|
-
var
|
|
14411
|
-
|
|
14412
|
-
var J =
|
|
14421
|
+
var k = this.parseModels(A.skeletons, I, w), x = n.Objects.Model, L = this;
|
|
14422
|
+
k.forEach(function(V) {
|
|
14423
|
+
var J = x[V.ID];
|
|
14413
14424
|
L.setLookAtProperties(V, J);
|
|
14414
14425
|
var ee = t.get(V.ID).parents;
|
|
14415
14426
|
ee.forEach(function(K) {
|
|
14416
|
-
var re =
|
|
14427
|
+
var re = k.get(K.ID);
|
|
14417
14428
|
re !== void 0 && re.add(V);
|
|
14418
14429
|
}), V.parent === null && e.add(V);
|
|
14419
|
-
}), this.bindSkeleton(A.skeletons, I,
|
|
14430
|
+
}), this.bindSkeleton(A.skeletons, I, k), this.createAmbientLight(), this.setupMorphMaterials(), e.traverse(function(V) {
|
|
14420
14431
|
if (V.userData.transformData) {
|
|
14421
14432
|
V.parent && (V.userData.transformData.parentMatrixWorld = V.parent.matrix);
|
|
14422
14433
|
var J = M(V.userData.transformData);
|
|
@@ -14428,9 +14439,9 @@ var Zg = function() {
|
|
|
14428
14439
|
},
|
|
14429
14440
|
// parse nodes in FBXTree.Objects.Model
|
|
14430
14441
|
parseModels: function(A, I, w) {
|
|
14431
|
-
var
|
|
14432
|
-
for (var L in
|
|
14433
|
-
var R = parseInt(L), V =
|
|
14442
|
+
var k = /* @__PURE__ */ new Map(), x = n.Objects.Model;
|
|
14443
|
+
for (var L in x) {
|
|
14444
|
+
var R = parseInt(L), V = x[L], J = t.get(R), ee = this.buildSkeleton(J, A, R, V.attrName);
|
|
14434
14445
|
if (!ee) {
|
|
14435
14446
|
switch (V.attrType) {
|
|
14436
14447
|
case "Camera":
|
|
@@ -14456,23 +14467,23 @@ var Zg = function() {
|
|
|
14456
14467
|
}
|
|
14457
14468
|
ee.name = V.attrName ? Yo.sanitizeNodeName(V.attrName) : "", ee.ID = R;
|
|
14458
14469
|
}
|
|
14459
|
-
this.getTransformData(ee, V),
|
|
14470
|
+
this.getTransformData(ee, V), k.set(R, ee);
|
|
14460
14471
|
}
|
|
14461
|
-
return
|
|
14472
|
+
return k;
|
|
14462
14473
|
},
|
|
14463
|
-
buildSkeleton: function(A, I, w,
|
|
14464
|
-
var
|
|
14474
|
+
buildSkeleton: function(A, I, w, k) {
|
|
14475
|
+
var x = null;
|
|
14465
14476
|
return A.parents.forEach(function(L) {
|
|
14466
14477
|
for (var R in I) {
|
|
14467
14478
|
var V = I[R];
|
|
14468
14479
|
V.rawBones.forEach(function(J, ee) {
|
|
14469
14480
|
if (J.ID === L.ID) {
|
|
14470
|
-
var K =
|
|
14471
|
-
|
|
14481
|
+
var K = x;
|
|
14482
|
+
x = new vu(), x.matrixWorld.copy(J.transformLink), x.name = k ? Yo.sanitizeNodeName(k) : "", x.ID = w, V.bones[ee] = x, K !== null && x.add(K);
|
|
14472
14483
|
}
|
|
14473
14484
|
});
|
|
14474
14485
|
}
|
|
14475
|
-
}),
|
|
14486
|
+
}), x;
|
|
14476
14487
|
},
|
|
14477
14488
|
// create a PerspectiveCamera or OrthographicCamera
|
|
14478
14489
|
createCamera: function(A) {
|
|
@@ -14483,10 +14494,10 @@ var Zg = function() {
|
|
|
14483
14494
|
}), w === void 0)
|
|
14484
14495
|
I = new tr();
|
|
14485
14496
|
else {
|
|
14486
|
-
var
|
|
14487
|
-
w.CameraProjectionType !== void 0 && w.CameraProjectionType.value === 1 && (
|
|
14488
|
-
var
|
|
14489
|
-
w.NearPlane !== void 0 && (
|
|
14497
|
+
var k = 0;
|
|
14498
|
+
w.CameraProjectionType !== void 0 && w.CameraProjectionType.value === 1 && (k = 1);
|
|
14499
|
+
var x = 1;
|
|
14500
|
+
w.NearPlane !== void 0 && (x = w.NearPlane.value / 1e3);
|
|
14490
14501
|
var L = 1e3;
|
|
14491
14502
|
w.FarPlane !== void 0 && (L = w.FarPlane.value / 1e3);
|
|
14492
14503
|
var R = window.innerWidth, V = window.innerHeight;
|
|
@@ -14494,15 +14505,15 @@ var Zg = function() {
|
|
|
14494
14505
|
var J = R / V, ee = 45;
|
|
14495
14506
|
w.FieldOfView !== void 0 && (ee = w.FieldOfView.value);
|
|
14496
14507
|
var K = w.FocalLength ? w.FocalLength.value : null;
|
|
14497
|
-
switch (
|
|
14508
|
+
switch (k) {
|
|
14498
14509
|
case 0:
|
|
14499
|
-
I = new U0(ee, J,
|
|
14510
|
+
I = new U0(ee, J, x, L), K !== null && I.setFocalLength(K);
|
|
14500
14511
|
break;
|
|
14501
14512
|
case 1:
|
|
14502
|
-
I = new Q0(-R / 2, R / 2, V / 2, -V / 2,
|
|
14513
|
+
I = new Q0(-R / 2, R / 2, V / 2, -V / 2, x, L);
|
|
14503
14514
|
break;
|
|
14504
14515
|
default:
|
|
14505
|
-
console.warn("THREE.FBXLoader: Unknown camera type " +
|
|
14516
|
+
console.warn("THREE.FBXLoader: Unknown camera type " + k + "."), I = new tr();
|
|
14506
14517
|
break;
|
|
14507
14518
|
}
|
|
14508
14519
|
}
|
|
@@ -14517,30 +14528,30 @@ var Zg = function() {
|
|
|
14517
14528
|
}), w === void 0)
|
|
14518
14529
|
I = new tr();
|
|
14519
14530
|
else {
|
|
14520
|
-
var
|
|
14521
|
-
w.LightType === void 0 ?
|
|
14522
|
-
var
|
|
14523
|
-
w.Color !== void 0 && (
|
|
14531
|
+
var k;
|
|
14532
|
+
w.LightType === void 0 ? k = 0 : k = w.LightType.value;
|
|
14533
|
+
var x = 16777215;
|
|
14534
|
+
w.Color !== void 0 && (x = new Kt().fromArray(w.Color.value));
|
|
14524
14535
|
var L = w.Intensity === void 0 ? 1 : w.Intensity.value / 100;
|
|
14525
14536
|
w.CastLightOnObject !== void 0 && w.CastLightOnObject.value === 0 && (L = 0);
|
|
14526
14537
|
var R = 0;
|
|
14527
14538
|
w.FarAttenuationEnd !== void 0 && (w.EnableFarAttenuation !== void 0 && w.EnableFarAttenuation.value === 0 ? R = 0 : R = w.FarAttenuationEnd.value);
|
|
14528
14539
|
var V = 1;
|
|
14529
|
-
switch (
|
|
14540
|
+
switch (k) {
|
|
14530
14541
|
case 0:
|
|
14531
|
-
I = new Au(
|
|
14542
|
+
I = new Au(x, L, R, V);
|
|
14532
14543
|
break;
|
|
14533
14544
|
case 1:
|
|
14534
|
-
I = new X0(
|
|
14545
|
+
I = new X0(x, L);
|
|
14535
14546
|
break;
|
|
14536
14547
|
case 2:
|
|
14537
14548
|
var J = Math.PI / 3;
|
|
14538
14549
|
w.InnerAngle !== void 0 && (J = Hi.degToRad(w.InnerAngle.value));
|
|
14539
14550
|
var ee = 0;
|
|
14540
|
-
w.OuterAngle !== void 0 && (ee = Hi.degToRad(w.OuterAngle.value), ee = Math.max(ee, 1)), I = new Y0(
|
|
14551
|
+
w.OuterAngle !== void 0 && (ee = Hi.degToRad(w.OuterAngle.value), ee = Math.max(ee, 1)), I = new Y0(x, L, R, J, ee, V);
|
|
14541
14552
|
break;
|
|
14542
14553
|
default:
|
|
14543
|
-
console.warn("THREE.FBXLoader: Unknown light type " + w.LightType.value + ", defaulting to a PointLight."), I = new Au(
|
|
14554
|
+
console.warn("THREE.FBXLoader: Unknown light type " + w.LightType.value + ", defaulting to a PointLight."), I = new Au(x, L);
|
|
14544
14555
|
break;
|
|
14545
14556
|
}
|
|
14546
14557
|
w.CastShadows !== void 0 && w.CastShadows.value === 1 && (I.castShadow = !0);
|
|
@@ -14548,20 +14559,20 @@ var Zg = function() {
|
|
|
14548
14559
|
return I;
|
|
14549
14560
|
},
|
|
14550
14561
|
createMesh: function(A, I, w) {
|
|
14551
|
-
var
|
|
14562
|
+
var k, x = null, L = null, R = [];
|
|
14552
14563
|
return A.children.forEach(function(V) {
|
|
14553
|
-
I.has(V.ID) && (
|
|
14554
|
-
}), R.length > 1 ? L = R : R.length > 0 ? L = R[0] : (L = new Pl({ color: 13421772 }), R.push(L)), "color" in
|
|
14564
|
+
I.has(V.ID) && (x = I.get(V.ID)), w.has(V.ID) && R.push(w.get(V.ID));
|
|
14565
|
+
}), R.length > 1 ? L = R : R.length > 0 ? L = R[0] : (L = new Pl({ color: 13421772 }), R.push(L)), "color" in x.attributes && R.forEach(function(V) {
|
|
14555
14566
|
V.vertexColors = !0;
|
|
14556
|
-
}),
|
|
14567
|
+
}), x.FBX_Deformer ? (R.forEach(function(V) {
|
|
14557
14568
|
V.skinning = !0;
|
|
14558
|
-
}),
|
|
14569
|
+
}), k = new Z0(x, L), k.normalizeSkinWeights()) : k = new ir(x, L), k;
|
|
14559
14570
|
},
|
|
14560
14571
|
createCurve: function(A, I) {
|
|
14561
|
-
var w = A.children.reduce(function(
|
|
14562
|
-
return I.has(L.ID) && (
|
|
14563
|
-
}, null),
|
|
14564
|
-
return new q0(w,
|
|
14572
|
+
var w = A.children.reduce(function(x, L) {
|
|
14573
|
+
return I.has(L.ID) && (x = I.get(L.ID)), x;
|
|
14574
|
+
}, null), k = new J0({ color: 3342591, linewidth: 1 });
|
|
14575
|
+
return new q0(w, k);
|
|
14565
14576
|
},
|
|
14566
14577
|
// parse the model node for transform data
|
|
14567
14578
|
getTransformData: function(A, I) {
|
|
@@ -14571,11 +14582,11 @@ var Zg = function() {
|
|
|
14571
14582
|
setLookAtProperties: function(A, I) {
|
|
14572
14583
|
if ("LookAtProperty" in I) {
|
|
14573
14584
|
var w = t.get(A.ID).children;
|
|
14574
|
-
w.forEach(function(
|
|
14575
|
-
if (
|
|
14576
|
-
var
|
|
14577
|
-
if ("Lcl_Translation" in
|
|
14578
|
-
var L =
|
|
14585
|
+
w.forEach(function(k) {
|
|
14586
|
+
if (k.relationship === "LookAtProperty") {
|
|
14587
|
+
var x = n.Objects.Model[k.ID];
|
|
14588
|
+
if ("Lcl_Translation" in x) {
|
|
14589
|
+
var L = x.Lcl_Translation.value;
|
|
14579
14590
|
A.target !== void 0 ? (A.target.position.fromArray(L), e.add(A.target)) : A.lookAt(new ue().fromArray(L));
|
|
14580
14591
|
}
|
|
14581
14592
|
}
|
|
@@ -14583,16 +14594,16 @@ var Zg = function() {
|
|
|
14583
14594
|
}
|
|
14584
14595
|
},
|
|
14585
14596
|
bindSkeleton: function(A, I, w) {
|
|
14586
|
-
var
|
|
14587
|
-
for (var
|
|
14588
|
-
var L = A[
|
|
14597
|
+
var k = this.parsePoseNodes();
|
|
14598
|
+
for (var x in A) {
|
|
14599
|
+
var L = A[x], R = t.get(parseInt(L.ID)).parents;
|
|
14589
14600
|
R.forEach(function(V) {
|
|
14590
14601
|
if (I.has(V.ID)) {
|
|
14591
14602
|
var J = V.ID, ee = t.get(J);
|
|
14592
14603
|
ee.parents.forEach(function(K) {
|
|
14593
14604
|
if (w.has(K.ID)) {
|
|
14594
14605
|
var re = w.get(K.ID);
|
|
14595
|
-
re.bind(new K0(L.bones),
|
|
14606
|
+
re.bind(new K0(L.bones), k[K.ID]);
|
|
14596
14607
|
}
|
|
14597
14608
|
});
|
|
14598
14609
|
}
|
|
@@ -14605,10 +14616,10 @@ var Zg = function() {
|
|
|
14605
14616
|
var I = n.Objects.Pose;
|
|
14606
14617
|
for (var w in I)
|
|
14607
14618
|
if (I[w].attrType === "BindPose") {
|
|
14608
|
-
var
|
|
14609
|
-
Array.isArray(
|
|
14610
|
-
A[
|
|
14611
|
-
}) : A[
|
|
14619
|
+
var k = I[w].PoseNode;
|
|
14620
|
+
Array.isArray(k) ? k.forEach(function(x) {
|
|
14621
|
+
A[x.Node] = new tt().fromArray(x.Matrix.a);
|
|
14622
|
+
}) : A[k.Node] = new tt().fromArray(k.Matrix.a);
|
|
14612
14623
|
}
|
|
14613
14624
|
}
|
|
14614
14625
|
return A;
|
|
@@ -14616,27 +14627,27 @@ var Zg = function() {
|
|
|
14616
14627
|
// Parse ambient color in FBXTree.GlobalSettings - if it's not set to black (default), create an ambient light
|
|
14617
14628
|
createAmbientLight: function() {
|
|
14618
14629
|
if ("GlobalSettings" in n && "AmbientColor" in n.GlobalSettings) {
|
|
14619
|
-
var A = n.GlobalSettings.AmbientColor.value, I = A[0], w = A[1],
|
|
14620
|
-
if (I !== 0 || w !== 0 ||
|
|
14621
|
-
var
|
|
14622
|
-
e.add(new $0(
|
|
14630
|
+
var A = n.GlobalSettings.AmbientColor.value, I = A[0], w = A[1], k = A[2];
|
|
14631
|
+
if (I !== 0 || w !== 0 || k !== 0) {
|
|
14632
|
+
var x = new Kt(I, w, k);
|
|
14633
|
+
e.add(new $0(x, 1));
|
|
14623
14634
|
}
|
|
14624
14635
|
}
|
|
14625
14636
|
},
|
|
14626
14637
|
setupMorphMaterials: function() {
|
|
14627
14638
|
var A = this;
|
|
14628
14639
|
e.traverse(function(I) {
|
|
14629
|
-
I.isMesh && I.geometry.morphAttributes.position && I.geometry.morphAttributes.position.length && (Array.isArray(I.material) ? I.material.forEach(function(w,
|
|
14630
|
-
A.setupMorphMaterial(I, w,
|
|
14640
|
+
I.isMesh && I.geometry.morphAttributes.position && I.geometry.morphAttributes.position.length && (Array.isArray(I.material) ? I.material.forEach(function(w, k) {
|
|
14641
|
+
A.setupMorphMaterial(I, w, k);
|
|
14631
14642
|
}) : A.setupMorphMaterial(I, I.material));
|
|
14632
14643
|
});
|
|
14633
14644
|
},
|
|
14634
14645
|
setupMorphMaterial: function(A, I, w) {
|
|
14635
|
-
var
|
|
14646
|
+
var k = A.uuid, x = I.uuid, L = !1;
|
|
14636
14647
|
if (e.traverse(function(V) {
|
|
14637
14648
|
V.isMesh && (Array.isArray(V.material) ? V.material.forEach(function(J) {
|
|
14638
|
-
J.uuid ===
|
|
14639
|
-
}) : V.material.uuid ===
|
|
14649
|
+
J.uuid === x && V.uuid !== k && (L = !0);
|
|
14650
|
+
}) : V.material.uuid === x && V.uuid !== k && (L = !0));
|
|
14640
14651
|
}), L === !0) {
|
|
14641
14652
|
var R = I.clone();
|
|
14642
14653
|
R.morphTargets = !0, w === void 0 ? A.material = R : A.material[w] = R;
|
|
@@ -14653,9 +14664,9 @@ var Zg = function() {
|
|
|
14653
14664
|
var I = /* @__PURE__ */ new Map();
|
|
14654
14665
|
if ("Geometry" in n.Objects) {
|
|
14655
14666
|
var w = n.Objects.Geometry;
|
|
14656
|
-
for (var
|
|
14657
|
-
var
|
|
14658
|
-
I.set(parseInt(
|
|
14667
|
+
for (var k in w) {
|
|
14668
|
+
var x = t.get(parseInt(k)), L = this.parseGeometry(x, w[k], A);
|
|
14669
|
+
I.set(parseInt(k), L);
|
|
14659
14670
|
}
|
|
14660
14671
|
}
|
|
14661
14672
|
return I;
|
|
@@ -14671,58 +14682,58 @@ var Zg = function() {
|
|
|
14671
14682
|
},
|
|
14672
14683
|
// Parse single node mesh geometry in FBXTree.Objects.Geometry
|
|
14673
14684
|
parseMeshGeometry: function(A, I, w) {
|
|
14674
|
-
var
|
|
14685
|
+
var k = w.skeletons, x = [], L = A.parents.map(function(K) {
|
|
14675
14686
|
return n.Objects.Model[K.ID];
|
|
14676
14687
|
});
|
|
14677
14688
|
if (L.length !== 0) {
|
|
14678
14689
|
var R = A.children.reduce(function(K, re) {
|
|
14679
|
-
return
|
|
14690
|
+
return k[re.ID] !== void 0 && (K = k[re.ID]), K;
|
|
14680
14691
|
}, null);
|
|
14681
14692
|
A.children.forEach(function(K) {
|
|
14682
|
-
w.morphTargets[K.ID] !== void 0 &&
|
|
14693
|
+
w.morphTargets[K.ID] !== void 0 && x.push(w.morphTargets[K.ID]);
|
|
14683
14694
|
});
|
|
14684
14695
|
var V = L[0], J = {};
|
|
14685
14696
|
"RotationOrder" in V && (J.eulerOrder = E(V.RotationOrder.value)), "InheritType" in V && (J.inheritType = parseInt(V.InheritType.value)), "GeometricTranslation" in V && (J.translation = V.GeometricTranslation.value), "GeometricRotation" in V && (J.rotation = V.GeometricRotation.value), "GeometricScaling" in V && (J.scale = V.GeometricScaling.value);
|
|
14686
14697
|
var ee = M(J);
|
|
14687
|
-
return this.genGeometry(I, R,
|
|
14698
|
+
return this.genGeometry(I, R, x, ee);
|
|
14688
14699
|
}
|
|
14689
14700
|
},
|
|
14690
14701
|
// Generate a BufferGeometry from a node in FBXTree.Objects.Geometry
|
|
14691
|
-
genGeometry: function(A, I, w,
|
|
14692
|
-
var
|
|
14693
|
-
A.attrName && (
|
|
14702
|
+
genGeometry: function(A, I, w, k) {
|
|
14703
|
+
var x = new Xo();
|
|
14704
|
+
A.attrName && (x.name = A.attrName);
|
|
14694
14705
|
var L = this.parseGeoNode(A, I), R = this.genBuffers(L), V = new _s(R.vertex, 3);
|
|
14695
|
-
if (V.applyMatrix4(
|
|
14696
|
-
var J = new tA().getNormalMatrix(
|
|
14697
|
-
ee.applyNormalMatrix(J),
|
|
14706
|
+
if (V.applyMatrix4(k), x.setAttribute("position", V), R.colors.length > 0 && x.setAttribute("color", new _s(R.colors, 3)), I && (x.setAttribute("skinIndex", new eA(R.weightsIndices, 4)), x.setAttribute("skinWeight", new _s(R.vertexWeights, 4)), x.FBX_Deformer = I), R.normal.length > 0) {
|
|
14707
|
+
var J = new tA().getNormalMatrix(k), ee = new _s(R.normal, 3);
|
|
14708
|
+
ee.applyNormalMatrix(J), x.setAttribute("normal", ee);
|
|
14698
14709
|
}
|
|
14699
14710
|
if (R.uvs.forEach(function(Se, Ae) {
|
|
14700
14711
|
var Re = "uv" + (Ae + 1).toString();
|
|
14701
|
-
Ae === 0 && (Re = "uv"),
|
|
14712
|
+
Ae === 0 && (Re = "uv"), x.setAttribute(Re, new _s(R.uvs[Ae], 2));
|
|
14702
14713
|
}), L.material && L.material.mappingType !== "AllSame") {
|
|
14703
14714
|
var K = R.materialIndex[0], re = 0;
|
|
14704
14715
|
if (R.materialIndex.forEach(function(Se, Ae) {
|
|
14705
|
-
Se !== K && (
|
|
14706
|
-
}),
|
|
14707
|
-
var ne =
|
|
14708
|
-
ae !== R.materialIndex.length &&
|
|
14716
|
+
Se !== K && (x.addGroup(re, Ae - re, K), K = Se, re = Ae);
|
|
14717
|
+
}), x.groups.length > 0) {
|
|
14718
|
+
var ne = x.groups[x.groups.length - 1], ae = ne.start + ne.count;
|
|
14719
|
+
ae !== R.materialIndex.length && x.addGroup(ae, R.materialIndex.length - ae, K);
|
|
14709
14720
|
}
|
|
14710
|
-
|
|
14721
|
+
x.groups.length === 0 && x.addGroup(0, R.materialIndex.length, R.materialIndex[0]);
|
|
14711
14722
|
}
|
|
14712
|
-
return this.addMorphTargets(
|
|
14723
|
+
return this.addMorphTargets(x, A, w, k), x;
|
|
14713
14724
|
},
|
|
14714
14725
|
parseGeoNode: function(A, I) {
|
|
14715
14726
|
var w = {};
|
|
14716
14727
|
if (w.vertexPositions = A.Vertices !== void 0 ? A.Vertices.a : [], w.vertexIndices = A.PolygonVertexIndex !== void 0 ? A.PolygonVertexIndex.a : [], A.LayerElementColor && (w.color = this.parseVertexColors(A.LayerElementColor[0])), A.LayerElementMaterial && (w.material = this.parseMaterialIndices(A.LayerElementMaterial[0])), A.LayerElementNormal && (w.normal = this.parseNormals(A.LayerElementNormal[0])), A.LayerElementUV) {
|
|
14717
14728
|
w.uv = [];
|
|
14718
|
-
for (var
|
|
14719
|
-
w.uv.push(this.parseUVs(A.LayerElementUV[
|
|
14729
|
+
for (var k = 0; A.LayerElementUV[k]; )
|
|
14730
|
+
w.uv.push(this.parseUVs(A.LayerElementUV[k])), k++;
|
|
14720
14731
|
}
|
|
14721
|
-
return w.weightTable = {}, I !== null && (w.skeleton = I, I.rawBones.forEach(function(
|
|
14722
|
-
|
|
14732
|
+
return w.weightTable = {}, I !== null && (w.skeleton = I, I.rawBones.forEach(function(x, L) {
|
|
14733
|
+
x.indices.forEach(function(R, V) {
|
|
14723
14734
|
w.weightTable[R] === void 0 && (w.weightTable[R] = []), w.weightTable[R].push({
|
|
14724
14735
|
id: L,
|
|
14725
|
-
weight:
|
|
14736
|
+
weight: x.weights[V]
|
|
14726
14737
|
});
|
|
14727
14738
|
});
|
|
14728
14739
|
})), w;
|
|
@@ -14736,7 +14747,7 @@ var Zg = function() {
|
|
|
14736
14747
|
materialIndex: [],
|
|
14737
14748
|
vertexWeights: [],
|
|
14738
14749
|
weightsIndices: []
|
|
14739
|
-
}, w = 0,
|
|
14750
|
+
}, w = 0, k = 0, x = !1, L = [], R = [], V = [], J = [], ee = [], K = [], re = this;
|
|
14740
14751
|
return A.vertexIndices.forEach(function(ne, ae) {
|
|
14741
14752
|
var Se = !1;
|
|
14742
14753
|
ne < 0 && (ne = ne ^ -1, Se = !0);
|
|
@@ -14749,7 +14760,7 @@ var Zg = function() {
|
|
|
14749
14760
|
if (A.weightTable[ne] !== void 0 && A.weightTable[ne].forEach(function(je) {
|
|
14750
14761
|
Re.push(je.weight), Ae.push(je.id);
|
|
14751
14762
|
}), Re.length > 4) {
|
|
14752
|
-
|
|
14763
|
+
x || (console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."), x = !0);
|
|
14753
14764
|
var we = [0, 0, 0, 0], ke = [0, 0, 0, 0];
|
|
14754
14765
|
Re.forEach(function(je, De) {
|
|
14755
14766
|
var Ue = je, de = Ae[De];
|
|
@@ -14776,7 +14787,7 @@ var Zg = function() {
|
|
|
14776
14787
|
A.uv && A.uv.forEach(function(je, De) {
|
|
14777
14788
|
var Ue = m(ae, w, ne, je);
|
|
14778
14789
|
J[De] === void 0 && (J[De] = []), J[De].push(Ue[0]), J[De].push(Ue[1]);
|
|
14779
|
-
}),
|
|
14790
|
+
}), k++, Se && (re.genFace(
|
|
14780
14791
|
I,
|
|
14781
14792
|
A,
|
|
14782
14793
|
L,
|
|
@@ -14786,25 +14797,25 @@ var Zg = function() {
|
|
|
14786
14797
|
J,
|
|
14787
14798
|
ee,
|
|
14788
14799
|
K,
|
|
14789
|
-
|
|
14790
|
-
), w++,
|
|
14800
|
+
k
|
|
14801
|
+
), w++, k = 0, L = [], R = [], V = [], J = [], ee = [], K = []);
|
|
14791
14802
|
}), I;
|
|
14792
14803
|
},
|
|
14793
14804
|
// Generate data for a single face in a geometry. If the face is a quad then split it into 2 tris
|
|
14794
|
-
genFace: function(A, I, w,
|
|
14805
|
+
genFace: function(A, I, w, k, x, L, R, V, J, ee) {
|
|
14795
14806
|
for (var K = 2; K < ee; K++)
|
|
14796
|
-
A.vertex.push(I.vertexPositions[w[0]]), A.vertex.push(I.vertexPositions[w[1]]), A.vertex.push(I.vertexPositions[w[2]]), A.vertex.push(I.vertexPositions[w[(K - 1) * 3]]), A.vertex.push(I.vertexPositions[w[(K - 1) * 3 + 1]]), A.vertex.push(I.vertexPositions[w[(K - 1) * 3 + 2]]), A.vertex.push(I.vertexPositions[w[K * 3]]), A.vertex.push(I.vertexPositions[w[K * 3 + 1]]), A.vertex.push(I.vertexPositions[w[K * 3 + 2]]), I.skeleton && (A.vertexWeights.push(V[0]), A.vertexWeights.push(V[1]), A.vertexWeights.push(V[2]), A.vertexWeights.push(V[3]), A.vertexWeights.push(V[(K - 1) * 4]), A.vertexWeights.push(V[(K - 1) * 4 + 1]), A.vertexWeights.push(V[(K - 1) * 4 + 2]), A.vertexWeights.push(V[(K - 1) * 4 + 3]), A.vertexWeights.push(V[K * 4]), A.vertexWeights.push(V[K * 4 + 1]), A.vertexWeights.push(V[K * 4 + 2]), A.vertexWeights.push(V[K * 4 + 3]), A.weightsIndices.push(J[0]), A.weightsIndices.push(J[1]), A.weightsIndices.push(J[2]), A.weightsIndices.push(J[3]), A.weightsIndices.push(J[(K - 1) * 4]), A.weightsIndices.push(J[(K - 1) * 4 + 1]), A.weightsIndices.push(J[(K - 1) * 4 + 2]), A.weightsIndices.push(J[(K - 1) * 4 + 3]), A.weightsIndices.push(J[K * 4]), A.weightsIndices.push(J[K * 4 + 1]), A.weightsIndices.push(J[K * 4 + 2]), A.weightsIndices.push(J[K * 4 + 3])), I.color && (A.colors.push(L[0]), A.colors.push(L[1]), A.colors.push(L[2]), A.colors.push(L[(K - 1) * 3]), A.colors.push(L[(K - 1) * 3 + 1]), A.colors.push(L[(K - 1) * 3 + 2]), A.colors.push(L[K * 3]), A.colors.push(L[K * 3 + 1]), A.colors.push(L[K * 3 + 2])), I.material && I.material.mappingType !== "AllSame" && (A.materialIndex.push(
|
|
14807
|
+
A.vertex.push(I.vertexPositions[w[0]]), A.vertex.push(I.vertexPositions[w[1]]), A.vertex.push(I.vertexPositions[w[2]]), A.vertex.push(I.vertexPositions[w[(K - 1) * 3]]), A.vertex.push(I.vertexPositions[w[(K - 1) * 3 + 1]]), A.vertex.push(I.vertexPositions[w[(K - 1) * 3 + 2]]), A.vertex.push(I.vertexPositions[w[K * 3]]), A.vertex.push(I.vertexPositions[w[K * 3 + 1]]), A.vertex.push(I.vertexPositions[w[K * 3 + 2]]), I.skeleton && (A.vertexWeights.push(V[0]), A.vertexWeights.push(V[1]), A.vertexWeights.push(V[2]), A.vertexWeights.push(V[3]), A.vertexWeights.push(V[(K - 1) * 4]), A.vertexWeights.push(V[(K - 1) * 4 + 1]), A.vertexWeights.push(V[(K - 1) * 4 + 2]), A.vertexWeights.push(V[(K - 1) * 4 + 3]), A.vertexWeights.push(V[K * 4]), A.vertexWeights.push(V[K * 4 + 1]), A.vertexWeights.push(V[K * 4 + 2]), A.vertexWeights.push(V[K * 4 + 3]), A.weightsIndices.push(J[0]), A.weightsIndices.push(J[1]), A.weightsIndices.push(J[2]), A.weightsIndices.push(J[3]), A.weightsIndices.push(J[(K - 1) * 4]), A.weightsIndices.push(J[(K - 1) * 4 + 1]), A.weightsIndices.push(J[(K - 1) * 4 + 2]), A.weightsIndices.push(J[(K - 1) * 4 + 3]), A.weightsIndices.push(J[K * 4]), A.weightsIndices.push(J[K * 4 + 1]), A.weightsIndices.push(J[K * 4 + 2]), A.weightsIndices.push(J[K * 4 + 3])), I.color && (A.colors.push(L[0]), A.colors.push(L[1]), A.colors.push(L[2]), A.colors.push(L[(K - 1) * 3]), A.colors.push(L[(K - 1) * 3 + 1]), A.colors.push(L[(K - 1) * 3 + 2]), A.colors.push(L[K * 3]), A.colors.push(L[K * 3 + 1]), A.colors.push(L[K * 3 + 2])), I.material && I.material.mappingType !== "AllSame" && (A.materialIndex.push(k), A.materialIndex.push(k), A.materialIndex.push(k)), I.normal && (A.normal.push(x[0]), A.normal.push(x[1]), A.normal.push(x[2]), A.normal.push(x[(K - 1) * 3]), A.normal.push(x[(K - 1) * 3 + 1]), A.normal.push(x[(K - 1) * 3 + 2]), A.normal.push(x[K * 3]), A.normal.push(x[K * 3 + 1]), A.normal.push(x[K * 3 + 2])), I.uv && I.uv.forEach(function(re, ne) {
|
|
14797
14808
|
A.uvs[ne] === void 0 && (A.uvs[ne] = []), A.uvs[ne].push(R[ne][0]), A.uvs[ne].push(R[ne][1]), A.uvs[ne].push(R[ne][(K - 1) * 2]), A.uvs[ne].push(R[ne][(K - 1) * 2 + 1]), A.uvs[ne].push(R[ne][K * 2]), A.uvs[ne].push(R[ne][K * 2 + 1]);
|
|
14798
14809
|
});
|
|
14799
14810
|
},
|
|
14800
|
-
addMorphTargets: function(A, I, w,
|
|
14811
|
+
addMorphTargets: function(A, I, w, k) {
|
|
14801
14812
|
if (w.length !== 0) {
|
|
14802
14813
|
A.morphTargetsRelative = !0, A.morphAttributes.position = [];
|
|
14803
|
-
var
|
|
14814
|
+
var x = this;
|
|
14804
14815
|
w.forEach(function(L) {
|
|
14805
14816
|
L.rawTargets.forEach(function(R) {
|
|
14806
14817
|
var V = n.Objects.Geometry[R.geoID];
|
|
14807
|
-
V !== void 0 &&
|
|
14818
|
+
V !== void 0 && x.genMorphGeometry(A, I, V, k, R.name);
|
|
14808
14819
|
});
|
|
14809
14820
|
});
|
|
14810
14821
|
}
|
|
@@ -14813,7 +14824,7 @@ var Zg = function() {
|
|
|
14813
14824
|
// in FBXTree.Objects.Geometry, however it can only have attributes for position, normal
|
|
14814
14825
|
// and a special attribute Index defining which vertices of the original geometry are affected
|
|
14815
14826
|
// Normal and position attributes only have data for the vertices that are affected by the morph
|
|
14816
|
-
genMorphGeometry: function(A, I, w,
|
|
14827
|
+
genMorphGeometry: function(A, I, w, k, x) {
|
|
14817
14828
|
for (var L = I.PolygonVertexIndex !== void 0 ? I.PolygonVertexIndex.a : [], R = w.Vertices !== void 0 ? w.Vertices.a : [], V = w.Indexes !== void 0 ? w.Indexes.a : [], J = A.attributes.position.count * 3, ee = new Float32Array(J), K = 0; K < V.length; K++) {
|
|
14818
14829
|
var re = V[K] * 3;
|
|
14819
14830
|
ee[re] = R[K * 3], ee[re + 1] = R[K * 3 + 1], ee[re + 2] = R[K * 3 + 2];
|
|
@@ -14822,37 +14833,37 @@ var Zg = function() {
|
|
|
14822
14833
|
vertexIndices: L,
|
|
14823
14834
|
vertexPositions: ee
|
|
14824
14835
|
}, ae = this.genBuffers(ne), Se = new _s(ae.vertex, 3);
|
|
14825
|
-
Se.name =
|
|
14836
|
+
Se.name = x || w.attrName, Se.applyMatrix4(k), A.morphAttributes.position.push(Se);
|
|
14826
14837
|
},
|
|
14827
14838
|
// Parse normal from FBXTree.Objects.Geometry.LayerElementNormal if it exists
|
|
14828
14839
|
parseNormals: function(A) {
|
|
14829
|
-
var I = A.MappingInformationType, w = A.ReferenceInformationType,
|
|
14830
|
-
return w === "IndexToDirect" && ("NormalIndex" in A ?
|
|
14840
|
+
var I = A.MappingInformationType, w = A.ReferenceInformationType, k = A.Normals.a, x = [];
|
|
14841
|
+
return w === "IndexToDirect" && ("NormalIndex" in A ? x = A.NormalIndex.a : "NormalsIndex" in A && (x = A.NormalsIndex.a)), {
|
|
14831
14842
|
dataSize: 3,
|
|
14832
|
-
buffer:
|
|
14833
|
-
indices:
|
|
14843
|
+
buffer: k,
|
|
14844
|
+
indices: x,
|
|
14834
14845
|
mappingType: I,
|
|
14835
14846
|
referenceType: w
|
|
14836
14847
|
};
|
|
14837
14848
|
},
|
|
14838
14849
|
// Parse UVs from FBXTree.Objects.Geometry.LayerElementUV if it exists
|
|
14839
14850
|
parseUVs: function(A) {
|
|
14840
|
-
var I = A.MappingInformationType, w = A.ReferenceInformationType,
|
|
14841
|
-
return w === "IndexToDirect" && (
|
|
14851
|
+
var I = A.MappingInformationType, w = A.ReferenceInformationType, k = A.UV.a, x = [];
|
|
14852
|
+
return w === "IndexToDirect" && (x = A.UVIndex.a), {
|
|
14842
14853
|
dataSize: 2,
|
|
14843
|
-
buffer:
|
|
14844
|
-
indices:
|
|
14854
|
+
buffer: k,
|
|
14855
|
+
indices: x,
|
|
14845
14856
|
mappingType: I,
|
|
14846
14857
|
referenceType: w
|
|
14847
14858
|
};
|
|
14848
14859
|
},
|
|
14849
14860
|
// Parse Vertex Colors from FBXTree.Objects.Geometry.LayerElementColor if it exists
|
|
14850
14861
|
parseVertexColors: function(A) {
|
|
14851
|
-
var I = A.MappingInformationType, w = A.ReferenceInformationType,
|
|
14852
|
-
return w === "IndexToDirect" && (
|
|
14862
|
+
var I = A.MappingInformationType, w = A.ReferenceInformationType, k = A.Colors.a, x = [];
|
|
14863
|
+
return w === "IndexToDirect" && (x = A.ColorIndex.a), {
|
|
14853
14864
|
dataSize: 4,
|
|
14854
|
-
buffer:
|
|
14855
|
-
indices:
|
|
14865
|
+
buffer: k,
|
|
14866
|
+
indices: x,
|
|
14856
14867
|
mappingType: I,
|
|
14857
14868
|
referenceType: w
|
|
14858
14869
|
};
|
|
@@ -14868,12 +14879,12 @@ var Zg = function() {
|
|
|
14868
14879
|
mappingType: "AllSame",
|
|
14869
14880
|
referenceType: w
|
|
14870
14881
|
};
|
|
14871
|
-
for (var
|
|
14872
|
-
|
|
14882
|
+
for (var k = A.Materials.a, x = [], L = 0; L < k.length; ++L)
|
|
14883
|
+
x.push(L);
|
|
14873
14884
|
return {
|
|
14874
14885
|
dataSize: 1,
|
|
14875
|
-
buffer:
|
|
14876
|
-
indices:
|
|
14886
|
+
buffer: k,
|
|
14887
|
+
indices: x,
|
|
14877
14888
|
mappingType: I,
|
|
14878
14889
|
referenceType: w
|
|
14879
14890
|
};
|
|
@@ -14887,17 +14898,17 @@ var Zg = function() {
|
|
|
14887
14898
|
var I = parseInt(A.Order);
|
|
14888
14899
|
if (isNaN(I))
|
|
14889
14900
|
return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s", A.Order, A.id), new Xo();
|
|
14890
|
-
for (var w = I - 1,
|
|
14891
|
-
|
|
14901
|
+
for (var w = I - 1, k = A.KnotVector.a, x = [], L = A.Points.a, R = 0, V = L.length; R < V; R += 4)
|
|
14902
|
+
x.push(new as().fromArray(L, R));
|
|
14892
14903
|
var J, ee;
|
|
14893
14904
|
if (A.Form === "Closed")
|
|
14894
|
-
|
|
14905
|
+
x.push(x[0]);
|
|
14895
14906
|
else if (A.Form === "Periodic") {
|
|
14896
|
-
J = w, ee =
|
|
14907
|
+
J = w, ee = k.length - 1 - J;
|
|
14897
14908
|
for (var R = 0; R < w; ++R)
|
|
14898
|
-
|
|
14909
|
+
x.push(x[R]);
|
|
14899
14910
|
}
|
|
14900
|
-
var K = new vs(w,
|
|
14911
|
+
var K = new vs(w, k, x, J, ee), re = K.getPoints(x.length * 7), ne = new Float32Array(re.length * 3);
|
|
14901
14912
|
re.forEach(function(Se, Ae) {
|
|
14902
14913
|
Se.toArray(ne, Ae * 3);
|
|
14903
14914
|
});
|
|
@@ -14914,8 +14925,8 @@ var Zg = function() {
|
|
|
14914
14925
|
var A = [], I = this.parseClips();
|
|
14915
14926
|
if (I !== void 0)
|
|
14916
14927
|
for (var w in I) {
|
|
14917
|
-
var
|
|
14918
|
-
A.push(
|
|
14928
|
+
var k = I[w], x = this.addClip(k);
|
|
14929
|
+
A.push(x);
|
|
14919
14930
|
}
|
|
14920
14931
|
return A;
|
|
14921
14932
|
},
|
|
@@ -14933,14 +14944,14 @@ var Zg = function() {
|
|
|
14933
14944
|
parseAnimationCurveNodes: function() {
|
|
14934
14945
|
var A = n.Objects.AnimationCurveNode, I = /* @__PURE__ */ new Map();
|
|
14935
14946
|
for (var w in A) {
|
|
14936
|
-
var
|
|
14937
|
-
if (
|
|
14938
|
-
var
|
|
14939
|
-
id:
|
|
14940
|
-
attr:
|
|
14947
|
+
var k = A[w];
|
|
14948
|
+
if (k.attrName.match(/S|R|T|DeformPercent/) !== null) {
|
|
14949
|
+
var x = {
|
|
14950
|
+
id: k.id,
|
|
14951
|
+
attr: k.attrName,
|
|
14941
14952
|
curves: {}
|
|
14942
14953
|
};
|
|
14943
|
-
I.set(
|
|
14954
|
+
I.set(x.id, x);
|
|
14944
14955
|
}
|
|
14945
14956
|
}
|
|
14946
14957
|
return I;
|
|
@@ -14951,14 +14962,14 @@ var Zg = function() {
|
|
|
14951
14962
|
parseAnimationCurves: function(A) {
|
|
14952
14963
|
var I = n.Objects.AnimationCurve;
|
|
14953
14964
|
for (var w in I) {
|
|
14954
|
-
var
|
|
14965
|
+
var k = {
|
|
14955
14966
|
id: I[w].id,
|
|
14956
14967
|
times: I[w].KeyTime.a.map(g),
|
|
14957
14968
|
values: I[w].KeyValueFloat.a
|
|
14958
|
-
},
|
|
14959
|
-
if (
|
|
14960
|
-
var L =
|
|
14961
|
-
R.match(/X/) ? A.get(L).curves.x =
|
|
14969
|
+
}, x = t.get(k.id);
|
|
14970
|
+
if (x !== void 0) {
|
|
14971
|
+
var L = x.parents[0].ID, R = x.parents[0].relationship;
|
|
14972
|
+
R.match(/X/) ? A.get(L).curves.x = k : R.match(/Y/) ? A.get(L).curves.y = k : R.match(/Z/) ? A.get(L).curves.z = k : R.match(/d|DeformPercent/) && A.has(L) && (A.get(L).curves.morph = k);
|
|
14962
14973
|
}
|
|
14963
14974
|
}
|
|
14964
14975
|
},
|
|
@@ -14967,15 +14978,15 @@ var Zg = function() {
|
|
|
14967
14978
|
// note: theoretically a stack can have multiple layers, however in practice there always seems to be one per stack
|
|
14968
14979
|
parseAnimationLayers: function(A) {
|
|
14969
14980
|
var I = n.Objects.AnimationLayer, w = /* @__PURE__ */ new Map();
|
|
14970
|
-
for (var
|
|
14971
|
-
var
|
|
14981
|
+
for (var k in I) {
|
|
14982
|
+
var x = [], L = t.get(parseInt(k));
|
|
14972
14983
|
if (L !== void 0) {
|
|
14973
14984
|
var R = L.children;
|
|
14974
14985
|
R.forEach(function(V, J) {
|
|
14975
14986
|
if (A.has(V.ID)) {
|
|
14976
14987
|
var ee = A.get(V.ID);
|
|
14977
14988
|
if (ee.curves.x !== void 0 || ee.curves.y !== void 0 || ee.curves.z !== void 0) {
|
|
14978
|
-
if (
|
|
14989
|
+
if (x[J] === void 0) {
|
|
14979
14990
|
var K = t.get(V.ID).parents.filter(function(Re) {
|
|
14980
14991
|
return Re.relationship !== void 0;
|
|
14981
14992
|
})[0].ID;
|
|
@@ -14994,24 +15005,24 @@ var Zg = function() {
|
|
|
14994
15005
|
};
|
|
14995
15006
|
e.traverse(function(Re) {
|
|
14996
15007
|
Re.ID === re.id && (ne.transform = Re.matrix, Re.userData.transformData && (ne.eulerOrder = Re.userData.transformData.eulerOrder));
|
|
14997
|
-
}), ne.transform || (ne.transform = new tt()), "PreRotation" in re && (ne.preRotation = re.PreRotation.value), "PostRotation" in re && (ne.postRotation = re.PostRotation.value),
|
|
15008
|
+
}), ne.transform || (ne.transform = new tt()), "PreRotation" in re && (ne.preRotation = re.PreRotation.value), "PostRotation" in re && (ne.postRotation = re.PostRotation.value), x[J] = ne;
|
|
14998
15009
|
}
|
|
14999
15010
|
}
|
|
15000
|
-
|
|
15011
|
+
x[J] && (x[J][ee.attr] = ee);
|
|
15001
15012
|
} else if (ee.curves.morph !== void 0) {
|
|
15002
|
-
if (
|
|
15013
|
+
if (x[J] === void 0) {
|
|
15003
15014
|
var ae = t.get(V.ID).parents.filter(function(ke) {
|
|
15004
15015
|
return ke.relationship !== void 0;
|
|
15005
15016
|
})[0].ID, Se = t.get(ae).parents[0].ID, Ae = t.get(Se).parents[0].ID, K = t.get(Ae).parents[0].ID, re = n.Objects.Model[K], ne = {
|
|
15006
15017
|
modelName: re.attrName ? Yo.sanitizeNodeName(re.attrName) : "",
|
|
15007
15018
|
morphName: n.Objects.Deformer[ae].attrName
|
|
15008
15019
|
};
|
|
15009
|
-
|
|
15020
|
+
x[J] = ne;
|
|
15010
15021
|
}
|
|
15011
|
-
|
|
15022
|
+
x[J][ee.attr] = ee;
|
|
15012
15023
|
}
|
|
15013
15024
|
}
|
|
15014
|
-
}), w.set(parseInt(
|
|
15025
|
+
}), w.set(parseInt(k), x);
|
|
15015
15026
|
}
|
|
15016
15027
|
}
|
|
15017
15028
|
return w;
|
|
@@ -15020,14 +15031,14 @@ var Zg = function() {
|
|
|
15020
15031
|
// hierarchy. Each Stack node will be used to create a AnimationClip
|
|
15021
15032
|
parseAnimStacks: function(A) {
|
|
15022
15033
|
var I = n.Objects.AnimationStack, w = {};
|
|
15023
|
-
for (var
|
|
15024
|
-
var
|
|
15025
|
-
|
|
15034
|
+
for (var k in I) {
|
|
15035
|
+
var x = t.get(parseInt(k)).children;
|
|
15036
|
+
x.length > 1 && console.warn(
|
|
15026
15037
|
"THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers."
|
|
15027
15038
|
);
|
|
15028
|
-
var L = A.get(
|
|
15029
|
-
w[
|
|
15030
|
-
name: I[
|
|
15039
|
+
var L = A.get(x[0].ID);
|
|
15040
|
+
w[k] = {
|
|
15041
|
+
name: I[k].attrName,
|
|
15031
15042
|
layer: L
|
|
15032
15043
|
};
|
|
15033
15044
|
}
|
|
@@ -15035,13 +15046,13 @@ var Zg = function() {
|
|
|
15035
15046
|
},
|
|
15036
15047
|
addClip: function(A) {
|
|
15037
15048
|
var I = [], w = this;
|
|
15038
|
-
return A.layer.forEach(function(
|
|
15039
|
-
I = I.concat(w.generateTracks(
|
|
15049
|
+
return A.layer.forEach(function(k) {
|
|
15050
|
+
I = I.concat(w.generateTracks(k));
|
|
15040
15051
|
}), new nA(A.name, -1, I);
|
|
15041
15052
|
},
|
|
15042
15053
|
generateTracks: function(A) {
|
|
15043
|
-
var I = [], w = new ue(),
|
|
15044
|
-
if (A.transform && A.transform.decompose(w,
|
|
15054
|
+
var I = [], w = new ue(), k = new Ys(), x = new ue();
|
|
15055
|
+
if (A.transform && A.transform.decompose(w, k, x), w = w.toArray(), k = new rs().setFromQuaternion(k, A.eulerOrder).toArray(), x = x.toArray(), A.T !== void 0 && Object.keys(A.T.curves).length > 0) {
|
|
15045
15056
|
var L = this.generateVectorTrack(A.modelName, A.T.curves, w, "position");
|
|
15046
15057
|
L !== void 0 && I.push(L);
|
|
15047
15058
|
}
|
|
@@ -15049,7 +15060,7 @@ var Zg = function() {
|
|
|
15049
15060
|
var R = this.generateRotationTrack(
|
|
15050
15061
|
A.modelName,
|
|
15051
15062
|
A.R.curves,
|
|
15052
|
-
|
|
15063
|
+
k,
|
|
15053
15064
|
A.preRotation,
|
|
15054
15065
|
A.postRotation,
|
|
15055
15066
|
A.eulerOrder
|
|
@@ -15057,7 +15068,7 @@ var Zg = function() {
|
|
|
15057
15068
|
R !== void 0 && I.push(R);
|
|
15058
15069
|
}
|
|
15059
15070
|
if (A.S !== void 0 && Object.keys(A.S.curves).length > 0) {
|
|
15060
|
-
var V = this.generateVectorTrack(A.modelName, A.S.curves,
|
|
15071
|
+
var V = this.generateVectorTrack(A.modelName, A.S.curves, x, "scale");
|
|
15061
15072
|
V !== void 0 && I.push(V);
|
|
15062
15073
|
}
|
|
15063
15074
|
if (A.DeformPercent !== void 0) {
|
|
@@ -15066,62 +15077,62 @@ var Zg = function() {
|
|
|
15066
15077
|
}
|
|
15067
15078
|
return I;
|
|
15068
15079
|
},
|
|
15069
|
-
generateVectorTrack: function(A, I, w,
|
|
15070
|
-
var
|
|
15071
|
-
return new sA(A + "." +
|
|
15080
|
+
generateVectorTrack: function(A, I, w, k) {
|
|
15081
|
+
var x = this.getTimesForAllAxes(I), L = this.getKeyframeTrackValues(x, I, w);
|
|
15082
|
+
return new sA(A + "." + k, x, L);
|
|
15072
15083
|
},
|
|
15073
|
-
generateRotationTrack: function(A, I, w,
|
|
15084
|
+
generateRotationTrack: function(A, I, w, k, x, L) {
|
|
15074
15085
|
I.x !== void 0 && (this.interpolateRotations(I.x), I.x.values = I.x.values.map(Hi.degToRad)), I.y !== void 0 && (this.interpolateRotations(I.y), I.y.values = I.y.values.map(Hi.degToRad)), I.z !== void 0 && (this.interpolateRotations(I.z), I.z.values = I.z.values.map(Hi.degToRad));
|
|
15075
15086
|
var R = this.getTimesForAllAxes(I), V = this.getKeyframeTrackValues(R, I, w);
|
|
15076
|
-
|
|
15087
|
+
k !== void 0 && (k = k.map(Hi.degToRad), k.push(L), k = new rs().fromArray(k), k = new Ys().setFromEuler(k)), x !== void 0 && (x = x.map(Hi.degToRad), x.push(L), x = new rs().fromArray(x), x = new Ys().setFromEuler(x).inverse());
|
|
15077
15088
|
for (var J = new Ys(), ee = new rs(), K = [], re = 0; re < V.length; re += 3)
|
|
15078
|
-
ee.set(V[re], V[re + 1], V[re + 2], L), J.setFromEuler(ee),
|
|
15089
|
+
ee.set(V[re], V[re + 1], V[re + 2], L), J.setFromEuler(ee), k !== void 0 && J.premultiply(k), x !== void 0 && J.multiply(x), J.toArray(K, re / 3 * 4);
|
|
15079
15090
|
return new rA(A + ".quaternion", R, K);
|
|
15080
15091
|
},
|
|
15081
15092
|
generateMorphTrack: function(A) {
|
|
15082
|
-
var I = A.DeformPercent.curves.morph, w = I.values.map(function(
|
|
15083
|
-
return
|
|
15084
|
-
}),
|
|
15085
|
-
return new oA(A.modelName + ".morphTargetInfluences[" +
|
|
15093
|
+
var I = A.DeformPercent.curves.morph, w = I.values.map(function(x) {
|
|
15094
|
+
return x / 100;
|
|
15095
|
+
}), k = e.getObjectByName(A.modelName).morphTargetDictionary[A.morphName];
|
|
15096
|
+
return new oA(A.modelName + ".morphTargetInfluences[" + k + "]", I.times, w);
|
|
15086
15097
|
},
|
|
15087
15098
|
// For all animated objects, times are defined separately for each axis
|
|
15088
15099
|
// Here we'll combine the times into one sorted array without duplicates
|
|
15089
15100
|
getTimesForAllAxes: function(A) {
|
|
15090
15101
|
var I = [];
|
|
15091
|
-
return A.x !== void 0 && (I = I.concat(A.x.times)), A.y !== void 0 && (I = I.concat(A.y.times)), A.z !== void 0 && (I = I.concat(A.z.times)), I = I.sort(function(w,
|
|
15092
|
-
return w -
|
|
15093
|
-
}).filter(function(w,
|
|
15094
|
-
return
|
|
15102
|
+
return A.x !== void 0 && (I = I.concat(A.x.times)), A.y !== void 0 && (I = I.concat(A.y.times)), A.z !== void 0 && (I = I.concat(A.z.times)), I = I.sort(function(w, k) {
|
|
15103
|
+
return w - k;
|
|
15104
|
+
}).filter(function(w, k, x) {
|
|
15105
|
+
return x.indexOf(w) == k;
|
|
15095
15106
|
}), I;
|
|
15096
15107
|
},
|
|
15097
15108
|
getKeyframeTrackValues: function(A, I, w) {
|
|
15098
|
-
var
|
|
15109
|
+
var k = w, x = [], L = -1, R = -1, V = -1;
|
|
15099
15110
|
return A.forEach(function(J) {
|
|
15100
15111
|
if (I.x && (L = I.x.times.indexOf(J)), I.y && (R = I.y.times.indexOf(J)), I.z && (V = I.z.times.indexOf(J)), L !== -1) {
|
|
15101
15112
|
var ee = I.x.values[L];
|
|
15102
|
-
|
|
15113
|
+
x.push(ee), k[0] = ee;
|
|
15103
15114
|
} else
|
|
15104
|
-
|
|
15115
|
+
x.push(k[0]);
|
|
15105
15116
|
if (R !== -1) {
|
|
15106
15117
|
var K = I.y.values[R];
|
|
15107
|
-
|
|
15118
|
+
x.push(K), k[1] = K;
|
|
15108
15119
|
} else
|
|
15109
|
-
|
|
15120
|
+
x.push(k[1]);
|
|
15110
15121
|
if (V !== -1) {
|
|
15111
15122
|
var re = I.z.values[V];
|
|
15112
|
-
|
|
15123
|
+
x.push(re), k[2] = re;
|
|
15113
15124
|
} else
|
|
15114
|
-
|
|
15115
|
-
}),
|
|
15125
|
+
x.push(k[2]);
|
|
15126
|
+
}), x;
|
|
15116
15127
|
},
|
|
15117
15128
|
// Rotations are defined as Euler angles which can have values of any size
|
|
15118
15129
|
// These will be converted to quaternions which don't support values greater than
|
|
15119
15130
|
// PI, so we'll interpolate large rotations
|
|
15120
15131
|
interpolateRotations: function(A) {
|
|
15121
15132
|
for (var I = 1; I < A.values.length; I++) {
|
|
15122
|
-
var w = A.values[I - 1],
|
|
15123
|
-
if (
|
|
15124
|
-
for (var L =
|
|
15133
|
+
var w = A.values[I - 1], k = A.values[I] - w, x = Math.abs(k);
|
|
15134
|
+
if (x >= 180) {
|
|
15135
|
+
for (var L = x / 180, R = k / L, V = w + R, J = A.times[I - 1], ee = A.times[I] - J, K = ee / L, re = J + K, ne = [], ae = []; re < A.times[I]; )
|
|
15125
15136
|
ne.push(re), re += K, ae.push(V), V += R;
|
|
15126
15137
|
A.times = Z(A.times, I, ne), A.values = Z(A.values, I, ae);
|
|
15127
15138
|
}
|
|
@@ -15153,41 +15164,41 @@ var Zg = function() {
|
|
|
15153
15164
|
parse: function(A) {
|
|
15154
15165
|
this.currentIndent = 0, this.allNodes = new h(), this.nodeStack = [], this.currentProp = [], this.currentPropName = "";
|
|
15155
15166
|
var I = this, w = A.split(/[\r\n]+/);
|
|
15156
|
-
return w.forEach(function(
|
|
15157
|
-
var L =
|
|
15167
|
+
return w.forEach(function(k, x) {
|
|
15168
|
+
var L = k.match(/^[\s\t]*;/), R = k.match(/^[\s\t]*$/);
|
|
15158
15169
|
if (!(L || R)) {
|
|
15159
|
-
var V =
|
|
15160
|
-
V ? I.parseNodeBegin(
|
|
15170
|
+
var V = k.match("^\\t{" + I.currentIndent + "}(\\w+):(.*){", ""), J = k.match("^\\t{" + I.currentIndent + "}(\\w+):[\\s\\t\\r\\n](.*)"), ee = k.match("^\\t{" + (I.currentIndent - 1) + "}}");
|
|
15171
|
+
V ? I.parseNodeBegin(k, V) : J ? I.parseNodeProperty(k, J, w[++x]) : ee ? I.popStack() : k.match(/^[^\s\t}]/) && I.parseNodePropertyContinued(k);
|
|
15161
15172
|
}
|
|
15162
15173
|
}), this.allNodes;
|
|
15163
15174
|
},
|
|
15164
15175
|
parseNodeBegin: function(A, I) {
|
|
15165
|
-
var w = I[1].trim().replace(/^"/, "").replace(/"$/, ""),
|
|
15176
|
+
var w = I[1].trim().replace(/^"/, "").replace(/"$/, ""), k = I[2].split(",").map(function(V) {
|
|
15166
15177
|
return V.trim().replace(/^"/, "").replace(/"$/, "");
|
|
15167
|
-
}),
|
|
15168
|
-
this.currentIndent === 0 ? this.allNodes.add(w,
|
|
15178
|
+
}), x = { name: w }, L = this.parseNodeAttr(k), R = this.getCurrentNode();
|
|
15179
|
+
this.currentIndent === 0 ? this.allNodes.add(w, x) : w in R ? (w === "PoseNode" ? R.PoseNode.push(x) : R[w].id !== void 0 && (R[w] = {}, R[w][R[w].id] = R[w]), L.id !== "" && (R[w][L.id] = x)) : typeof L.id == "number" ? (R[w] = {}, R[w][L.id] = x) : w !== "Properties70" && (w === "PoseNode" ? R[w] = [x] : R[w] = x), typeof L.id == "number" && (x.id = L.id), L.name !== "" && (x.attrName = L.name), L.type !== "" && (x.attrType = L.type), this.pushStack(x);
|
|
15169
15180
|
},
|
|
15170
15181
|
parseNodeAttr: function(A) {
|
|
15171
15182
|
var I = A[0];
|
|
15172
15183
|
A[0] !== "" && (I = parseInt(A[0]), isNaN(I) && (I = A[0]));
|
|
15173
|
-
var w = "",
|
|
15174
|
-
return A.length > 1 && (w = A[1].replace(/^(\w+)::/, ""),
|
|
15184
|
+
var w = "", k = "";
|
|
15185
|
+
return A.length > 1 && (w = A[1].replace(/^(\w+)::/, ""), k = A[2]), { id: I, name: w, type: k };
|
|
15175
15186
|
},
|
|
15176
15187
|
parseNodeProperty: function(A, I, w) {
|
|
15177
|
-
var
|
|
15178
|
-
|
|
15188
|
+
var k = I[1].replace(/^"/, "").replace(/"$/, "").trim(), x = I[2].replace(/^"/, "").replace(/"$/, "").trim();
|
|
15189
|
+
k === "Content" && x === "," && (x = w.replace(/"/g, "").replace(/,$/, "").trim());
|
|
15179
15190
|
var L = this.getCurrentNode(), R = L.name;
|
|
15180
15191
|
if (R === "Properties70") {
|
|
15181
|
-
this.parseNodeSpecialProperty(A,
|
|
15192
|
+
this.parseNodeSpecialProperty(A, k, x);
|
|
15182
15193
|
return;
|
|
15183
15194
|
}
|
|
15184
|
-
if (
|
|
15185
|
-
var V =
|
|
15195
|
+
if (k === "C") {
|
|
15196
|
+
var V = x.split(",").slice(1), J = parseInt(V[0]), ee = parseInt(V[1]), K = x.split(",").slice(3);
|
|
15186
15197
|
K = K.map(function(re) {
|
|
15187
15198
|
return re.trim().replace(/^"/, "");
|
|
15188
|
-
}),
|
|
15199
|
+
}), k = "connections", x = [J, ee], _(x, K), L[k] === void 0 && (L[k] = []);
|
|
15189
15200
|
}
|
|
15190
|
-
|
|
15201
|
+
k === "Node" && (L.id = x), k in L && Array.isArray(L[k]) ? L[k].push(x) : k !== "a" ? L[k] = x : L.a = x, this.setCurrentProp(L, k), k === "a" && x.slice(-1) !== "," && (L.a = T(x));
|
|
15191
15202
|
},
|
|
15192
15203
|
parseNodePropertyContinued: function(A) {
|
|
15193
15204
|
var I = this.getCurrentNode();
|
|
@@ -15195,9 +15206,9 @@ var Zg = function() {
|
|
|
15195
15206
|
},
|
|
15196
15207
|
// parse "Property70"
|
|
15197
15208
|
parseNodeSpecialProperty: function(A, I, w) {
|
|
15198
|
-
var
|
|
15209
|
+
var k = w.split('",').map(function(ee) {
|
|
15199
15210
|
return ee.trim().replace(/^\"/, "").replace(/\s/, "_");
|
|
15200
|
-
}),
|
|
15211
|
+
}), x = k[0], L = k[1], R = k[2], V = k[3], J = k[4];
|
|
15201
15212
|
switch (L) {
|
|
15202
15213
|
case "int":
|
|
15203
15214
|
case "enum":
|
|
@@ -15217,12 +15228,12 @@ var Zg = function() {
|
|
|
15217
15228
|
J = T(J);
|
|
15218
15229
|
break;
|
|
15219
15230
|
}
|
|
15220
|
-
this.getPrevNode()[
|
|
15231
|
+
this.getPrevNode()[x] = {
|
|
15221
15232
|
type: L,
|
|
15222
15233
|
type2: R,
|
|
15223
15234
|
flag: V,
|
|
15224
15235
|
value: J
|
|
15225
|
-
}, this.setCurrentProp(this.getPrevNode(),
|
|
15236
|
+
}, this.setCurrentProp(this.getPrevNode(), x);
|
|
15226
15237
|
}
|
|
15227
15238
|
};
|
|
15228
15239
|
function l() {
|
|
@@ -15234,11 +15245,11 @@ var Zg = function() {
|
|
|
15234
15245
|
I.skip(23);
|
|
15235
15246
|
var w = I.getUint32();
|
|
15236
15247
|
console.info("THREE.FBXLoader: FBX binary version: " + w);
|
|
15237
|
-
for (var
|
|
15238
|
-
var
|
|
15239
|
-
|
|
15248
|
+
for (var k = new h(); !this.endOfContent(I); ) {
|
|
15249
|
+
var x = this.parseNode(I, w);
|
|
15250
|
+
x !== null && k.add(x.name, x);
|
|
15240
15251
|
}
|
|
15241
|
-
return
|
|
15252
|
+
return k;
|
|
15242
15253
|
},
|
|
15243
15254
|
// Check if reader has reached the end of content.
|
|
15244
15255
|
endOfContent: function(A) {
|
|
@@ -15246,15 +15257,15 @@ var Zg = function() {
|
|
|
15246
15257
|
},
|
|
15247
15258
|
// recursively parse nodes until the end of the file is reached
|
|
15248
15259
|
parseNode: function(A, I) {
|
|
15249
|
-
var w = {},
|
|
15260
|
+
var w = {}, k = I >= 7500 ? A.getUint64() : A.getUint32(), x = I >= 7500 ? A.getUint64() : A.getUint32();
|
|
15250
15261
|
I >= 7500 ? A.getUint64() : A.getUint32();
|
|
15251
15262
|
var L = A.getUint8(), R = A.getString(L);
|
|
15252
|
-
if (
|
|
15263
|
+
if (k === 0)
|
|
15253
15264
|
return null;
|
|
15254
|
-
for (var V = [], J = 0; J <
|
|
15265
|
+
for (var V = [], J = 0; J < x; J++)
|
|
15255
15266
|
V.push(this.parseProperty(A));
|
|
15256
15267
|
var ee = V.length > 0 ? V[0] : "", K = V.length > 1 ? V[1] : "", re = V.length > 2 ? V[2] : "";
|
|
15257
|
-
for (w.singleProperty =
|
|
15268
|
+
for (w.singleProperty = x === 1 && A.getOffset() === k; k > A.getOffset(); ) {
|
|
15258
15269
|
var ne = this.parseNode(A, I);
|
|
15259
15270
|
ne !== null && this.parseSubNode(R, w, ne);
|
|
15260
15271
|
}
|
|
@@ -15262,13 +15273,13 @@ var Zg = function() {
|
|
|
15262
15273
|
},
|
|
15263
15274
|
parseSubNode: function(A, I, w) {
|
|
15264
15275
|
if (w.singleProperty === !0) {
|
|
15265
|
-
var
|
|
15266
|
-
Array.isArray(
|
|
15276
|
+
var k = w.propertyList[0];
|
|
15277
|
+
Array.isArray(k) ? (I[w.name] = w, w.a = k) : I[w.name] = k;
|
|
15267
15278
|
} else if (A === "Connections" && w.name === "C") {
|
|
15268
|
-
var
|
|
15279
|
+
var x = [];
|
|
15269
15280
|
w.propertyList.forEach(function(re, ne) {
|
|
15270
|
-
ne !== 0 &&
|
|
15271
|
-
}), I.connections === void 0 && (I.connections = []), I.connections.push(
|
|
15281
|
+
ne !== 0 && x.push(re);
|
|
15282
|
+
}), I.connections === void 0 && (I.connections = []), I.connections.push(x);
|
|
15272
15283
|
} else if (w.name === "Properties70") {
|
|
15273
15284
|
var L = Object.keys(w);
|
|
15274
15285
|
L.forEach(function(re) {
|
|
@@ -15312,20 +15323,20 @@ var Zg = function() {
|
|
|
15312
15323
|
case "f":
|
|
15313
15324
|
case "i":
|
|
15314
15325
|
case "l":
|
|
15315
|
-
var
|
|
15316
|
-
if (
|
|
15326
|
+
var k = A.getUint32(), x = A.getUint32(), L = A.getUint32();
|
|
15327
|
+
if (x === 0)
|
|
15317
15328
|
switch (I) {
|
|
15318
15329
|
case "b":
|
|
15319
15330
|
case "c":
|
|
15320
|
-
return A.getBooleanArray(
|
|
15331
|
+
return A.getBooleanArray(k);
|
|
15321
15332
|
case "d":
|
|
15322
|
-
return A.getFloat64Array(
|
|
15333
|
+
return A.getFloat64Array(k);
|
|
15323
15334
|
case "f":
|
|
15324
|
-
return A.getFloat32Array(
|
|
15335
|
+
return A.getFloat32Array(k);
|
|
15325
15336
|
case "i":
|
|
15326
|
-
return A.getInt32Array(
|
|
15337
|
+
return A.getInt32Array(k);
|
|
15327
15338
|
case "l":
|
|
15328
|
-
return A.getInt64Array(
|
|
15339
|
+
return A.getInt64Array(k);
|
|
15329
15340
|
}
|
|
15330
15341
|
typeof jd == "undefined" && console.error(
|
|
15331
15342
|
"THREE.FBXLoader: External library Inflate.min.js required, obtain or import from https://github.com/imaya/zlib.js"
|
|
@@ -15334,15 +15345,15 @@ var Zg = function() {
|
|
|
15334
15345
|
switch (I) {
|
|
15335
15346
|
case "b":
|
|
15336
15347
|
case "c":
|
|
15337
|
-
return V.getBooleanArray(
|
|
15348
|
+
return V.getBooleanArray(k);
|
|
15338
15349
|
case "d":
|
|
15339
|
-
return V.getFloat64Array(
|
|
15350
|
+
return V.getFloat64Array(k);
|
|
15340
15351
|
case "f":
|
|
15341
|
-
return V.getFloat32Array(
|
|
15352
|
+
return V.getFloat32Array(k);
|
|
15342
15353
|
case "i":
|
|
15343
|
-
return V.getInt32Array(
|
|
15354
|
+
return V.getInt32Array(k);
|
|
15344
15355
|
case "l":
|
|
15345
|
-
return V.getInt64Array(
|
|
15356
|
+
return V.getInt64Array(k);
|
|
15346
15357
|
}
|
|
15347
15358
|
default:
|
|
15348
15359
|
throw new Error("THREE.FBXLoader: Unknown property type " + I);
|
|
@@ -15439,8 +15450,8 @@ var Zg = function() {
|
|
|
15439
15450
|
getString: function(A) {
|
|
15440
15451
|
for (var I = [], w = 0; w < A; w++)
|
|
15441
15452
|
I[w] = this.getUint8();
|
|
15442
|
-
var
|
|
15443
|
-
return
|
|
15453
|
+
var k = I.indexOf(0);
|
|
15454
|
+
return k >= 0 && (I = I.slice(0, k)), Cl.decodeText(new Uint8Array(I));
|
|
15444
15455
|
}
|
|
15445
15456
|
};
|
|
15446
15457
|
function h() {
|
|
@@ -15457,13 +15468,13 @@ var Zg = function() {
|
|
|
15457
15468
|
}
|
|
15458
15469
|
function f(A) {
|
|
15459
15470
|
var I = ["K", "a", "y", "d", "a", "r", "a", "\\", "F", "B", "X", "\\", "B", "i", "n", "a", "r", "y", "\\", "\\"], w = 0;
|
|
15460
|
-
function
|
|
15471
|
+
function k(R) {
|
|
15461
15472
|
var V = A[R - 1];
|
|
15462
15473
|
return A = A.slice(w + R), w++, V;
|
|
15463
15474
|
}
|
|
15464
|
-
for (var
|
|
15465
|
-
var L =
|
|
15466
|
-
if (L === I[
|
|
15475
|
+
for (var x = 0; x < I.length; ++x) {
|
|
15476
|
+
var L = k(1);
|
|
15477
|
+
if (L === I[x])
|
|
15467
15478
|
return !1;
|
|
15468
15479
|
}
|
|
15469
15480
|
return !0;
|
|
@@ -15471,8 +15482,8 @@ var Zg = function() {
|
|
|
15471
15482
|
function p(A) {
|
|
15472
15483
|
var I = /FBXVersion: (\d+)/, w = A.match(I);
|
|
15473
15484
|
if (w) {
|
|
15474
|
-
var
|
|
15475
|
-
return
|
|
15485
|
+
var k = parseInt(w[1]);
|
|
15486
|
+
return k;
|
|
15476
15487
|
}
|
|
15477
15488
|
throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.");
|
|
15478
15489
|
}
|
|
@@ -15480,45 +15491,45 @@ var Zg = function() {
|
|
|
15480
15491
|
return A / 46186158e3;
|
|
15481
15492
|
}
|
|
15482
15493
|
var v = [];
|
|
15483
|
-
function m(A, I, w,
|
|
15484
|
-
var
|
|
15485
|
-
switch (
|
|
15494
|
+
function m(A, I, w, k) {
|
|
15495
|
+
var x;
|
|
15496
|
+
switch (k.mappingType) {
|
|
15486
15497
|
case "ByPolygonVertex":
|
|
15487
|
-
|
|
15498
|
+
x = A;
|
|
15488
15499
|
break;
|
|
15489
15500
|
case "ByPolygon":
|
|
15490
|
-
|
|
15501
|
+
x = I;
|
|
15491
15502
|
break;
|
|
15492
15503
|
case "ByVertice":
|
|
15493
|
-
|
|
15504
|
+
x = w;
|
|
15494
15505
|
break;
|
|
15495
15506
|
case "AllSame":
|
|
15496
|
-
|
|
15507
|
+
x = k.indices[0];
|
|
15497
15508
|
break;
|
|
15498
15509
|
default:
|
|
15499
|
-
console.warn("THREE.FBXLoader: unknown attribute mapping type " +
|
|
15510
|
+
console.warn("THREE.FBXLoader: unknown attribute mapping type " + k.mappingType);
|
|
15500
15511
|
}
|
|
15501
|
-
|
|
15502
|
-
var L =
|
|
15503
|
-
return H(v,
|
|
15512
|
+
k.referenceType === "IndexToDirect" && (x = k.indices[x]);
|
|
15513
|
+
var L = x * k.dataSize, R = L + k.dataSize;
|
|
15514
|
+
return H(v, k.buffer, L, R);
|
|
15504
15515
|
}
|
|
15505
15516
|
var b = new rs(), C = new ue();
|
|
15506
15517
|
function M(A) {
|
|
15507
|
-
var I = new tt(), w = new tt(),
|
|
15518
|
+
var I = new tt(), w = new tt(), k = new tt(), x = new tt(), L = new tt(), R = new tt(), V = new tt(), J = new tt(), ee = new tt(), K = new tt(), re = new tt(), ne = A.inheritType ? A.inheritType : 0;
|
|
15508
15519
|
if (A.translation && I.setPosition(C.fromArray(A.translation)), A.preRotation) {
|
|
15509
15520
|
var ae = A.preRotation.map(Hi.degToRad);
|
|
15510
15521
|
ae.push(A.eulerOrder), w.makeRotationFromEuler(b.fromArray(ae));
|
|
15511
15522
|
}
|
|
15512
15523
|
if (A.rotation) {
|
|
15513
15524
|
var ae = A.rotation.map(Hi.degToRad);
|
|
15514
|
-
ae.push(A.eulerOrder),
|
|
15525
|
+
ae.push(A.eulerOrder), k.makeRotationFromEuler(b.fromArray(ae));
|
|
15515
15526
|
}
|
|
15516
15527
|
if (A.postRotation) {
|
|
15517
15528
|
var ae = A.postRotation.map(Hi.degToRad);
|
|
15518
|
-
ae.push(A.eulerOrder),
|
|
15529
|
+
ae.push(A.eulerOrder), x.makeRotationFromEuler(b.fromArray(ae));
|
|
15519
15530
|
}
|
|
15520
15531
|
A.scale && L.scale(C.fromArray(A.scale)), A.scalingOffset && V.setPosition(C.fromArray(A.scalingOffset)), A.scalingPivot && R.setPosition(C.fromArray(A.scalingPivot)), A.rotationOffset && J.setPosition(C.fromArray(A.rotationOffset)), A.rotationPivot && ee.setPosition(C.fromArray(A.rotationPivot)), A.parentMatrixWorld && (K = A.parentMatrixWorld);
|
|
15521
|
-
var Se = w.multiply(
|
|
15532
|
+
var Se = w.multiply(k).multiply(x), Ae = new tt();
|
|
15522
15533
|
K.extractRotation(Ae);
|
|
15523
15534
|
var Re = new tt();
|
|
15524
15535
|
Re.copyPosition(K);
|
|
@@ -15534,7 +15545,7 @@ var Zg = function() {
|
|
|
15534
15545
|
we.copy(Ae).multiply(Se).multiply(pe).multiply(L);
|
|
15535
15546
|
}
|
|
15536
15547
|
var Xe = new tt().getInverse(ee), je = new tt().getInverse(R), De = new tt();
|
|
15537
|
-
De.copy(I).multiply(J).multiply(ee).multiply(w).multiply(
|
|
15548
|
+
De.copy(I).multiply(J).multiply(ee).multiply(w).multiply(k).multiply(x).multiply(Xe).multiply(V).multiply(R).multiply(L).multiply(je);
|
|
15538
15549
|
var Ue = new tt().copyPosition(De), de = new tt().copy(K).multiply(Ue);
|
|
15539
15550
|
return re.copyPosition(de), De = new tt().multiply(re).multiply(we), De;
|
|
15540
15551
|
}
|
|
@@ -15567,12 +15578,12 @@ var Zg = function() {
|
|
|
15567
15578
|
return I === void 0 && (I = 0), w === void 0 && (w = A.byteLength), Cl.decodeText(new Uint8Array(A, I, w));
|
|
15568
15579
|
}
|
|
15569
15580
|
function _(A, I) {
|
|
15570
|
-
for (var w = 0,
|
|
15571
|
-
A[
|
|
15581
|
+
for (var w = 0, k = A.length, x = I.length; w < x; w++, k++)
|
|
15582
|
+
A[k] = I[w];
|
|
15572
15583
|
}
|
|
15573
|
-
function H(A, I, w,
|
|
15574
|
-
for (var
|
|
15575
|
-
A[L] = I[
|
|
15584
|
+
function H(A, I, w, k) {
|
|
15585
|
+
for (var x = w, L = 0; x < k; x++, L++)
|
|
15586
|
+
A[L] = I[x];
|
|
15576
15587
|
return A;
|
|
15577
15588
|
}
|
|
15578
15589
|
function Z(A, I, w) {
|
|
@@ -15639,7 +15650,7 @@ function zC(n, t) {
|
|
|
15639
15650
|
const jC = ({ x: n, y: t, z: e }) => new ue(n, t, e), W5 = (n, t) => {
|
|
15640
15651
|
var v, m, b;
|
|
15641
15652
|
const e = {}, i = (v = t.animationEnabled) != null ? v : !0, s = (m = t.position) != null ? m : void 0, r = (b = t.rad) != null ? b : void 0, o = t.fbx_url || "//vrlab-image4.ljcdn.com/release/web/entryDoorMini/Anim_Door1.fbx", a = [], l = (C) => $(void 0, null, function* () {
|
|
15642
|
-
var A, I, w,
|
|
15653
|
+
var A, I, w, k, x, L, R, V;
|
|
15643
15654
|
const M = (A = C == null ? void 0 : C.position) != null ? A : s;
|
|
15644
15655
|
if (!M)
|
|
15645
15656
|
return Promise.reject(new Error("ModelEntryDoorGuidePlugin.load(): position is undefined"));
|
|
@@ -15648,7 +15659,7 @@ const jC = ({ x: n, y: t, z: e }) => new ue(n, t, e), W5 = (n, t) => {
|
|
|
15648
15659
|
return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${T}`));
|
|
15649
15660
|
const _ = yield new Zg().loadAsync(S);
|
|
15650
15661
|
_.position.copy(E), _.rotation.z = T, _.scale.set(0.8, 0.8, 0.8), Wg(_, { transparent: !0, side: y.DoubleSide });
|
|
15651
|
-
const H = (R = (L = (
|
|
15662
|
+
const H = (R = (L = (x = (k = _.children) == null ? void 0 : k[0]) == null ? void 0 : x.children) == null ? void 0 : L[3]) == null ? void 0 : R.clone();
|
|
15652
15663
|
if (!H)
|
|
15653
15664
|
return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${H}`));
|
|
15654
15665
|
const Z = (V = t.name) != null ? V : "入户门";
|
|
@@ -15665,12 +15676,12 @@ const jC = ({ x: n, y: t, z: e }) => new ue(n, t, e), W5 = (n, t) => {
|
|
|
15665
15676
|
let T;
|
|
15666
15677
|
const S = () => {
|
|
15667
15678
|
let A = 0, I = 0;
|
|
15668
|
-
const w = 1e3 / 30,
|
|
15669
|
-
A = requestAnimationFrame(
|
|
15670
|
-
const L =
|
|
15671
|
-
L < w || (I =
|
|
15679
|
+
const w = 1e3 / 30, k = (x) => {
|
|
15680
|
+
A = requestAnimationFrame(k);
|
|
15681
|
+
const L = x - I;
|
|
15682
|
+
L < w || (I = x, a.forEach((R) => R.update(L / 1e3)), n.needsRender = !0);
|
|
15672
15683
|
};
|
|
15673
|
-
return A = requestAnimationFrame(
|
|
15684
|
+
return A = requestAnimationFrame(k), () => {
|
|
15674
15685
|
cancelAnimationFrame(A);
|
|
15675
15686
|
};
|
|
15676
15687
|
}, Z = { play: () => {
|
|
@@ -15976,7 +15987,7 @@ const NC = `<style type="text/css">
|
|
|
15976
15987
|
return;
|
|
15977
15988
|
const _ = T.map(({ x: H, z: Z, observers: A }) => {
|
|
15978
15989
|
const I = A.length > 0 ? v.rooms[v.observers[A[0]]].name : "", w = b[I] ? b[I].floor : null;
|
|
15979
|
-
let
|
|
15990
|
+
let k = 1 / 0, x = {
|
|
15980
15991
|
index: 0,
|
|
15981
15992
|
x: S.x,
|
|
15982
15993
|
y: S.y,
|
|
@@ -15991,9 +16002,9 @@ const NC = `<style type="text/css">
|
|
|
15991
16002
|
y: re.y,
|
|
15992
16003
|
z: re.z
|
|
15993
16004
|
}, ae = GC({ x: H, z: Z }, ne);
|
|
15994
|
-
w ? ae <
|
|
16005
|
+
w ? ae < k && Math.abs(ne.y - w) < 0.3 && (k = ae, x = ne) : ae < k && (k = ae, x = ne);
|
|
15995
16006
|
});
|
|
15996
|
-
const L = new ue(H,
|
|
16007
|
+
const L = new ue(H, x.y, Z);
|
|
15997
16008
|
Object.assign(L, { observers: A });
|
|
15998
16009
|
const R = b[I] ? b[I].roof : null, V = R ? new ue(H, R, Z) : null;
|
|
15999
16010
|
return V && Object.assign(V, { observers: A }), { origin: L, vertical: V };
|
|
@@ -16075,45 +16086,45 @@ const NC = `<style type="text/css">
|
|
|
16075
16086
|
for (const { $element: I } of o[A].rules)
|
|
16076
16087
|
I.style.display = A === M ? "block" : "none";
|
|
16077
16088
|
const [H] = o[M].origins.slice().filter((A) => A.observers.indexOf(m) >= 0).sort((A, I) => {
|
|
16078
|
-
const w = A.clone().setY(0).sub(E).normalize().angleTo(T.clone().setY(0)),
|
|
16079
|
-
return w -
|
|
16089
|
+
const w = A.clone().setY(0).sub(E).normalize().angleTo(T.clone().setY(0)), k = I.clone().setY(0).sub(E).normalize().angleTo(T.clone().setY(0));
|
|
16090
|
+
return w - k;
|
|
16080
16091
|
});
|
|
16081
16092
|
for (const { rule: A, vertical: I, $element: w } of o[M].rules) {
|
|
16082
|
-
const [
|
|
16093
|
+
const [k, x] = A, L = w.querySelector(".PanoRulerPlugin-rule-line");
|
|
16083
16094
|
if (!L)
|
|
16084
16095
|
return;
|
|
16085
16096
|
if (!H) {
|
|
16086
16097
|
w.style.display = "none";
|
|
16087
16098
|
continue;
|
|
16088
16099
|
}
|
|
16089
|
-
if (
|
|
16100
|
+
if (k !== H && x !== H) {
|
|
16090
16101
|
w.style.display = "none";
|
|
16091
16102
|
continue;
|
|
16092
16103
|
}
|
|
16093
|
-
if (
|
|
16104
|
+
if (k.distanceTo(x) < 0.3) {
|
|
16094
16105
|
w.style.display = "none";
|
|
16095
16106
|
continue;
|
|
16096
16107
|
}
|
|
16097
|
-
if (
|
|
16108
|
+
if (k.observers.indexOf(m) === -1 || x.observers.indexOf(m) === -1) {
|
|
16098
16109
|
w.style.display = "none";
|
|
16099
16110
|
continue;
|
|
16100
16111
|
}
|
|
16101
|
-
if (
|
|
16112
|
+
if (k.clone().sub(E).normalize().angleTo(T) > Math.PI / 2) {
|
|
16102
16113
|
w.style.display = "none";
|
|
16103
16114
|
continue;
|
|
16104
16115
|
}
|
|
16105
|
-
if (
|
|
16116
|
+
if (x.clone().sub(E).normalize().angleTo(T) > Math.PI / 2) {
|
|
16106
16117
|
w.style.display = "none";
|
|
16107
16118
|
continue;
|
|
16108
16119
|
}
|
|
16109
|
-
const J =
|
|
16110
|
-
if (
|
|
16111
|
-
|
|
16120
|
+
const J = k.distanceTo(x);
|
|
16121
|
+
if (x.clone().sub(
|
|
16122
|
+
x.clone().sub(k).divide(new ue(2, 2, 2))
|
|
16112
16123
|
).distanceTo(E) / J > 8) {
|
|
16113
16124
|
w.style.display = "none";
|
|
16114
16125
|
continue;
|
|
16115
16126
|
}
|
|
16116
|
-
const re =
|
|
16127
|
+
const re = k.clone().project(b), ne = (re.x + 1) / 2 * S, ae = (-re.y + 1) / 2 * _, Se = x.clone().project(b), Ae = (Se.x + 1) / 2 * S, Re = (-Se.y + 1) / 2 * _, ie = Math.sqrt(Math.pow(Ae - ne, 2) + Math.pow(Re - ae, 2));
|
|
16117
16128
|
let we = ie, ke = 50;
|
|
16118
16129
|
const pe = c(
|
|
16119
16130
|
{ x: ~~ne, y: ~~ae },
|
|
@@ -16124,7 +16135,7 @@ const NC = `<style type="text/css">
|
|
|
16124
16135
|
S,
|
|
16125
16136
|
_
|
|
16126
16137
|
);
|
|
16127
|
-
if (pe && pe.length === 1 && (H ===
|
|
16138
|
+
if (pe && pe.length === 1 && (H === k ? (we = Math.sqrt(Math.pow(pe[0].x - ne, 2) + Math.pow(pe[0].y - ae, 2)), ke = we / ie * 50) : H === x && (we = Math.sqrt(Math.pow(pe[0].x - Ae, 2) + Math.pow(pe[0].y - Re, 2)), ke = 100 - we / ie * 50)), pe && pe.length === 2) {
|
|
16128
16139
|
const de = {
|
|
16129
16140
|
x: (pe[0].x + pe[1].x) / 2,
|
|
16130
16141
|
y: (pe[0].y + pe[1].y) / 2
|
|
@@ -16475,21 +16486,21 @@ function KC(n, t, e) {
|
|
|
16475
16486
|
distance: I
|
|
16476
16487
|
};
|
|
16477
16488
|
}, u = (M, E, T) => {
|
|
16478
|
-
const S = i.camera.position, _ = i.camera.getWorldDirection(new ue()), H = M.clone().sub(S).normalize().angleTo(_), Z = E.clone().sub(S).normalize().angleTo(_), A = M.distanceTo(E), w = E.clone().sub(E.clone().sub(M).divide(new ue(2, 2, 2))).distanceTo(S), { startLeft:
|
|
16489
|
+
const S = i.camera.position, _ = i.camera.getWorldDirection(new ue()), H = M.clone().sub(S).normalize().angleTo(_), Z = E.clone().sub(S).normalize().angleTo(_), A = M.distanceTo(E), w = E.clone().sub(E.clone().sub(M).divide(new ue(2, 2, 2))).distanceTo(S), { startLeft: k, startTop: x, endLeft: L, endTop: R, distance: V } = h(M, E), ee = -((Math.PI / 2 - Math.atan2(L - k, x - R)) / Math.PI) * 180;
|
|
16479
16490
|
let K = !0;
|
|
16480
16491
|
T || (K = !1), !Ft(M, T) && !Ft(E, T) && (K = !1), A < 0.3 && (K = !1), H > Math.PI / 2 && (K = !1), Z > Math.PI / 2 && (K = !1), w / A > 8 && (K = !1);
|
|
16481
16492
|
let re = 50, ne = V;
|
|
16482
|
-
const ae = c({ x: ~~
|
|
16483
|
-
if (ae && ae.length === 1 && (Ft(M, T) ? (ne = Math.sqrt(Math.pow(ae[0].x -
|
|
16493
|
+
const ae = c({ x: ~~k, y: ~~x }, { x: ~~L, y: ~~R });
|
|
16494
|
+
if (ae && ae.length === 1 && (Ft(M, T) ? (ne = Math.sqrt(Math.pow(ae[0].x - k, 2) + Math.pow(ae[0].y - x, 2)), re = ne / V * 50) : Ft(E, T) && (ne = Math.sqrt(Math.pow(ae[0].x - L, 2) + Math.pow(ae[0].y - R, 2)), re = 100 - ne / V * 50)), ae && ae.length === 2) {
|
|
16484
16495
|
const Se = {
|
|
16485
16496
|
x: (ae[0].x + ae[1].x) / 2,
|
|
16486
16497
|
y: (ae[0].y + ae[1].y) / 2
|
|
16487
16498
|
};
|
|
16488
|
-
re = Math.sqrt(Math.pow(Se.x -
|
|
16499
|
+
re = Math.sqrt(Math.pow(Se.x - k, 2) + Math.pow(Se.y - x, 2)) / V * 100;
|
|
16489
16500
|
}
|
|
16490
16501
|
return {
|
|
16491
|
-
startLeft:
|
|
16492
|
-
startTop:
|
|
16502
|
+
startLeft: k,
|
|
16503
|
+
startTop: x,
|
|
16493
16504
|
distance: V,
|
|
16494
16505
|
deg: ee,
|
|
16495
16506
|
visible: K,
|
|
@@ -16503,17 +16514,17 @@ function KC(n, t, e) {
|
|
|
16503
16514
|
if (i.currentMode !== _t.Mode.Panorama)
|
|
16504
16515
|
return e(0, o = []);
|
|
16505
16516
|
const T = i.camera.position, S = i.camera.getWorldDirection(new ue()), _ = E.lines.map((I) => new ue(I.start[0], -I.start[1], -I.start[2])), H = E.lines.map((I) => new ue(I.end[0], -I.end[1], -I.end[2])), [Z] = _.concat(H).sort((I, w) => {
|
|
16506
|
-
const
|
|
16507
|
-
return
|
|
16517
|
+
const k = I.clone().setY(0).sub(T).normalize().angleTo(S.clone().setY(0)), x = w.clone().setY(0).sub(T).normalize().angleTo(S.clone().setY(0));
|
|
16518
|
+
return k - x;
|
|
16508
16519
|
}), A = E.lines.map((I) => {
|
|
16509
16520
|
var ne, ae;
|
|
16510
|
-
const w = I.start,
|
|
16521
|
+
const w = I.start, k = I.end, { startLeft: x, startTop: L, distance: R, deg: V, visible: J, labelOffset: ee, ruleLength: K } = u(new ue(w[0], -w[1], -w[2]), new ue(k[0], -k[1], -k[2]), Z), re = [];
|
|
16511
16522
|
return I.children && ((ne = I.children) == null ? void 0 : ne.length) > 0 && ((ae = I.children) == null || ae.forEach((Se) => {
|
|
16512
16523
|
const Ae = Se.start, Re = Se.end, { distance: ie } = h(new ue(Ae[0], -Ae[1], -Ae[2]), new ue(Re[0], -Re[1], -Re[2]));
|
|
16513
16524
|
re.push({ width: ie, state: Se.state });
|
|
16514
16525
|
})), {
|
|
16515
16526
|
width: R,
|
|
16516
|
-
left:
|
|
16527
|
+
left: x,
|
|
16517
16528
|
top: L,
|
|
16518
16529
|
rotateDeg: V,
|
|
16519
16530
|
state: I.state,
|
|
@@ -21555,11 +21566,11 @@ const Vl = 1e-3, Pf = 0.01, lE = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
21555
21566
|
v.folded = !1, v.tags.forEach((ie) => {
|
|
21556
21567
|
ie.app.$set({ folded: v.folded });
|
|
21557
21568
|
});
|
|
21558
|
-
},
|
|
21569
|
+
}, k = () => {
|
|
21559
21570
|
v.folded = !0, v.tags.forEach((ie) => {
|
|
21560
21571
|
ie.app.$set({ folded: v.folded });
|
|
21561
21572
|
});
|
|
21562
|
-
},
|
|
21573
|
+
}, x = (ie) => {
|
|
21563
21574
|
v.tags.forEach((we) => {
|
|
21564
21575
|
we.id === ie && we.app.$set({ folded: !1 });
|
|
21565
21576
|
});
|
|
@@ -21580,8 +21591,8 @@ const Vl = 1e-3, Pf = 0.01, lE = "https://vrlab-image4.ljcdn.com/release/web/Pan
|
|
|
21580
21591
|
load: H,
|
|
21581
21592
|
setIntersectObjects: Z,
|
|
21582
21593
|
unfoldAll: w,
|
|
21583
|
-
foldAll:
|
|
21584
|
-
unfold:
|
|
21594
|
+
foldAll: k,
|
|
21595
|
+
unfold: x,
|
|
21585
21596
|
fold: L,
|
|
21586
21597
|
enable: A,
|
|
21587
21598
|
disable: I,
|
|
@@ -21852,30 +21863,30 @@ let Mf = 26, gE = 11;
|
|
|
21852
21863
|
function vE(n, t, e) {
|
|
21853
21864
|
const { Raycaster: i, Vector3: s } = y;
|
|
21854
21865
|
let { five: r } = t, { modelOcclusionEnable: o } = t, { itemLabels: a } = t, { hooks: l } = t, { displayStrategyType: c } = t, h = null, u = null, f, p, g = [], v = !0;
|
|
21855
|
-
const m = (
|
|
21856
|
-
const L = new i(), R =
|
|
21866
|
+
const m = (k, x) => {
|
|
21867
|
+
const L = new i(), R = k.camera.position.clone(), V = new s().fromArray(x.modelPosition), J = V.distanceTo(R);
|
|
21857
21868
|
L.set(R.clone(), V.clone().sub(R).normalize());
|
|
21858
|
-
const [ee] =
|
|
21869
|
+
const [ee] = k.model.intersectRaycaster(L);
|
|
21859
21870
|
return !(ee && ee.distance + 1 < J);
|
|
21860
|
-
}, b = (
|
|
21861
|
-
const L = new s(
|
|
21871
|
+
}, b = (k, x) => {
|
|
21872
|
+
const L = new s(x.modelPosition[0], x.modelPosition[1], x.modelPosition[2]), R = k.project2d(L), V = R == null ? void 0 : R.x, J = R == null ? void 0 : R.y;
|
|
21862
21873
|
return [V, J];
|
|
21863
|
-
}, C = (
|
|
21864
|
-
function E(
|
|
21865
|
-
switch (
|
|
21874
|
+
}, C = (k) => `translate(${k[0]}px, ${k[1]}px)`, M = (k, x) => g.length === 0 ? !1 : !!g.find((R) => k[0] >= R[0] - x && k[0] <= R[0] + x || k[1] >= R[1] - Mf && k[1] <= R[1] + Mf);
|
|
21875
|
+
function E(k, x) {
|
|
21876
|
+
switch (x) {
|
|
21866
21877
|
case Js.SMALL:
|
|
21867
|
-
return Math.ceil(-27.78 *
|
|
21878
|
+
return Math.ceil(-27.78 * k + 85);
|
|
21868
21879
|
case Js.MIDLLE:
|
|
21869
|
-
return Math.ceil(-38.9 *
|
|
21880
|
+
return Math.ceil(-38.9 * k + 130);
|
|
21870
21881
|
case Js.LARGE:
|
|
21871
|
-
return Math.ceil(-44.44 *
|
|
21882
|
+
return Math.ceil(-44.44 * k + 140);
|
|
21872
21883
|
case Js.EXTRA_LARGE:
|
|
21873
|
-
return Math.ceil(-92.59 *
|
|
21884
|
+
return Math.ceil(-92.59 * k + 300);
|
|
21874
21885
|
}
|
|
21875
21886
|
}
|
|
21876
|
-
const T = (
|
|
21877
|
-
const L =
|
|
21878
|
-
const J = b(
|
|
21887
|
+
const T = (k, x) => {
|
|
21888
|
+
const L = x.map((V) => {
|
|
21889
|
+
const J = b(k, V), ee = V.name.length * gE, K = E(V.modelPosition[1], c), ne = (o ? m(k, V) : !0) && !M([J[0], J[1] + K], ee);
|
|
21879
21890
|
if (!ne)
|
|
21880
21891
|
return he(B({}, V), { visible: ne });
|
|
21881
21892
|
g.push(J);
|
|
@@ -21887,7 +21898,7 @@ function vE(n, t, e) {
|
|
|
21887
21898
|
});
|
|
21888
21899
|
}), R = L.filter(({ visible: V }) => V).map((V) => ({
|
|
21889
21900
|
itemLabelItem: V,
|
|
21890
|
-
distance: new s(V.modelPosition[0], V.modelPosition[1], V.modelPosition[2]).clone().distanceTo(
|
|
21901
|
+
distance: new s(V.modelPosition[0], V.modelPosition[1], V.modelPosition[2]).clone().distanceTo(k.camera.position)
|
|
21891
21902
|
})).sort((V, J) => V.distance - J.distance);
|
|
21892
21903
|
return L.map((V) => {
|
|
21893
21904
|
const J = R.findIndex((ee) => ee.itemLabelItem.id === V.id);
|
|
@@ -21923,8 +21934,8 @@ function vE(n, t, e) {
|
|
|
21923
21934
|
function w() {
|
|
21924
21935
|
f = this.clientWidth, p = this.clientHeight, e(2, f), e(3, p);
|
|
21925
21936
|
}
|
|
21926
|
-
return n.$$set = (
|
|
21927
|
-
"five" in
|
|
21937
|
+
return n.$$set = (k) => {
|
|
21938
|
+
"five" in k && e(5, r = k.five), "modelOcclusionEnable" in k && e(6, o = k.modelOcclusionEnable), "itemLabels" in k && e(7, a = k.itemLabels), "hooks" in k && e(0, l = k.hooks), "displayStrategyType" in k && e(8, c = k.displayStrategyType);
|
|
21928
21939
|
}, [
|
|
21929
21940
|
l,
|
|
21930
21941
|
u,
|
|
@@ -22130,10 +22141,10 @@ const wE = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAA
|
|
|
22130
22141
|
if (I != null && I.container) {
|
|
22131
22142
|
const w = document.createElement("div");
|
|
22132
22143
|
w.classList.add("play-icon"), w.style.width = "100%", w.style.height = "100%", w.style.display = "flex", w.style.justifyContent = "center", w.style.alignItems = "center", w.style.pointerEvents = "none", I.container.appendChild(w);
|
|
22133
|
-
const
|
|
22134
|
-
|
|
22144
|
+
const k = document.createElement("img");
|
|
22145
|
+
k.src = _h, k.style.width = "200px", k.style.pointerEvents = "auto", k.onclick = () => {
|
|
22135
22146
|
e.videoTexture.image.muted = !1, e.videoTexture.image.play();
|
|
22136
|
-
}, w.appendChild(
|
|
22147
|
+
}, w.appendChild(k), s.set(Z, I);
|
|
22137
22148
|
}
|
|
22138
22149
|
return Z;
|
|
22139
22150
|
}), h = (b) => {
|
|
@@ -22587,22 +22598,22 @@ let zE = 11;
|
|
|
22587
22598
|
function jE(n, t, e) {
|
|
22588
22599
|
const { Vector3: i } = y;
|
|
22589
22600
|
let { five: s } = t, { modelOcclusionEnable: r } = t, { itemLabels: o } = t, { hooks: a } = t, { displayStrategyType: l } = t, { maxVisibleDistance: c } = t, h = null, u = null, f = (s == null ? void 0 : s.currentMode) === _t.Mode.Panorama, p, g, v = [], m = !0;
|
|
22590
|
-
const b = (
|
|
22591
|
-
const R =
|
|
22592
|
-
return c !== void 0 &&
|
|
22593
|
-
}, C = (
|
|
22594
|
-
const { camera: L, model: R } = s, { x: V, y: J, z: ee } =
|
|
22601
|
+
const b = (x, L) => {
|
|
22602
|
+
const R = x.camera.position.clone(), V = new i(L.modelPosition[0], L.modelPosition[1], L.modelPosition[2]), J = V.distanceTo(R);
|
|
22603
|
+
return c !== void 0 && x.state.mode === _t.Mode.Panorama && J > c ? !1 : kf(x, V.clone().sub(R).normalize(), R, J);
|
|
22604
|
+
}, C = (x) => {
|
|
22605
|
+
const { camera: L, model: R } = s, { x: V, y: J, z: ee } = x.clone().project(L), K = (V + 1) / 2, re = (2 - (J + 1)) / 2;
|
|
22595
22606
|
return !!(Math.abs(ee) < 1 && [K, re].every((Ae) => Ae < 1 && Ae >= 0));
|
|
22596
|
-
}, M = (
|
|
22597
|
-
const R = new i(L.modelPosition[0], L.modelPosition[1], L.modelPosition[2]), V =
|
|
22607
|
+
}, M = (x, L) => {
|
|
22608
|
+
const R = new i(L.modelPosition[0], L.modelPosition[1], L.modelPosition[2]), V = x.project2d(R), J = V == null ? void 0 : V.x, ee = V == null ? void 0 : V.y;
|
|
22598
22609
|
return [J, ee];
|
|
22599
|
-
}, E = (
|
|
22610
|
+
}, E = (x, L) => {
|
|
22600
22611
|
const R = L.map((J) => {
|
|
22601
|
-
if (
|
|
22612
|
+
if (x.state.panoIndex !== J.panoIndex)
|
|
22602
22613
|
return he(B({}, J), { visible: !1 });
|
|
22603
|
-
const ee = M(
|
|
22614
|
+
const ee = M(x, J);
|
|
22604
22615
|
J.name.length * zE;
|
|
22605
|
-
const K = SE(J.modelPosition[1], l), re =
|
|
22616
|
+
const K = SE(J.modelPosition[1], l), re = x.currentMode === _t.Mode.Panorama ? C(new i(J.position[0], J.position[1], J.position[2])) : !0, ne = r ? b(x, J) : !1, ae = re && !ne;
|
|
22606
22617
|
if (!ae)
|
|
22607
22618
|
return he(B({}, J), { visible: ae });
|
|
22608
22619
|
v.push(ee);
|
|
@@ -22614,7 +22625,7 @@ function jE(n, t, e) {
|
|
|
22614
22625
|
});
|
|
22615
22626
|
}), V = R.filter(({ visible: J }) => J).map((J) => ({
|
|
22616
22627
|
itemLabelItem: J,
|
|
22617
|
-
distance: new i(J.modelPosition[0], J.modelPosition[1], J.modelPosition[2]).clone().distanceTo(
|
|
22628
|
+
distance: new i(J.modelPosition[0], J.modelPosition[1], J.modelPosition[2]).clone().distanceTo(x.camera.position)
|
|
22618
22629
|
})).sort((J, ee) => J.distance - ee.distance);
|
|
22619
22630
|
return R.map((J) => {
|
|
22620
22631
|
const ee = V.findIndex((K) => K.itemLabelItem.id === J.id);
|
|
@@ -22635,37 +22646,37 @@ function jE(n, t, e) {
|
|
|
22635
22646
|
window.addEventListener("resize", H, !1);
|
|
22636
22647
|
}, A = () => {
|
|
22637
22648
|
h !== o && (e(1, u = Df(o)), h = o, T());
|
|
22638
|
-
}, I = (
|
|
22649
|
+
}, I = (x, L) => {
|
|
22639
22650
|
let R = [];
|
|
22640
22651
|
for (const { position: J, panoIndex: ee } of L) {
|
|
22641
|
-
const K =
|
|
22652
|
+
const K = x.distanceTo(J);
|
|
22642
22653
|
(c === void 0 || K <= c || s.state.mode !== _t.Mode.Panorama) && R.push({ panoIndex: ee, obVector: J, distance: K });
|
|
22643
22654
|
}
|
|
22644
22655
|
R = R.sort((J, ee) => J.distance - ee.distance);
|
|
22645
22656
|
let V;
|
|
22646
22657
|
for (const J of R) {
|
|
22647
22658
|
const { obVector: ee, distance: K, panoIndex: re } = J;
|
|
22648
|
-
if (!kf(s,
|
|
22659
|
+
if (!kf(s, x, ee, K)) {
|
|
22649
22660
|
V = re;
|
|
22650
22661
|
break;
|
|
22651
22662
|
}
|
|
22652
22663
|
}
|
|
22653
22664
|
return typeof V == "number" ? L[V] : void 0;
|
|
22654
|
-
}, w = (
|
|
22665
|
+
}, w = (x) => {
|
|
22655
22666
|
if (s.state.mode === _t.Mode.Panorama)
|
|
22656
22667
|
return;
|
|
22657
|
-
const L = s.work.observers, R = new i().fromArray(
|
|
22658
|
-
if (V && (
|
|
22659
|
-
const J = L[
|
|
22668
|
+
const L = s.work.observers, R = new i().fromArray(x.position), V = I(R, L);
|
|
22669
|
+
if (V && (x.observerIndex = V.panoIndex), typeof x.observerIndex == "number") {
|
|
22670
|
+
const J = L[x.observerIndex], ee = R.clone().sub(J.position).normalize(), K = {
|
|
22660
22671
|
longitude: Math.PI + Math.atan2(ee.x, ee.z),
|
|
22661
22672
|
latitude: Math.acos(ee.y / ee.length()) - Math.PI / 2
|
|
22662
22673
|
};
|
|
22663
22674
|
s.setState(he(B({}, K), {
|
|
22664
22675
|
mode: _t.Mode.Panorama,
|
|
22665
|
-
panoIndex:
|
|
22676
|
+
panoIndex: x.observerIndex
|
|
22666
22677
|
})), s.once("initAnimationEnded", () => {
|
|
22667
22678
|
e(1, u = u.map((re) => he(B({}, re), {
|
|
22668
|
-
isFold: re.id !==
|
|
22679
|
+
isFold: re.id !== x.id
|
|
22669
22680
|
}))), s.once("cameraUpdate", () => {
|
|
22670
22681
|
e(1, u = u.map((re) => he(B({}, re), { isFold: !1 })));
|
|
22671
22682
|
});
|
|
@@ -22679,11 +22690,11 @@ function jE(n, t, e) {
|
|
|
22679
22690
|
}), vi(() => {
|
|
22680
22691
|
s.off("cameraUpdate", S), window.removeEventListener("resize", H, !1);
|
|
22681
22692
|
});
|
|
22682
|
-
function
|
|
22693
|
+
function k() {
|
|
22683
22694
|
p = this.clientWidth, g = this.clientHeight, e(3, p), e(4, g);
|
|
22684
22695
|
}
|
|
22685
|
-
return n.$$set = (
|
|
22686
|
-
"five" in
|
|
22696
|
+
return n.$$set = (x) => {
|
|
22697
|
+
"five" in x && e(7, s = x.five), "modelOcclusionEnable" in x && e(8, r = x.modelOcclusionEnable), "itemLabels" in x && e(9, o = x.itemLabels), "hooks" in x && e(0, a = x.hooks), "displayStrategyType" in x && e(10, l = x.displayStrategyType), "maxVisibleDistance" in x && e(11, c = x.maxVisibleDistance);
|
|
22687
22698
|
}, [
|
|
22688
22699
|
a,
|
|
22689
22700
|
u,
|
|
@@ -22697,7 +22708,7 @@ function jE(n, t, e) {
|
|
|
22697
22708
|
o,
|
|
22698
22709
|
l,
|
|
22699
22710
|
c,
|
|
22700
|
-
|
|
22711
|
+
k
|
|
22701
22712
|
];
|
|
22702
22713
|
}
|
|
22703
22714
|
class RE extends Pe {
|
|
@@ -22986,8 +22997,8 @@ class XE extends Yn {
|
|
|
22986
22997
|
if (this.labelItems.forEach((T, S) => {
|
|
22987
22998
|
var A;
|
|
22988
22999
|
if (T.visible) {
|
|
22989
|
-
const I = i.position.distanceTo(T.position), w = T.position.clone().add(new ue(0, this.OffsetHeight, 0)),
|
|
22990
|
-
T.left = R, T.top = V, T.inSight = J &&
|
|
23000
|
+
const I = i.position.distanceTo(T.position), w = T.position.clone().add(new ue(0, this.OffsetHeight, 0)), x = w.clone().sub(i.position).normalize().angleTo(a), L = w.clone().project(i), R = (L.x + 1) / 2.2 * 100, V = (-L.y + 1) / 2.2 * 100, J = R >= 0 && R <= 100 && V >= 0 && V <= 100 && I > this.MinVisibledistance && I <= this.MaxVisibledistance;
|
|
23001
|
+
T.left = R, T.top = V, T.inSight = J && x < Math.PI / 2, T.cameraToward = WE(this.five), J ? l.push({ disFromCameraToLabel: I, left: R, top: V, index: S }) : T.transform = "translate(-50%, -50%)";
|
|
22991
23002
|
} else
|
|
22992
23003
|
T.inSight = !1;
|
|
22993
23004
|
const Z = T, { svelteApp: _ } = Z, H = Dn(Z, ["svelteApp"]);
|
|
@@ -22996,19 +23007,19 @@ class XE extends Yn {
|
|
|
22996
23007
|
let T = 0;
|
|
22997
23008
|
l.sort((S, _) => _.disFromCameraToLabel - S.disFromCameraToLabel);
|
|
22998
23009
|
for (let S = 1; S < l.length; S++) {
|
|
22999
|
-
const { index: _, left: H, top: Z } = l[S - 1], { index: A, left: I, top: w } = l[S],
|
|
23000
|
-
if (!
|
|
23010
|
+
const { index: _, left: H, top: Z } = l[S - 1], { index: A, left: I, top: w } = l[S], k = this.container.children[_], x = this.container.children[A];
|
|
23011
|
+
if (!k || !x)
|
|
23001
23012
|
return;
|
|
23002
23013
|
const L = {
|
|
23003
23014
|
left: r * H / 100,
|
|
23004
23015
|
top: o * Z / 100,
|
|
23005
|
-
width: (u = (h = (c =
|
|
23006
|
-
height: (g = (p = (f =
|
|
23016
|
+
width: (u = (h = (c = k.children) == null ? void 0 : c[0]) == null ? void 0 : h.clientWidth) != null ? u : 0,
|
|
23017
|
+
height: (g = (p = (f = k.children) == null ? void 0 : f[0]) == null ? void 0 : p.clientHeight) != null ? g : 0
|
|
23007
23018
|
}, R = {
|
|
23008
23019
|
left: r * I / 100,
|
|
23009
23020
|
top: o * w / 100,
|
|
23010
|
-
width: (b = (m = (v =
|
|
23011
|
-
height: (E = (M = (C =
|
|
23021
|
+
width: (b = (m = (v = x.children) == null ? void 0 : v[0]) == null ? void 0 : m.clientWidth) != null ? b : 0,
|
|
23022
|
+
height: (E = (M = (C = x.children) == null ? void 0 : C[0]) == null ? void 0 : M.clientHeight) != null ? E : 0
|
|
23012
23023
|
};
|
|
23013
23024
|
GE(L, R) && (T++, this.labelItems[_].transform = `translate(-50%, ${(T - 1) * 100 - 50}%)`, this.labelItems[A].transform = `translate(-50%, ${T * 100 - 50}%)`);
|
|
23014
23025
|
}
|
|
@@ -23323,13 +23334,13 @@ function p2(n) {
|
|
|
23323
23334
|
A.length = 0;
|
|
23324
23335
|
}
|
|
23325
23336
|
}
|
|
23326
|
-
const
|
|
23337
|
+
const k = new Float32Array(f);
|
|
23327
23338
|
w.forEach((L) => {
|
|
23328
23339
|
for (let R = 0; R < l - 1; R++)
|
|
23329
|
-
R >= L.start && R <= L.end ? (
|
|
23340
|
+
R >= L.start && R <= L.end ? (k[R * 2 + 0] = 1, k[R * 2 + 1] = 1) : k[R] !== 1 && (k[R * 2 + 0] = 0, k[R * 2 + 1] = 0);
|
|
23330
23341
|
});
|
|
23331
|
-
const
|
|
23332
|
-
return
|
|
23342
|
+
const x = new y.BufferGeometry();
|
|
23343
|
+
return x.setAttribute("position", new y.BufferAttribute(m, 3)), x.setAttribute("uv", new y.BufferAttribute(b, 2)), x.setIndex(new y.BufferAttribute(v, 1)), { geometry: x, maxV: E, animationWillError: w, curvePath: r, curvePoints: a, panoMap: T, totalLength: M };
|
|
23333
23344
|
}
|
|
23334
23345
|
function m2(n) {
|
|
23335
23346
|
if (g2(n)) {
|
|
@@ -24280,14 +24291,14 @@ function Hl(n, t, e) {
|
|
|
24280
24291
|
(n.contentType === w || w === "Any") && (Z[E] = M);
|
|
24281
24292
|
}
|
|
24282
24293
|
if (H.length === 2) {
|
|
24283
|
-
const [w = "Any",
|
|
24284
|
-
w === "Mixin" && n.contentType ===
|
|
24294
|
+
const [w = "Any", k = "Any"] = H;
|
|
24295
|
+
w === "Mixin" && n.contentType === k && (Z[E] = M), (n.stickType === w || w === "Any") && (n.contentType === k || k === "Any") && (Z[E] = M);
|
|
24285
24296
|
}
|
|
24286
24297
|
if (H.length === 3) {
|
|
24287
|
-
const [w = "Any",
|
|
24288
|
-
if (
|
|
24298
|
+
const [w = "Any", k, x] = H;
|
|
24299
|
+
if (k === "Audio" && n.contentType === "Audio") {
|
|
24289
24300
|
const L = n;
|
|
24290
|
-
(L.stickType === w || w === "Any") && L.data.appearance ===
|
|
24301
|
+
(L.stickType === w || w === "Any") && L.data.appearance === x && (Z[E] = M);
|
|
24291
24302
|
}
|
|
24292
24303
|
}
|
|
24293
24304
|
}
|
|
@@ -27864,8 +27875,8 @@ var ua = M3, Qa = {}, x3 = {
|
|
|
27864
27875
|
}
|
|
27865
27876
|
};
|
|
27866
27877
|
(function(n, t) {
|
|
27867
|
-
var e = 200, i = "__lodash_hash_undefined__", s = 9007199254740991, r = "[object Arguments]", o = "[object Array]", a = "[object Boolean]", l = "[object Date]", c = "[object Error]", h = "[object Function]", u = "[object GeneratorFunction]", f = "[object Map]", p = "[object Number]", g = "[object Object]", v = "[object Promise]", m = "[object RegExp]", b = "[object Set]", C = "[object String]", M = "[object Symbol]", E = "[object WeakMap]", T = "[object ArrayBuffer]", S = "[object DataView]", _ = "[object Float32Array]", H = "[object Float64Array]", Z = "[object Int8Array]", A = "[object Int16Array]", I = "[object Int32Array]", w = "[object Uint8Array]",
|
|
27868
|
-
K[r] = K[o] = K[T] = K[S] = K[a] = K[l] = K[_] = K[H] = K[Z] = K[A] = K[I] = K[f] = K[p] = K[g] = K[m] = K[b] = K[C] = K[M] = K[w] = K[
|
|
27878
|
+
var e = 200, i = "__lodash_hash_undefined__", s = 9007199254740991, r = "[object Arguments]", o = "[object Array]", a = "[object Boolean]", l = "[object Date]", c = "[object Error]", h = "[object Function]", u = "[object GeneratorFunction]", f = "[object Map]", p = "[object Number]", g = "[object Object]", v = "[object Promise]", m = "[object RegExp]", b = "[object Set]", C = "[object String]", M = "[object Symbol]", E = "[object WeakMap]", T = "[object ArrayBuffer]", S = "[object DataView]", _ = "[object Float32Array]", H = "[object Float64Array]", Z = "[object Int8Array]", A = "[object Int16Array]", I = "[object Int32Array]", w = "[object Uint8Array]", k = "[object Uint8ClampedArray]", x = "[object Uint16Array]", L = "[object Uint32Array]", R = /[\\^$.*+?()[\]{}|]/g, V = /\w*$/, J = /^\[object .+?Constructor\]$/, ee = /^(?:0|[1-9]\d*)$/, K = {};
|
|
27879
|
+
K[r] = K[o] = K[T] = K[S] = K[a] = K[l] = K[_] = K[H] = K[Z] = K[A] = K[I] = K[f] = K[p] = K[g] = K[m] = K[b] = K[C] = K[M] = K[w] = K[k] = K[x] = K[L] = !0, K[c] = K[h] = K[E] = !1;
|
|
27869
27880
|
var re = typeof pi == "object" && pi && pi.Object === Object && pi, ne = typeof self == "object" && self && self.Object === Object && self, ae = re || ne || Function("return this")(), Se = t && !t.nodeType && t, Ae = Se && !0 && n && !n.nodeType && n, Re = Ae && Ae.exports === Se;
|
|
27870
27881
|
function ie(P, z) {
|
|
27871
27882
|
return P.set(z[0], z[1]), P;
|
|
@@ -28221,8 +28232,8 @@ var ua = M3, Qa = {}, x3 = {
|
|
|
28221
28232
|
case A:
|
|
28222
28233
|
case I:
|
|
28223
28234
|
case w:
|
|
28224
|
-
case x:
|
|
28225
28235
|
case k:
|
|
28236
|
+
case x:
|
|
28226
28237
|
case L:
|
|
28227
28238
|
return Rs(P, se);
|
|
28228
28239
|
case f:
|
|
@@ -28317,8 +28328,8 @@ var Ua = {}, D3 = {
|
|
|
28317
28328
|
}
|
|
28318
28329
|
};
|
|
28319
28330
|
(function(n, t) {
|
|
28320
|
-
var e = 200, i = "__lodash_hash_undefined__", s = 1, r = 2, o = 9007199254740991, a = "[object Arguments]", l = "[object Array]", c = "[object AsyncFunction]", h = "[object Boolean]", u = "[object Date]", f = "[object Error]", p = "[object Function]", g = "[object GeneratorFunction]", v = "[object Map]", m = "[object Number]", b = "[object Null]", C = "[object Object]", M = "[object Promise]", E = "[object Proxy]", T = "[object RegExp]", S = "[object Set]", _ = "[object String]", H = "[object Symbol]", Z = "[object Undefined]", A = "[object WeakMap]", I = "[object ArrayBuffer]", w = "[object DataView]",
|
|
28321
|
-
Ae[
|
|
28331
|
+
var e = 200, i = "__lodash_hash_undefined__", s = 1, r = 2, o = 9007199254740991, a = "[object Arguments]", l = "[object Array]", c = "[object AsyncFunction]", h = "[object Boolean]", u = "[object Date]", f = "[object Error]", p = "[object Function]", g = "[object GeneratorFunction]", v = "[object Map]", m = "[object Number]", b = "[object Null]", C = "[object Object]", M = "[object Promise]", E = "[object Proxy]", T = "[object RegExp]", S = "[object Set]", _ = "[object String]", H = "[object Symbol]", Z = "[object Undefined]", A = "[object WeakMap]", I = "[object ArrayBuffer]", w = "[object DataView]", k = "[object Float32Array]", x = "[object Float64Array]", L = "[object Int8Array]", R = "[object Int16Array]", V = "[object Int32Array]", J = "[object Uint8Array]", ee = "[object Uint8ClampedArray]", K = "[object Uint16Array]", re = "[object Uint32Array]", ne = /[\\^$.*+?()[\]{}|]/g, ae = /^\[object .+?Constructor\]$/, Se = /^(?:0|[1-9]\d*)$/, Ae = {};
|
|
28332
|
+
Ae[k] = Ae[x] = Ae[L] = Ae[R] = Ae[V] = Ae[J] = Ae[ee] = Ae[K] = Ae[re] = !0, Ae[a] = Ae[l] = Ae[I] = Ae[h] = Ae[w] = Ae[u] = Ae[f] = Ae[p] = Ae[v] = Ae[m] = Ae[C] = Ae[T] = Ae[S] = Ae[_] = Ae[A] = !1;
|
|
28322
28333
|
var Re = typeof pi == "object" && pi && pi.Object === Object && pi, ie = typeof self == "object" && self && self.Object === Object && self, we = Re || ie || Function("return this")(), ke = t && !t.nodeType && t, pe = ke && !0 && n && !n.nodeType && n, Xe = pe && pe.exports === ke, je = Xe && Re.process, De = function() {
|
|
28323
28334
|
try {
|
|
28324
28335
|
return je && je.binding && je.binding("util");
|
|
@@ -29745,8 +29756,8 @@ function K3(n, t, e) {
|
|
|
29745
29756
|
loaded: () => e(6, r = xe)
|
|
29746
29757
|
})(de);
|
|
29747
29758
|
}), v = sl();
|
|
29748
|
-
let { timingFunction: m = "ease-in-out" } = t, { arrows: b = !0 } = t, { infinite: C = !0 } = t, { initialPageIndex: M = 0 } = t, { duration: E = 500 } = t, { autoplay: T = !1 } = t, { autoplayDuration: S = 3e3 } = t, { autoplayDirection: _ = Nn } = t, { pauseOnFocus: H = !1 } = t, { autoplayProgressVisible: Z = !1 } = t, { dots: A = !0 } = t, { swiping: I = !0 } = t, { particlesToShow: w = 1 } = t, { particlesToScroll:
|
|
29749
|
-
function
|
|
29759
|
+
let { timingFunction: m = "ease-in-out" } = t, { arrows: b = !0 } = t, { infinite: C = !0 } = t, { initialPageIndex: M = 0 } = t, { duration: E = 500 } = t, { autoplay: T = !1 } = t, { autoplayDuration: S = 3e3 } = t, { autoplayDirection: _ = Nn } = t, { pauseOnFocus: H = !1 } = t, { autoplayProgressVisible: Z = !1 } = t, { dots: A = !0 } = t, { swiping: I = !0 } = t, { particlesToShow: w = 1 } = t, { particlesToScroll: k = 1 } = t;
|
|
29760
|
+
function x(de, xe) {
|
|
29750
29761
|
return $(this, null, function* () {
|
|
29751
29762
|
const Ve = co(xe, "animated", !0);
|
|
29752
29763
|
if (typeof de != "number")
|
|
@@ -29841,7 +29852,7 @@ function K3(n, t, e) {
|
|
|
29841
29852
|
}
|
|
29842
29853
|
const Ue = (de) => ne(de.detail);
|
|
29843
29854
|
return n.$$set = (de) => {
|
|
29844
|
-
"timingFunction" in de && e(0, m = de.timingFunction), "arrows" in de && e(1, b = de.arrows), "infinite" in de && e(2, C = de.infinite), "initialPageIndex" in de && e(24, M = de.initialPageIndex), "duration" in de && e(25, E = de.duration), "autoplay" in de && e(26, T = de.autoplay), "autoplayDuration" in de && e(27, S = de.autoplayDuration), "autoplayDirection" in de && e(28, _ = de.autoplayDirection), "pauseOnFocus" in de && e(29, H = de.pauseOnFocus), "autoplayProgressVisible" in de && e(3, Z = de.autoplayProgressVisible), "dots" in de && e(4, A = de.dots), "swiping" in de && e(30, I = de.swiping), "particlesToShow" in de && e(31, w = de.particlesToShow), "particlesToScroll" in de && e(32,
|
|
29855
|
+
"timingFunction" in de && e(0, m = de.timingFunction), "arrows" in de && e(1, b = de.arrows), "infinite" in de && e(2, C = de.infinite), "initialPageIndex" in de && e(24, M = de.initialPageIndex), "duration" in de && e(25, E = de.duration), "autoplay" in de && e(26, T = de.autoplay), "autoplayDuration" in de && e(27, S = de.autoplayDuration), "autoplayDirection" in de && e(28, _ = de.autoplayDirection), "pauseOnFocus" in de && e(29, H = de.pauseOnFocus), "autoplayProgressVisible" in de && e(3, Z = de.autoplayProgressVisible), "dots" in de && e(4, A = de.dots), "swiping" in de && e(30, I = de.swiping), "particlesToShow" in de && e(31, w = de.particlesToShow), "particlesToScroll" in de && e(32, k = de.particlesToScroll), "$$scope" in de && e(36, s = de.$$scope);
|
|
29845
29856
|
}, n.$$.update = () => {
|
|
29846
29857
|
n.$$.dirty[0] & /*currentPageIndex*/
|
|
29847
29858
|
32 && v("pageChange", o), n.$$.dirty[0] & /*infinite*/
|
|
@@ -29852,7 +29863,7 @@ function K3(n, t, e) {
|
|
|
29852
29863
|
268435456 && (u.autoplayDirection = _), n.$$.dirty[0] & /*pauseOnFocus*/
|
|
29853
29864
|
536870912 && (u.pauseOnFocus = H), n.$$.dirty[1] & /*particlesToShow*/
|
|
29854
29865
|
1 && (u.particlesToShowInit = w), n.$$.dirty[1] & /*particlesToScroll*/
|
|
29855
|
-
2 && (u.particlesToScrollInit =
|
|
29866
|
+
2 && (u.particlesToScrollInit = k);
|
|
29856
29867
|
}, [
|
|
29857
29868
|
m,
|
|
29858
29869
|
b,
|
|
@@ -29886,8 +29897,8 @@ function K3(n, t, e) {
|
|
|
29886
29897
|
H,
|
|
29887
29898
|
I,
|
|
29888
29899
|
w,
|
|
29889
|
-
x,
|
|
29890
29900
|
k,
|
|
29901
|
+
x,
|
|
29891
29902
|
L,
|
|
29892
29903
|
R,
|
|
29893
29904
|
s,
|
|
@@ -30295,8 +30306,8 @@ function ok(n, t, e) {
|
|
|
30295
30306
|
16384 && s && m(), n.$$.dirty & /*videoInstance*/
|
|
30296
30307
|
1024 && i && e(11, g = i.paused), n.$$.dirty & /*media, videoPosterLoaded, videoInstance*/
|
|
30297
30308
|
1540 && (a == null ? void 0 : a.type) === "Video" && !v) {
|
|
30298
|
-
const w = navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1,
|
|
30299
|
-
i &&
|
|
30309
|
+
const w = navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1, x = navigator.userAgent.toLowerCase().indexOf("iphone") !== -1 && w;
|
|
30310
|
+
i && x && i.paused && (document.removeEventListener("WeixinJSBridgeReady", M), document.removeEventListener("touchstart", M), document.removeEventListener("click", M), document.addEventListener("WeixinJSBridgeReady", M), document.addEventListener("touchstart", M), document.addEventListener("click", M));
|
|
30300
30311
|
}
|
|
30301
30312
|
}, [
|
|
30302
30313
|
r,
|
|
@@ -30761,10 +30772,10 @@ function dk(n, t, e) {
|
|
|
30761
30772
|
S = L, e(12, S);
|
|
30762
30773
|
});
|
|
30763
30774
|
}
|
|
30764
|
-
const
|
|
30775
|
+
const k = (L) => {
|
|
30765
30776
|
i || Z.set({ currentMediaElement: null }), e(11, T = L.detail);
|
|
30766
30777
|
};
|
|
30767
|
-
function
|
|
30778
|
+
function x(L) {
|
|
30768
30779
|
n.$$.not_equal(E[0], L) && (E[0] = L, e(8, E));
|
|
30769
30780
|
}
|
|
30770
30781
|
return n.$$set = (L) => {
|
|
@@ -30796,8 +30807,8 @@ function dk(n, t, e) {
|
|
|
30796
30807
|
m,
|
|
30797
30808
|
I,
|
|
30798
30809
|
w,
|
|
30799
|
-
|
|
30800
|
-
|
|
30810
|
+
k,
|
|
30811
|
+
x
|
|
30801
30812
|
];
|
|
30802
30813
|
}
|
|
30803
30814
|
class Yv extends Pe {
|
|
@@ -34110,7 +34121,7 @@ function LD(n, t, e) {
|
|
|
34110
34121
|
return n.$$set = (H) => {
|
|
34111
34122
|
"tag" in H && e(0, c = H.tag), "hooks" in H && e(1, h = H.hooks), "rendererMap" in H && e(2, u = H.rendererMap), "contentTypeMap" in H && e(3, f = H.contentTypeMap), "state" in H && e(6, p = H.state), "mediaStore" in H && e(7, g = H.mediaStore), "temporaryState" in H && e(8, v = H.temporaryState);
|
|
34112
34123
|
}, n.$$.update = () => {
|
|
34113
|
-
var H, Z, A, I, w,
|
|
34124
|
+
var H, Z, A, I, w, k, x, L, R, V, J;
|
|
34114
34125
|
n.$$.dirty & /*tag*/
|
|
34115
34126
|
1 && e(12, i = (H = c.state) == null ? void 0 : H.unfolded), n.$$.dirty & /*tag*/
|
|
34116
34127
|
1 && e(11, s = (Z = c.state) == null ? void 0 : Z.visible), n.$$.dirty & /*state, temporaryState, tag*/
|
|
@@ -34118,7 +34129,7 @@ function LD(n, t, e) {
|
|
|
34118
34129
|
1 && (o = c.id), n.$$.dirty & /*tag, state, temporaryState*/
|
|
34119
34130
|
321 && e(5, a = !M(c, p, v)), n.$$.dirty & /*isVisible*/
|
|
34120
34131
|
8192 && C(r), n.$$.dirty & /*tag, unfolded, lastUnfoldedState, visible, lastVisibleState*/
|
|
34121
|
-
7681 && c.hooks && (i !== void 0 && i !== b && (e(10, b = i), i ? (w = (I = c.hooks).emit) == null || w.call(I, "unfolded") : (
|
|
34132
|
+
7681 && c.hooks && (i !== void 0 && i !== b && (e(10, b = i), i ? (w = (I = c.hooks).emit) == null || w.call(I, "unfolded") : (x = c == null ? void 0 : (k = c.hooks).emit) == null || x.call(k, "folded")), s !== void 0 && s !== m && (e(9, m = s), s ? (R = (L = c.hooks).emit) == null || R.call(L, "show") : (J = (V = c.hooks).emit) == null || J.call(V, "hide"))), n.$$.dirty & /*tag*/
|
|
34122
34133
|
1 && e(4, l = (() => !(typeof c.config.unfoldedConfig == "object" && c.config.unfoldedConfig.keep === "folded"))());
|
|
34123
34134
|
}, [
|
|
34124
34135
|
c,
|
|
@@ -38548,30 +38559,30 @@ class WS extends jo {
|
|
|
38548
38559
|
const w = new ue(0, 0, 0);
|
|
38549
38560
|
if (!this.startInfo)
|
|
38550
38561
|
return w;
|
|
38551
|
-
const
|
|
38552
|
-
if (L.equals(
|
|
38562
|
+
const k = (I === "ew" ? u : f).clone(), x = c.clone().projectOnVector(k), L = a.clone().projectOnVector(k), R = l.clone().projectOnVector(k);
|
|
38563
|
+
if (L.equals(x))
|
|
38553
38564
|
return w;
|
|
38554
38565
|
if (I === "ns" && typeof this.startInfo.dragPointInCenterBottom != "boolean") {
|
|
38555
|
-
const ee = new ue().subVectors(L, R), K = ee.x < 0 &&
|
|
38566
|
+
const ee = new ue().subVectors(L, R), K = ee.x < 0 && k.x >= 0, re = ee.y < 0 && k.y >= 0, ne = ee.z < 0 && k.z >= 0;
|
|
38556
38567
|
this.startInfo.dragPointInCenterBottom = K || re || ne;
|
|
38557
38568
|
}
|
|
38558
38569
|
if (I === "ew" && typeof this.startInfo.dragPointInCenterLeft != "boolean") {
|
|
38559
|
-
const ee = new ue().subVectors(L, R), K = ee.x < 0 &&
|
|
38570
|
+
const ee = new ue().subVectors(L, R), K = ee.x < 0 && k.x >= 0, re = ee.y < 0 && k.y >= 0, ne = ee.z < 0 && k.z >= 0;
|
|
38560
38571
|
this.startInfo.dragPointInCenterLeft = K || re || ne;
|
|
38561
38572
|
}
|
|
38562
|
-
const V = new ue().subVectors(L,
|
|
38573
|
+
const V = new ue().subVectors(L, x), J = V.length();
|
|
38563
38574
|
return J > 0.3 ? (console.warn("offset.length() > 0.3, skipped", J), w) : V;
|
|
38564
38575
|
}, g = p("ew"), v = p("ns"), m = () => {
|
|
38565
38576
|
const I = g;
|
|
38566
|
-
this.helperObject3D.cornerPositions.forEach((w,
|
|
38567
|
-
var
|
|
38568
|
-
(
|
|
38577
|
+
this.helperObject3D.cornerPositions.forEach((w, k) => {
|
|
38578
|
+
var x;
|
|
38579
|
+
(x = this.startInfo) != null && x.dragPointInCenterLeft ? (k === 0 || k === 3) && w.add(I) : (k === 1 || k === 2) && w.add(I);
|
|
38569
38580
|
});
|
|
38570
38581
|
}, b = () => {
|
|
38571
38582
|
const I = v;
|
|
38572
|
-
this.helperObject3D.cornerPositions.forEach((w,
|
|
38573
|
-
var
|
|
38574
|
-
(
|
|
38583
|
+
this.helperObject3D.cornerPositions.forEach((w, k) => {
|
|
38584
|
+
var x;
|
|
38585
|
+
(x = this.startInfo) != null && x.dragPointInCenterBottom ? (k === 0 || k === 1) && w.add(I) : (k === 2 || k === 3) && w.add(I);
|
|
38575
38586
|
});
|
|
38576
38587
|
};
|
|
38577
38588
|
switch (h) {
|
|
@@ -42501,8 +42512,8 @@ function au(n, t, e) {
|
|
|
42501
42512
|
const I = h.at(-1).clone();
|
|
42502
42513
|
if (h.length < 3 && (a === "none" ? (u = Z.point, l.setPoints([I, u]), c.setPoints([])) : a === "xoz" ? (f = f != null ? f : new y.Plane().setFromNormalAndCoplanarPoint(new y.Vector3(0, 1, 0), h[0]), t.plane = f, u = f.projectPoint(Z.point, new y.Vector3()), l.setPoints([I, u]), c.setPoints([u, Z.point])) : a === "y" && (h.length === 1 ? (u = Z.point, l.setPoints([I, u]), c.setPoints([])) : (f = f != null ? f : new y.Plane().setFromCoplanarPoints(h[0], h[1], new y.Vector3(0, 1, 0).add(h[0])), t.plane = f, u = f.projectPoint(Z.point, new y.Vector3()), l.setPoints([I, u]), c.setPoints([u, Z.point])))), h.length >= 3) {
|
|
42503
42514
|
u = n.projectPoint(Z.point);
|
|
42504
|
-
const w = h[0],
|
|
42505
|
-
w.distanceTo(u) <
|
|
42515
|
+
const w = h[0], k = 0.2;
|
|
42516
|
+
w.distanceTo(u) < k || w.distanceTo(Z.point) < k ? (u = w, Z.point.copy(w), t.pointSelectorHelper.updateWithIntersect(Z, { emitEvent: !1 }), p = !0) : p = !1, l.setPoints([I, u]), c.setPoints([u, Z.point]);
|
|
42506
42517
|
}
|
|
42507
42518
|
h.length >= 2 ? (n.setPoints([...h, u], { closed: !1 }), n.line.setPoints(n.points.slice(0, -1)), n.isBlank ? (t.cursorError = !0, l.setStyle({ lineColor: 16734553 }), c.setStyle({ lineColor: 16734553 })) : (t.cursorError = !1, l.setStyle({ lineColor: n.lineColor }), c.setStyle({ lineColor: n.lineColor }))) : n.setPoints([]);
|
|
42508
42519
|
}, S = () => {
|
|
@@ -43004,8 +43015,8 @@ function $T(n, t, e) {
|
|
|
43004
43015
|
o.remove(l);
|
|
43005
43016
|
const H = E.raycaster.ray.intersectPlane(g, new y.Vector3()), Z = u[0].distanceTo(u[1]) / 2, A = new y.Vector3().lerpVectors(u[0], u[1], 0.5), I = new y.Vector3().subVectors(H, A).normalize();
|
|
43006
43017
|
f = new y.Vector3().addVectors(A, I.multiplyScalar(Z));
|
|
43007
|
-
const w = [u[0], f, u[1]],
|
|
43008
|
-
n.setPoints(
|
|
43018
|
+
const w = [u[0], f, u[1]], k = P0(w, ht.modules.five.camera.position);
|
|
43019
|
+
n.setPoints(k);
|
|
43009
43020
|
return;
|
|
43010
43021
|
}
|
|
43011
43022
|
}, b = () => {
|