@mappedin/mappedin-js 5.45.0 → 5.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -6
- package/lib/esm/get-venue/index.d.ts +45 -0
- package/lib/esm/get-venue/index.js +1 -1
- package/lib/esm/navigator/index.js +1 -1
- package/lib/esm/renderer/{GLTFExporter-TNOK4DQW.js → GLTFExporter-ZIVMDRVT.js} +1 -1
- package/lib/esm/renderer/{PerformanceController-RSSJQ2Q7.js → PerformanceController-FJ64CU6R.js} +1 -1
- package/lib/esm/renderer/{browser-OUB24CTG.js → browser-TIFUT37G.js} +1 -1
- package/lib/esm/renderer/{chunk-526T5AUL.js → chunk-2O6EIHBA.js} +1 -1
- package/lib/esm/renderer/chunk-USVGQCUT.js +1 -0
- package/lib/esm/renderer/index.css +1 -1
- package/lib/esm/renderer/index.d.ts +1866 -1807
- package/lib/esm/renderer/index.js +1 -1
- package/lib/esm/renderer/{outdoor-context-CREQEHPU.js → outdoor-context-C2FY52YJ.js} +1 -1
- package/lib/mappedin.css +1 -1
- package/lib/mappedin.js +1 -1
- package/lib/node/index.js +1 -1
- package/package.json +3 -6
- package/lib/esm/renderer/chunk-CDTX24PQ.js +0 -1
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
declare module '@mappedin/mappedin-js' {
|
|
12
12
|
import { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
|
|
13
|
-
import {
|
|
13
|
+
import type { Mappedin, MappedinMap, TGetVenueBundleOptions, TGetVenueOptions } from '@mappedin/mappedin-js/get-venue';
|
|
14
|
+
import { getVenue, getVenueMVF, getVenueBundle, getVenueMaker, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, MappedinDestinationSet, hydrateVenue, GET_VENUE_EVENT } from '@mappedin/mappedin-js/get-venue';
|
|
14
15
|
import { PositionUpdater } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
15
16
|
import type { TMapViewOptions } from '@mappedin/mappedin-js/renderer/MapView.types';
|
|
16
17
|
export { E_SDK_LOG_LEVEL, setLoggerLevel } from '@mappedin/mappedin-js/common/Mappedin.Logger';
|
|
@@ -33,6 +34,7 @@ declare module '@mappedin/mappedin-js' {
|
|
|
33
34
|
export type { DynamicFocus } from '@mappedin/mappedin-js/renderer/public/api/DynamicFocus';
|
|
34
35
|
export type { Layers } from '@mappedin/mappedin-js/renderer/public/api/Layers';
|
|
35
36
|
export type { TOOLTIP_ANCHOR } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartTooltip';
|
|
37
|
+
export { setStackedMapsOverviewTiltInDegrees } from '@mappedin/mappedin-js/renderer/internal';
|
|
36
38
|
export type TMappedinInitializeOutput = {
|
|
37
39
|
mapView: MapView;
|
|
38
40
|
venue: Mappedin;
|
|
@@ -59,8 +61,8 @@ declare module '@mappedin/mappedin-js' {
|
|
|
59
61
|
export { COLLISION_RANKING_TIERS, STATE, E_SDK_EVENT, E_BLUEDOT_STATE_REASON, E_BLUEDOT_MARKER_STATE, E_BLUEDOT_EVENT, E_BLUEDOT_STATE, E_CAMERA_EVENT, E_CAMERA_DIRECTION, SAFE_AREA_INSET_TYPE, ANIMATION_TWEENS, CAMERA_EASING_MODE, STACKED_MAPS_STATE, MARKER_ANCHOR, GEOLOCATION_STATUS, E_MAP_CHANGED_REASON, } from '@mappedin/mappedin-js/renderer/MapView.enums';
|
|
60
62
|
export { getVenue, getVenueMVF, getVenueBundle, getVenueMaker, showVenue, downloadBundle, getVenueBundleURL, downloadVenueBundleMVF, hydrateVenue, PositionUpdater, MappedinDestinationSet, GET_VENUE_EVENT, };
|
|
61
63
|
import DefaultAssetManager from '@mappedin/mappedin-js/renderer/internal/Mappedin.AssetManager';
|
|
62
|
-
import { TTileManagerOptions } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
|
|
63
|
-
import { TShowWatermarkOptions } from '@mappedin/mappedin-js/renderer/private/controllers/WatermarkController';
|
|
64
|
+
import type { TTileManagerOptions } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
|
|
65
|
+
import type { TShowWatermarkOptions } from '@mappedin/mappedin-js/renderer/private/controllers/WatermarkController';
|
|
64
66
|
export { setAssetManager } from '@mappedin/mappedin-js/renderer/internal';
|
|
65
67
|
export { DefaultAssetManager as AssetManager };
|
|
66
68
|
export type { TMappedinDirective, IAction, IActionArrival, IActionDeparture, IActionExitVortex, IActionTakeVortex, IActionTurn, } from '@mappedin/mappedin-js/get-venue/MappedinDirections';
|
|
@@ -981,6 +983,14 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedi
|
|
|
981
983
|
import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
|
|
982
984
|
import { BlueDotManager } from '@mappedin/mappedin-js/renderer/internal';
|
|
983
985
|
export const DEFAULT_BLUE_DOT_COLOR = "#2266ff";
|
|
986
|
+
/**
|
|
987
|
+
* Position Updater Events
|
|
988
|
+
* @internal
|
|
989
|
+
*/
|
|
990
|
+
export enum E_POSITION_UPDATER_EVENT {
|
|
991
|
+
POSITION_UPDATE = 0,
|
|
992
|
+
ERROR = 1
|
|
993
|
+
}
|
|
984
994
|
export interface IPositionUpdater extends IPubSub {
|
|
985
995
|
/**
|
|
986
996
|
* Function that emits position updates
|
|
@@ -3894,6 +3904,198 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartTooltip' {
|
|
|
3894
3904
|
export default SmartTooltip;
|
|
3895
3905
|
}
|
|
3896
3906
|
|
|
3907
|
+
declare module '@mappedin/mappedin-js/renderer/internal' {
|
|
3908
|
+
import { Texture } from 'three';
|
|
3909
|
+
import { STACKED_MAPS_STATE, STATE } from '@mappedin/mappedin-js/renderer/MapView.enums';
|
|
3910
|
+
import { TMapClickEvent } from '@mappedin/mappedin-js/renderer/MapView.types';
|
|
3911
|
+
import { MappedinMap } from '@mappedin/mappedin-js/get-venue';
|
|
3912
|
+
import { Vector3 } from '@mappedin/mvf';
|
|
3913
|
+
export { MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode, MappedinLocation, MappedinVenue, } from '@mappedin/mappedin-js/get-venue';
|
|
3914
|
+
export type { TEnableBlueDotOptions, TFloatingLabelAppearance, TGeolocationObject, TPathOptions, TConnectionProps, TConnectionTemplateFn, TMarkerTemplateProps, TMarkerTemplateFn, TJourneyOptions, TPadding, TCreateMarkerOptions, TAnimationOptions, TCreateTooltipInternalOptions, TCreateTooltipCommonOptions, TCreateTooltipOptions, TCreateTextTooltipOptions, TCreateCustomInnerHTMLTooltipOptions, TCreateCustomTooltipOptions, TCreateThreeDMarkerOptions, TGetPolygonsAtCoordinateOptions, TMapViewOptions, TMapViewOptionsLegacy, TFlatLabelOptions, TFlatLabelAppearance, TFloatingLabelPolygonOptions, TAddFlatLabelOptions, TAddFloatingLabelOptions, TLabelAllLocationCommonOptions, TLabelAllLocationFloatingLabelOptions, TLabelAllLocationFlatLabelOptions, TFloatingLabelAllLocationsOptions, TFlatLabelAllLocationsOptions, changeListenerFn, TMapClickEvent, E_SDK_EVENT_PAYLOAD, E_BLUEDOT_EVENT_PAYLOAD, CAMERA_EVENT_PAYLOAD, } from '@mappedin/mappedin-js/renderer/MapView.types';
|
|
3915
|
+
export { labelThemes } from '@mappedin/mappedin-js/renderer/MapView.types';
|
|
3916
|
+
export { GEOLOCATION_STATUS, COLLISION_RANKING_TIERS, E_BLUEDOT_STATE_REASON, E_BLUEDOT_STATE, E_BLUEDOT_MARKER_STATE, STATE, MARKER_ANCHOR, E_SDK_EVENT, E_BLUEDOT_EVENT, E_CAMERA_EVENT, E_CAMERA_DIRECTION, SAFE_AREA_INSET_TYPE, CAMERA_EASING_MODE, ANIMATION_TWEENS, STACKED_MAPS_STATE, } from '@mappedin/mappedin-js/renderer/MapView.enums';
|
|
3917
|
+
export { MAP_RENDER_MODE } from '@mappedin/mappedin-js/get-venue';
|
|
3918
|
+
export { default as JSONSceneLoader } from '@mappedin/mappedin-js/renderer/internal/json-scene-loader';
|
|
3919
|
+
export { default as RENDER } from '@mappedin/mappedin-js/renderer/internal/Mappedin.RenderTasks';
|
|
3920
|
+
export { FrameUpdate, FrameTask, TaskScheduler } from '@mappedin/mappedin-js/get-venue/Mappedin.TaskScheduler';
|
|
3921
|
+
export { default as SceneManager } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.SceneManager';
|
|
3922
|
+
export { default as DynamicFocusSceneManager } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.DynamicFocusSceneManager';
|
|
3923
|
+
export { PubSub } from '@mappedin/mappedin-js/get-venue/pub-sub.typed';
|
|
3924
|
+
export { default as MapObject } from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapObject';
|
|
3925
|
+
export { default as CAMERA_LAYER } from '@mappedin/mappedin-js/renderer/internal/Mappedin.CameraLayers';
|
|
3926
|
+
export { default as AssetManager } from '@mappedin/mappedin-js/renderer/internal/Mappedin.AssetManager';
|
|
3927
|
+
export { BundleAssetManager } from '@mappedin/mappedin-js/renderer/bundle-asset-manager';
|
|
3928
|
+
/**
|
|
3929
|
+
* Internal Events and Payloads
|
|
3930
|
+
*/
|
|
3931
|
+
export enum INTERNAL_EVENT {
|
|
3932
|
+
ON_FIRST_MAP_LOADED = 0,
|
|
3933
|
+
TEXTURE_LOADED = 1,
|
|
3934
|
+
RENDER = 2,
|
|
3935
|
+
RENDER_NOW = 3,
|
|
3936
|
+
UPDATE_FLIPPABLES = 4,
|
|
3937
|
+
SET_SCENE_MAP = 5,
|
|
3938
|
+
SET_SCENE_START = 6,
|
|
3939
|
+
SET_SCENE = 7,
|
|
3940
|
+
SCENE_VISIBLITY_CHANGED = 8,
|
|
3941
|
+
CAMERA_MOVING = 9,
|
|
3942
|
+
SET_BLUE_DOT_SIZE_FROM_ZOOM = 10,
|
|
3943
|
+
PUBLISH_BLUE_DOT = 11,
|
|
3944
|
+
SET_STATE_SILENT = 12,
|
|
3945
|
+
BLUE_DOT_UPDATE_POSITION = 13,
|
|
3946
|
+
BLUE_DOT_SET_FOLLOWING = 14,
|
|
3947
|
+
CLEAR_MOUSE = 15,
|
|
3948
|
+
MAP_CLICK = 16,
|
|
3949
|
+
USER_ZOOM = 17,
|
|
3950
|
+
USER_ZOOM_BEGIN = 18,
|
|
3951
|
+
USER_ROTATE = 19,
|
|
3952
|
+
USER_ROTATE_BEGIN = 20,
|
|
3953
|
+
USER_PAN = 21,
|
|
3954
|
+
USER_PAN_BEGIN = 22,
|
|
3955
|
+
USER_TILT = 23,
|
|
3956
|
+
USER_MULTI_BEGIN = 24,
|
|
3957
|
+
USER_MULTI_END = 25,
|
|
3958
|
+
FOCUSON_BEGIN = 26,
|
|
3959
|
+
USER_HANDS_ON = 27,
|
|
3960
|
+
USER_HANDS_OFF = 28,
|
|
3961
|
+
JOURNEY_CREATED = 29,
|
|
3962
|
+
JOURNEY_DESTROYED = 30,
|
|
3963
|
+
OUTDOOR_VIEW_LOADED = 31,
|
|
3964
|
+
LAYER_VISIBILITY_CHANGED = 32,
|
|
3965
|
+
USER_INTERACTION_START = 33,
|
|
3966
|
+
USER_INTERACTION_END = 34,
|
|
3967
|
+
STACKED_MAPS_STATE_CHANGE = 35
|
|
3968
|
+
}
|
|
3969
|
+
export type INTERNAL_EVENT_PAYLOAD = {
|
|
3970
|
+
[INTERNAL_EVENT.SET_SCENE_START]: undefined;
|
|
3971
|
+
[INTERNAL_EVENT.SET_SCENE_MAP]: undefined;
|
|
3972
|
+
[INTERNAL_EVENT.ON_FIRST_MAP_LOADED]: undefined;
|
|
3973
|
+
[INTERNAL_EVENT.TEXTURE_LOADED]: Texture;
|
|
3974
|
+
[INTERNAL_EVENT.OUTDOOR_VIEW_LOADED]: undefined;
|
|
3975
|
+
[INTERNAL_EVENT.RENDER]: undefined;
|
|
3976
|
+
[INTERNAL_EVENT.RENDER_NOW]: undefined;
|
|
3977
|
+
[INTERNAL_EVENT.UPDATE_FLIPPABLES]: undefined | boolean;
|
|
3978
|
+
[INTERNAL_EVENT.SET_SCENE]: {
|
|
3979
|
+
context?: string;
|
|
3980
|
+
};
|
|
3981
|
+
[INTERNAL_EVENT.CAMERA_MOVING]: {
|
|
3982
|
+
position: Vector3;
|
|
3983
|
+
tilt: number;
|
|
3984
|
+
rotation: number;
|
|
3985
|
+
zoom: number;
|
|
3986
|
+
};
|
|
3987
|
+
[INTERNAL_EVENT.SET_BLUE_DOT_SIZE_FROM_ZOOM]: number;
|
|
3988
|
+
[INTERNAL_EVENT.PUBLISH_BLUE_DOT]: undefined;
|
|
3989
|
+
[INTERNAL_EVENT.CLEAR_MOUSE]: undefined;
|
|
3990
|
+
[INTERNAL_EVENT.SET_STATE_SILENT]: {
|
|
3991
|
+
state: STATE;
|
|
3992
|
+
};
|
|
3993
|
+
[INTERNAL_EVENT.BLUE_DOT_UPDATE_POSITION]: {
|
|
3994
|
+
x: number;
|
|
3995
|
+
y: number;
|
|
3996
|
+
};
|
|
3997
|
+
[INTERNAL_EVENT.BLUE_DOT_SET_FOLLOWING]: boolean;
|
|
3998
|
+
[INTERNAL_EVENT.MAP_CLICK]: TMapClickEvent;
|
|
3999
|
+
[INTERNAL_EVENT.USER_ZOOM]: undefined;
|
|
4000
|
+
[INTERNAL_EVENT.USER_ZOOM_BEGIN]: undefined;
|
|
4001
|
+
[INTERNAL_EVENT.USER_ROTATE_BEGIN]: undefined;
|
|
4002
|
+
[INTERNAL_EVENT.USER_MULTI_BEGIN]: undefined;
|
|
4003
|
+
[INTERNAL_EVENT.USER_PAN_BEGIN]: undefined;
|
|
4004
|
+
[INTERNAL_EVENT.USER_ROTATE]: undefined;
|
|
4005
|
+
[INTERNAL_EVENT.USER_MULTI_END]: undefined;
|
|
4006
|
+
[INTERNAL_EVENT.FOCUSON_BEGIN]: undefined;
|
|
4007
|
+
[INTERNAL_EVENT.USER_HANDS_ON]: undefined;
|
|
4008
|
+
[INTERNAL_EVENT.USER_HANDS_OFF]: undefined;
|
|
4009
|
+
[INTERNAL_EVENT.USER_INTERACTION_START]: undefined;
|
|
4010
|
+
[INTERNAL_EVENT.USER_INTERACTION_END]: undefined;
|
|
4011
|
+
[INTERNAL_EVENT.USER_PAN]: undefined;
|
|
4012
|
+
[INTERNAL_EVENT.USER_TILT]: undefined;
|
|
4013
|
+
[INTERNAL_EVENT.LAYER_VISIBILITY_CHANGED]: MappedinMap;
|
|
4014
|
+
[INTERNAL_EVENT.JOURNEY_CREATED]: undefined;
|
|
4015
|
+
[INTERNAL_EVENT.JOURNEY_DESTROYED]: undefined;
|
|
4016
|
+
[INTERNAL_EVENT.SCENE_VISIBLITY_CHANGED]: undefined;
|
|
4017
|
+
[INTERNAL_EVENT.USER_INTERACTION_START]: undefined;
|
|
4018
|
+
[INTERNAL_EVENT.USER_INTERACTION_END]: undefined;
|
|
4019
|
+
[INTERNAL_EVENT.STACKED_MAPS_STATE_CHANGE]: STACKED_MAPS_STATE;
|
|
4020
|
+
};
|
|
4021
|
+
/**
|
|
4022
|
+
* Factories
|
|
4023
|
+
*/
|
|
4024
|
+
export { Atlas, FlatLabel } from '@mappedin/mappedin-js/renderer/internal/Mappedin.LabelAtlas.js';
|
|
4025
|
+
export { default as HoverLabel } from '@mappedin/mappedin-js/renderer/internal/Mappedin.HoverLabel';
|
|
4026
|
+
export { default as BaseCollider } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4027
|
+
export { default as InternalFloatingLabel } from '@mappedin/mappedin-js/renderer/internal/Mappedin.FloatingLabel';
|
|
4028
|
+
export { default as HTMLCollider } from '@mappedin/mappedin-js/renderer/internal/Mappedin.HTMLCollider';
|
|
4029
|
+
export { Marker } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
|
|
4030
|
+
export { default as SmartTooltip } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartTooltip';
|
|
4031
|
+
export { default as InternalMarker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Marker';
|
|
4032
|
+
export { ThreeJSMarkerHandle } from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapObject';
|
|
4033
|
+
export { default as MapViewScene } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.Scene';
|
|
4034
|
+
export { default as MapViewStackScene } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.StackScene';
|
|
4035
|
+
export { default as Element } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Element';
|
|
4036
|
+
export { default as FlippableImage } from '@mappedin/mappedin-js/renderer/internal/Mappedin.FlippableImage';
|
|
4037
|
+
export { default as Building } from '@mappedin/mappedin-js/renderer/private/scene-manager/dynamic-focus-scene-manager/building';
|
|
4038
|
+
export { default as DynamicFocusScene } from '@mappedin/mappedin-js/renderer/private/scene-manager/dynamic-focus-scene-manager/dynamic-focus-scene';
|
|
4039
|
+
/**
|
|
4040
|
+
* Controllers/Managers
|
|
4041
|
+
*/
|
|
4042
|
+
export { default as PathsController, Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
|
|
4043
|
+
export { default as FloatingLabelsController } from '@mappedin/mappedin-js/renderer/private/controllers/FloatingLabelsController';
|
|
4044
|
+
export { default as FlatLabelsController } from '@mappedin/mappedin-js/renderer/private/controllers/FlatLabelsController';
|
|
4045
|
+
export { default as PolygonColorsController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonColorsController';
|
|
4046
|
+
export { default as PolygonHoverColorsController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonHoverColorsController';
|
|
4047
|
+
export { default as MarkersController } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
|
|
4048
|
+
export { default as PolygonInteractionController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonInteractionController';
|
|
4049
|
+
export { default as TooltipsController } from '@mappedin/mappedin-js/renderer/private/controllers/TooltipsController';
|
|
4050
|
+
export { default as PolygonStatesController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonStatesController';
|
|
4051
|
+
export { default as PolygonImagesController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonImagesController';
|
|
4052
|
+
export { default as ThreeDMarkersController } from '@mappedin/mappedin-js/renderer/private/controllers/ThreeDMarkersController';
|
|
4053
|
+
export { default as BlueDotController } from '@mappedin/mappedin-js/renderer/private/controllers/BlueDotController';
|
|
4054
|
+
export { default as BlueDotManager } from '@mappedin/mappedin-js/renderer/internal/blue-dot-manager';
|
|
4055
|
+
export { default as CameraController } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
|
|
4056
|
+
export { default as EventSystem } from '@mappedin/mappedin-js/renderer/private/controllers/EventSystem';
|
|
4057
|
+
export { default as ClosedPolygonManager } from '@mappedin/mappedin-js/renderer/internal/Mappedin.ClosedPolygonManager';
|
|
4058
|
+
export { default as BinaryAssetManager } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BinaryAssetManager';
|
|
4059
|
+
export { default as SmartCollisionEngine } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4060
|
+
export { default as BillboardManager } from '@mappedin/mappedin-js/renderer/private/controllers/BillboardManager';
|
|
4061
|
+
export { default as StackedMapsController, setStackedMapsOverviewTiltInDegrees, } from '@mappedin/mappedin-js/renderer/private/controllers/StackedMapsController';
|
|
4062
|
+
export { MultiBufferRenderer } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Renderer';
|
|
4063
|
+
export { JourneyController } from '@mappedin/mappedin-js/renderer/private/controllers/JourneyController';
|
|
4064
|
+
export { default as OutdoorViewController } from '@mappedin/mappedin-js/renderer/private/controllers/OutdoorViewController';
|
|
4065
|
+
export { default as ExportController } from '@mappedin/mappedin-js/renderer/private/controllers/ExportController';
|
|
4066
|
+
export { default as WatermarkController } from '@mappedin/mappedin-js/renderer/private/controllers/WatermarkController';
|
|
4067
|
+
export { default as LayerController } from '@mappedin/mappedin-js/renderer/private/controllers/LayerController';
|
|
4068
|
+
/**
|
|
4069
|
+
* Types
|
|
4070
|
+
*/
|
|
4071
|
+
export type { TSceneTransitionOptions } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.SceneManager';
|
|
4072
|
+
export type { IPositionUpdater, IBlueDotCore } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
4073
|
+
export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
|
|
4074
|
+
export type { TColliderPosition } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4075
|
+
export type { ICollider, TColliderStrategy } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4076
|
+
export { EColliderAction } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4077
|
+
export type { IHTMLCollider } from '@mappedin/mappedin-js/renderer/internal/Mappedin.HTMLCollider';
|
|
4078
|
+
export { COLLIDER_STRATEGY_LOW_PRIORITY } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4079
|
+
export { default as BlueDotCore } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
4080
|
+
export { default as BlueDotUI } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.ui';
|
|
4081
|
+
export { default as CameraControls } from '@mappedin/mappedin-js/renderer/internal/Mappedin.CameraControls.js';
|
|
4082
|
+
export { default as Renderer } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Renderer.js';
|
|
4083
|
+
export { determineStartingMap, getObject, getObjectId } from '@mappedin/mappedin-js/renderer/internal/utils';
|
|
4084
|
+
export { default as MapManager } from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapManager';
|
|
4085
|
+
export { default as DebugUI } from '@mappedin/mappedin-js/renderer/internal/Mappedin.DebugUI';
|
|
4086
|
+
export { DebugUIScalarSlider, DebugUIColorPicker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.DebugUIControl';
|
|
4087
|
+
export type { Collider, ColliderQuadTree } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4088
|
+
export { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
|
|
4089
|
+
export { default as Logger } from '@mappedin/mappedin-js/common/Mappedin.Logger';
|
|
4090
|
+
export { TileManager, TILE_COLOR } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
|
|
4091
|
+
export type { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
|
|
4092
|
+
export * from '@mappedin/mappedin-js/renderer/private/Core';
|
|
4093
|
+
const setAssetManager: <T extends import("./internal/Mappedin.AssetManager").default>(am: T) => void;
|
|
4094
|
+
export { setAssetManager };
|
|
4095
|
+
export let MAPLIBRE_WORKER_URL: string;
|
|
4096
|
+
export function setMaplibreWorkerURL(url: string): void;
|
|
4097
|
+
}
|
|
4098
|
+
|
|
3897
4099
|
declare module '@mappedin/mappedin-js/renderer/MapView.enums' {
|
|
3898
4100
|
export enum GEOLOCATION_STATUS {
|
|
3899
4101
|
SUCCESS = 0
|
|
@@ -4297,238 +4499,46 @@ declare module '@mappedin/mappedin-js/renderer/private/controllers/WatermarkCont
|
|
|
4297
4499
|
export default WatermarkController;
|
|
4298
4500
|
}
|
|
4299
4501
|
|
|
4300
|
-
declare module '@mappedin/mappedin-js/
|
|
4301
|
-
import {
|
|
4302
|
-
import {
|
|
4303
|
-
import {
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
export
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
export
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
export
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
export
|
|
4502
|
+
declare module '@mappedin/mappedin-js/get-venue/MappedinDirections' {
|
|
4503
|
+
import { IDirectionsResult } from '@mappedin/mappedin-js/navigator';
|
|
4504
|
+
import { ACTION_TYPE, BEARING_TYPE } from '@mappedin/mappedin-js/navigator/Directive';
|
|
4505
|
+
import type { MappedinNode, MappedinVortex, MappedinMap, Mappedin } from '@mappedin/mappedin-js/get-venue/internal';
|
|
4506
|
+
export interface IActionDeparture {
|
|
4507
|
+
type: ACTION_TYPE.DEPARTURE;
|
|
4508
|
+
}
|
|
4509
|
+
export interface IActionArrival {
|
|
4510
|
+
type: ACTION_TYPE.ARRIVAL;
|
|
4511
|
+
}
|
|
4512
|
+
export interface IActionTakeVortex {
|
|
4513
|
+
type: ACTION_TYPE.TAKEVORTEX;
|
|
4514
|
+
toMap: MappedinMap;
|
|
4515
|
+
fromMap: MappedinMap;
|
|
4516
|
+
}
|
|
4517
|
+
export interface IActionExitVortex {
|
|
4518
|
+
type: ACTION_TYPE.EXITVORTEX;
|
|
4519
|
+
toMap: MappedinMap;
|
|
4520
|
+
fromMap: MappedinMap;
|
|
4521
|
+
}
|
|
4522
|
+
export interface IActionTurn {
|
|
4523
|
+
type: ACTION_TYPE.TURN;
|
|
4524
|
+
bearing: BEARING_TYPE;
|
|
4525
|
+
referencePosition?: string;
|
|
4526
|
+
}
|
|
4527
|
+
export type IAction = IActionArrival | IActionDeparture | IActionTurn | IActionTakeVortex | IActionExitVortex;
|
|
4528
|
+
/** this is the "overloaded" version of the directive, with get-venue classes instead of stubs */
|
|
4529
|
+
export type TMappedinDirective = {
|
|
4530
|
+
node: MappedinNode;
|
|
4531
|
+
/**
|
|
4532
|
+
* Distance from the last instruction to the current. Useful for turn by turn navigation
|
|
4533
|
+
*/
|
|
4534
|
+
distance: number;
|
|
4535
|
+
instruction: string;
|
|
4536
|
+
action?: IAction;
|
|
4537
|
+
atLocation?: MappedinVortex;
|
|
4538
|
+
type?: BEARING_TYPE;
|
|
4539
|
+
};
|
|
4321
4540
|
/**
|
|
4322
|
-
*
|
|
4323
|
-
*/
|
|
4324
|
-
export enum INTERNAL_EVENT {
|
|
4325
|
-
ON_FIRST_MAP_LOADED = 0,
|
|
4326
|
-
TEXTURE_LOADED = 1,
|
|
4327
|
-
RENDER = 2,
|
|
4328
|
-
RENDER_NOW = 3,
|
|
4329
|
-
UPDATE_FLIPPABLES = 4,
|
|
4330
|
-
SET_SCENE_MAP = 5,
|
|
4331
|
-
SET_SCENE_START = 6,
|
|
4332
|
-
SET_SCENE = 7,
|
|
4333
|
-
SCENE_VISIBLITY_CHANGED = 8,
|
|
4334
|
-
CAMERA_MOVING = 9,
|
|
4335
|
-
SET_BLUE_DOT_SIZE_FROM_ZOOM = 10,
|
|
4336
|
-
PUBLISH_BLUE_DOT = 11,
|
|
4337
|
-
SET_STATE_SILENT = 12,
|
|
4338
|
-
BLUE_DOT_UPDATE_POSITION = 13,
|
|
4339
|
-
BLUE_DOT_SET_FOLLOWING = 14,
|
|
4340
|
-
CLEAR_MOUSE = 15,
|
|
4341
|
-
MAP_CLICK = 16,
|
|
4342
|
-
USER_ZOOM = 17,
|
|
4343
|
-
USER_ZOOM_BEGIN = 18,
|
|
4344
|
-
USER_ROTATE = 19,
|
|
4345
|
-
USER_ROTATE_BEGIN = 20,
|
|
4346
|
-
USER_PAN = 21,
|
|
4347
|
-
USER_PAN_BEGIN = 22,
|
|
4348
|
-
USER_TILT = 23,
|
|
4349
|
-
USER_MULTI_BEGIN = 24,
|
|
4350
|
-
USER_MULTI_END = 25,
|
|
4351
|
-
FOCUSON_BEGIN = 26,
|
|
4352
|
-
USER_HANDS_ON = 27,
|
|
4353
|
-
USER_HANDS_OFF = 28,
|
|
4354
|
-
JOURNEY_CREATED = 29,
|
|
4355
|
-
JOURNEY_DESTROYED = 30,
|
|
4356
|
-
OUTDOOR_VIEW_LOADED = 31,
|
|
4357
|
-
LAYER_VISIBILITY_CHANGED = 32,
|
|
4358
|
-
USER_INTERACTION_START = 33,
|
|
4359
|
-
USER_INTERACTION_END = 34,
|
|
4360
|
-
STACKED_MAPS_STATE_CHANGE = 35
|
|
4361
|
-
}
|
|
4362
|
-
export type INTERNAL_EVENT_PAYLOAD = {
|
|
4363
|
-
[INTERNAL_EVENT.SET_SCENE_START]: undefined;
|
|
4364
|
-
[INTERNAL_EVENT.SET_SCENE_MAP]: undefined;
|
|
4365
|
-
[INTERNAL_EVENT.ON_FIRST_MAP_LOADED]: undefined;
|
|
4366
|
-
[INTERNAL_EVENT.TEXTURE_LOADED]: Texture;
|
|
4367
|
-
[INTERNAL_EVENT.OUTDOOR_VIEW_LOADED]: undefined;
|
|
4368
|
-
[INTERNAL_EVENT.RENDER]: undefined;
|
|
4369
|
-
[INTERNAL_EVENT.RENDER_NOW]: undefined;
|
|
4370
|
-
[INTERNAL_EVENT.UPDATE_FLIPPABLES]: undefined | boolean;
|
|
4371
|
-
[INTERNAL_EVENT.SET_SCENE]: {
|
|
4372
|
-
context?: string;
|
|
4373
|
-
};
|
|
4374
|
-
[INTERNAL_EVENT.CAMERA_MOVING]: {
|
|
4375
|
-
position: Vector3;
|
|
4376
|
-
tilt: number;
|
|
4377
|
-
rotation: number;
|
|
4378
|
-
zoom: number;
|
|
4379
|
-
};
|
|
4380
|
-
[INTERNAL_EVENT.SET_BLUE_DOT_SIZE_FROM_ZOOM]: number;
|
|
4381
|
-
[INTERNAL_EVENT.PUBLISH_BLUE_DOT]: undefined;
|
|
4382
|
-
[INTERNAL_EVENT.CLEAR_MOUSE]: undefined;
|
|
4383
|
-
[INTERNAL_EVENT.SET_STATE_SILENT]: {
|
|
4384
|
-
state: STATE;
|
|
4385
|
-
};
|
|
4386
|
-
[INTERNAL_EVENT.BLUE_DOT_UPDATE_POSITION]: {
|
|
4387
|
-
x: number;
|
|
4388
|
-
y: number;
|
|
4389
|
-
};
|
|
4390
|
-
[INTERNAL_EVENT.BLUE_DOT_SET_FOLLOWING]: boolean;
|
|
4391
|
-
[INTERNAL_EVENT.MAP_CLICK]: TMapClickEvent;
|
|
4392
|
-
[INTERNAL_EVENT.USER_ZOOM]: undefined;
|
|
4393
|
-
[INTERNAL_EVENT.USER_ZOOM_BEGIN]: undefined;
|
|
4394
|
-
[INTERNAL_EVENT.USER_ROTATE_BEGIN]: undefined;
|
|
4395
|
-
[INTERNAL_EVENT.USER_MULTI_BEGIN]: undefined;
|
|
4396
|
-
[INTERNAL_EVENT.USER_PAN_BEGIN]: undefined;
|
|
4397
|
-
[INTERNAL_EVENT.USER_ROTATE]: undefined;
|
|
4398
|
-
[INTERNAL_EVENT.USER_MULTI_END]: undefined;
|
|
4399
|
-
[INTERNAL_EVENT.FOCUSON_BEGIN]: undefined;
|
|
4400
|
-
[INTERNAL_EVENT.USER_HANDS_ON]: undefined;
|
|
4401
|
-
[INTERNAL_EVENT.USER_HANDS_OFF]: undefined;
|
|
4402
|
-
[INTERNAL_EVENT.USER_INTERACTION_START]: undefined;
|
|
4403
|
-
[INTERNAL_EVENT.USER_INTERACTION_END]: undefined;
|
|
4404
|
-
[INTERNAL_EVENT.USER_PAN]: undefined;
|
|
4405
|
-
[INTERNAL_EVENT.USER_TILT]: undefined;
|
|
4406
|
-
[INTERNAL_EVENT.LAYER_VISIBILITY_CHANGED]: MappedinMap;
|
|
4407
|
-
[INTERNAL_EVENT.JOURNEY_CREATED]: undefined;
|
|
4408
|
-
[INTERNAL_EVENT.JOURNEY_DESTROYED]: undefined;
|
|
4409
|
-
[INTERNAL_EVENT.SCENE_VISIBLITY_CHANGED]: undefined;
|
|
4410
|
-
[INTERNAL_EVENT.USER_INTERACTION_START]: undefined;
|
|
4411
|
-
[INTERNAL_EVENT.USER_INTERACTION_END]: undefined;
|
|
4412
|
-
[INTERNAL_EVENT.STACKED_MAPS_STATE_CHANGE]: STACKED_MAPS_STATE;
|
|
4413
|
-
};
|
|
4414
|
-
/**
|
|
4415
|
-
* Factories
|
|
4416
|
-
*/
|
|
4417
|
-
export { Atlas, FlatLabel } from '@mappedin/mappedin-js/renderer/internal/Mappedin.LabelAtlas.js';
|
|
4418
|
-
export { default as HoverLabel } from '@mappedin/mappedin-js/renderer/internal/Mappedin.HoverLabel';
|
|
4419
|
-
export { default as BaseCollider } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4420
|
-
export { default as InternalFloatingLabel } from '@mappedin/mappedin-js/renderer/internal/Mappedin.FloatingLabel';
|
|
4421
|
-
export { default as HTMLCollider } from '@mappedin/mappedin-js/renderer/internal/Mappedin.HTMLCollider';
|
|
4422
|
-
export { Marker } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
|
|
4423
|
-
export { default as SmartTooltip } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartTooltip';
|
|
4424
|
-
export { default as InternalMarker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Marker';
|
|
4425
|
-
export { ThreeJSMarkerHandle } from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapObject';
|
|
4426
|
-
export { default as MapViewScene } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.Scene';
|
|
4427
|
-
export { default as MapViewStackScene } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.StackScene';
|
|
4428
|
-
export { default as Element } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Element';
|
|
4429
|
-
export { default as FlippableImage } from '@mappedin/mappedin-js/renderer/internal/Mappedin.FlippableImage';
|
|
4430
|
-
export { default as Building } from '@mappedin/mappedin-js/renderer/private/scene-manager/dynamic-focus-scene-manager/building';
|
|
4431
|
-
export { default as DynamicFocusScene } from '@mappedin/mappedin-js/renderer/private/scene-manager/dynamic-focus-scene-manager/dynamic-focus-scene';
|
|
4432
|
-
/**
|
|
4433
|
-
* Controllers/Managers
|
|
4434
|
-
*/
|
|
4435
|
-
export { default as PathsController, Path } from '@mappedin/mappedin-js/renderer/private/controllers/PathsController';
|
|
4436
|
-
export { default as FloatingLabelsController } from '@mappedin/mappedin-js/renderer/private/controllers/FloatingLabelsController';
|
|
4437
|
-
export { default as FlatLabelsController } from '@mappedin/mappedin-js/renderer/private/controllers/FlatLabelsController';
|
|
4438
|
-
export { default as PolygonColorsController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonColorsController';
|
|
4439
|
-
export { default as PolygonHoverColorsController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonHoverColorsController';
|
|
4440
|
-
export { default as MarkersController } from '@mappedin/mappedin-js/renderer/private/controllers/MarkersController';
|
|
4441
|
-
export { default as PolygonInteractionController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonInteractionController';
|
|
4442
|
-
export { default as TooltipsController } from '@mappedin/mappedin-js/renderer/private/controllers/TooltipsController';
|
|
4443
|
-
export { default as PolygonStatesController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonStatesController';
|
|
4444
|
-
export { default as PolygonImagesController } from '@mappedin/mappedin-js/renderer/private/controllers/PolygonImagesController';
|
|
4445
|
-
export { default as ThreeDMarkersController } from '@mappedin/mappedin-js/renderer/private/controllers/ThreeDMarkersController';
|
|
4446
|
-
export { default as BlueDotController } from '@mappedin/mappedin-js/renderer/private/controllers/BlueDotController';
|
|
4447
|
-
export { default as BlueDotManager } from '@mappedin/mappedin-js/renderer/internal/blue-dot-manager';
|
|
4448
|
-
export { default as CameraController } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
|
|
4449
|
-
export { default as EventSystem } from '@mappedin/mappedin-js/renderer/private/controllers/EventSystem';
|
|
4450
|
-
export { default as ClosedPolygonManager } from '@mappedin/mappedin-js/renderer/internal/Mappedin.ClosedPolygonManager';
|
|
4451
|
-
export { default as BinaryAssetManager } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BinaryAssetManager';
|
|
4452
|
-
export { default as SmartCollisionEngine } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4453
|
-
export { default as BillboardManager } from '@mappedin/mappedin-js/renderer/private/controllers/BillboardManager';
|
|
4454
|
-
export { default as StackedMapsController } from '@mappedin/mappedin-js/renderer/private/controllers/StackedMapsController';
|
|
4455
|
-
export { MultiBufferRenderer } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Renderer';
|
|
4456
|
-
export { JourneyController } from '@mappedin/mappedin-js/renderer/private/controllers/JourneyController';
|
|
4457
|
-
export { default as OutdoorViewController } from '@mappedin/mappedin-js/renderer/private/controllers/OutdoorViewController';
|
|
4458
|
-
export { default as ExportController } from '@mappedin/mappedin-js/renderer/private/controllers/ExportController';
|
|
4459
|
-
export { default as WatermarkController } from '@mappedin/mappedin-js/renderer/private/controllers/WatermarkController';
|
|
4460
|
-
export { default as LayerController } from '@mappedin/mappedin-js/renderer/private/controllers/LayerController';
|
|
4461
|
-
/**
|
|
4462
|
-
* Types
|
|
4463
|
-
*/
|
|
4464
|
-
export type { TSceneTransitionOptions } from '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.SceneManager';
|
|
4465
|
-
export type { IPositionUpdater, IBlueDotCore } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
4466
|
-
export type { TSafeAreaInsets, TCameraTargets, TFocusOnCameraOptions, TCameraTransform, TCameraAnimationOptions, } from '@mappedin/mappedin-js/renderer/private/controllers/CameraController';
|
|
4467
|
-
export type { TColliderPosition } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4468
|
-
export type { ICollider, TColliderStrategy } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4469
|
-
export { EColliderAction } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollider';
|
|
4470
|
-
export type { IHTMLCollider } from '@mappedin/mappedin-js/renderer/internal/Mappedin.HTMLCollider';
|
|
4471
|
-
export { COLLIDER_STRATEGY_LOW_PRIORITY } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4472
|
-
export { default as BlueDotCore } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.core';
|
|
4473
|
-
export { default as BlueDotUI } from '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.ui';
|
|
4474
|
-
export { default as CameraControls } from '@mappedin/mappedin-js/renderer/internal/Mappedin.CameraControls.js';
|
|
4475
|
-
export { default as Renderer } from '@mappedin/mappedin-js/renderer/internal/Mappedin.Renderer.js';
|
|
4476
|
-
export { determineStartingMap, getObject, getObjectId } from '@mappedin/mappedin-js/renderer/internal/utils';
|
|
4477
|
-
export { default as MapManager } from '@mappedin/mappedin-js/renderer/internal/Mappedin.MapManager';
|
|
4478
|
-
export { default as DebugUI } from '@mappedin/mappedin-js/renderer/internal/Mappedin.DebugUI';
|
|
4479
|
-
export { DebugUIScalarSlider, DebugUIColorPicker } from '@mappedin/mappedin-js/renderer/internal/Mappedin.DebugUIControl';
|
|
4480
|
-
export type { Collider, ColliderQuadTree } from '@mappedin/mappedin-js/renderer/internal/Mappedin.SmartCollisionEngine';
|
|
4481
|
-
export { MapView } from '@mappedin/mappedin-js/renderer/public/MapView';
|
|
4482
|
-
export { default as Logger } from '@mappedin/mappedin-js/common/Mappedin.Logger';
|
|
4483
|
-
export { TileManager, TILE_COLOR } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
|
|
4484
|
-
export type { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
|
|
4485
|
-
export * from '@mappedin/mappedin-js/renderer/private/Core';
|
|
4486
|
-
const setAssetManager: <T extends import("./internal/Mappedin.AssetManager").default>(am: T) => void;
|
|
4487
|
-
export { setAssetManager };
|
|
4488
|
-
export let MAPLIBRE_WORKER_URL: string;
|
|
4489
|
-
export function setMaplibreWorkerURL(url: string): void;
|
|
4490
|
-
}
|
|
4491
|
-
|
|
4492
|
-
declare module '@mappedin/mappedin-js/get-venue/MappedinDirections' {
|
|
4493
|
-
import { IDirectionsResult } from '@mappedin/mappedin-js/navigator';
|
|
4494
|
-
import { ACTION_TYPE, BEARING_TYPE } from '@mappedin/mappedin-js/navigator/Directive';
|
|
4495
|
-
import type { MappedinNode, MappedinVortex, MappedinMap, Mappedin } from '@mappedin/mappedin-js/get-venue/internal';
|
|
4496
|
-
export interface IActionDeparture {
|
|
4497
|
-
type: ACTION_TYPE.DEPARTURE;
|
|
4498
|
-
}
|
|
4499
|
-
export interface IActionArrival {
|
|
4500
|
-
type: ACTION_TYPE.ARRIVAL;
|
|
4501
|
-
}
|
|
4502
|
-
export interface IActionTakeVortex {
|
|
4503
|
-
type: ACTION_TYPE.TAKEVORTEX;
|
|
4504
|
-
toMap: MappedinMap;
|
|
4505
|
-
fromMap: MappedinMap;
|
|
4506
|
-
}
|
|
4507
|
-
export interface IActionExitVortex {
|
|
4508
|
-
type: ACTION_TYPE.EXITVORTEX;
|
|
4509
|
-
toMap: MappedinMap;
|
|
4510
|
-
fromMap: MappedinMap;
|
|
4511
|
-
}
|
|
4512
|
-
export interface IActionTurn {
|
|
4513
|
-
type: ACTION_TYPE.TURN;
|
|
4514
|
-
bearing: BEARING_TYPE;
|
|
4515
|
-
referencePosition?: string;
|
|
4516
|
-
}
|
|
4517
|
-
export type IAction = IActionArrival | IActionDeparture | IActionTurn | IActionTakeVortex | IActionExitVortex;
|
|
4518
|
-
/** this is the "overloaded" version of the directive, with get-venue classes instead of stubs */
|
|
4519
|
-
export type TMappedinDirective = {
|
|
4520
|
-
node: MappedinNode;
|
|
4521
|
-
/**
|
|
4522
|
-
* Distance from the last instruction to the current. Useful for turn by turn navigation
|
|
4523
|
-
*/
|
|
4524
|
-
distance: number;
|
|
4525
|
-
instruction: string;
|
|
4526
|
-
action?: IAction;
|
|
4527
|
-
atLocation?: MappedinVortex;
|
|
4528
|
-
type?: BEARING_TYPE;
|
|
4529
|
-
};
|
|
4530
|
-
/**
|
|
4531
|
-
* Directions Object
|
|
4541
|
+
* Directions Object
|
|
4532
4542
|
*/
|
|
4533
4543
|
export class MappedinDirections {
|
|
4534
4544
|
#private;
|
|
@@ -5597,6 +5607,51 @@ declare module '@mappedin/mappedin-js/get-venue/MappedinLocation' {
|
|
|
5597
5607
|
*/
|
|
5598
5608
|
get parent(): MappedinLocation | undefined;
|
|
5599
5609
|
set parent(parent: MappedinLocation | undefined);
|
|
5610
|
+
/**
|
|
5611
|
+
* Specific instances of this location with different properties.
|
|
5612
|
+
* Typically, there will be at least one node or polygon defined,
|
|
5613
|
+
* plus one or more other properties that are different from the parent.
|
|
5614
|
+
* The remaining properties will be the same as the parent.
|
|
5615
|
+
* For example, suppose there is a location like this:
|
|
5616
|
+
*
|
|
5617
|
+
* ```json
|
|
5618
|
+
* {
|
|
5619
|
+
* "id": "location-id-1",
|
|
5620
|
+
* "name": "Location 1",
|
|
5621
|
+
* "nodes": ["node-1", "node-2"],
|
|
5622
|
+
* "polygons": ["polygon-1", "polygon-2"],
|
|
5623
|
+
* "externalId": "externalId-1",
|
|
5624
|
+
* "description": "Description 1",
|
|
5625
|
+
* }
|
|
5626
|
+
* ```
|
|
5627
|
+
*
|
|
5628
|
+
* (Note that for clarity, we have put strings in for nodes and polygons, but in practice they would be objects.)
|
|
5629
|
+
*
|
|
5630
|
+
* Then suppose it had an `instances` array that contained an object that looked like this:
|
|
5631
|
+
*
|
|
5632
|
+
* ```json
|
|
5633
|
+
* {
|
|
5634
|
+
* "id": "instance-id-1",
|
|
5635
|
+
* "name": "Location 1 - A",
|
|
5636
|
+
* "nodes": ["node-1"],
|
|
5637
|
+
* "polygons": ["polygon-1"],
|
|
5638
|
+
* "externalId": "externalId-1-A",
|
|
5639
|
+
* "description": "Description 1",
|
|
5640
|
+
* }
|
|
5641
|
+
* ```
|
|
5642
|
+
* This says "Location 1" is the parent location, and "Location 1 - A" is an instance of it. The instance has a different name, and a different external ID, and it only applies to node `node-1` and polygon `polygon-1`.
|
|
5643
|
+
* The ID will always be different, but other properties (like the description) are the same as the parent.
|
|
5644
|
+
*
|
|
5645
|
+
* Example use cases:
|
|
5646
|
+
* - A Mall may have a location with two nodes and one polygon. It may then have an instance with one of the nodes, and operating hours
|
|
5647
|
+
* that are different from the parent. This indicates that this instance is an entrance for the location that is accessible at different times, perhaps for an interior mall entrance, when the main location (and other, exterior entrance) is open later than the rest of the mall.
|
|
5648
|
+
* - An airport may have a location with several polygons and nodes, and an instance for each node (and corresponding polygon, if any) with a different siblingGroup. The location in the sibling group may be the airport terminal, or airside vs landside.
|
|
5649
|
+
* This would allow an application to show the location once in a search result, but offer UX to select the instance that is in the right terminal.
|
|
5650
|
+
*
|
|
5651
|
+
* Note: Instances are actual EnterpriseLocations. This means they have all the properties of a normal EnterpriseLocation, including an `instances` property, that will always be undefined. They also do NOT have a parent property, or any other explicit reference to the parent location. These instances are
|
|
5652
|
+
* only referenced from their parent location, and will not show up in other places in the map data. However, they should otherwise behave like normal EnterpriseLocations, being targetable for things like navigation and focus.
|
|
5653
|
+
*/
|
|
5654
|
+
get instances(): MappedinLocation[];
|
|
5600
5655
|
/**
|
|
5601
5656
|
* Categories related to this location.
|
|
5602
5657
|
*
|
|
@@ -6892,7 +6947,7 @@ declare module '@mappedin/mappedin-js/renderer/index.rn' {
|
|
|
6892
6947
|
export type { ThingsOption } from '@mappedin/mappedin-js/renderer/MapView.types';
|
|
6893
6948
|
export type { IFlatLabels } from '@mappedin/mappedin-js/renderer/public/api/FlatLabels';
|
|
6894
6949
|
export type { IFloatingLabels } from '@mappedin/mappedin-js/renderer/public/api/FloatingLabels';
|
|
6895
|
-
export type { TBlueDotPositionUpdate, TBlueDotStateChange, TJourneyOptions, TMapViewOptions, TCreateMarkerOptions, TGeolocationObject, TPathOptions, TFlatLabelOptions, TAddFloatingLabelOptions, TAddFlatLabelOptions, TLabelAllLocationCommonOptions, TFloatingLabelAllLocationsOptions, TFlatLabelAllLocationsOptions, TLabelAllLocationFlatLabelOptions, TLabelAllLocationFloatingLabelOptions, TEnableBlueDotOptions, TFloatingLabelAppearance, TFlatLabelAppearance, CAMERA_EVENT_PAYLOAD, TMapClickEvent, TGetPolygonsAtCoordinateOptions, TShowVenueOptions, TAnimationOptions, } from '@mappedin/mappedin-js/renderer/MapView.types';
|
|
6950
|
+
export type { TBlueDotPositionUpdate, TBlueDotStateChange, TJourneyOptions, TMapViewOptions, TCreateMarkerOptions, TGeolocationObject, TPathOptions, TFlatLabelOptions, TAddFloatingLabelOptions, TAddFlatLabelOptions, TLabelAllLocationCommonOptions, TFloatingLabelAllLocationsOptions, TFlatLabelAllLocationsOptions, TLabelAllLocationFlatLabelOptions, TLabelAllLocationFloatingLabelOptions, TEnableBlueDotOptions, TFloatingLabelAppearance, TFlatLabelAppearance, CAMERA_EVENT_PAYLOAD, TMapClickEvent, TGetPolygonsAtCoordinateOptions, TShowVenueOptions, TAnimationOptions, TCreateTooltipOptions, } from '@mappedin/mappedin-js/renderer/MapView.types';
|
|
6896
6951
|
export { BEARING_TYPE, ACTION_TYPE } from '@mappedin/mappedin-js/navigator';
|
|
6897
6952
|
export type { IDirectionsResult, E_MESSAGES as E_GET_DIRECTIONS_MESSAGES } from '@mappedin/mappedin-js/navigator';
|
|
6898
6953
|
export type { TGetVenueBundleOptions, TGetVenueOptions, TGetVenueMakerOptions, TMappedinDirective, TMappedinOfflineSearchOptions, TMappedinOfflineSearchResult, TMappedinOfflineSearchSuggestions, TMappedinOfflineSearchAllOptions, TMappedinOfflineAllSearchMatch, TDirectionToOptions, } from '@mappedin/mappedin-js/get-venue';
|
|
@@ -6901,994 +6956,678 @@ declare module '@mappedin/mappedin-js/renderer/index.rn' {
|
|
|
6901
6956
|
export { MAP_RENDER_MODE } from '@mappedin/mappedin-js/get-venue/Mappedin.enums';
|
|
6902
6957
|
}
|
|
6903
6958
|
|
|
6904
|
-
declare module '@mappedin/mappedin-js/renderer/internal/
|
|
6905
|
-
import {
|
|
6906
|
-
import
|
|
6907
|
-
import
|
|
6908
|
-
import {
|
|
6909
|
-
|
|
6910
|
-
|
|
6911
|
-
|
|
6912
|
-
|
|
6913
|
-
|
|
6914
|
-
material?: MeshBasicMaterial;
|
|
6915
|
-
texture?: Texture;
|
|
6916
|
-
cache: {
|
|
6917
|
-
tileXY?: {
|
|
6918
|
-
tileX: number;
|
|
6919
|
-
tileY: number;
|
|
6959
|
+
declare module '@mappedin/mappedin-js/renderer/internal/json-scene-loader' {
|
|
6960
|
+
import { Group } from 'three';
|
|
6961
|
+
import { Element } from '@mappedin/mappedin-js/renderer/internal';
|
|
6962
|
+
import DefaultAssetManager from '@mappedin/mappedin-js/renderer/internal/Mappedin.AssetManager';
|
|
6963
|
+
import { MappedinMap, MappedinPolygon } from '@mappedin/mappedin-js/renderer/internal';
|
|
6964
|
+
import { type MAP_RENDER_MODE } from '@mappedin/mappedin-js/get-venue';
|
|
6965
|
+
class JSONSceneLoader {
|
|
6966
|
+
defaultExtrudeSettings: {
|
|
6967
|
+
amount: number;
|
|
6968
|
+
bevelEnabled: boolean;
|
|
6920
6969
|
};
|
|
6921
|
-
|
|
6922
|
-
|
|
6923
|
-
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
|
|
6927
|
-
|
|
6928
|
-
|
|
6929
|
-
|
|
6930
|
-
|
|
6931
|
-
|
|
6932
|
-
|
|
6970
|
+
materials: {};
|
|
6971
|
+
scale: number;
|
|
6972
|
+
assetManager: DefaultAssetManager;
|
|
6973
|
+
setAssetManager<T extends DefaultAssetManager>(am: T): void;
|
|
6974
|
+
overlayHeight: number;
|
|
6975
|
+
/**
|
|
6976
|
+
Takes in either an object containing polygons and generates a 3D scene based
|
|
6977
|
+
on it, or a string URL to fetch those polygons from.
|
|
6978
|
+
**/
|
|
6979
|
+
load(polygons: string | MappedinPolygon[], mapClass: MappedinMap, mapLoadingStrategy?: MAP_RENDER_MODE, allLayersVisible?: boolean): Promise<{
|
|
6980
|
+
container: Group<import("three").Object3DEventMap>;
|
|
6981
|
+
elements: (Element | null)[];
|
|
6982
|
+
visibleLayers: Set<unknown>;
|
|
6983
|
+
}>;
|
|
6984
|
+
_build(polygons: MappedinPolygon[], mapClass: MappedinMap, mapLoadingStrategy?: MAP_RENDER_MODE,
|
|
6985
|
+
/**
|
|
6986
|
+
* If true, sets all layers to be visible. If false, uses the layer visibility from the mapClass.
|
|
6987
|
+
*/
|
|
6988
|
+
allLayersVisible?: boolean): Promise<{
|
|
6989
|
+
container: Group<import("three").Object3DEventMap>;
|
|
6990
|
+
elements: (Element | null)[];
|
|
6991
|
+
visibleLayers: Set<unknown>;
|
|
6992
|
+
}>;
|
|
6933
6993
|
}
|
|
6994
|
+
const _default: JSONSceneLoader;
|
|
6995
|
+
export default _default;
|
|
6934
6996
|
}
|
|
6935
6997
|
|
|
6936
|
-
declare module '@mappedin/mappedin-js/renderer/
|
|
6937
|
-
|
|
6938
|
-
|
|
6939
|
-
|
|
6940
|
-
|
|
6941
|
-
|
|
6942
|
-
|
|
6943
|
-
|
|
6944
|
-
|
|
6998
|
+
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.RenderTasks' {
|
|
6999
|
+
/**
|
|
7000
|
+
* Tasks that can be submitted to the renderer. The `STATIC_AND_ANIMATED` task
|
|
7001
|
+
* is equivalent to a full re-render.
|
|
7002
|
+
*/
|
|
7003
|
+
enum RENDER {
|
|
7004
|
+
ANIMATED = "animated",
|
|
7005
|
+
ALWAYS_ON_TOP = "always_on_top",
|
|
7006
|
+
ALL = "all",
|
|
7007
|
+
TWEEN = "tween",
|
|
7008
|
+
COMPOSITE = "composite"
|
|
7009
|
+
}
|
|
7010
|
+
export default RENDER;
|
|
7011
|
+
}
|
|
7012
|
+
|
|
7013
|
+
declare module '@mappedin/mappedin-js/get-venue/Mappedin.TaskScheduler' {
|
|
7014
|
+
/**
|
|
7015
|
+
* A function that can be submitted to the Task Scheduler to run each frame for
|
|
7016
|
+
* some provided number of frames. A single update can be repeatedly submitted;
|
|
7017
|
+
* if the number of frames left on the update is less than `frameCount`, it will
|
|
7018
|
+
* be reset to `frameCount`.
|
|
7019
|
+
*
|
|
7020
|
+
* @class FrameUpdate
|
|
7021
|
+
* @private
|
|
7022
|
+
*/
|
|
7023
|
+
export class FrameUpdate {
|
|
6945
7024
|
/**
|
|
6946
|
-
*
|
|
7025
|
+
* Create a new frame update that can be submitted to a scheduler.
|
|
7026
|
+
* @constructor
|
|
7027
|
+
* @param [options] {Object} Options for the update
|
|
7028
|
+
* @param [options.callback] {function}
|
|
7029
|
+
* The actual function to run every time this update is scheduled for
|
|
7030
|
+
* a frame.
|
|
7031
|
+
* @param [options.frameCount=1] {number}
|
|
7032
|
+
* How many frames this update should run for when it's submitted to
|
|
7033
|
+
* a scheduler
|
|
7034
|
+
* @param [options.ordering=0] {number}
|
|
7035
|
+
* An ordering value that's used to determine the order in which
|
|
7036
|
+
* frame updates will be run within a frame; larger numbers will
|
|
7037
|
+
* be run first
|
|
7038
|
+
* @param [options.supersededBy=[]] {[FrameUpdate]}
|
|
7039
|
+
* If this update is scheduled to run in a frame, but another update in
|
|
7040
|
+
* the provided list is also scheduled to run on that frame, then
|
|
7041
|
+
* this update will not be run.
|
|
7042
|
+
* @param [options.name=undefined] {string}
|
|
7043
|
+
* If provided, an arbitrary name for logging purposes.
|
|
7044
|
+
* @param [options.userdata] {Any}
|
|
7045
|
+
* Arbitrary data that you can store along with this update.
|
|
6947
7046
|
*/
|
|
6948
|
-
|
|
7047
|
+
constructor(options: {
|
|
7048
|
+
callback: (...args: any[]) => any;
|
|
7049
|
+
frameCount?: number;
|
|
7050
|
+
ordering?: number;
|
|
7051
|
+
supersededBy?: Set<any>;
|
|
7052
|
+
name: string;
|
|
7053
|
+
userdata?: Record<string, any>;
|
|
7054
|
+
});
|
|
7055
|
+
_callback: (...args: any[]) => any;
|
|
7056
|
+
_frameCount: number;
|
|
7057
|
+
_ordering: number;
|
|
7058
|
+
_supersededBy: Set<any>;
|
|
7059
|
+
name: string;
|
|
7060
|
+
_remainingFrameCount: number;
|
|
7061
|
+
_lastFrameTime: number;
|
|
7062
|
+
userdata?: Record<string, any>;
|
|
6949
7063
|
/**
|
|
6950
|
-
*
|
|
7064
|
+
* Return the amount of time that this frame update took to execute during
|
|
7065
|
+
* its most recent execution, in milliseconds. If called during this frame
|
|
7066
|
+
* update, the value returned will be for the previous invocation. If called
|
|
7067
|
+
* before this frame update has been executed at least once, the returned
|
|
7068
|
+
* value is unspecified.
|
|
7069
|
+
*
|
|
7070
|
+
* @method lastFrameTime
|
|
7071
|
+
* @return {number} the previous frame time, in milliseconds
|
|
6951
7072
|
*/
|
|
6952
|
-
|
|
7073
|
+
getLastFrameTime(): number;
|
|
7074
|
+
}
|
|
7075
|
+
/**
|
|
7076
|
+
* A task that can be submitted to the Task Scheduler to be run every time
|
|
7077
|
+
* there is a frame update with spare time in the frame.
|
|
7078
|
+
*
|
|
7079
|
+
* @class FrameTask
|
|
7080
|
+
* @private
|
|
7081
|
+
*/
|
|
7082
|
+
export class FrameTask {
|
|
6953
7083
|
/**
|
|
6954
|
-
*
|
|
6955
|
-
*
|
|
7084
|
+
* Create a new frame task that can be submitted to a scheduler.
|
|
7085
|
+
* @constructor
|
|
7086
|
+
* @param [options] {Object} Options for the task
|
|
7087
|
+
* @param [options.callback] {function}
|
|
7088
|
+
* The actual function to run when this task is scheduled.
|
|
7089
|
+
* @param [options.group=null] {FrameTaskGroup}
|
|
7090
|
+
* If provided, a group to which this task will be added when scheduled
|
|
7091
|
+
* @param [options.priority=0] {number}
|
|
7092
|
+
* Tasks with higher priority will be taken from the queue before tasks
|
|
7093
|
+
* with a lower priority.
|
|
7094
|
+
* @param [options.postponeOnAdd=false] {number}
|
|
7095
|
+
* If true, this task will not be run until `resumeTask` is called on the
|
|
7096
|
+
* scheduler.
|
|
7097
|
+
* @param [options.name=undefined] {string}
|
|
7098
|
+
* If provided, an arbitrary name for logging purposes.
|
|
7099
|
+
* @param [options.userdata] {Any}
|
|
7100
|
+
* Arbitrary data that you can store along with this task.
|
|
6956
7101
|
*/
|
|
6957
|
-
|
|
7102
|
+
constructor(options: {
|
|
7103
|
+
userdata?: Record<string, any>;
|
|
7104
|
+
priority?: number;
|
|
7105
|
+
group?: FrameTaskGroup;
|
|
7106
|
+
postponeOnAdd?: number | boolean;
|
|
7107
|
+
name: string;
|
|
7108
|
+
lastFrameTime?: number;
|
|
7109
|
+
callback: (...args: any[]) => any;
|
|
7110
|
+
});
|
|
7111
|
+
_postponed: number | boolean;
|
|
7112
|
+
userdata: Record<string, any>;
|
|
7113
|
+
_priority: number;
|
|
7114
|
+
_group: FrameTaskGroup | null;
|
|
7115
|
+
name: string;
|
|
7116
|
+
_lastFrameTime: number;
|
|
7117
|
+
_callback: (...args: any[]) => any;
|
|
7118
|
+
_complete: boolean;
|
|
7119
|
+
_scheduled: boolean;
|
|
7120
|
+
_cancelled: boolean;
|
|
6958
7121
|
/**
|
|
6959
|
-
*
|
|
6960
|
-
*
|
|
7122
|
+
* Return true if this task has been run at least once.
|
|
7123
|
+
*
|
|
7124
|
+
* @method isComplete
|
|
7125
|
+
* @return {boolean}
|
|
6961
7126
|
*/
|
|
6962
|
-
|
|
7127
|
+
isComplete(): boolean;
|
|
6963
7128
|
/**
|
|
6964
|
-
*
|
|
7129
|
+
* Return the amount of time that this frame task took to execute,
|
|
7130
|
+
* in milliseconds. If this task has not yet completed, the returned value
|
|
7131
|
+
* is unspecified.
|
|
7132
|
+
*
|
|
7133
|
+
* @method lastFrameTime
|
|
7134
|
+
* @return {number} the frame time, in milliseconds
|
|
6965
7135
|
*/
|
|
6966
|
-
|
|
7136
|
+
getLastFrameTime(): number;
|
|
7137
|
+
}
|
|
7138
|
+
/**
|
|
7139
|
+
* A group of tasks that must all be completed before the group is considered
|
|
7140
|
+
* complete. The tasks will be automatically garbage collected so that references
|
|
7141
|
+
* to the task don't linger.
|
|
7142
|
+
*
|
|
7143
|
+
* @class FrameTaskGroup
|
|
7144
|
+
* @private
|
|
7145
|
+
*/
|
|
7146
|
+
export class FrameTaskGroup {
|
|
6967
7147
|
/**
|
|
6968
|
-
*
|
|
7148
|
+
* Create a new frame task group.
|
|
7149
|
+
*
|
|
7150
|
+
* @constructor
|
|
7151
|
+
* @param [options] {Object} Options for the task group
|
|
7152
|
+
* @param [options.onComplete] {function}
|
|
7153
|
+
* A callback that will be triggered once every task in this group
|
|
7154
|
+
* has been completed. This callback may schedule a task, and the
|
|
7155
|
+
* scheduler will run that task in the same frame, if there is still
|
|
7156
|
+
* frame time for it.
|
|
7157
|
+
* @param [options.priority=0] {number}
|
|
7158
|
+
* The priority of all the tasks in this group.
|
|
7159
|
+
* @param [options.postponeOnAdd=false] {number}
|
|
7160
|
+
* If true, tasks from this task group will not be run until `resumeTask`
|
|
7161
|
+
* is called on the scheduler with this group.
|
|
7162
|
+
* @param [options.name=undefined] {string}
|
|
7163
|
+
* If provided, an arbitrary name for logging purposes.
|
|
7164
|
+
* @param [options.userdata] {Any}
|
|
7165
|
+
* Arbitrary data that you can store along with this task group.
|
|
6969
7166
|
*/
|
|
6970
|
-
|
|
7167
|
+
constructor(options: {
|
|
7168
|
+
onComplete?: (...args: any[]) => any;
|
|
7169
|
+
priority?: number;
|
|
7170
|
+
userdata: Record<string, any>;
|
|
7171
|
+
postponeOnAdd: number | boolean;
|
|
7172
|
+
name: string;
|
|
7173
|
+
});
|
|
7174
|
+
_postponed: number | boolean;
|
|
7175
|
+
_onComplete: (...args: any[]) => any;
|
|
7176
|
+
_priority: number;
|
|
7177
|
+
userdata: Record<string, any>;
|
|
7178
|
+
name: string;
|
|
7179
|
+
_tasks: Set<any>;
|
|
7180
|
+
_scheduledTasks: Set<any>;
|
|
7181
|
+
_scheduled: boolean;
|
|
7182
|
+
_cancelled: boolean;
|
|
6971
7183
|
/**
|
|
6972
|
-
*
|
|
7184
|
+
* Return true if every task in this group has been run at least once.
|
|
7185
|
+
* @method isComplete
|
|
7186
|
+
* @return {boolean}
|
|
6973
7187
|
*/
|
|
6974
|
-
|
|
7188
|
+
isComplete(): boolean;
|
|
6975
7189
|
/**
|
|
6976
|
-
*
|
|
7190
|
+
* Return a list of tasks in this group. This will be a copy of the
|
|
7191
|
+
* underlying task group, so it's safe to mutate the group while
|
|
7192
|
+
* iterating over this array.
|
|
7193
|
+
*
|
|
7194
|
+
* @method tasks
|
|
7195
|
+
* @return {[FrameTask]} list of tasks in this group
|
|
6977
7196
|
*/
|
|
6978
|
-
|
|
7197
|
+
getTasks(): any[];
|
|
6979
7198
|
/**
|
|
6980
|
-
*
|
|
6981
|
-
*
|
|
7199
|
+
* Empty this task group. This will trivially satisfy `isComplete`.
|
|
7200
|
+
*
|
|
7201
|
+
* @method clear
|
|
6982
7202
|
*/
|
|
6983
|
-
|
|
6984
|
-
maxZoom?: number;
|
|
7203
|
+
clear(): void;
|
|
6985
7204
|
/**
|
|
6986
|
-
*
|
|
7205
|
+
* Return one arbitrary incomplete task from this group, or undefined if
|
|
7206
|
+
* there are none.
|
|
7207
|
+
*
|
|
7208
|
+
* @method _popTask
|
|
7209
|
+
* @return {FrameTask} arbitrary scheduled task
|
|
7210
|
+
* @private
|
|
6987
7211
|
*/
|
|
6988
|
-
|
|
6989
|
-
|
|
6990
|
-
points?: any[];
|
|
6991
|
-
boundingBox?: any;
|
|
6992
|
-
callback: () => void;
|
|
6993
|
-
cancelledCallback?: () => void;
|
|
6994
|
-
};
|
|
7212
|
+
_popTask(): any;
|
|
7213
|
+
}
|
|
6995
7214
|
/**
|
|
6996
|
-
*
|
|
6997
|
-
*
|
|
6998
|
-
* This causes the generation of the index.d.ts file to break entirely for some reason.
|
|
7215
|
+
* A timer for the task scheduler that uses real wall-time to determine if there's
|
|
7216
|
+
* enough remaining time in a frame to execute another task.
|
|
6999
7217
|
*
|
|
7000
|
-
*
|
|
7218
|
+
* @class RealTimeTimer
|
|
7219
|
+
* @private
|
|
7001
7220
|
*/
|
|
7002
|
-
export
|
|
7221
|
+
export class RealTimeTimer {
|
|
7222
|
+
_maxMillisecondsPerFrame: number;
|
|
7223
|
+
_time: number;
|
|
7003
7224
|
/**
|
|
7004
|
-
*
|
|
7225
|
+
* @constructor
|
|
7226
|
+
* @param [options] {Object} Options for the timer
|
|
7227
|
+
* @param [options.maxMillisecondsPerFrame]
|
|
7228
|
+
* If the time since the beginning of the frame has been less than
|
|
7229
|
+
* or equal to this value, then another task may be executed
|
|
7005
7230
|
*/
|
|
7006
|
-
|
|
7007
|
-
|
|
7008
|
-
|
|
7009
|
-
paths: PathsController;
|
|
7010
|
-
polygonColors: PolygonColorsController;
|
|
7011
|
-
polygonHoverColors: PolygonHoverColorsController;
|
|
7012
|
-
polygonInteraction: PolygonInteractionController;
|
|
7013
|
-
polygonStates: PolygonStatesController;
|
|
7014
|
-
polygonImages: PolygonImagesController;
|
|
7015
|
-
markers: MarkersController;
|
|
7016
|
-
tooltips: TooltipsController;
|
|
7017
|
-
threeDMarkers: ThreeDMarkersController;
|
|
7018
|
-
blueDot: BlueDotController;
|
|
7019
|
-
camera: CameraController;
|
|
7020
|
-
tileManager: TileManager;
|
|
7021
|
-
billboardManager: BillboardManager;
|
|
7022
|
-
stackedMaps: StackedMapsController;
|
|
7023
|
-
outdoorViewController?: OutdoorViewController;
|
|
7024
|
-
exportController: ExportController;
|
|
7025
|
-
watermark: WatermarkController;
|
|
7026
|
-
layerController: LayerController;
|
|
7027
|
-
state: STATE;
|
|
7028
|
-
options: TMapViewOptions & {
|
|
7029
|
-
onDataLoaded?: (data: Mappedin) => void;
|
|
7030
|
-
onFirstMapLoaded?: (data: Mappedin) => void;
|
|
7031
|
-
};
|
|
7032
|
-
currentPath?: MappedinNode[];
|
|
7033
|
-
referenceMap: MappedinMap;
|
|
7034
|
-
taskScheduler: TaskScheduler;
|
|
7035
|
-
sceneManager: SceneManager | undefined;
|
|
7036
|
-
loadOptions?: TMapViewOptions['loadOptions'];
|
|
7037
|
-
imageFlippingEnabled: boolean;
|
|
7038
|
-
imageFlippingCache: Record<any, any>;
|
|
7039
|
-
cachedPadding: TPadding;
|
|
7040
|
-
getCameraFrameForPoints: any;
|
|
7041
|
-
polygonMeshesById: Record<string, Mesh>;
|
|
7042
|
-
textLabelsByPolygonId: Record<string, FlatLabel>;
|
|
7043
|
-
renderer: any;
|
|
7044
|
-
scene: any;
|
|
7045
|
-
cameraParameters: Vector2;
|
|
7046
|
-
cameraParametersZoomVector: Vector2;
|
|
7047
|
-
resolution: Vector2;
|
|
7048
|
-
determineNewLabelSize: any;
|
|
7049
|
-
visibleMapsInCurrentScene: MappedinMap[];
|
|
7050
|
-
visibleLayersInCurrentScene: {
|
|
7051
|
-
[mapId: string]: MappedinPolygon['layer'][];
|
|
7052
|
-
};
|
|
7053
|
-
visibleMapObjectsInCurrentScene: MapObject[];
|
|
7054
|
-
mapSetInProgress: Promise<undefined>;
|
|
7055
|
-
mapSetResolved: (...args: any[]) => any;
|
|
7056
|
-
on<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: (payload: INTERNAL_EVENT_PAYLOAD[EVENT_NAME] extends {
|
|
7057
|
-
data: null;
|
|
7058
|
-
} ? INTERNAL_EVENT_PAYLOAD[EVENT_NAME]['data'] : INTERNAL_EVENT_PAYLOAD[EVENT_NAME]) => void): void;
|
|
7059
|
-
off<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: changeListenerFn<INTERNAL_EVENT_PAYLOAD[EVENT_NAME]>): void;
|
|
7060
|
-
publish<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, payload?: INTERNAL_EVENT_PAYLOAD[EVENT_NAME]): void;
|
|
7231
|
+
constructor(options?: {
|
|
7232
|
+
maxMillisecondsPerFrame?: number;
|
|
7233
|
+
});
|
|
7061
7234
|
/**
|
|
7062
|
-
*
|
|
7063
|
-
* but if you have some cool animations in mind, you can do it with the {{#crossLink "CameraControls"}}{{/crossLink}}.
|
|
7064
|
-
* Some of the functions don't do anything in 2D.
|
|
7235
|
+
* Begin timing a frame.
|
|
7065
7236
|
*
|
|
7237
|
+
* @method beginFrame
|
|
7066
7238
|
*/
|
|
7067
|
-
|
|
7239
|
+
beginFrame(): void;
|
|
7068
7240
|
/**
|
|
7069
|
-
*
|
|
7241
|
+
* If true, there is enough time remaining to execute another task.
|
|
7070
7242
|
*
|
|
7071
|
-
* @
|
|
7072
|
-
* @
|
|
7243
|
+
* @method hasTimeRemaining
|
|
7244
|
+
* @return {boolean}
|
|
7073
7245
|
*/
|
|
7074
|
-
|
|
7246
|
+
hasTimeRemaining(): boolean;
|
|
7247
|
+
}
|
|
7248
|
+
/**
|
|
7249
|
+
* A timer that ticks every time `hasTimeRemaining` is called.
|
|
7250
|
+
*
|
|
7251
|
+
* @class FixedTimer
|
|
7252
|
+
* @private
|
|
7253
|
+
*/
|
|
7254
|
+
export class FixedTimer {
|
|
7255
|
+
_ticks: number;
|
|
7256
|
+
maxTasksPerFrame: number;
|
|
7075
7257
|
/**
|
|
7076
|
-
*
|
|
7077
|
-
*
|
|
7078
|
-
* @
|
|
7079
|
-
*
|
|
7258
|
+
* @constructor
|
|
7259
|
+
* @param [options] {Object} Options for the timer
|
|
7260
|
+
* @param [options.maxTasksPerFrame=5]
|
|
7261
|
+
* The number of tasks that will be exceuted in a single update call.
|
|
7262
|
+
* Can be modified as the `maxTasksPerFrame` property on this boject.
|
|
7080
7263
|
*/
|
|
7081
|
-
|
|
7264
|
+
constructor(options?: {
|
|
7265
|
+
maxTasksPerFrame?: number;
|
|
7266
|
+
});
|
|
7082
7267
|
/**
|
|
7083
|
-
*
|
|
7268
|
+
* Begin timing a frame.
|
|
7084
7269
|
*
|
|
7270
|
+
* @method beginFrame
|
|
7085
7271
|
*/
|
|
7086
|
-
|
|
7272
|
+
beginFrame(): void;
|
|
7087
7273
|
/**
|
|
7088
|
-
*
|
|
7274
|
+
* If true, there is enough time remaining to execute another task.
|
|
7089
7275
|
*
|
|
7090
|
-
* @
|
|
7091
|
-
* @
|
|
7276
|
+
* @method hasTimeRemaining
|
|
7277
|
+
* @return {boolean}
|
|
7092
7278
|
*/
|
|
7093
|
-
|
|
7279
|
+
hasTimeRemaining(): boolean;
|
|
7280
|
+
}
|
|
7281
|
+
export type TaskSchedulerOptions = {
|
|
7282
|
+
timer?: RealTimeTimer;
|
|
7283
|
+
performance?: boolean;
|
|
7284
|
+
onUpdateEnd?: () => void;
|
|
7285
|
+
};
|
|
7286
|
+
/**
|
|
7287
|
+
* A class that handles scheduling tasks to be performed within the time
|
|
7288
|
+
* constraints of frame updates, triggered using `requestAnimationFrame`.
|
|
7289
|
+
*
|
|
7290
|
+
* Tasks can either be scheduled once per frame (called "frame updates"), or
|
|
7291
|
+
* to execute as many times per frame as there is room for after processing
|
|
7292
|
+
* all frame updates (called "frame tasks").
|
|
7293
|
+
*
|
|
7294
|
+
* Posted tasks will always run during the same frame, assuming there's time to
|
|
7295
|
+
* process them. However, an update or task that posts an update will not run
|
|
7296
|
+
* that update until the next frame.
|
|
7297
|
+
*
|
|
7298
|
+
* @class TaskScheduler
|
|
7299
|
+
* @private
|
|
7300
|
+
*/
|
|
7301
|
+
export class TaskScheduler {
|
|
7094
7302
|
/**
|
|
7095
|
-
*
|
|
7303
|
+
* Construct a new `TaskScheduler` with no tasks scheduled.
|
|
7096
7304
|
*
|
|
7097
|
-
* @
|
|
7305
|
+
* @constructor
|
|
7306
|
+
* @param [options] {Object} Options for the scheduler
|
|
7307
|
+
* @param [options.timer=new RealTimeTimer()]
|
|
7308
|
+
* Timer that determines whether there is sufficient time left in a frame
|
|
7309
|
+
* to continue executing tasks
|
|
7310
|
+
* @param [options.performance=false]
|
|
7311
|
+
* If true, this task scheduler will annotate tasks and frame updates with
|
|
7312
|
+
* performance information.
|
|
7098
7313
|
*/
|
|
7099
|
-
|
|
7100
|
-
|
|
7101
|
-
|
|
7102
|
-
|
|
7103
|
-
|
|
7104
|
-
|
|
7314
|
+
constructor(options?: TaskSchedulerOptions);
|
|
7315
|
+
_raf?: (callback: FrameRequestCallback) => number;
|
|
7316
|
+
options?: TaskSchedulerOptions;
|
|
7317
|
+
_timer: RealTimeTimer;
|
|
7318
|
+
_performance: boolean;
|
|
7319
|
+
_scheduledUpdatesByOrdering: Multimap;
|
|
7320
|
+
_scheduledTasksByPriority: Multimap;
|
|
7321
|
+
_postponedTasks: Set<any>;
|
|
7322
|
+
_requestAnimationFrameHandle: number | null;
|
|
7323
|
+
_updatesToRunThisFrame: any[];
|
|
7324
|
+
_lastFrameTime: number;
|
|
7325
|
+
_updatesRunLastFrame: Set<any>;
|
|
7105
7326
|
/**
|
|
7106
|
-
*
|
|
7327
|
+
* Empty the task scheduler's queue. All tasks in it will be cancelled.
|
|
7107
7328
|
*
|
|
7108
|
-
* @
|
|
7329
|
+
* @method clear
|
|
7109
7330
|
*/
|
|
7110
|
-
|
|
7331
|
+
clear(): void;
|
|
7111
7332
|
/**
|
|
7112
|
-
*
|
|
7333
|
+
* Destroy this task scheduler and remove all tasks from it.
|
|
7113
7334
|
*
|
|
7114
|
-
* @
|
|
7335
|
+
* @method destroy
|
|
7115
7336
|
*/
|
|
7116
|
-
|
|
7337
|
+
destroy(): void;
|
|
7117
7338
|
/**
|
|
7118
|
-
*
|
|
7119
|
-
*
|
|
7120
|
-
* is how you would do a compass rose.
|
|
7121
|
-
*
|
|
7122
|
-
* This will modify your element's transform.
|
|
7123
|
-
*
|
|
7124
|
-
* @param element The element on the page to rotate.
|
|
7125
|
-
* @param offset The amount to offset the rotation by, in radians.
|
|
7339
|
+
* Schedule this task scheduler to execute updates and tasks on the next
|
|
7340
|
+
* available animation frame.
|
|
7126
7341
|
*
|
|
7342
|
+
* @method requestAnimationFrame
|
|
7127
7343
|
*/
|
|
7128
|
-
|
|
7129
|
-
/**
|
|
7130
|
-
* Stops the MapView from trying to rotate your element with the camera. Do this if you remove the element, or want to stop it from rotating.
|
|
7131
|
-
* @param element The node to stop rotating. It won't reset the transform, just leave it as is.
|
|
7132
|
-
*/
|
|
7133
|
-
unlockNorth(element: HTMLElement): void;
|
|
7344
|
+
requestAnimationFrame(): void;
|
|
7134
7345
|
/**
|
|
7135
|
-
*
|
|
7346
|
+
* Run all scheduled updates, and re-schedule another animation frame if any
|
|
7347
|
+
* scheduled updates still exist. If any scheduled update specifies
|
|
7348
|
+
* `shouldRunTasksAfterCompletion`, this will also run queued tasks until the
|
|
7349
|
+
* frame time runs out.
|
|
7136
7350
|
*
|
|
7137
|
-
* @
|
|
7138
|
-
* @param
|
|
7139
|
-
*
|
|
7351
|
+
* @method update
|
|
7352
|
+
* @param timestamp {number} the current animation time, as returned from
|
|
7353
|
+
* `performance.now()`; will be automatically filled in by
|
|
7354
|
+
* `requestAnimationFrame` when it triggers this as a callback
|
|
7140
7355
|
*/
|
|
7141
|
-
|
|
7356
|
+
update(timestamp: number): void;
|
|
7142
7357
|
/**
|
|
7143
|
-
*
|
|
7358
|
+
* Execute all tasks that are currently pending, without regard for the
|
|
7359
|
+
* available frame time.
|
|
7144
7360
|
*
|
|
7145
|
-
* @
|
|
7146
|
-
* @param hoverableMeshChildren
|
|
7147
|
-
* @param options {@link TGetPolygonsAtCoordinateOptions}
|
|
7361
|
+
* @method flushTasks
|
|
7148
7362
|
*/
|
|
7149
|
-
|
|
7150
|
-
currentInteractionEvent: INTERNAL_EVENT | undefined;
|
|
7151
|
-
interactivePolygons: Record<string, boolean>;
|
|
7363
|
+
flushTasks(): void;
|
|
7152
7364
|
/**
|
|
7153
|
-
*
|
|
7365
|
+
* Return the amount of time elapsed during the last completed frame update,
|
|
7366
|
+
* in milliseconds. This value is unspecified if the task scheduler's
|
|
7367
|
+
* `update` method has not yet run or if the scheduler has been cleared.
|
|
7368
|
+
* If called during a frame update, this will
|
|
7369
|
+
* return the time elapsed during the previous frame update.
|
|
7370
|
+
*
|
|
7371
|
+
* @method lastFrameTime
|
|
7372
|
+
* @return {number} time elapsed during last frame update, in milliseconds
|
|
7154
7373
|
*/
|
|
7155
|
-
|
|
7374
|
+
getLastFrameTime(): number;
|
|
7156
7375
|
/**
|
|
7157
|
-
*
|
|
7376
|
+
* Return a set containing every update that was run during the previous
|
|
7377
|
+
* frame update. This will be empty if the task scheduler's `update` method
|
|
7378
|
+
* has not yet been run or if the scheduler has been cleared.
|
|
7158
7379
|
*/
|
|
7159
|
-
|
|
7380
|
+
getUpdatesRunLastFrame(): Set<any>;
|
|
7381
|
+
_executeOneTask(timestamp: number): void;
|
|
7160
7382
|
/**
|
|
7161
|
-
*
|
|
7383
|
+
* Schedule an update to be run for the next `update.frameCount` frames. If
|
|
7384
|
+
* the update already exists in the scheduler, the update's frame count will
|
|
7385
|
+
* be refreshed to `update.frameCount`. This will also schedule an animation
|
|
7386
|
+
* frame to begin processing the update.
|
|
7387
|
+
*
|
|
7388
|
+
* @method scheduleUpdate
|
|
7389
|
+
* @param task {FrameUpdate} the update to schedule
|
|
7162
7390
|
*/
|
|
7163
|
-
|
|
7391
|
+
scheduleUpdate(update: FrameUpdate): void;
|
|
7164
7392
|
/**
|
|
7165
|
-
*
|
|
7393
|
+
* Schedule a task to be run during a frame update. This will also schedule
|
|
7394
|
+
* an animation frame to begin processing the task queue.
|
|
7395
|
+
*
|
|
7396
|
+
* @method scheduleTask
|
|
7397
|
+
* @param task {FrameTask} the task to schedule
|
|
7166
7398
|
*/
|
|
7167
|
-
|
|
7168
|
-
getPositionLatLon(lat: number, lon: number, map?: MappedinMap | string | null): Vector3;
|
|
7169
|
-
currentScale: number;
|
|
7170
|
-
getPositionPolygon(polygon: MappedinPolygon | string): Vector3;
|
|
7399
|
+
scheduleTask(task: FrameTask): void;
|
|
7171
7400
|
/**
|
|
7172
|
-
*
|
|
7173
|
-
*
|
|
7401
|
+
* If the given update is in the queue, remove it.
|
|
7402
|
+
*
|
|
7403
|
+
* @method cancelUpdate
|
|
7404
|
+
* @param task {FrameUpdate} the update to cancel
|
|
7174
7405
|
*/
|
|
7175
|
-
|
|
7406
|
+
cancelUpdate(update: FrameUpdate): void;
|
|
7176
7407
|
/**
|
|
7177
|
-
*
|
|
7178
|
-
*
|
|
7179
|
-
*
|
|
7408
|
+
* If the given task or group is in the queue, remove it. Cancelling a
|
|
7409
|
+
* completed task is a no-op.
|
|
7410
|
+
*
|
|
7411
|
+
* Canceling an individual task will also remove it from its task group, if
|
|
7412
|
+
* it isn't already complete.
|
|
7413
|
+
*
|
|
7414
|
+
* @method cancelTask
|
|
7415
|
+
* @param task {FrameTask or FrameTaskGroup} the task to cancel
|
|
7180
7416
|
*/
|
|
7181
|
-
|
|
7182
|
-
x: number;
|
|
7183
|
-
y: number;
|
|
7184
|
-
}, mapClass?: MappedinMap): MappedinCoordinate;
|
|
7417
|
+
cancelTask(task: FrameTask | FrameTaskGroup): void;
|
|
7185
7418
|
/**
|
|
7186
|
-
*
|
|
7419
|
+
* Set the provided task or group not to run, until it's resumed using `resumeTask`.
|
|
7420
|
+
*
|
|
7421
|
+
* Tasks that are in a group can't be postponed individually; instead, call
|
|
7422
|
+
* `postponeTask` with the entire group.
|
|
7423
|
+
*
|
|
7424
|
+
* @method postponeTask
|
|
7425
|
+
* @param task {FrameTask or FrameTaskGroup} the task to postpone
|
|
7187
7426
|
*/
|
|
7188
|
-
|
|
7189
|
-
setPadding(padding: {
|
|
7190
|
-
top: number;
|
|
7191
|
-
left: number;
|
|
7192
|
-
bottom: number;
|
|
7193
|
-
right: number;
|
|
7194
|
-
}): void;
|
|
7195
|
-
smartCollisionEngine: SmartCollisionEngine;
|
|
7196
|
-
mapObjects: Map<MappedinMap['id'], MapObject>;
|
|
7427
|
+
postponeTask(task: FrameTask | FrameTaskGroup): void;
|
|
7197
7428
|
/**
|
|
7198
|
-
*
|
|
7199
|
-
*
|
|
7200
|
-
*
|
|
7201
|
-
*
|
|
7429
|
+
* Allow a postponed task or task group to resume processing. This will also
|
|
7430
|
+
* request an animation frame to allow the resumed task to be processed.
|
|
7431
|
+
*
|
|
7432
|
+
* Tasks that are in a group can't be resumed individually; instead, call
|
|
7433
|
+
* `resumeTask` with the entire group.
|
|
7434
|
+
*
|
|
7435
|
+
* @method resumeTask
|
|
7436
|
+
* @param task {FrameTask or FrameTaskGroup} the task to resume
|
|
7202
7437
|
*/
|
|
7203
|
-
|
|
7204
|
-
setMapReason?: E_MAP_CHANGED_REASON;
|
|
7205
|
-
setMap(mapOrMapId: MappedinMap | string): Promise<null>;
|
|
7206
|
-
setMapWithReason(mapOrMapId: MappedinMap | string, context: E_MAP_CHANGED_REASON): Promise<null>;
|
|
7207
|
-
getPositionNode(node: MappedinNode): Vector3;
|
|
7208
|
-
cameraObject: any;
|
|
7209
|
-
setBackgroundColor(color: string, alpha?: number): void;
|
|
7210
|
-
mapManager: any;
|
|
7211
|
-
focusOn(focusOptions: TFocusOptionsLegacy): Tween;
|
|
7212
|
-
canvasWidth: number;
|
|
7213
|
-
canvasHeight: number;
|
|
7214
|
-
setState(state: STATE): Promise<void>;
|
|
7215
|
-
getNearestNodeByScreenCoordinate(x: number, y: number, mapOrMapId?: MappedinMap | MappedinMap['id']): MappedinNode;
|
|
7216
|
-
destroy(): void;
|
|
7217
|
-
}
|
|
7218
|
-
}
|
|
7219
|
-
|
|
7220
|
-
declare module '@mappedin/mappedin-js/renderer/internal/json-scene-loader' {
|
|
7221
|
-
import { Group } from 'three';
|
|
7222
|
-
import { Element } from '@mappedin/mappedin-js/renderer/internal';
|
|
7223
|
-
import DefaultAssetManager from '@mappedin/mappedin-js/renderer/internal/Mappedin.AssetManager';
|
|
7224
|
-
import { MappedinMap, MappedinPolygon } from '@mappedin/mappedin-js/renderer/internal';
|
|
7225
|
-
import { type MAP_RENDER_MODE } from '@mappedin/mappedin-js/get-venue';
|
|
7226
|
-
class JSONSceneLoader {
|
|
7227
|
-
defaultExtrudeSettings: {
|
|
7228
|
-
amount: number;
|
|
7229
|
-
bevelEnabled: boolean;
|
|
7230
|
-
};
|
|
7231
|
-
materials: {};
|
|
7232
|
-
scale: number;
|
|
7233
|
-
assetManager: DefaultAssetManager;
|
|
7234
|
-
setAssetManager<T extends DefaultAssetManager>(am: T): void;
|
|
7235
|
-
overlayHeight: number;
|
|
7236
|
-
/**
|
|
7237
|
-
Takes in either an object containing polygons and generates a 3D scene based
|
|
7238
|
-
on it, or a string URL to fetch those polygons from.
|
|
7239
|
-
**/
|
|
7240
|
-
load(polygons: string | MappedinPolygon[], mapClass: MappedinMap, mapLoadingStrategy?: MAP_RENDER_MODE, allLayersVisible?: boolean): Promise<{
|
|
7241
|
-
container: Group<import("three").Object3DEventMap>;
|
|
7242
|
-
elements: (Element | null)[];
|
|
7243
|
-
visibleLayers: Set<unknown>;
|
|
7244
|
-
}>;
|
|
7245
|
-
_build(polygons: MappedinPolygon[], mapClass: MappedinMap, mapLoadingStrategy?: MAP_RENDER_MODE,
|
|
7438
|
+
resumeTask(task: FrameTask | FrameTaskGroup): void;
|
|
7246
7439
|
/**
|
|
7247
|
-
*
|
|
7440
|
+
* Change the priority of the given scheduled task or task group.
|
|
7441
|
+
*
|
|
7442
|
+
* @method setTaskPriority
|
|
7443
|
+
* @param task {FrameTask or FrameTaskGroup} the task whose priority will be changed
|
|
7444
|
+
* @param priority {number} the priority to assign the task
|
|
7248
7445
|
*/
|
|
7249
|
-
|
|
7250
|
-
container: Group<import("three").Object3DEventMap>;
|
|
7251
|
-
elements: (Element | null)[];
|
|
7252
|
-
visibleLayers: Set<unknown>;
|
|
7253
|
-
}>;
|
|
7254
|
-
}
|
|
7255
|
-
const _default: JSONSceneLoader;
|
|
7256
|
-
export default _default;
|
|
7257
|
-
}
|
|
7258
|
-
|
|
7259
|
-
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.RenderTasks' {
|
|
7260
|
-
/**
|
|
7261
|
-
* Tasks that can be submitted to the renderer. The `STATIC_AND_ANIMATED` task
|
|
7262
|
-
* is equivalent to a full re-render.
|
|
7263
|
-
*/
|
|
7264
|
-
enum RENDER {
|
|
7265
|
-
ANIMATED = "animated",
|
|
7266
|
-
ALWAYS_ON_TOP = "always_on_top",
|
|
7267
|
-
ALL = "all",
|
|
7268
|
-
TWEEN = "tween",
|
|
7269
|
-
COMPOSITE = "composite"
|
|
7446
|
+
setTaskPriority(task: FrameTask | FrameTaskGroup, priority: number): void;
|
|
7270
7447
|
}
|
|
7271
|
-
export default RENDER;
|
|
7272
|
-
}
|
|
7273
|
-
|
|
7274
|
-
declare module '@mappedin/mappedin-js/get-venue/Mappedin.TaskScheduler' {
|
|
7275
7448
|
/**
|
|
7276
|
-
* A
|
|
7277
|
-
* some provided number of frames. A single update can be repeatedly submitted;
|
|
7278
|
-
* if the number of frames left on the update is less than `frameCount`, it will
|
|
7279
|
-
* be reset to `frameCount`.
|
|
7449
|
+
* A map that maps a numeric key to a set of values.
|
|
7280
7450
|
*
|
|
7281
|
-
*
|
|
7451
|
+
* For use in the scheduler, we also maintain a sorted list of keys.
|
|
7452
|
+
*
|
|
7453
|
+
* @class Multimap
|
|
7282
7454
|
* @private
|
|
7283
7455
|
*/
|
|
7284
|
-
|
|
7456
|
+
class Multimap {
|
|
7285
7457
|
/**
|
|
7286
|
-
*
|
|
7287
|
-
* @constructor
|
|
7288
|
-
* @param [options] {Object} Options for the update
|
|
7289
|
-
* @param [options.callback] {function}
|
|
7290
|
-
* The actual function to run every time this update is scheduled for
|
|
7291
|
-
* a frame.
|
|
7292
|
-
* @param [options.frameCount=1] {number}
|
|
7293
|
-
* How many frames this update should run for when it's submitted to
|
|
7294
|
-
* a scheduler
|
|
7295
|
-
* @param [options.ordering=0] {number}
|
|
7296
|
-
* An ordering value that's used to determine the order in which
|
|
7297
|
-
* frame updates will be run within a frame; larger numbers will
|
|
7298
|
-
* be run first
|
|
7299
|
-
* @param [options.supersededBy=[]] {[FrameUpdate]}
|
|
7300
|
-
* If this update is scheduled to run in a frame, but another update in
|
|
7301
|
-
* the provided list is also scheduled to run on that frame, then
|
|
7302
|
-
* this update will not be run.
|
|
7303
|
-
* @param [options.name=undefined] {string}
|
|
7304
|
-
* If provided, an arbitrary name for logging purposes.
|
|
7305
|
-
* @param [options.userdata] {Any}
|
|
7306
|
-
* Arbitrary data that you can store along with this update.
|
|
7458
|
+
* @method constructor
|
|
7307
7459
|
*/
|
|
7308
|
-
constructor(
|
|
7309
|
-
|
|
7310
|
-
|
|
7311
|
-
|
|
7312
|
-
supersededBy?: Set<any>;
|
|
7313
|
-
name: string;
|
|
7314
|
-
userdata?: Record<string, any>;
|
|
7315
|
-
});
|
|
7316
|
-
_callback: (...args: any[]) => any;
|
|
7317
|
-
_frameCount: number;
|
|
7318
|
-
_ordering: number;
|
|
7319
|
-
_supersededBy: Set<any>;
|
|
7320
|
-
name: string;
|
|
7321
|
-
_remainingFrameCount: number;
|
|
7322
|
-
_lastFrameTime: number;
|
|
7323
|
-
userdata?: Record<string, any>;
|
|
7460
|
+
constructor();
|
|
7461
|
+
_map: Map<any, any>;
|
|
7462
|
+
_size: number;
|
|
7463
|
+
_sortedKeys: any[];
|
|
7324
7464
|
/**
|
|
7325
|
-
* Return
|
|
7326
|
-
* its most recent execution, in milliseconds. If called during this frame
|
|
7327
|
-
* update, the value returned will be for the previous invocation. If called
|
|
7328
|
-
* before this frame update has been executed at least once, the returned
|
|
7329
|
-
* value is unspecified.
|
|
7465
|
+
* Return true if the set for the given key contains the provided value.
|
|
7330
7466
|
*
|
|
7331
|
-
* @method
|
|
7332
|
-
* @
|
|
7467
|
+
* @method has
|
|
7468
|
+
* @param key {number} the key whose set to check
|
|
7469
|
+
* @param value {Any} the value to check
|
|
7333
7470
|
*/
|
|
7334
|
-
|
|
7335
|
-
}
|
|
7336
|
-
/**
|
|
7337
|
-
* A task that can be submitted to the Task Scheduler to be run every time
|
|
7338
|
-
* there is a frame update with spare time in the frame.
|
|
7339
|
-
*
|
|
7340
|
-
* @class FrameTask
|
|
7341
|
-
* @private
|
|
7342
|
-
*/
|
|
7343
|
-
export class FrameTask {
|
|
7471
|
+
has(key: number, value: any): any;
|
|
7344
7472
|
/**
|
|
7345
|
-
*
|
|
7346
|
-
*
|
|
7347
|
-
*
|
|
7348
|
-
*
|
|
7349
|
-
*
|
|
7350
|
-
*
|
|
7351
|
-
* If provided, a group to which this task will be added when scheduled
|
|
7352
|
-
* @param [options.priority=0] {number}
|
|
7353
|
-
* Tasks with higher priority will be taken from the queue before tasks
|
|
7354
|
-
* with a lower priority.
|
|
7355
|
-
* @param [options.postponeOnAdd=false] {number}
|
|
7356
|
-
* If true, this task will not be run until `resumeTask` is called on the
|
|
7357
|
-
* scheduler.
|
|
7358
|
-
* @param [options.name=undefined] {string}
|
|
7359
|
-
* If provided, an arbitrary name for logging purposes.
|
|
7360
|
-
* @param [options.userdata] {Any}
|
|
7361
|
-
* Arbitrary data that you can store along with this task.
|
|
7473
|
+
* Return the list of elements at the given key. Make sure not to modify
|
|
7474
|
+
* it, as it will mess up the total element count.
|
|
7475
|
+
*
|
|
7476
|
+
* @method get
|
|
7477
|
+
* @param key {number}
|
|
7478
|
+
* @param value {Set(Any)}
|
|
7362
7479
|
*/
|
|
7363
|
-
|
|
7364
|
-
userdata?: Record<string, any>;
|
|
7365
|
-
priority?: number;
|
|
7366
|
-
group?: FrameTaskGroup;
|
|
7367
|
-
postponeOnAdd?: number | boolean;
|
|
7368
|
-
name: string;
|
|
7369
|
-
lastFrameTime?: number;
|
|
7370
|
-
callback: (...args: any[]) => any;
|
|
7371
|
-
});
|
|
7372
|
-
_postponed: number | boolean;
|
|
7373
|
-
userdata: Record<string, any>;
|
|
7374
|
-
_priority: number;
|
|
7375
|
-
_group: FrameTaskGroup | null;
|
|
7376
|
-
name: string;
|
|
7377
|
-
_lastFrameTime: number;
|
|
7378
|
-
_callback: (...args: any[]) => any;
|
|
7379
|
-
_complete: boolean;
|
|
7380
|
-
_scheduled: boolean;
|
|
7381
|
-
_cancelled: boolean;
|
|
7480
|
+
get(key: number): any;
|
|
7382
7481
|
/**
|
|
7383
|
-
*
|
|
7384
|
-
*
|
|
7385
|
-
* @
|
|
7386
|
-
* @return {boolean}
|
|
7482
|
+
* @method insert
|
|
7483
|
+
* @param key {number} the key to which another value will be added
|
|
7484
|
+
* @param value {Any} the value to add to the key's set
|
|
7387
7485
|
*/
|
|
7388
|
-
|
|
7486
|
+
insert(key: number, value: any): void;
|
|
7389
7487
|
/**
|
|
7390
|
-
*
|
|
7391
|
-
*
|
|
7392
|
-
*
|
|
7393
|
-
*
|
|
7394
|
-
* @method lastFrameTime
|
|
7395
|
-
* @return {number} the frame time, in milliseconds
|
|
7488
|
+
* @method delete
|
|
7489
|
+
* @param key {number} the key at which the value is stored
|
|
7490
|
+
* @param value {Any} the value to delete
|
|
7396
7491
|
*/
|
|
7397
|
-
|
|
7398
|
-
}
|
|
7399
|
-
/**
|
|
7400
|
-
* A group of tasks that must all be completed before the group is considered
|
|
7401
|
-
* complete. The tasks will be automatically garbage collected so that references
|
|
7402
|
-
* to the task don't linger.
|
|
7403
|
-
*
|
|
7404
|
-
* @class FrameTaskGroup
|
|
7405
|
-
* @private
|
|
7406
|
-
*/
|
|
7407
|
-
export class FrameTaskGroup {
|
|
7492
|
+
delete(key: number, value: any): void;
|
|
7408
7493
|
/**
|
|
7409
|
-
*
|
|
7494
|
+
* Remove and return an arbitrary value from the set at the given key.
|
|
7410
7495
|
*
|
|
7411
|
-
*
|
|
7412
|
-
*
|
|
7413
|
-
*
|
|
7414
|
-
*
|
|
7415
|
-
* has been completed. This callback may schedule a task, and the
|
|
7416
|
-
* scheduler will run that task in the same frame, if there is still
|
|
7417
|
-
* frame time for it.
|
|
7418
|
-
* @param [options.priority=0] {number}
|
|
7419
|
-
* The priority of all the tasks in this group.
|
|
7420
|
-
* @param [options.postponeOnAdd=false] {number}
|
|
7421
|
-
* If true, tasks from this task group will not be run until `resumeTask`
|
|
7422
|
-
* is called on the scheduler with this group.
|
|
7423
|
-
* @param [options.name=undefined] {string}
|
|
7424
|
-
* If provided, an arbitrary name for logging purposes.
|
|
7425
|
-
* @param [options.userdata] {Any}
|
|
7426
|
-
* Arbitrary data that you can store along with this task group.
|
|
7496
|
+
* @method pop
|
|
7497
|
+
* @param key {number} the key from which to remove a value
|
|
7498
|
+
* @return {Any} arbitrary value from the given key's set, or undefined if
|
|
7499
|
+
* the set at the given key is empty.
|
|
7427
7500
|
*/
|
|
7428
|
-
|
|
7429
|
-
onComplete?: (...args: any[]) => any;
|
|
7430
|
-
priority?: number;
|
|
7431
|
-
userdata: Record<string, any>;
|
|
7432
|
-
postponeOnAdd: number | boolean;
|
|
7433
|
-
name: string;
|
|
7434
|
-
});
|
|
7435
|
-
_postponed: number | boolean;
|
|
7436
|
-
_onComplete: (...args: any[]) => any;
|
|
7437
|
-
_priority: number;
|
|
7438
|
-
userdata: Record<string, any>;
|
|
7439
|
-
name: string;
|
|
7440
|
-
_tasks: Set<any>;
|
|
7441
|
-
_scheduledTasks: Set<any>;
|
|
7442
|
-
_scheduled: boolean;
|
|
7443
|
-
_cancelled: boolean;
|
|
7501
|
+
pop(key: number): any;
|
|
7444
7502
|
/**
|
|
7445
|
-
*
|
|
7446
|
-
*
|
|
7447
|
-
*
|
|
7503
|
+
* Remove and return an arbitrary value from the set corresponding to
|
|
7504
|
+
* the key with the highest numeric value, using the javascript `<`
|
|
7505
|
+
* operator.
|
|
7506
|
+
*
|
|
7507
|
+
* @method popFromMaxKey
|
|
7508
|
+
* @return {Any} arbitrary value from the highest key's set, or undefined
|
|
7509
|
+
* if the map is empty
|
|
7448
7510
|
*/
|
|
7449
|
-
|
|
7511
|
+
popFromMaxKey(): any;
|
|
7450
7512
|
/**
|
|
7451
|
-
* Return
|
|
7452
|
-
*
|
|
7453
|
-
*
|
|
7513
|
+
* Return an iterator over every value in this multimap, at every key.
|
|
7514
|
+
* Mutating the multimap during iteration will result in undefined
|
|
7515
|
+
* behaviour.
|
|
7454
7516
|
*
|
|
7455
|
-
* @method
|
|
7456
|
-
* @return {
|
|
7517
|
+
* @method values
|
|
7518
|
+
* @return {Iterator} iterator over the values in the map
|
|
7457
7519
|
*/
|
|
7458
|
-
|
|
7520
|
+
values(): {
|
|
7521
|
+
[Symbol.iterator]: () => any;
|
|
7522
|
+
next: () => any;
|
|
7523
|
+
};
|
|
7459
7524
|
/**
|
|
7460
|
-
*
|
|
7525
|
+
* A list of keys in this set, sorted by numeric value. Not cloned,
|
|
7526
|
+
* for efficiency's sake, so please don't mutate it.
|
|
7461
7527
|
*
|
|
7462
|
-
* @method
|
|
7528
|
+
* @method keys
|
|
7529
|
+
* @return {[number]} sorted list of numeric keys in the map
|
|
7463
7530
|
*/
|
|
7464
|
-
|
|
7531
|
+
keys(): any[];
|
|
7465
7532
|
/**
|
|
7466
|
-
*
|
|
7467
|
-
*
|
|
7533
|
+
* The number of elements in this multimap, equal to the sum of the sizes
|
|
7534
|
+
* of each key's set of values.
|
|
7468
7535
|
*
|
|
7469
|
-
* @
|
|
7470
|
-
* @return {FrameTask} arbitrary scheduled task
|
|
7471
|
-
* @private
|
|
7536
|
+
* @property size {number} number of elements in this multimap
|
|
7472
7537
|
*/
|
|
7473
|
-
|
|
7538
|
+
get size(): number;
|
|
7474
7539
|
}
|
|
7475
|
-
|
|
7476
|
-
|
|
7477
|
-
|
|
7478
|
-
|
|
7479
|
-
|
|
7480
|
-
|
|
7481
|
-
|
|
7482
|
-
export
|
|
7483
|
-
_maxMillisecondsPerFrame: number;
|
|
7484
|
-
_time: number;
|
|
7540
|
+
export {};
|
|
7541
|
+
}
|
|
7542
|
+
|
|
7543
|
+
declare module '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.SceneManager' {
|
|
7544
|
+
import { MappedinMap } from '@mappedin/mappedin-js/get-venue';
|
|
7545
|
+
import type { ICore, TCameraAnimationOptions, TFocusOnCameraOptions, TCameraTargets, MapViewStackScene } from '@mappedin/mappedin-js/renderer/internal';
|
|
7546
|
+
import { MapObject, MapViewScene } from '@mappedin/mappedin-js/renderer/internal';
|
|
7547
|
+
export type TSceneTransitionOptions = {
|
|
7485
7548
|
/**
|
|
7486
|
-
*
|
|
7487
|
-
*
|
|
7488
|
-
* @param [options.maxMillisecondsPerFrame]
|
|
7489
|
-
* If the time since the beginning of the frame has been less than
|
|
7490
|
-
* or equal to this value, then another task may be executed
|
|
7549
|
+
* Map to set as active during the transition. This will decide where the camera will be positioned, as well as which
|
|
7550
|
+
* colliders are enabled.
|
|
7491
7551
|
*/
|
|
7492
|
-
|
|
7493
|
-
|
|
7494
|
-
});
|
|
7552
|
+
activeMap?: MappedinMap;
|
|
7553
|
+
verticalDistanceBetweenMaps?: number;
|
|
7495
7554
|
/**
|
|
7496
|
-
*
|
|
7497
|
-
*
|
|
7498
|
-
*
|
|
7555
|
+
* Whether to auto focus on the active map or leave the camera where it is.
|
|
7556
|
+
* For single building venues, this should look the same way it did with MapManager
|
|
7557
|
+
* For multi-building venues, this means the camera will not pan over to where the active map
|
|
7558
|
+
* is relative to the world, which may look like broken behavior.
|
|
7559
|
+
* @default true
|
|
7499
7560
|
*/
|
|
7500
|
-
|
|
7561
|
+
autoFocusOnActiveMap?: boolean;
|
|
7501
7562
|
/**
|
|
7502
|
-
*
|
|
7503
|
-
*
|
|
7504
|
-
* @method hasTimeRemaining
|
|
7505
|
-
* @return {boolean}
|
|
7563
|
+
* Where to focus the camera during transition to Scene. Will focus to fit the map if not provided.
|
|
7564
|
+
* Currently, will discard any targets that are not on the active map.
|
|
7506
7565
|
*/
|
|
7507
|
-
|
|
7566
|
+
focusOn?: {
|
|
7567
|
+
targets?: TCameraTargets;
|
|
7568
|
+
options?: TFocusOnCameraOptions & TCameraAnimationOptions;
|
|
7569
|
+
};
|
|
7570
|
+
};
|
|
7571
|
+
class SceneManager {
|
|
7572
|
+
core: ICore;
|
|
7573
|
+
currentScene: MapViewScene | MapViewStackScene;
|
|
7574
|
+
/**
|
|
7575
|
+
* MapObjects that have been loaded and positioned in the scene
|
|
7576
|
+
*/
|
|
7577
|
+
processedMapObjects: Set<MapObject>;
|
|
7578
|
+
constructor(core: ICore, startingScene: MapViewScene);
|
|
7579
|
+
get currentMap(): MappedinMap;
|
|
7580
|
+
renderGrid(): void;
|
|
7581
|
+
transitionTo(scene: MapViewScene, transitionOptions?: TSceneTransitionOptions): Promise<void>;
|
|
7582
|
+
}
|
|
7583
|
+
export default SceneManager;
|
|
7584
|
+
}
|
|
7585
|
+
|
|
7586
|
+
declare module '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.DynamicFocusSceneManager' {
|
|
7587
|
+
import { MappedinMap, MappedinMapGroup } from '@mappedin/mappedin-js/get-venue';
|
|
7588
|
+
import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
|
|
7589
|
+
import { MapViewScene, DynamicFocusScene } from '@mappedin/mappedin-js/renderer/internal';
|
|
7590
|
+
class DynamicFocusSceneManager {
|
|
7591
|
+
dynamicFocusScene: DynamicFocusScene;
|
|
7592
|
+
core: ICore;
|
|
7593
|
+
constructor(core: ICore, baseMap: MappedinMap);
|
|
7594
|
+
panBounds: any;
|
|
7595
|
+
mapShouldSetOnUserInteraction: boolean;
|
|
7596
|
+
get currentScene(): {
|
|
7597
|
+
resize: () => void;
|
|
7598
|
+
currentMap: MappedinMap;
|
|
7599
|
+
mapObjects: Map<string, import("../../internal/Mappedin.MapObject").default>;
|
|
7600
|
+
};
|
|
7601
|
+
get currentMap(): MappedinMap;
|
|
7602
|
+
setDefaultMapForMapGroup(mapGroup: MappedinMapGroup, map: MappedinMap): void;
|
|
7603
|
+
resetDefaultMapForMapGroup(mapGroup: MappedinMapGroup): void;
|
|
7604
|
+
determineTargetMap(): void;
|
|
7605
|
+
update(): void;
|
|
7606
|
+
transitionTo(scene?: MapViewScene): Promise<void>;
|
|
7508
7607
|
}
|
|
7608
|
+
export default DynamicFocusSceneManager;
|
|
7609
|
+
}
|
|
7610
|
+
|
|
7611
|
+
declare module '@mappedin/mappedin-js/get-venue/pub-sub.typed' {
|
|
7509
7612
|
/**
|
|
7510
|
-
*
|
|
7613
|
+
* Generic PubSub class implementing the Publish-Subscribe pattern for event handling.
|
|
7511
7614
|
*
|
|
7512
|
-
* @
|
|
7513
|
-
* @
|
|
7615
|
+
* @template EVENT_PAYLOAD - The type of the event payload.
|
|
7616
|
+
* @template EVENT - The type of the event.
|
|
7514
7617
|
*/
|
|
7515
|
-
export class
|
|
7516
|
-
_ticks: number;
|
|
7517
|
-
maxTasksPerFrame: number;
|
|
7618
|
+
export class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EVENT_PAYLOAD> {
|
|
7518
7619
|
/**
|
|
7519
|
-
* @
|
|
7520
|
-
* @
|
|
7521
|
-
* @param [options.maxTasksPerFrame=5]
|
|
7522
|
-
* The number of tasks that will be exceuted in a single update call.
|
|
7523
|
-
* Can be modified as the `maxTasksPerFrame` property on this boject.
|
|
7620
|
+
* @private
|
|
7621
|
+
* @internal
|
|
7524
7622
|
*/
|
|
7525
|
-
|
|
7526
|
-
maxTasksPerFrame?: number;
|
|
7527
|
-
});
|
|
7623
|
+
_subscribers: any;
|
|
7528
7624
|
/**
|
|
7529
|
-
*
|
|
7530
|
-
*
|
|
7531
|
-
* @method beginFrame
|
|
7625
|
+
* @private
|
|
7626
|
+
* @internal
|
|
7532
7627
|
*/
|
|
7533
|
-
|
|
7628
|
+
publish<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, data?: EVENT_PAYLOAD[EVENT_NAME]): void;
|
|
7534
7629
|
/**
|
|
7535
|
-
*
|
|
7536
|
-
*
|
|
7537
|
-
* @method hasTimeRemaining
|
|
7538
|
-
* @return {boolean}
|
|
7539
|
-
*/
|
|
7540
|
-
hasTimeRemaining(): boolean;
|
|
7541
|
-
}
|
|
7542
|
-
export type TaskSchedulerOptions = {
|
|
7543
|
-
timer?: RealTimeTimer;
|
|
7544
|
-
performance?: boolean;
|
|
7545
|
-
onUpdateEnd?: () => void;
|
|
7546
|
-
};
|
|
7547
|
-
/**
|
|
7548
|
-
* A class that handles scheduling tasks to be performed within the time
|
|
7549
|
-
* constraints of frame updates, triggered using `requestAnimationFrame`.
|
|
7550
|
-
*
|
|
7551
|
-
* Tasks can either be scheduled once per frame (called "frame updates"), or
|
|
7552
|
-
* to execute as many times per frame as there is room for after processing
|
|
7553
|
-
* all frame updates (called "frame tasks").
|
|
7554
|
-
*
|
|
7555
|
-
* Posted tasks will always run during the same frame, assuming there's time to
|
|
7556
|
-
* process them. However, an update or task that posts an update will not run
|
|
7557
|
-
* that update until the next frame.
|
|
7558
|
-
*
|
|
7559
|
-
* @class TaskScheduler
|
|
7560
|
-
* @private
|
|
7561
|
-
*/
|
|
7562
|
-
export class TaskScheduler {
|
|
7563
|
-
/**
|
|
7564
|
-
* Construct a new `TaskScheduler` with no tasks scheduled.
|
|
7565
|
-
*
|
|
7566
|
-
* @constructor
|
|
7567
|
-
* @param [options] {Object} Options for the scheduler
|
|
7568
|
-
* @param [options.timer=new RealTimeTimer()]
|
|
7569
|
-
* Timer that determines whether there is sufficient time left in a frame
|
|
7570
|
-
* to continue executing tasks
|
|
7571
|
-
* @param [options.performance=false]
|
|
7572
|
-
* If true, this task scheduler will annotate tasks and frame updates with
|
|
7573
|
-
* performance information.
|
|
7574
|
-
*/
|
|
7575
|
-
constructor(options?: TaskSchedulerOptions);
|
|
7576
|
-
_raf?: (callback: FrameRequestCallback) => number;
|
|
7577
|
-
options?: TaskSchedulerOptions;
|
|
7578
|
-
_timer: RealTimeTimer;
|
|
7579
|
-
_performance: boolean;
|
|
7580
|
-
_scheduledUpdatesByOrdering: Multimap;
|
|
7581
|
-
_scheduledTasksByPriority: Multimap;
|
|
7582
|
-
_postponedTasks: Set<any>;
|
|
7583
|
-
_requestAnimationFrameHandle: number | null;
|
|
7584
|
-
_updatesToRunThisFrame: any[];
|
|
7585
|
-
_lastFrameTime: number;
|
|
7586
|
-
_updatesRunLastFrame: Set<any>;
|
|
7587
|
-
/**
|
|
7588
|
-
* Empty the task scheduler's queue. All tasks in it will be cancelled.
|
|
7589
|
-
*
|
|
7590
|
-
* @method clear
|
|
7591
|
-
*/
|
|
7592
|
-
clear(): void;
|
|
7593
|
-
/**
|
|
7594
|
-
* Destroy this task scheduler and remove all tasks from it.
|
|
7595
|
-
*
|
|
7596
|
-
* @method destroy
|
|
7597
|
-
*/
|
|
7598
|
-
destroy(): void;
|
|
7599
|
-
/**
|
|
7600
|
-
* Schedule this task scheduler to execute updates and tasks on the next
|
|
7601
|
-
* available animation frame.
|
|
7602
|
-
*
|
|
7603
|
-
* @method requestAnimationFrame
|
|
7604
|
-
*/
|
|
7605
|
-
requestAnimationFrame(): void;
|
|
7606
|
-
/**
|
|
7607
|
-
* Run all scheduled updates, and re-schedule another animation frame if any
|
|
7608
|
-
* scheduled updates still exist. If any scheduled update specifies
|
|
7609
|
-
* `shouldRunTasksAfterCompletion`, this will also run queued tasks until the
|
|
7610
|
-
* frame time runs out.
|
|
7611
|
-
*
|
|
7612
|
-
* @method update
|
|
7613
|
-
* @param timestamp {number} the current animation time, as returned from
|
|
7614
|
-
* `performance.now()`; will be automatically filled in by
|
|
7615
|
-
* `requestAnimationFrame` when it triggers this as a callback
|
|
7616
|
-
*/
|
|
7617
|
-
update(timestamp: number): void;
|
|
7618
|
-
/**
|
|
7619
|
-
* Execute all tasks that are currently pending, without regard for the
|
|
7620
|
-
* available frame time.
|
|
7621
|
-
*
|
|
7622
|
-
* @method flushTasks
|
|
7623
|
-
*/
|
|
7624
|
-
flushTasks(): void;
|
|
7625
|
-
/**
|
|
7626
|
-
* Return the amount of time elapsed during the last completed frame update,
|
|
7627
|
-
* in milliseconds. This value is unspecified if the task scheduler's
|
|
7628
|
-
* `update` method has not yet run or if the scheduler has been cleared.
|
|
7629
|
-
* If called during a frame update, this will
|
|
7630
|
-
* return the time elapsed during the previous frame update.
|
|
7631
|
-
*
|
|
7632
|
-
* @method lastFrameTime
|
|
7633
|
-
* @return {number} time elapsed during last frame update, in milliseconds
|
|
7634
|
-
*/
|
|
7635
|
-
getLastFrameTime(): number;
|
|
7636
|
-
/**
|
|
7637
|
-
* Return a set containing every update that was run during the previous
|
|
7638
|
-
* frame update. This will be empty if the task scheduler's `update` method
|
|
7639
|
-
* has not yet been run or if the scheduler has been cleared.
|
|
7640
|
-
*/
|
|
7641
|
-
getUpdatesRunLastFrame(): Set<any>;
|
|
7642
|
-
_executeOneTask(timestamp: number): void;
|
|
7643
|
-
/**
|
|
7644
|
-
* Schedule an update to be run for the next `update.frameCount` frames. If
|
|
7645
|
-
* the update already exists in the scheduler, the update's frame count will
|
|
7646
|
-
* be refreshed to `update.frameCount`. This will also schedule an animation
|
|
7647
|
-
* frame to begin processing the update.
|
|
7648
|
-
*
|
|
7649
|
-
* @method scheduleUpdate
|
|
7650
|
-
* @param task {FrameUpdate} the update to schedule
|
|
7651
|
-
*/
|
|
7652
|
-
scheduleUpdate(update: FrameUpdate): void;
|
|
7653
|
-
/**
|
|
7654
|
-
* Schedule a task to be run during a frame update. This will also schedule
|
|
7655
|
-
* an animation frame to begin processing the task queue.
|
|
7656
|
-
*
|
|
7657
|
-
* @method scheduleTask
|
|
7658
|
-
* @param task {FrameTask} the task to schedule
|
|
7659
|
-
*/
|
|
7660
|
-
scheduleTask(task: FrameTask): void;
|
|
7661
|
-
/**
|
|
7662
|
-
* If the given update is in the queue, remove it.
|
|
7663
|
-
*
|
|
7664
|
-
* @method cancelUpdate
|
|
7665
|
-
* @param task {FrameUpdate} the update to cancel
|
|
7666
|
-
*/
|
|
7667
|
-
cancelUpdate(update: FrameUpdate): void;
|
|
7668
|
-
/**
|
|
7669
|
-
* If the given task or group is in the queue, remove it. Cancelling a
|
|
7670
|
-
* completed task is a no-op.
|
|
7671
|
-
*
|
|
7672
|
-
* Canceling an individual task will also remove it from its task group, if
|
|
7673
|
-
* it isn't already complete.
|
|
7674
|
-
*
|
|
7675
|
-
* @method cancelTask
|
|
7676
|
-
* @param task {FrameTask or FrameTaskGroup} the task to cancel
|
|
7677
|
-
*/
|
|
7678
|
-
cancelTask(task: FrameTask | FrameTaskGroup): void;
|
|
7679
|
-
/**
|
|
7680
|
-
* Set the provided task or group not to run, until it's resumed using `resumeTask`.
|
|
7681
|
-
*
|
|
7682
|
-
* Tasks that are in a group can't be postponed individually; instead, call
|
|
7683
|
-
* `postponeTask` with the entire group.
|
|
7684
|
-
*
|
|
7685
|
-
* @method postponeTask
|
|
7686
|
-
* @param task {FrameTask or FrameTaskGroup} the task to postpone
|
|
7687
|
-
*/
|
|
7688
|
-
postponeTask(task: FrameTask | FrameTaskGroup): void;
|
|
7689
|
-
/**
|
|
7690
|
-
* Allow a postponed task or task group to resume processing. This will also
|
|
7691
|
-
* request an animation frame to allow the resumed task to be processed.
|
|
7692
|
-
*
|
|
7693
|
-
* Tasks that are in a group can't be resumed individually; instead, call
|
|
7694
|
-
* `resumeTask` with the entire group.
|
|
7695
|
-
*
|
|
7696
|
-
* @method resumeTask
|
|
7697
|
-
* @param task {FrameTask or FrameTaskGroup} the task to resume
|
|
7698
|
-
*/
|
|
7699
|
-
resumeTask(task: FrameTask | FrameTaskGroup): void;
|
|
7700
|
-
/**
|
|
7701
|
-
* Change the priority of the given scheduled task or task group.
|
|
7702
|
-
*
|
|
7703
|
-
* @method setTaskPriority
|
|
7704
|
-
* @param task {FrameTask or FrameTaskGroup} the task whose priority will be changed
|
|
7705
|
-
* @param priority {number} the priority to assign the task
|
|
7706
|
-
*/
|
|
7707
|
-
setTaskPriority(task: FrameTask | FrameTaskGroup, priority: number): void;
|
|
7708
|
-
}
|
|
7709
|
-
/**
|
|
7710
|
-
* A map that maps a numeric key to a set of values.
|
|
7711
|
-
*
|
|
7712
|
-
* For use in the scheduler, we also maintain a sorted list of keys.
|
|
7713
|
-
*
|
|
7714
|
-
* @class Multimap
|
|
7715
|
-
* @private
|
|
7716
|
-
*/
|
|
7717
|
-
class Multimap {
|
|
7718
|
-
/**
|
|
7719
|
-
* @method constructor
|
|
7720
|
-
*/
|
|
7721
|
-
constructor();
|
|
7722
|
-
_map: Map<any, any>;
|
|
7723
|
-
_size: number;
|
|
7724
|
-
_sortedKeys: any[];
|
|
7725
|
-
/**
|
|
7726
|
-
* Return true if the set for the given key contains the provided value.
|
|
7727
|
-
*
|
|
7728
|
-
* @method has
|
|
7729
|
-
* @param key {number} the key whose set to check
|
|
7730
|
-
* @param value {Any} the value to check
|
|
7731
|
-
*/
|
|
7732
|
-
has(key: number, value: any): any;
|
|
7733
|
-
/**
|
|
7734
|
-
* Return the list of elements at the given key. Make sure not to modify
|
|
7735
|
-
* it, as it will mess up the total element count.
|
|
7736
|
-
*
|
|
7737
|
-
* @method get
|
|
7738
|
-
* @param key {number}
|
|
7739
|
-
* @param value {Set(Any)}
|
|
7740
|
-
*/
|
|
7741
|
-
get(key: number): any;
|
|
7742
|
-
/**
|
|
7743
|
-
* @method insert
|
|
7744
|
-
* @param key {number} the key to which another value will be added
|
|
7745
|
-
* @param value {Any} the value to add to the key's set
|
|
7746
|
-
*/
|
|
7747
|
-
insert(key: number, value: any): void;
|
|
7748
|
-
/**
|
|
7749
|
-
* @method delete
|
|
7750
|
-
* @param key {number} the key at which the value is stored
|
|
7751
|
-
* @param value {Any} the value to delete
|
|
7752
|
-
*/
|
|
7753
|
-
delete(key: number, value: any): void;
|
|
7754
|
-
/**
|
|
7755
|
-
* Remove and return an arbitrary value from the set at the given key.
|
|
7756
|
-
*
|
|
7757
|
-
* @method pop
|
|
7758
|
-
* @param key {number} the key from which to remove a value
|
|
7759
|
-
* @return {Any} arbitrary value from the given key's set, or undefined if
|
|
7760
|
-
* the set at the given key is empty.
|
|
7761
|
-
*/
|
|
7762
|
-
pop(key: number): any;
|
|
7763
|
-
/**
|
|
7764
|
-
* Remove and return an arbitrary value from the set corresponding to
|
|
7765
|
-
* the key with the highest numeric value, using the javascript `<`
|
|
7766
|
-
* operator.
|
|
7767
|
-
*
|
|
7768
|
-
* @method popFromMaxKey
|
|
7769
|
-
* @return {Any} arbitrary value from the highest key's set, or undefined
|
|
7770
|
-
* if the map is empty
|
|
7771
|
-
*/
|
|
7772
|
-
popFromMaxKey(): any;
|
|
7773
|
-
/**
|
|
7774
|
-
* Return an iterator over every value in this multimap, at every key.
|
|
7775
|
-
* Mutating the multimap during iteration will result in undefined
|
|
7776
|
-
* behaviour.
|
|
7777
|
-
*
|
|
7778
|
-
* @method values
|
|
7779
|
-
* @return {Iterator} iterator over the values in the map
|
|
7780
|
-
*/
|
|
7781
|
-
values(): {
|
|
7782
|
-
[Symbol.iterator]: () => any;
|
|
7783
|
-
next: () => any;
|
|
7784
|
-
};
|
|
7785
|
-
/**
|
|
7786
|
-
* A list of keys in this set, sorted by numeric value. Not cloned,
|
|
7787
|
-
* for efficiency's sake, so please don't mutate it.
|
|
7788
|
-
*
|
|
7789
|
-
* @method keys
|
|
7790
|
-
* @return {[number]} sorted list of numeric keys in the map
|
|
7791
|
-
*/
|
|
7792
|
-
keys(): any[];
|
|
7793
|
-
/**
|
|
7794
|
-
* The number of elements in this multimap, equal to the sum of the sizes
|
|
7795
|
-
* of each key's set of values.
|
|
7796
|
-
*
|
|
7797
|
-
* @property size {number} number of elements in this multimap
|
|
7798
|
-
*/
|
|
7799
|
-
get size(): number;
|
|
7800
|
-
}
|
|
7801
|
-
export {};
|
|
7802
|
-
}
|
|
7803
|
-
|
|
7804
|
-
declare module '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.SceneManager' {
|
|
7805
|
-
import { MappedinMap } from '@mappedin/mappedin-js/get-venue';
|
|
7806
|
-
import type { ICore, TCameraAnimationOptions, TFocusOnCameraOptions, TCameraTargets, MapViewStackScene } from '@mappedin/mappedin-js/renderer/internal';
|
|
7807
|
-
import { MapObject, MapViewScene } from '@mappedin/mappedin-js/renderer/internal';
|
|
7808
|
-
export type TSceneTransitionOptions = {
|
|
7809
|
-
/**
|
|
7810
|
-
* Map to set as active during the transition. This will decide where the camera will be positioned, as well as which
|
|
7811
|
-
* colliders are enabled.
|
|
7812
|
-
*/
|
|
7813
|
-
activeMap?: MappedinMap;
|
|
7814
|
-
verticalDistanceBetweenMaps?: number;
|
|
7815
|
-
/**
|
|
7816
|
-
* Whether to auto focus on the active map or leave the camera where it is.
|
|
7817
|
-
* For single building venues, this should look the same way it did with MapManager
|
|
7818
|
-
* For multi-building venues, this means the camera will not pan over to where the active map
|
|
7819
|
-
* is relative to the world, which may look like broken behavior.
|
|
7820
|
-
* @default true
|
|
7821
|
-
*/
|
|
7822
|
-
autoFocusOnActiveMap?: boolean;
|
|
7823
|
-
/**
|
|
7824
|
-
* Where to focus the camera during transition to Scene. Will focus to fit the map if not provided.
|
|
7825
|
-
* Currently, will discard any targets that are not on the active map.
|
|
7826
|
-
*/
|
|
7827
|
-
focusOn?: {
|
|
7828
|
-
targets?: TCameraTargets;
|
|
7829
|
-
options?: TFocusOnCameraOptions & TCameraAnimationOptions;
|
|
7830
|
-
};
|
|
7831
|
-
};
|
|
7832
|
-
class SceneManager {
|
|
7833
|
-
core: ICore;
|
|
7834
|
-
currentScene: MapViewScene | MapViewStackScene;
|
|
7835
|
-
/**
|
|
7836
|
-
* MapObjects that have been loaded and positioned in the scene
|
|
7837
|
-
*/
|
|
7838
|
-
processedMapObjects: Set<MapObject>;
|
|
7839
|
-
constructor(core: ICore, startingScene: MapViewScene);
|
|
7840
|
-
get currentMap(): MappedinMap;
|
|
7841
|
-
renderGrid(): void;
|
|
7842
|
-
transitionTo(scene: MapViewScene, transitionOptions?: TSceneTransitionOptions): Promise<void>;
|
|
7843
|
-
}
|
|
7844
|
-
export default SceneManager;
|
|
7845
|
-
}
|
|
7846
|
-
|
|
7847
|
-
declare module '@mappedin/mappedin-js/renderer/private/scene-manager/MapView.DynamicFocusSceneManager' {
|
|
7848
|
-
import { MappedinMap, MappedinMapGroup } from '@mappedin/mappedin-js/get-venue';
|
|
7849
|
-
import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
|
|
7850
|
-
import { MapViewScene, DynamicFocusScene } from '@mappedin/mappedin-js/renderer/internal';
|
|
7851
|
-
class DynamicFocusSceneManager {
|
|
7852
|
-
dynamicFocusScene: DynamicFocusScene;
|
|
7853
|
-
core: ICore;
|
|
7854
|
-
constructor(core: ICore, baseMap: MappedinMap);
|
|
7855
|
-
panBounds: any;
|
|
7856
|
-
mapShouldSetOnUserInteraction: boolean;
|
|
7857
|
-
get currentScene(): {
|
|
7858
|
-
resize: () => void;
|
|
7859
|
-
currentMap: MappedinMap;
|
|
7860
|
-
mapObjects: Map<string, import("../../internal/Mappedin.MapObject").default>;
|
|
7861
|
-
};
|
|
7862
|
-
get currentMap(): MappedinMap;
|
|
7863
|
-
setDefaultMapForMapGroup(mapGroup: MappedinMapGroup, map: MappedinMap): void;
|
|
7864
|
-
resetDefaultMapForMapGroup(mapGroup: MappedinMapGroup): void;
|
|
7865
|
-
determineTargetMap(): void;
|
|
7866
|
-
update(): void;
|
|
7867
|
-
transitionTo(scene?: MapViewScene): Promise<void>;
|
|
7868
|
-
}
|
|
7869
|
-
export default DynamicFocusSceneManager;
|
|
7870
|
-
}
|
|
7871
|
-
|
|
7872
|
-
declare module '@mappedin/mappedin-js/get-venue/pub-sub.typed' {
|
|
7873
|
-
/**
|
|
7874
|
-
* Generic PubSub class implementing the Publish-Subscribe pattern for event handling.
|
|
7875
|
-
*
|
|
7876
|
-
* @template EVENT_PAYLOAD - The type of the event payload.
|
|
7877
|
-
* @template EVENT - The type of the event.
|
|
7878
|
-
*/
|
|
7879
|
-
export class PubSub<EVENT_PAYLOAD, EVENT extends keyof EVENT_PAYLOAD = keyof EVENT_PAYLOAD> {
|
|
7880
|
-
/**
|
|
7881
|
-
* @private
|
|
7882
|
-
* @internal
|
|
7883
|
-
*/
|
|
7884
|
-
_subscribers: any;
|
|
7885
|
-
/**
|
|
7886
|
-
* @private
|
|
7887
|
-
* @internal
|
|
7888
|
-
*/
|
|
7889
|
-
publish<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, data?: EVENT_PAYLOAD[EVENT_NAME]): void;
|
|
7890
|
-
/**
|
|
7891
|
-
* Subscribe a function to an event.
|
|
7630
|
+
* Subscribe a function to an event.
|
|
7892
7631
|
*
|
|
7893
7632
|
* @param eventName An event name which, when fired, will call the provided
|
|
7894
7633
|
* function.
|
|
@@ -9252,6 +8991,10 @@ declare module '@mappedin/mappedin-js/renderer/private/controllers/StackedMapsCo
|
|
|
9252
8991
|
zoomInToMap: (map: MappedinMap, cameraOptions?: TCameraTransform & TCameraAnimationOptions) => Promise<void>;
|
|
9253
8992
|
get currentMap(): MappedinMap;
|
|
9254
8993
|
}
|
|
8994
|
+
/**
|
|
8995
|
+
* @internal
|
|
8996
|
+
*/
|
|
8997
|
+
export function setStackedMapsOverviewTiltInDegrees(v: number): void;
|
|
9255
8998
|
export default StackedMapsController;
|
|
9256
8999
|
}
|
|
9257
9000
|
|
|
@@ -9299,857 +9042,1141 @@ declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.Renderer' {
|
|
|
9299
9042
|
shouldConsiderAlpha: any;
|
|
9300
9043
|
antialias: any;
|
|
9301
9044
|
/**
|
|
9302
|
-
* Dispose of any resources and connections allocated by the renderer.
|
|
9303
|
-
*
|
|
9304
|
-
* @method destroy
|
|
9045
|
+
* Dispose of any resources and connections allocated by the renderer.
|
|
9046
|
+
*
|
|
9047
|
+
* @method destroy
|
|
9048
|
+
*/
|
|
9049
|
+
destroy(): void;
|
|
9050
|
+
/**
|
|
9051
|
+
* Render the scene to the provided framebuffer. A null framebuffer will
|
|
9052
|
+
* render to the default canvas.
|
|
9053
|
+
*
|
|
9054
|
+
* @method render
|
|
9055
|
+
* @param renderTask {RENDER}
|
|
9056
|
+
* @param renderTarget {null or WebGLRenderTarget}
|
|
9057
|
+
* @param scene {Scene}
|
|
9058
|
+
* @param sceneCamera {Camera}
|
|
9059
|
+
*/
|
|
9060
|
+
render(renderTask: RENDER, renderTarget: null, scene: Scene, sceneCamera: Camera): void;
|
|
9061
|
+
/**
|
|
9062
|
+
* Return the maximum supported anisotropy of this renderer.
|
|
9063
|
+
*
|
|
9064
|
+
* @method getMaxAnisotropy
|
|
9065
|
+
* @return {number}
|
|
9066
|
+
*/
|
|
9067
|
+
getMaxAnisotropy(): number;
|
|
9068
|
+
/**
|
|
9069
|
+
* Return the size of the renderer's target.
|
|
9070
|
+
*
|
|
9071
|
+
* @method getBufferSize
|
|
9072
|
+
* @return {Vector2}
|
|
9073
|
+
*/
|
|
9074
|
+
getBufferSize(): Vector2;
|
|
9075
|
+
/**
|
|
9076
|
+
* Return the WebGL context associated with this renderer, to ensure
|
|
9077
|
+
* other objects that use WebGL will put their textures in the same
|
|
9078
|
+
* context.
|
|
9079
|
+
*
|
|
9080
|
+
* @method context
|
|
9081
|
+
* @return {WebGLRenderingContext} context used by this renderer
|
|
9082
|
+
*/
|
|
9083
|
+
getContext(): WebGLRenderingContext;
|
|
9084
|
+
/**
|
|
9085
|
+
* Preload a texture, I think. Not actually sure what this does. TODO.
|
|
9086
|
+
*
|
|
9087
|
+
* @method preloadTexture
|
|
9088
|
+
* @param texture {Texture}
|
|
9089
|
+
*/
|
|
9090
|
+
preloadTexture(texture: Texture): void;
|
|
9091
|
+
/**
|
|
9092
|
+
* Set the renderer and all its internal buffers to the provided width and
|
|
9093
|
+
* height in pixels.
|
|
9094
|
+
*
|
|
9095
|
+
* @method setBufferSize
|
|
9096
|
+
* @param width {number}
|
|
9097
|
+
* @param height {number}
|
|
9098
|
+
*/
|
|
9099
|
+
setBufferSize(width: number, height: number): void;
|
|
9100
|
+
get backgroundColor(): Color | undefined;
|
|
9101
|
+
get backgroundAlpha(): number | undefined;
|
|
9102
|
+
/**
|
|
9103
|
+
* Set the color and opacity that will be drawn behind the scene.
|
|
9104
|
+
*
|
|
9105
|
+
* @method setBackgroundColor
|
|
9106
|
+
* @param color {Color}
|
|
9107
|
+
* @param alpha {number}
|
|
9108
|
+
*/
|
|
9109
|
+
setBackgroundColor(color: Color, alpha?: number): void;
|
|
9110
|
+
/**
|
|
9111
|
+
* Assign an outdoor context to this renderer, which will be included as
|
|
9112
|
+
* part of the `STATIC` rendering pass.
|
|
9113
|
+
*
|
|
9114
|
+
* @method setMapboxOutdoorContext
|
|
9115
|
+
* @param {MapboxOutdoorContext} mapboxOutdoorContext context to draw
|
|
9116
|
+
*/
|
|
9117
|
+
setMapboxOutdoorContext(mapboxOutdoorContext: MapboxOutdoorContext): void;
|
|
9118
|
+
domElement(): HTMLCanvasElement;
|
|
9119
|
+
isAvailable(): boolean;
|
|
9120
|
+
disposeOfRenderLists(): void;
|
|
9121
|
+
reportWebGlContextCreationError(e: any): void;
|
|
9122
|
+
reportWebGlContextLost(e: any): void;
|
|
9123
|
+
reportWebGLContextRestored(): void;
|
|
9124
|
+
/**
|
|
9125
|
+
* Sometimes we have to use WebGL 1 because of a regression in Chrome
|
|
9126
|
+
* due to some unknown performance bug in Apple's OpenGL Angle backend on MacBook+Radeon GPU.
|
|
9127
|
+
* The official recommendation is to turn on Metal backed ANGLE in your Chrome's about:flags.
|
|
9128
|
+
* We can't force our users to do it, so we have to support both WebGL 1 & WebGL 2
|
|
9129
|
+
* See: https://bugs.chromium.org/p/chromium/issues/detail?id=1245448
|
|
9130
|
+
* The Method returns target WebGL version based on the hardware configuration.
|
|
9131
|
+
*
|
|
9132
|
+
* @param context WebGL context
|
|
9133
|
+
* @returns {1|2} WebGL version
|
|
9134
|
+
*/
|
|
9135
|
+
getTargetWebGLVersion(context: any): 1 | 2;
|
|
9136
|
+
/**
|
|
9137
|
+
*
|
|
9138
|
+
* @param options
|
|
9139
|
+
* @returns {SingleBufferRenderer|MultiBufferRenderer}
|
|
9140
|
+
*/
|
|
9141
|
+
getRenderer(options: any): SingleBufferRenderer | MultiBufferRenderer;
|
|
9142
|
+
}
|
|
9143
|
+
/**
|
|
9144
|
+
* A legacy renderer that renders all the elements in the scene to a single
|
|
9145
|
+
* buffer. Does not support things like transparent paths behind polygons
|
|
9146
|
+
* natively, but can potentially fake it.
|
|
9147
|
+
*
|
|
9148
|
+
* 2019/07/10 Terence Dickson
|
|
9149
|
+
* Generally has worse performance under average loads compared to the
|
|
9150
|
+
* multi-buffer renderer, as the multi-buffer renderer can avoid re-rendering
|
|
9151
|
+
* the entire map if only animated elements on the map have changed.
|
|
9152
|
+
*
|
|
9153
|
+
* @class SingleBufferRenderer
|
|
9154
|
+
* @private
|
|
9155
|
+
*/
|
|
9156
|
+
class SingleBufferRenderer {
|
|
9157
|
+
constructor(renderOptions: any, targetWebGLVersion?: number);
|
|
9158
|
+
options: any;
|
|
9159
|
+
core: any;
|
|
9160
|
+
renderer: WebGLRenderer | undefined;
|
|
9161
|
+
effectComposer: EffectComposer | undefined;
|
|
9162
|
+
backgroundColor: Color;
|
|
9163
|
+
backgroundAlpha: number;
|
|
9164
|
+
mapboxOutdoorContext: any;
|
|
9165
|
+
/**
|
|
9166
|
+
* Dispose of the renderer.
|
|
9167
|
+
*/
|
|
9168
|
+
destroy(): void;
|
|
9169
|
+
/**
|
|
9170
|
+
* Re-render the scene. This ignores the `renderTask` argument, as all
|
|
9171
|
+
* re-renders in the single-buffer renderer are full re-renders.
|
|
9172
|
+
*
|
|
9173
|
+
* @method render
|
|
9174
|
+
* @param renderTask {RENDER}
|
|
9175
|
+
* @param renderTarget {null or WebGLRenderTarget}
|
|
9176
|
+
* @param scene {Scene}
|
|
9177
|
+
* @param sceneCamera {Camera}
|
|
9178
|
+
*/
|
|
9179
|
+
render(renderTask: RENDER, renderTarget: null, scene: Scene, sceneCamera: Camera): void;
|
|
9180
|
+
/**
|
|
9181
|
+
* Set the size of the renderer.
|
|
9182
|
+
*
|
|
9183
|
+
* @method setBufferSize
|
|
9184
|
+
* @param width {number}
|
|
9185
|
+
* @param height {number}
|
|
9186
|
+
*/
|
|
9187
|
+
setBufferSize(width: number, height: number): void;
|
|
9188
|
+
width: number | undefined;
|
|
9189
|
+
height: number | undefined;
|
|
9190
|
+
/**
|
|
9191
|
+
* Set the color and opacity that will be drawn behind the scene.
|
|
9192
|
+
*
|
|
9193
|
+
* @method setBackgroundColor
|
|
9194
|
+
* @param color {Color}
|
|
9195
|
+
* @param alpha {number}
|
|
9196
|
+
*/
|
|
9197
|
+
setBackgroundColor(color: Color, alpha: number): void;
|
|
9198
|
+
/**
|
|
9199
|
+
* Assign an outdoor context to this renderer.
|
|
9200
|
+
*
|
|
9201
|
+
* @method setMapboxOutdoorContext
|
|
9202
|
+
* @param {MapboxOutdoorContext} mapboxOutdoorContext context to draw
|
|
9203
|
+
*/
|
|
9204
|
+
setMapboxOutdoorContext(mapboxOutdoorContext: MapboxOutdoorContext): void;
|
|
9205
|
+
}
|
|
9206
|
+
/**
|
|
9207
|
+
* Our new renderer that renders static elements to one buffer and animated
|
|
9208
|
+
* elements to another buffer, allowing only the latter buffer to be
|
|
9209
|
+
* re-rendered if the camera isn't moving. There is also a third buffer that
|
|
9210
|
+
* can be used to render elements that must appear always on top.
|
|
9211
|
+
*
|
|
9212
|
+
* Does not yet support antialiasing.
|
|
9213
|
+
*
|
|
9214
|
+
* 2019/07/10 Terence Dickson
|
|
9215
|
+
* Generally has better performance under average loads compared to the
|
|
9216
|
+
* single-buffer renderer, but does not work on IE 11.
|
|
9217
|
+
*
|
|
9218
|
+
* @class MultiBufferRenderer
|
|
9219
|
+
* @private
|
|
9220
|
+
*/
|
|
9221
|
+
export class MultiBufferRenderer {
|
|
9222
|
+
constructor(renderOptions: any, targetWebGLVersion?: number);
|
|
9223
|
+
effectComposer: null;
|
|
9224
|
+
outdoorsVisible: boolean;
|
|
9225
|
+
options: any;
|
|
9226
|
+
renderer: WebGLRenderer | undefined;
|
|
9227
|
+
core: any;
|
|
9228
|
+
journeyOpacity: number | undefined;
|
|
9229
|
+
backgroundColor: Color | undefined;
|
|
9230
|
+
backgroundAlpha: number | undefined;
|
|
9231
|
+
mapboxOutdoorContext: any;
|
|
9232
|
+
staticSceneRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9233
|
+
animatedSceneRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9234
|
+
animatedSceneBackgroundRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9235
|
+
alwaysOnTopSceneRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9236
|
+
outdoorViewRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9237
|
+
populateRenderTarget(renderTarget: any): void;
|
|
9238
|
+
createOutdoorViewTexture(): void;
|
|
9239
|
+
outdoorViewTexture: Texture | undefined;
|
|
9240
|
+
outdoorViewTextureProps: any;
|
|
9241
|
+
setupEffectComposer(): void;
|
|
9242
|
+
setOutdoorViewTexture(texture: any): void;
|
|
9243
|
+
/**
|
|
9244
|
+
* Dispose of the renderer and its buffers.
|
|
9305
9245
|
*/
|
|
9306
9246
|
destroy(): void;
|
|
9247
|
+
renderToAnimatedBackgroundBuffer(scene: any, sceneCamera: any): void;
|
|
9307
9248
|
/**
|
|
9308
|
-
* Render the scene
|
|
9309
|
-
*
|
|
9249
|
+
* Render the provided scene using the given camera, re-rendering only
|
|
9250
|
+
* the animated parts.
|
|
9310
9251
|
*
|
|
9311
|
-
* @method
|
|
9312
|
-
* @param renderTask {RENDER}
|
|
9252
|
+
* @method renderAnimated
|
|
9313
9253
|
* @param renderTarget {null or WebGLRenderTarget}
|
|
9314
9254
|
* @param scene {Scene}
|
|
9315
9255
|
* @param sceneCamera {Camera}
|
|
9316
9256
|
*/
|
|
9317
|
-
|
|
9318
|
-
/**
|
|
9319
|
-
* Return the maximum supported anisotropy of this renderer.
|
|
9320
|
-
*
|
|
9321
|
-
* @method getMaxAnisotropy
|
|
9322
|
-
* @return {number}
|
|
9323
|
-
*/
|
|
9324
|
-
getMaxAnisotropy(): number;
|
|
9257
|
+
renderAnimated(renderTarget: null, scene: Scene, sceneCamera: Camera): void;
|
|
9325
9258
|
/**
|
|
9326
|
-
*
|
|
9259
|
+
* Render the provided scene using the given camera, re-rendering only
|
|
9260
|
+
* the parts that should appear on top of all other elements.
|
|
9327
9261
|
*
|
|
9328
|
-
* @method
|
|
9329
|
-
* @
|
|
9262
|
+
* @method renderAlwaysOnTop
|
|
9263
|
+
* @param renderTarget {null or WebGLRenderTarget}
|
|
9264
|
+
* @param scene {Scene}
|
|
9265
|
+
* @param sceneCamera {Camera}
|
|
9330
9266
|
*/
|
|
9331
|
-
|
|
9267
|
+
renderAlwaysOnTop(renderTarget: null, scene: Scene, sceneCamera: Camera): void;
|
|
9332
9268
|
/**
|
|
9333
|
-
*
|
|
9334
|
-
* other objects that use WebGL will put their textures in the same
|
|
9335
|
-
* context.
|
|
9269
|
+
* Render all of the scene layers, then combine them.
|
|
9336
9270
|
*
|
|
9337
|
-
* @method
|
|
9338
|
-
* @
|
|
9271
|
+
* @method renderAll
|
|
9272
|
+
* @param renderTarget {null or WebGLRenderTarget}
|
|
9273
|
+
* @param scene {Scene}
|
|
9274
|
+
* @param sceneCamera {Camera}
|
|
9339
9275
|
*/
|
|
9340
|
-
|
|
9276
|
+
renderAll(renderTarget: null, scene: Scene, sceneCamera: Camera): void;
|
|
9341
9277
|
/**
|
|
9342
|
-
*
|
|
9278
|
+
* Re-render the scene, depending on which parts of the scene have been
|
|
9279
|
+
* invalidated.
|
|
9343
9280
|
*
|
|
9344
|
-
* @method
|
|
9345
|
-
* @param
|
|
9281
|
+
* @method render
|
|
9282
|
+
* @param renderTarget {null or WebGLRenderTarget}
|
|
9283
|
+
* @param scene {Scene}
|
|
9284
|
+
* @param sceneCamera {Camera}
|
|
9346
9285
|
*/
|
|
9347
|
-
|
|
9286
|
+
render(renderTask: any, renderTarget: null, scene: Scene, sceneCamera: Camera): void;
|
|
9348
9287
|
/**
|
|
9349
|
-
* Set the renderer and all its internal buffers
|
|
9350
|
-
* height in pixels.
|
|
9288
|
+
* Set the size of the renderer, composer, and all its internal buffers.
|
|
9351
9289
|
*
|
|
9352
9290
|
* @method setBufferSize
|
|
9353
9291
|
* @param width {number}
|
|
9354
9292
|
* @param height {number}
|
|
9355
9293
|
*/
|
|
9356
9294
|
setBufferSize(width: number, height: number): void;
|
|
9357
|
-
|
|
9358
|
-
|
|
9295
|
+
width: number | undefined;
|
|
9296
|
+
height: number | undefined;
|
|
9297
|
+
/**
|
|
9298
|
+
* Set the color and opacity that will be drawn behind the scene.
|
|
9299
|
+
*
|
|
9300
|
+
* @method setBackgroundColor
|
|
9301
|
+
* @param color {Color}
|
|
9302
|
+
* @param alpha {number}
|
|
9303
|
+
*/
|
|
9304
|
+
setBackgroundColor(color: Color, alpha: number): void;
|
|
9305
|
+
/**
|
|
9306
|
+
* Assign an outdoor context to this renderer.
|
|
9307
|
+
*
|
|
9308
|
+
* @method setMapboxOutdoorContext
|
|
9309
|
+
* @param {MapboxOutdoorContext} mapboxOutdoorContext context to draw
|
|
9310
|
+
*/
|
|
9311
|
+
setMapboxOutdoorContext(mapboxOutdoorContext: MapboxOutdoorContext): void;
|
|
9312
|
+
setOutdoorViewController(outdoorViewController: any): void;
|
|
9313
|
+
outdoorViewController: any;
|
|
9314
|
+
toggleOutdoorViewVisiblity(visible: any): void;
|
|
9315
|
+
}
|
|
9316
|
+
import { RENDER } from '@mappedin/mappedin-js/renderer/internal';
|
|
9317
|
+
import { Scene } from 'three';
|
|
9318
|
+
import { Camera } from 'three';
|
|
9319
|
+
import { Vector2 } from 'three';
|
|
9320
|
+
import { Texture } from 'three';
|
|
9321
|
+
import { Color } from 'three';
|
|
9322
|
+
import { WebGLRenderer } from 'three';
|
|
9323
|
+
import { EffectComposer } from '@mappedin/mappedin-js/renderer/internal/Mappedin.EffectComposer';
|
|
9324
|
+
import { WebGLRenderTarget } from 'three';
|
|
9325
|
+
export {};
|
|
9326
|
+
}
|
|
9327
|
+
|
|
9328
|
+
declare module '@mappedin/mappedin-js/renderer/private/controllers/JourneyController' {
|
|
9329
|
+
import type Directive from '@mappedin/mappedin-js/navigator/Directive';
|
|
9330
|
+
import type INode from '@mappedin/mappedin-js/navigator/interfaces/INode';
|
|
9331
|
+
import { Path } from '@mappedin/mappedin-js/renderer/internal';
|
|
9332
|
+
import type { TJourneyOptions } from '@mappedin/mappedin-js/renderer/internal';
|
|
9333
|
+
import { MappedinDirections } from '@mappedin/mappedin-js/get-venue';
|
|
9334
|
+
import Core from '@mappedin/mappedin-js/renderer/private/Core';
|
|
9335
|
+
export type TMappedinDirections = {
|
|
9336
|
+
distance: number;
|
|
9337
|
+
path: INode[];
|
|
9338
|
+
instructions: Directive[];
|
|
9339
|
+
};
|
|
9340
|
+
/**
|
|
9341
|
+
*
|
|
9342
|
+
* The Journey class represents a journey from point A to point B. This includes any intermediate connections, such as stairs or elevators.
|
|
9343
|
+
* The idea is to provide a higher level API with enough hooks to customize the experience. Also, to ensure only 1 journey is allowed at once.
|
|
9344
|
+
* This version does not support "stacked view" - but that can be added in the future
|
|
9345
|
+
*
|
|
9346
|
+
* @internal
|
|
9347
|
+
*/
|
|
9348
|
+
export class JourneyController {
|
|
9349
|
+
#private;
|
|
9350
|
+
distance: number;
|
|
9351
|
+
accessible: boolean;
|
|
9352
|
+
activeDirections: MappedinDirections;
|
|
9353
|
+
get isMultiFloor(): boolean;
|
|
9354
|
+
get mapsInJourney(): (import("../../internal").MappedinMap | undefined)[];
|
|
9355
|
+
get mapsIdsInJourney(): (string | undefined)[];
|
|
9356
|
+
get buildingsInJourney(): {};
|
|
9357
|
+
get mapIdsInvolvedInJourney(): string[];
|
|
9358
|
+
constructor(directions: MappedinDirections | MappedinDirections[], options: TJourneyOptions | undefined, core: Core);
|
|
9359
|
+
setStep: (step: any) => void;
|
|
9360
|
+
setStepByPath: (path: Path) => void;
|
|
9361
|
+
overviewPathMode: 'never' | 'always' | 'current-elevation-and-mapgroup';
|
|
9362
|
+
setOverviewPathMode(mode: 'never' | 'always' | 'current-elevation-and-mapgroup'): void;
|
|
9363
|
+
static instance: JourneyController | null;
|
|
9364
|
+
static create(directions: MappedinDirections | MappedinDirections[], options: any, core: Core): JourneyController;
|
|
9365
|
+
destroy(): void;
|
|
9366
|
+
}
|
|
9367
|
+
}
|
|
9368
|
+
|
|
9369
|
+
declare module '@mappedin/mappedin-js/renderer/private/controllers/ExportController' {
|
|
9370
|
+
import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
|
|
9371
|
+
/**
|
|
9372
|
+
* @hidden
|
|
9373
|
+
*/
|
|
9374
|
+
export type TGLTFExportOptions = {
|
|
9375
|
+
onlyVisible?: boolean;
|
|
9376
|
+
binary?: boolean;
|
|
9377
|
+
scale?: number;
|
|
9378
|
+
};
|
|
9379
|
+
/**
|
|
9380
|
+
* API for exporting the scene.
|
|
9381
|
+
*
|
|
9382
|
+
* @hidden
|
|
9383
|
+
*/
|
|
9384
|
+
export default class ExportController {
|
|
9385
|
+
#private;
|
|
9386
|
+
core: ICore;
|
|
9387
|
+
glTFExporter?: any;
|
|
9388
|
+
constructor(core: ICore);
|
|
9389
|
+
/**
|
|
9390
|
+
* Exports the current scene as a GLTF file.
|
|
9391
|
+
*/
|
|
9392
|
+
getCurrentSceneGLTF: (userOptions: TGLTFExportOptions) => Promise<Blob>;
|
|
9393
|
+
}
|
|
9394
|
+
}
|
|
9395
|
+
|
|
9396
|
+
declare module '@mappedin/mappedin-js/renderer/private/controllers/LayerController' {
|
|
9397
|
+
import type { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
|
|
9398
|
+
import { MappedinMap } from '@mappedin/mappedin-js/get-venue';
|
|
9399
|
+
import { Feature, FeatureCollection, GeoJsonProperties, Polygon } from 'geojson';
|
|
9400
|
+
class LayerController {
|
|
9401
|
+
#private;
|
|
9402
|
+
constructor(core: ICore);
|
|
9403
|
+
/**
|
|
9404
|
+
* Show a set of layers on the current map, and hide all other layers. This also hides any colliders associated with the hidden layers.
|
|
9405
|
+
*/
|
|
9406
|
+
showLayers(layers: string[]): void;
|
|
9407
|
+
getAllLayersForMap(map: MappedinMap): Promise<{
|
|
9408
|
+
[layerName: string]: boolean;
|
|
9409
|
+
}>;
|
|
9410
|
+
/**
|
|
9411
|
+
* Return a list of all visible layers for a map, this will NOT trigger a map load, and is mainly used internally
|
|
9412
|
+
* which is why its synchronous
|
|
9413
|
+
*/
|
|
9414
|
+
getVisibleLayersForLoadedMap(map: MappedinMap): string[] | undefined;
|
|
9415
|
+
addGeoJSONLayer(layerName: string, featureOrFeatureCollection: Feature<Polygon, GeoJsonProperties | null> | FeatureCollection<Polygon, GeoJsonProperties | null>): Promise<void>;
|
|
9416
|
+
removeGeoJSONLayer(layerName: string): Promise<void>;
|
|
9417
|
+
}
|
|
9418
|
+
export default LayerController;
|
|
9419
|
+
}
|
|
9420
|
+
|
|
9421
|
+
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.ui' {
|
|
9422
|
+
import { IBlueDotCore, BlueDotManager } from '@mappedin/mappedin-js/renderer/internal';
|
|
9423
|
+
import { IPubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub';
|
|
9424
|
+
import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
|
|
9425
|
+
enum ZOOM_CONDITION {
|
|
9426
|
+
EXPIRED = 0,
|
|
9427
|
+
IN_PROGRESS = 1,
|
|
9428
|
+
COMPLETED = 2
|
|
9429
|
+
}
|
|
9430
|
+
export interface IBlueDotUI extends IPubSub {
|
|
9431
|
+
blueDotTooltips: any[];
|
|
9432
|
+
setBlueDotPosition: () => void;
|
|
9433
|
+
showBlueDotBearing: () => void;
|
|
9434
|
+
addGhostMarkers: () => void;
|
|
9435
|
+
addLocationUncertainMarkersAndTooltips: () => void;
|
|
9436
|
+
addBlueDotMarker: () => void;
|
|
9437
|
+
removeTooltips: () => void;
|
|
9438
|
+
removeBlueDot: () => void;
|
|
9439
|
+
centerBlueDot: () => void;
|
|
9440
|
+
endFollowing: () => void;
|
|
9441
|
+
zoomCondition: ZOOM_CONDITION;
|
|
9442
|
+
isFollowing: boolean;
|
|
9443
|
+
useRotationMode: boolean;
|
|
9444
|
+
}
|
|
9445
|
+
type TBlueDotUIProps = {
|
|
9446
|
+
core: ICore;
|
|
9447
|
+
blueDotManager: BlueDotManager;
|
|
9448
|
+
controller: IBlueDotCore;
|
|
9449
|
+
data: any;
|
|
9450
|
+
};
|
|
9451
|
+
const BlueDotUI: ({ core, blueDotManager, controller }: TBlueDotUIProps) => IBlueDotUI;
|
|
9452
|
+
export default BlueDotUI;
|
|
9453
|
+
}
|
|
9454
|
+
|
|
9455
|
+
declare module '@mappedin/mappedin-js/renderer/internal/utils' {
|
|
9456
|
+
export * from '@mappedin/mappedin-js/renderer/internal/utils/utils';
|
|
9457
|
+
export { shouldDisableOffscreenCanvas } from '@mappedin/mappedin-js/renderer/internal/utils/browser';
|
|
9458
|
+
export { throttle, debounce } from '@mappedin/mappedin-js/renderer/internal/utils/async';
|
|
9459
|
+
}
|
|
9460
|
+
|
|
9461
|
+
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.MapManager' {
|
|
9462
|
+
export default MapManager;
|
|
9463
|
+
class MapManager extends PubSub {
|
|
9464
|
+
constructor(polygonMeshesById: any, renderer: any, core: any, taskScheduler: any, loadOptions?: {});
|
|
9465
|
+
mapObjects: Map<any, any>;
|
|
9466
|
+
currentMap: undefined;
|
|
9467
|
+
object: Object3D<import("three").Object3DEventMap>;
|
|
9468
|
+
_showCount: number;
|
|
9469
|
+
_mapObjectsSortedByElevationDirty: boolean;
|
|
9470
|
+
expanded: boolean;
|
|
9471
|
+
polygonMeshesById: any;
|
|
9472
|
+
core: any;
|
|
9473
|
+
renderer: any;
|
|
9474
|
+
loadOptions: {};
|
|
9475
|
+
addMap(mapClass: any, callback?: () => void): Promise<void>;
|
|
9476
|
+
setMap(mapClassOrId: any, callback: any): Promise<any>;
|
|
9477
|
+
removeMap(mapClassOrId: any): void;
|
|
9478
|
+
removeAllMaps(): void;
|
|
9479
|
+
loadMaps(maps: any, startingMap: any, onFirstMapLoaded?: () => void, onDataLoaded?: () => void, onError?: () => void): void;
|
|
9480
|
+
/**
|
|
9481
|
+
* Expand maps to display within view, typically used for multi-floor navigation. When passed a connection, maps included will not be displayed, instead, their 2d projection
|
|
9482
|
+
will be available in the resulting promise, which can be used to display a 2D component in the client-side app.
|
|
9483
|
+
*
|
|
9484
|
+
* @method expandMaps
|
|
9485
|
+
* @param mapIds {Array} Array of mapIds or mapObjects to display while expanded. For connections, pass { connection: true, maps: [], connectionNodes: [], }
|
|
9486
|
+
* @param options {Object} Options object @optional
|
|
9487
|
+
@param [options.focus=false] {Boolean} Focus the camera onto expanded maps
|
|
9488
|
+
@param [options.debug=false] {Boolean} Display cubes around focus bounding box for debug info
|
|
9489
|
+
@param [options.rotation=0] {Number} Rotation of scene relative to zero (degrees)
|
|
9490
|
+
@param [options.duration=300] {Number} Duration of focus animation in ms
|
|
9491
|
+
@returns {Promise} Promise that resolves to 2d screen projections of each layer/map (see example)
|
|
9492
|
+
@example
|
|
9493
|
+
// expand maps with 3 connection maps in between
|
|
9494
|
+
expandMaps(
|
|
9495
|
+
'55e89771d982bc06ca000000',
|
|
9496
|
+
{
|
|
9497
|
+
connection: true,
|
|
9498
|
+
// connection nodes are an exit node from the '55e89771' man and entry node for the '55e9c73f' map
|
|
9499
|
+
connectionNodes: [{
|
|
9500
|
+
map: "55e89771",
|
|
9501
|
+
x: 6232,
|
|
9502
|
+
y: 4575
|
|
9503
|
+
}, {
|
|
9504
|
+
map: "55e9c73",
|
|
9505
|
+
x: 5945.000000000001,
|
|
9506
|
+
y: 4059.000000000001
|
|
9507
|
+
}],
|
|
9508
|
+
maps: [
|
|
9509
|
+
'55e9acbf',
|
|
9510
|
+
'55e8a9ed',
|
|
9511
|
+
'55e85e23'
|
|
9512
|
+
]
|
|
9513
|
+
},
|
|
9514
|
+
'55e9c73f'
|
|
9515
|
+
);
|
|
9516
|
+
|
|
9517
|
+
// resulting promise (sorted by elevation (top to bottom))
|
|
9518
|
+
|
|
9519
|
+
[
|
|
9520
|
+
{
|
|
9521
|
+
min: { x: -100, y: -50 },
|
|
9522
|
+
max: { x: -100, y: -50 }
|
|
9523
|
+
},
|
|
9524
|
+
{
|
|
9525
|
+
min: { x: -100, y: -50 },
|
|
9526
|
+
max: { x: -100, y: -50 }
|
|
9527
|
+
},
|
|
9528
|
+
{
|
|
9529
|
+
min: { x: -100, y: -50 },
|
|
9530
|
+
max: { x: -100, y: -50 }
|
|
9531
|
+
}
|
|
9532
|
+
]
|
|
9533
|
+
*/
|
|
9534
|
+
expandMaps(mapsToExpand: any, options: any): Promise<any>;
|
|
9359
9535
|
/**
|
|
9360
|
-
|
|
9361
|
-
|
|
9362
|
-
|
|
9363
|
-
|
|
9364
|
-
|
|
9365
|
-
|
|
9366
|
-
|
|
9536
|
+
* Contract maps and display the current map
|
|
9537
|
+
*
|
|
9538
|
+
* @method contractMaps
|
|
9539
|
+
* @param options {Object} Options object @optional
|
|
9540
|
+
@param [options.focus] {Boolean} Focus the camera onto current map
|
|
9541
|
+
@param [options.debug] {Boolean} Display cubes around focus bounding box for debug info
|
|
9542
|
+
@param [options.duration=300] {Number} Duration of focus animation in ms
|
|
9543
|
+
*/
|
|
9544
|
+
contractMaps(options?: any): Promise<any>;
|
|
9545
|
+
expandPanBounds(bounds: any): void;
|
|
9367
9546
|
/**
|
|
9368
|
-
*
|
|
9369
|
-
*
|
|
9370
|
-
*
|
|
9371
|
-
* @method setMapboxOutdoorContext
|
|
9372
|
-
* @param {MapboxOutdoorContext} mapboxOutdoorContext context to draw
|
|
9547
|
+
* This can be used to invoke a callback function for _every_ set map invocation.
|
|
9548
|
+
* @param {Function} cb callback function
|
|
9373
9549
|
*/
|
|
9374
|
-
|
|
9375
|
-
|
|
9376
|
-
|
|
9377
|
-
|
|
9378
|
-
|
|
9379
|
-
|
|
9380
|
-
|
|
9550
|
+
addPersistentSetMapCallback(cb: Function): void;
|
|
9551
|
+
persistentSetMapCallbacks: any;
|
|
9552
|
+
setMapCallbacks: any[] | undefined;
|
|
9553
|
+
get mapObjectsSortedByElevation(): any[];
|
|
9554
|
+
_mapObjectsSortedByElevation: any[] | undefined;
|
|
9555
|
+
get visibleMaps(): any[];
|
|
9556
|
+
getCompoundBoundingBoxPoints(objects: any): Vector3[];
|
|
9557
|
+
multiFloorView: MultiFloorView | undefined;
|
|
9558
|
+
renderedMaps: any[] | undefined;
|
|
9559
|
+
projections: any[] | undefined;
|
|
9560
|
+
mapsFullyLoaded(callback?: () => void): Promise<void>;
|
|
9381
9561
|
/**
|
|
9382
|
-
*
|
|
9383
|
-
*
|
|
9384
|
-
* The official recommendation is to turn on Metal backed ANGLE in your Chrome's about:flags.
|
|
9385
|
-
* We can't force our users to do it, so we have to support both WebGL 1 & WebGL 2
|
|
9386
|
-
* See: https://bugs.chromium.org/p/chromium/issues/detail?id=1245448
|
|
9387
|
-
* The Method returns target WebGL version based on the hardware configuration.
|
|
9388
|
-
*
|
|
9389
|
-
* @param context WebGL context
|
|
9390
|
-
* @returns {1|2} WebGL version
|
|
9562
|
+
* Scroll maps up
|
|
9563
|
+
* This will shift maps down to show next one (above)
|
|
9391
9564
|
*/
|
|
9392
|
-
|
|
9565
|
+
scrollMapsUp(): Promise<any>;
|
|
9393
9566
|
/**
|
|
9394
|
-
*
|
|
9395
|
-
*
|
|
9396
|
-
* @returns {SingleBufferRenderer|MultiBufferRenderer}
|
|
9567
|
+
* Scroll maps down
|
|
9568
|
+
* This will shift maps up to show next one (below)
|
|
9397
9569
|
*/
|
|
9398
|
-
|
|
9570
|
+
scrollMapsDown(): Promise<any>;
|
|
9571
|
+
tiltMaps(tilt: any): void;
|
|
9572
|
+
resize(): void;
|
|
9399
9573
|
}
|
|
9574
|
+
import { PubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub';
|
|
9575
|
+
import { Object3D } from 'three';
|
|
9576
|
+
import { Vector3 } from 'three';
|
|
9577
|
+
import MultiFloorView from '@mappedin/mappedin-js/renderer/internal/Mappedin.MultiFloorView';
|
|
9578
|
+
}
|
|
9579
|
+
|
|
9580
|
+
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.DebugUI' {
|
|
9400
9581
|
/**
|
|
9401
|
-
* A
|
|
9402
|
-
* buffer. Does not support things like transparent paths behind polygons
|
|
9403
|
-
* natively, but can potentially fake it.
|
|
9404
|
-
*
|
|
9405
|
-
* 2019/07/10 Terence Dickson
|
|
9406
|
-
* Generally has worse performance under average loads compared to the
|
|
9407
|
-
* multi-buffer renderer, as the multi-buffer renderer can avoid re-rendering
|
|
9408
|
-
* the entire map if only animated elements on the map have changed.
|
|
9582
|
+
* A DOM element that can be populated with performance information.
|
|
9409
9583
|
*
|
|
9410
|
-
* @class
|
|
9584
|
+
* @class DebugUI
|
|
9411
9585
|
* @private
|
|
9412
9586
|
*/
|
|
9413
|
-
class
|
|
9414
|
-
|
|
9415
|
-
|
|
9416
|
-
|
|
9417
|
-
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9587
|
+
export default class DebugUI {
|
|
9588
|
+
_element: HTMLDivElement;
|
|
9589
|
+
_titleElement: HTMLSelectElement;
|
|
9590
|
+
_minimizeElement: HTMLButtonElement;
|
|
9591
|
+
_performancePanelElement: HTMLDivElement;
|
|
9592
|
+
_performanceEntries: Map<any, any>;
|
|
9593
|
+
_sortedPerformanceEntryNames: any[];
|
|
9594
|
+
_overviewGraph: LineGraph;
|
|
9595
|
+
_controlPanels: Map<any, any>;
|
|
9596
|
+
_sortedControlPanelNames: any[];
|
|
9597
|
+
_minimized: boolean;
|
|
9598
|
+
destroy(): void;
|
|
9422
9599
|
/**
|
|
9423
|
-
*
|
|
9600
|
+
* Return the DOM element used by this `DebugUI`, which may be
|
|
9601
|
+
* added as a child of any other DOM element to display it.
|
|
9602
|
+
*
|
|
9603
|
+
* @method element
|
|
9604
|
+
* @return {Element} the ui's root element
|
|
9424
9605
|
*/
|
|
9425
|
-
|
|
9606
|
+
get element(): Element;
|
|
9426
9607
|
/**
|
|
9427
|
-
*
|
|
9428
|
-
*
|
|
9608
|
+
* Log the given entries to this performance logger, and update the display
|
|
9609
|
+
* accordingly. If a given key isn't already being logged, an entry will be
|
|
9610
|
+
* added for it. If a key is being logged but isn't reported, it will be
|
|
9611
|
+
* treated as if it had a value of `0` reported.
|
|
9429
9612
|
*
|
|
9430
|
-
* @method
|
|
9431
|
-
* @param
|
|
9432
|
-
*
|
|
9433
|
-
* @param scene {Scene}
|
|
9434
|
-
* @param sceneCamera {Camera}
|
|
9613
|
+
* @method reportFramePerformance
|
|
9614
|
+
* @param {string -> number} entries the most recent recorded values for each
|
|
9615
|
+
* named frame update
|
|
9435
9616
|
*/
|
|
9436
|
-
|
|
9617
|
+
reportFramePerformance(entries: any): void;
|
|
9437
9618
|
/**
|
|
9438
|
-
*
|
|
9619
|
+
* Add the given controls to the given panels. More efficient than adding
|
|
9620
|
+
* controls one-by-one since it only recomputes positions after all controls
|
|
9621
|
+
* are added.
|
|
9439
9622
|
*
|
|
9440
|
-
* @method
|
|
9441
|
-
* @param
|
|
9442
|
-
*
|
|
9623
|
+
* @method addDebugControls
|
|
9624
|
+
* @param {category: string: [{name: string, description: string, control: DebugUIControl}]} categories
|
|
9625
|
+
* a mapping from category to a list of control names and controls
|
|
9443
9626
|
*/
|
|
9444
|
-
|
|
9445
|
-
width: number | undefined;
|
|
9446
|
-
height: number | undefined;
|
|
9627
|
+
addDebugControls(categories: any): void;
|
|
9447
9628
|
/**
|
|
9448
|
-
*
|
|
9629
|
+
* Add the given control to a panel.
|
|
9449
9630
|
*
|
|
9450
|
-
* @method
|
|
9451
|
-
* @param
|
|
9452
|
-
* @param
|
|
9631
|
+
* @method addDebugControl
|
|
9632
|
+
* @param {string} category the name of the panel the control will be put under
|
|
9633
|
+
* @param {string} name the name of the control
|
|
9634
|
+
* @param {string} description a description for the control (tooltip)
|
|
9635
|
+
* @param {DebugUIControl} control the control to add to the panel
|
|
9453
9636
|
*/
|
|
9454
|
-
|
|
9637
|
+
addDebugControl(category: string, name: string, description: string, control: DebugUIControl): void;
|
|
9455
9638
|
/**
|
|
9456
|
-
*
|
|
9639
|
+
* Remove the given controls from the UI.
|
|
9457
9640
|
*
|
|
9458
|
-
* @method
|
|
9459
|
-
* @param {
|
|
9641
|
+
* @method removeDebugControls
|
|
9642
|
+
* @param {category: string: [name: string]} categories
|
|
9643
|
+
* a mapping from category to a list of control names to remove
|
|
9460
9644
|
*/
|
|
9461
|
-
|
|
9645
|
+
removeDebugControls(categories: any): void;
|
|
9646
|
+
/**
|
|
9647
|
+
* Remove the given control from a panel.
|
|
9648
|
+
*
|
|
9649
|
+
* @method removeDebugControl
|
|
9650
|
+
* @param {string} category the name of the panel the control will be put under
|
|
9651
|
+
* @param {string} name the name of the control
|
|
9652
|
+
*/
|
|
9653
|
+
removeDebugControl(category: string, name: string): void;
|
|
9654
|
+
_addDebugControl(category: any, name: any, description: any, control: any): void;
|
|
9655
|
+
_removeDebugControl(category: any, name: any): void;
|
|
9656
|
+
_onMinimizeClicked(): void;
|
|
9657
|
+
_onCategoryChanged(): void;
|
|
9462
9658
|
}
|
|
9463
9659
|
/**
|
|
9464
|
-
*
|
|
9465
|
-
*
|
|
9466
|
-
* re-rendered if the camera isn't moving. There is also a third buffer that
|
|
9467
|
-
* can be used to render elements that must appear always on top.
|
|
9468
|
-
*
|
|
9469
|
-
* Does not yet support antialiasing.
|
|
9470
|
-
*
|
|
9471
|
-
* 2019/07/10 Terence Dickson
|
|
9472
|
-
* Generally has better performance under average loads compared to the
|
|
9473
|
-
* single-buffer renderer, but does not work on IE 11.
|
|
9660
|
+
* A graph on a HTML canvas element that will display the values in the given
|
|
9661
|
+
* time series.
|
|
9474
9662
|
*
|
|
9475
|
-
* @class
|
|
9663
|
+
* @class LineGraph
|
|
9476
9664
|
* @private
|
|
9477
|
-
*/
|
|
9478
|
-
|
|
9479
|
-
constructor(renderOptions: any, targetWebGLVersion?: number);
|
|
9480
|
-
effectComposer: null;
|
|
9481
|
-
outdoorsVisible: boolean;
|
|
9482
|
-
options: any;
|
|
9483
|
-
renderer: WebGLRenderer | undefined;
|
|
9484
|
-
core: any;
|
|
9485
|
-
journeyOpacity: number | undefined;
|
|
9486
|
-
backgroundColor: Color | undefined;
|
|
9487
|
-
backgroundAlpha: number | undefined;
|
|
9488
|
-
mapboxOutdoorContext: any;
|
|
9489
|
-
staticSceneRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9490
|
-
animatedSceneRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9491
|
-
animatedSceneBackgroundRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9492
|
-
alwaysOnTopSceneRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9493
|
-
outdoorViewRenderTarget: WebGLRenderTarget<Texture> | undefined;
|
|
9494
|
-
populateRenderTarget(renderTarget: any): void;
|
|
9495
|
-
createOutdoorViewTexture(): void;
|
|
9496
|
-
outdoorViewTexture: Texture | undefined;
|
|
9497
|
-
outdoorViewTextureProps: any;
|
|
9498
|
-
setupEffectComposer(): void;
|
|
9499
|
-
setOutdoorViewTexture(texture: any): void;
|
|
9665
|
+
*/
|
|
9666
|
+
class LineGraph {
|
|
9500
9667
|
/**
|
|
9501
|
-
*
|
|
9668
|
+
* Return a new `LineGraph` displaying information from the given list of
|
|
9669
|
+
* time series.
|
|
9670
|
+
*
|
|
9671
|
+
* @constructor
|
|
9672
|
+
* @param {[TimeSeries]} seriesList the list of time series that will be
|
|
9673
|
+
* displayed on this graph.
|
|
9674
|
+
* @param {number} width the width of this canvas element, in pixels
|
|
9675
|
+
* @param {number} height the width of this canvas element, in pixels
|
|
9502
9676
|
*/
|
|
9677
|
+
constructor({ seriesList, width, height }: [TimeSeries]);
|
|
9678
|
+
_gradients: Map<any, any>;
|
|
9679
|
+
_canvas: HTMLCanvasElement;
|
|
9680
|
+
_context: CanvasRenderingContext2D | null;
|
|
9503
9681
|
destroy(): void;
|
|
9504
|
-
renderToAnimatedBackgroundBuffer(scene: any, sceneCamera: any): void;
|
|
9505
9682
|
/**
|
|
9506
|
-
*
|
|
9507
|
-
*
|
|
9508
|
-
*
|
|
9509
|
-
* @method renderAnimated
|
|
9510
|
-
* @param renderTarget {null or WebGLRenderTarget}
|
|
9511
|
-
* @param scene {Scene}
|
|
9512
|
-
* @param sceneCamera {Camera}
|
|
9683
|
+
* @method element
|
|
9684
|
+
* @return {Element} DOM element that can be added to display this graph
|
|
9513
9685
|
*/
|
|
9514
|
-
|
|
9686
|
+
get element(): Element;
|
|
9515
9687
|
/**
|
|
9516
|
-
*
|
|
9517
|
-
* the parts that should appear on top of all other elements.
|
|
9688
|
+
* Clear this canvas and re-draw the time series lines.
|
|
9518
9689
|
*
|
|
9519
|
-
* @method
|
|
9520
|
-
* @param renderTarget {null or WebGLRenderTarget}
|
|
9521
|
-
* @param scene {Scene}
|
|
9522
|
-
* @param sceneCamera {Camera}
|
|
9690
|
+
* @method redraw
|
|
9523
9691
|
*/
|
|
9524
|
-
|
|
9692
|
+
redraw(): void;
|
|
9525
9693
|
/**
|
|
9526
|
-
*
|
|
9694
|
+
* Set the list of time series that this graph displays.
|
|
9527
9695
|
*
|
|
9528
|
-
* @method
|
|
9529
|
-
* @param
|
|
9530
|
-
* @param scene {Scene}
|
|
9531
|
-
* @param sceneCamera {Camera}
|
|
9696
|
+
* @method setSeriesList
|
|
9697
|
+
* @param {[TimeSeries]} series series to display
|
|
9532
9698
|
*/
|
|
9533
|
-
|
|
9699
|
+
setSeriesList(series: [TimeSeries]): void;
|
|
9700
|
+
_seriesList: [TimeSeries] | undefined;
|
|
9701
|
+
}
|
|
9702
|
+
/**
|
|
9703
|
+
* A time series that averages values that are reported to it and inserts them
|
|
9704
|
+
* into a ring buffer.
|
|
9705
|
+
*
|
|
9706
|
+
* @class TimeSeries
|
|
9707
|
+
* @private
|
|
9708
|
+
*/
|
|
9709
|
+
class TimeSeries {
|
|
9710
|
+
constructor({ windowSize, totalAccumulationCount, hue, }: {
|
|
9711
|
+
windowSize?: number | undefined;
|
|
9712
|
+
totalAccumulationCount?: number | undefined;
|
|
9713
|
+
hue?: number | undefined;
|
|
9714
|
+
});
|
|
9715
|
+
windowSize: number;
|
|
9716
|
+
hue: number;
|
|
9717
|
+
_totalAccumulationCount: number;
|
|
9718
|
+
_ringBuffer: any[];
|
|
9719
|
+
_ringBufferLength: number;
|
|
9720
|
+
_ringBufferPointer: number;
|
|
9721
|
+
_accumulatorValue: number;
|
|
9722
|
+
_accumulatorCount: number;
|
|
9723
|
+
_changed: boolean;
|
|
9724
|
+
destroy(): void;
|
|
9534
9725
|
/**
|
|
9535
|
-
*
|
|
9536
|
-
*
|
|
9726
|
+
* Incorporate the given value into the time series. This will accumulate up
|
|
9727
|
+
* to `LINE_GRAPH_ACCUMULATION_COUNT` values, at which point they will be
|
|
9728
|
+
* averaged and inserted into the time series. If the number of averaged entries
|
|
9729
|
+
* exceeds `LINE_GRAPH_WINDOW_SIZE`, the ring buffer will drop the oldest
|
|
9730
|
+
* entry.
|
|
9537
9731
|
*
|
|
9538
|
-
*
|
|
9539
|
-
*
|
|
9540
|
-
*
|
|
9541
|
-
* @
|
|
9732
|
+
* This will set the `changed()` flag if an accumulated value has been added
|
|
9733
|
+
* to the ring buffer.
|
|
9734
|
+
*
|
|
9735
|
+
* @method report
|
|
9736
|
+
* @param {number} value the value to add to the time series
|
|
9542
9737
|
*/
|
|
9543
|
-
|
|
9738
|
+
report(value: number): void;
|
|
9544
9739
|
/**
|
|
9545
|
-
*
|
|
9740
|
+
* Return the entry at the given index in the ring buffer. The value
|
|
9741
|
+
* at `length - 1` is the most recently accumulated value.
|
|
9546
9742
|
*
|
|
9547
|
-
* @method
|
|
9548
|
-
* @param
|
|
9549
|
-
* @
|
|
9743
|
+
* @method at
|
|
9744
|
+
* @param {number} i the index to retrieve
|
|
9745
|
+
* @return {number} the accumulated value at the given index
|
|
9550
9746
|
*/
|
|
9551
|
-
|
|
9552
|
-
width: number | undefined;
|
|
9553
|
-
height: number | undefined;
|
|
9747
|
+
at(i: number): number;
|
|
9554
9748
|
/**
|
|
9555
|
-
*
|
|
9749
|
+
* @method maximumValue
|
|
9750
|
+
* @return {number} the maximum value in this time series
|
|
9751
|
+
*/
|
|
9752
|
+
maximumValue(): number;
|
|
9753
|
+
/**
|
|
9754
|
+
* Return true if this time series has changed since the previous `report()`
|
|
9755
|
+
* invocation.
|
|
9556
9756
|
*
|
|
9557
|
-
* @method
|
|
9558
|
-
* @
|
|
9559
|
-
* @param alpha {number}
|
|
9757
|
+
* @method changed
|
|
9758
|
+
* @return {boolean}
|
|
9560
9759
|
*/
|
|
9561
|
-
|
|
9760
|
+
changed(): boolean;
|
|
9562
9761
|
/**
|
|
9563
|
-
*
|
|
9762
|
+
* Return the number of accumulated values in this time series. Will never
|
|
9763
|
+
* exceed `LINE_GRAPH_WINDOW_SIZE`.
|
|
9564
9764
|
*
|
|
9565
|
-
* @
|
|
9566
|
-
* @param {MapboxOutdoorContext} mapboxOutdoorContext context to draw
|
|
9765
|
+
* @return {number} number of accumulated entries
|
|
9567
9766
|
*/
|
|
9568
|
-
|
|
9569
|
-
setOutdoorViewController(outdoorViewController: any): void;
|
|
9570
|
-
outdoorViewController: any;
|
|
9571
|
-
toggleOutdoorViewVisiblity(visible: any): void;
|
|
9767
|
+
get length(): number;
|
|
9572
9768
|
}
|
|
9573
|
-
import { RENDER } from '@mappedin/mappedin-js/renderer/internal';
|
|
9574
|
-
import { Scene } from 'three';
|
|
9575
|
-
import { Camera } from 'three';
|
|
9576
|
-
import { Vector2 } from 'three';
|
|
9577
|
-
import { Texture } from 'three';
|
|
9578
|
-
import { Color } from 'three';
|
|
9579
|
-
import { WebGLRenderer } from 'three';
|
|
9580
|
-
import { EffectComposer } from '@mappedin/mappedin-js/renderer/internal/Mappedin.EffectComposer';
|
|
9581
|
-
import { WebGLRenderTarget } from 'three';
|
|
9582
9769
|
export {};
|
|
9583
9770
|
}
|
|
9584
9771
|
|
|
9585
|
-
declare module '@mappedin/mappedin-js/renderer/
|
|
9586
|
-
|
|
9587
|
-
|
|
9588
|
-
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
|
|
9592
|
-
|
|
9593
|
-
|
|
9594
|
-
|
|
9595
|
-
|
|
9596
|
-
|
|
9597
|
-
|
|
9598
|
-
|
|
9599
|
-
|
|
9600
|
-
|
|
9601
|
-
|
|
9602
|
-
|
|
9603
|
-
|
|
9604
|
-
|
|
9605
|
-
|
|
9606
|
-
|
|
9607
|
-
|
|
9608
|
-
|
|
9609
|
-
|
|
9610
|
-
|
|
9611
|
-
|
|
9612
|
-
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
|
|
9616
|
-
|
|
9617
|
-
|
|
9618
|
-
|
|
9619
|
-
|
|
9620
|
-
|
|
9621
|
-
|
|
9772
|
+
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.DebugUIControl' {
|
|
9773
|
+
export class DebugUIScalarSlider {
|
|
9774
|
+
constructor({ minimum, maximum, step, current, onValueChanged }: {
|
|
9775
|
+
minimum: any;
|
|
9776
|
+
maximum: any;
|
|
9777
|
+
step: any;
|
|
9778
|
+
current: any;
|
|
9779
|
+
onValueChanged: any;
|
|
9780
|
+
});
|
|
9781
|
+
_minimum: any;
|
|
9782
|
+
_maximum: any;
|
|
9783
|
+
_step: any;
|
|
9784
|
+
_onValueChanged: any;
|
|
9785
|
+
_element: HTMLInputElement;
|
|
9786
|
+
destroy(): void;
|
|
9787
|
+
addValueChangedListener(listener: any): void;
|
|
9788
|
+
setValue(value: any): void;
|
|
9789
|
+
get element(): HTMLInputElement;
|
|
9790
|
+
get value(): string;
|
|
9791
|
+
get displayedValue(): string;
|
|
9792
|
+
get height(): number;
|
|
9793
|
+
}
|
|
9794
|
+
export class DebugUICheckbox {
|
|
9795
|
+
constructor({ current, onValueChanged }: {
|
|
9796
|
+
current: any;
|
|
9797
|
+
onValueChanged: any;
|
|
9798
|
+
});
|
|
9799
|
+
_onValueChanged: any;
|
|
9800
|
+
_element: HTMLDivElement;
|
|
9801
|
+
_titleElement: HTMLInputElement;
|
|
9802
|
+
destroy(): void;
|
|
9803
|
+
addValueChangedListener(listener: any): void;
|
|
9804
|
+
get element(): HTMLDivElement;
|
|
9805
|
+
get titleElement(): HTMLInputElement;
|
|
9806
|
+
get value(): boolean;
|
|
9807
|
+
get displayedValue(): "true" | "false";
|
|
9808
|
+
get height(): number;
|
|
9809
|
+
get titleElementWidth(): number;
|
|
9810
|
+
}
|
|
9811
|
+
export class DebugUIDropdown {
|
|
9812
|
+
constructor({ values, current, onValueChanged }: {
|
|
9813
|
+
values: any;
|
|
9814
|
+
current: any;
|
|
9815
|
+
onValueChanged: any;
|
|
9816
|
+
});
|
|
9817
|
+
_values: any;
|
|
9818
|
+
_onValueChanged: any;
|
|
9819
|
+
_element: HTMLSelectElement;
|
|
9820
|
+
destroy(): void;
|
|
9821
|
+
addValueChangedListener(listener: any): void;
|
|
9822
|
+
get element(): HTMLSelectElement;
|
|
9823
|
+
get value(): string;
|
|
9824
|
+
get displayedValue(): string;
|
|
9825
|
+
get height(): number;
|
|
9826
|
+
}
|
|
9827
|
+
export class DebugUIButton {
|
|
9828
|
+
constructor({ label, onClick }: {
|
|
9829
|
+
label: any;
|
|
9830
|
+
onClick: any;
|
|
9831
|
+
});
|
|
9832
|
+
_onClick: any;
|
|
9833
|
+
_element: HTMLButtonElement;
|
|
9834
|
+
destroy(): void;
|
|
9835
|
+
addValueChangedListener(): void;
|
|
9836
|
+
addClickListener(listener: any): void;
|
|
9837
|
+
get element(): HTMLButtonElement;
|
|
9838
|
+
get value(): string;
|
|
9839
|
+
get displayedValue(): string;
|
|
9840
|
+
get height(): number;
|
|
9841
|
+
}
|
|
9842
|
+
export class DebugUIColorPicker {
|
|
9843
|
+
constructor({ current, onValueChanged }: {
|
|
9844
|
+
current: any;
|
|
9845
|
+
onValueChanged: any;
|
|
9846
|
+
});
|
|
9847
|
+
_onValueChanged: any;
|
|
9848
|
+
_element: HTMLDivElement;
|
|
9849
|
+
_titleElement: HTMLDivElement;
|
|
9850
|
+
_color: any;
|
|
9851
|
+
_listeners: any[];
|
|
9852
|
+
_colorPickerMain: HTMLCanvasElement;
|
|
9853
|
+
_colorPickerBottomSlider: HTMLCanvasElement;
|
|
9854
|
+
_requestAnimationFrameHandle: number | null;
|
|
9855
|
+
_requestAnimationFrameUpdate(): void;
|
|
9856
|
+
_pickingMain: boolean;
|
|
9857
|
+
_pickingX: number;
|
|
9858
|
+
_pickingY: number;
|
|
9859
|
+
_moveListener: (e: any) => void;
|
|
9860
|
+
_upListener: any;
|
|
9861
|
+
_pickingBottomSlider: boolean;
|
|
9862
|
+
_bottomMoveListener: (e: any) => void;
|
|
9863
|
+
_bottomUpListener: any;
|
|
9864
|
+
_mode: string;
|
|
9865
|
+
_modeButtons: {};
|
|
9866
|
+
destroy(): void;
|
|
9867
|
+
_destroyed: boolean | undefined;
|
|
9868
|
+
addValueChangedListener(listener: any): void;
|
|
9869
|
+
setValue(color: any): void;
|
|
9870
|
+
_requestAnimationFrame(): void;
|
|
9871
|
+
_notify(): void;
|
|
9872
|
+
_updateMain(x: any, y: any): void;
|
|
9873
|
+
_updateBottomSlider(x: any): void;
|
|
9874
|
+
redraw(): void;
|
|
9875
|
+
get element(): HTMLDivElement;
|
|
9876
|
+
get titleElement(): HTMLDivElement;
|
|
9877
|
+
get value(): any;
|
|
9878
|
+
get displayedValue(): string;
|
|
9879
|
+
get height(): number;
|
|
9880
|
+
get titleElementWidth(): number;
|
|
9881
|
+
}
|
|
9882
|
+
export class DebugUIPanel {
|
|
9883
|
+
constructor({ name }: {
|
|
9884
|
+
name: any;
|
|
9885
|
+
});
|
|
9886
|
+
_name: any;
|
|
9887
|
+
_element: HTMLDivElement;
|
|
9888
|
+
_entries: any[];
|
|
9889
|
+
_height: number;
|
|
9622
9890
|
destroy(): void;
|
|
9891
|
+
get element(): HTMLDivElement;
|
|
9892
|
+
get height(): number;
|
|
9893
|
+
addControl(name: any, description: any, control: any): void;
|
|
9894
|
+
removeControl(name: any): void;
|
|
9895
|
+
_updateLayout(): void;
|
|
9623
9896
|
}
|
|
9624
9897
|
}
|
|
9625
9898
|
|
|
9626
|
-
declare module '@mappedin/mappedin-js/renderer/private/
|
|
9627
|
-
import
|
|
9628
|
-
|
|
9629
|
-
|
|
9630
|
-
|
|
9631
|
-
|
|
9632
|
-
|
|
9633
|
-
|
|
9634
|
-
|
|
9635
|
-
};
|
|
9636
|
-
/**
|
|
9637
|
-
* API for exporting the scene.
|
|
9638
|
-
*
|
|
9639
|
-
* @hidden
|
|
9640
|
-
*/
|
|
9641
|
-
export default class ExportController {
|
|
9642
|
-
#private;
|
|
9643
|
-
core: ICore;
|
|
9644
|
-
glTFExporter?: any;
|
|
9645
|
-
constructor(core: ICore);
|
|
9899
|
+
declare module '@mappedin/mappedin-js/renderer/private/Core.interface' {
|
|
9900
|
+
import { Color, Vector2, Vector3, Mesh } from 'three';
|
|
9901
|
+
import type { TPadding, TGetPolygonsAtCoordinateOptions, TMapViewOptions, TileManager, BillboardManager, StackedMapsController, SmartCollisionEngine, OutdoorViewController, LayerController } from '@mappedin/mappedin-js/renderer/internal';
|
|
9902
|
+
import { BlueDotController, CameraController, STATE, MappedinMap, Mappedin, MappedinCoordinate, MappedinPolygon, MappedinNode, changeListenerFn, RENDER, INTERNAL_EVENT_PAYLOAD, INTERNAL_EVENT, TaskScheduler, SceneManager, PubSub, FlatLabel, MapObject, PathsController, FloatingLabelsController, FlatLabelsController, PolygonColorsController, MarkersController, PolygonInteractionController, TooltipsController, PolygonStatesController, PolygonImagesController, ThreeDMarkersController, ExportController, EventSystem } from '@mappedin/mappedin-js/renderer/internal';
|
|
9903
|
+
import Tween, { Easing } from '@tweenjs/tween.js';
|
|
9904
|
+
import WatermarkController from '@mappedin/mappedin-js/renderer/private/controllers/WatermarkController';
|
|
9905
|
+
import PolygonHoverColorsController from '@mappedin/mappedin-js/renderer/private/controllers/PolygonHoverColorsController';
|
|
9906
|
+
import { E_MAP_CHANGED_REASON } from '@mappedin/mappedin-js/renderer/MapView.enums';
|
|
9907
|
+
export type TFocusOptionsLegacy = {
|
|
9646
9908
|
/**
|
|
9647
|
-
*
|
|
9909
|
+
* An array of Nodes to focus in on
|
|
9648
9910
|
*/
|
|
9649
|
-
|
|
9650
|
-
}
|
|
9651
|
-
}
|
|
9652
|
-
|
|
9653
|
-
declare module '@mappedin/mappedin-js/renderer/private/controllers/LayerController' {
|
|
9654
|
-
import type { ICore } from '@mappedin/mappedin-js/renderer/private/Core.interface';
|
|
9655
|
-
import { MappedinMap } from '@mappedin/mappedin-js/get-venue';
|
|
9656
|
-
import { Feature, FeatureCollection, GeoJsonProperties, Polygon } from 'geojson';
|
|
9657
|
-
class LayerController {
|
|
9658
|
-
#private;
|
|
9659
|
-
constructor(core: ICore);
|
|
9911
|
+
nodes?: (MappedinNode | MappedinNode['id'])[];
|
|
9660
9912
|
/**
|
|
9661
|
-
*
|
|
9913
|
+
* An array of Polygons to focus on. It's the center of the bounds of all Polygons, designed to fit everything into view.
|
|
9662
9914
|
*/
|
|
9663
|
-
|
|
9664
|
-
getAllLayersForMap(map: MappedinMap): Promise<{
|
|
9665
|
-
[layerName: string]: boolean;
|
|
9666
|
-
}>;
|
|
9915
|
+
polygons?: (MappedinPolygon | MappedinPolygon['id'])[];
|
|
9667
9916
|
/**
|
|
9668
|
-
*
|
|
9669
|
-
*
|
|
9917
|
+
* The duration (in ms) the focus animation should last for.
|
|
9918
|
+
* @defaultValue `100`
|
|
9670
9919
|
*/
|
|
9671
|
-
|
|
9672
|
-
addGeoJSONLayer(layerName: string, featureOrFeatureCollection: Feature<Polygon, GeoJsonProperties | null> | FeatureCollection<Polygon, GeoJsonProperties | null>): Promise<void>;
|
|
9673
|
-
removeGeoJSONLayer(layerName: string): Promise<void>;
|
|
9674
|
-
}
|
|
9675
|
-
export default LayerController;
|
|
9676
|
-
}
|
|
9677
|
-
|
|
9678
|
-
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.BlueDot/Mappedin.BlueDot.ui' {
|
|
9679
|
-
import { IBlueDotCore, BlueDotManager } from '@mappedin/mappedin-js/renderer/internal';
|
|
9680
|
-
import { IPubSub } from '@mappedin/mappedin-js/renderer/internal/pub-sub';
|
|
9681
|
-
import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
|
|
9682
|
-
enum ZOOM_CONDITION {
|
|
9683
|
-
EXPIRED = 0,
|
|
9684
|
-
IN_PROGRESS = 1,
|
|
9685
|
-
COMPLETED = 2
|
|
9686
|
-
}
|
|
9687
|
-
export interface IBlueDotUI extends IPubSub {
|
|
9688
|
-
blueDotTooltips: any[];
|
|
9689
|
-
setBlueDotPosition: () => void;
|
|
9690
|
-
showBlueDotBearing: () => void;
|
|
9691
|
-
addGhostMarkers: () => void;
|
|
9692
|
-
addLocationUncertainMarkersAndTooltips: () => void;
|
|
9693
|
-
addBlueDotMarker: () => void;
|
|
9694
|
-
removeTooltips: () => void;
|
|
9695
|
-
removeBlueDot: () => void;
|
|
9696
|
-
centerBlueDot: () => void;
|
|
9697
|
-
endFollowing: () => void;
|
|
9698
|
-
zoomCondition: ZOOM_CONDITION;
|
|
9699
|
-
isFollowing: boolean;
|
|
9700
|
-
useRotationMode: boolean;
|
|
9701
|
-
}
|
|
9702
|
-
type TBlueDotUIProps = {
|
|
9703
|
-
core: ICore;
|
|
9704
|
-
blueDotManager: BlueDotManager;
|
|
9705
|
-
controller: IBlueDotCore;
|
|
9706
|
-
data: any;
|
|
9707
|
-
};
|
|
9708
|
-
const BlueDotUI: ({ core, blueDotManager, controller }: TBlueDotUIProps) => IBlueDotUI;
|
|
9709
|
-
export default BlueDotUI;
|
|
9710
|
-
}
|
|
9711
|
-
|
|
9712
|
-
declare module '@mappedin/mappedin-js/renderer/internal/utils' {
|
|
9713
|
-
export * from '@mappedin/mappedin-js/renderer/internal/utils/utils';
|
|
9714
|
-
export { shouldDisableOffscreenCanvas } from '@mappedin/mappedin-js/renderer/internal/utils/browser';
|
|
9715
|
-
export { throttle, debounce } from '@mappedin/mappedin-js/renderer/internal/utils/async';
|
|
9716
|
-
}
|
|
9717
|
-
|
|
9718
|
-
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.MapManager' {
|
|
9719
|
-
export default MapManager;
|
|
9720
|
-
class MapManager extends PubSub {
|
|
9721
|
-
constructor(polygonMeshesById: any, renderer: any, core: any, taskScheduler: any, loadOptions?: {});
|
|
9722
|
-
mapObjects: Map<any, any>;
|
|
9723
|
-
currentMap: undefined;
|
|
9724
|
-
object: Object3D<import("three").Object3DEventMap>;
|
|
9725
|
-
_showCount: number;
|
|
9726
|
-
_mapObjectsSortedByElevationDirty: boolean;
|
|
9727
|
-
expanded: boolean;
|
|
9728
|
-
polygonMeshesById: any;
|
|
9729
|
-
core: any;
|
|
9730
|
-
renderer: any;
|
|
9731
|
-
loadOptions: {};
|
|
9732
|
-
addMap(mapClass: any, callback?: () => void): Promise<void>;
|
|
9733
|
-
setMap(mapClassOrId: any, callback: any): Promise<any>;
|
|
9734
|
-
removeMap(mapClassOrId: any): void;
|
|
9735
|
-
removeAllMaps(): void;
|
|
9736
|
-
loadMaps(maps: any, startingMap: any, onFirstMapLoaded?: () => void, onDataLoaded?: () => void, onError?: () => void): void;
|
|
9920
|
+
duration?: number;
|
|
9737
9921
|
/**
|
|
9738
|
-
|
|
9739
|
-
|
|
9740
|
-
|
|
9741
|
-
|
|
9742
|
-
* @param mapIds {Array} Array of mapIds or mapObjects to display while expanded. For connections, pass { connection: true, maps: [], connectionNodes: [], }
|
|
9743
|
-
* @param options {Object} Options object @optional
|
|
9744
|
-
@param [options.focus=false] {Boolean} Focus the camera onto expanded maps
|
|
9745
|
-
@param [options.debug=false] {Boolean} Display cubes around focus bounding box for debug info
|
|
9746
|
-
@param [options.rotation=0] {Number} Rotation of scene relative to zero (degrees)
|
|
9747
|
-
@param [options.duration=300] {Number} Duration of focus animation in ms
|
|
9748
|
-
@returns {Promise} Promise that resolves to 2d screen projections of each layer/map (see example)
|
|
9749
|
-
@example
|
|
9750
|
-
// expand maps with 3 connection maps in between
|
|
9751
|
-
expandMaps(
|
|
9752
|
-
'55e89771d982bc06ca000000',
|
|
9753
|
-
{
|
|
9754
|
-
connection: true,
|
|
9755
|
-
// connection nodes are an exit node from the '55e89771' man and entry node for the '55e9c73f' map
|
|
9756
|
-
connectionNodes: [{
|
|
9757
|
-
map: "55e89771",
|
|
9758
|
-
x: 6232,
|
|
9759
|
-
y: 4575
|
|
9760
|
-
}, {
|
|
9761
|
-
map: "55e9c73",
|
|
9762
|
-
x: 5945.000000000001,
|
|
9763
|
-
y: 4059.000000000001
|
|
9764
|
-
}],
|
|
9765
|
-
maps: [
|
|
9766
|
-
'55e9acbf',
|
|
9767
|
-
'55e8a9ed',
|
|
9768
|
-
'55e85e23'
|
|
9769
|
-
]
|
|
9770
|
-
},
|
|
9771
|
-
'55e9c73f'
|
|
9772
|
-
);
|
|
9773
|
-
|
|
9774
|
-
// resulting promise (sorted by elevation (top to bottom))
|
|
9775
|
-
|
|
9776
|
-
[
|
|
9777
|
-
{
|
|
9778
|
-
min: { x: -100, y: -50 },
|
|
9779
|
-
max: { x: -100, y: -50 }
|
|
9780
|
-
},
|
|
9781
|
-
{
|
|
9782
|
-
min: { x: -100, y: -50 },
|
|
9783
|
-
max: { x: -100, y: -50 }
|
|
9784
|
-
},
|
|
9785
|
-
{
|
|
9786
|
-
min: { x: -100, y: -50 },
|
|
9787
|
-
max: { x: -100, y: -50 }
|
|
9788
|
-
}
|
|
9789
|
-
]
|
|
9790
|
-
*/
|
|
9791
|
-
expandMaps(mapsToExpand: any, options: any): Promise<any>;
|
|
9922
|
+
* Whether to zoom the camera in or out, or just pan it.
|
|
9923
|
+
* @defaultValue `true`
|
|
9924
|
+
*/
|
|
9925
|
+
changeZoom?: boolean;
|
|
9792
9926
|
/**
|
|
9793
|
-
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
* @param options {Object} Options object @optional
|
|
9797
|
-
@param [options.focus] {Boolean} Focus the camera onto current map
|
|
9798
|
-
@param [options.debug] {Boolean} Display cubes around focus bounding box for debug info
|
|
9799
|
-
@param [options.duration=300] {Number} Duration of focus animation in ms
|
|
9800
|
-
*/
|
|
9801
|
-
contractMaps(options?: any): Promise<any>;
|
|
9802
|
-
expandPanBounds(bounds: any): void;
|
|
9927
|
+
* The animation curve to use for zooming in. Uses the animateCamera one by default.
|
|
9928
|
+
*/
|
|
9929
|
+
curve?: typeof Easing;
|
|
9803
9930
|
/**
|
|
9804
|
-
*
|
|
9805
|
-
* @param {Function} cb callback function
|
|
9931
|
+
* Camera tilt between 0 (top-down) to 1 (from the side)
|
|
9806
9932
|
*/
|
|
9807
|
-
|
|
9808
|
-
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9812
|
-
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
projections: any[] | undefined;
|
|
9817
|
-
mapsFullyLoaded(callback?: () => void): Promise<void>;
|
|
9933
|
+
tilt?: number;
|
|
9934
|
+
/**
|
|
9935
|
+
* Rotation in degrees
|
|
9936
|
+
*/
|
|
9937
|
+
rotation?: number;
|
|
9938
|
+
/**
|
|
9939
|
+
* You can overide the {{#crossLink "MapView/focusZoomFactor:property"}}{{/crossLink}} for a specific {{#crossLink "MapView/focusOn:method"}}{{/crossLink}} call, rather than globally, if you like.
|
|
9940
|
+
*/
|
|
9941
|
+
focusZoomFactor?: number;
|
|
9818
9942
|
/**
|
|
9819
|
-
*
|
|
9820
|
-
*
|
|
9943
|
+
* Sets a floor for how close you can zoom in on the scene. If it's lower than mapView.controls.minZoom, it's ignored.
|
|
9944
|
+
* @defaultValue: 0
|
|
9821
9945
|
*/
|
|
9822
|
-
|
|
9946
|
+
minZoom?: number;
|
|
9947
|
+
maxZoom?: number;
|
|
9823
9948
|
/**
|
|
9824
|
-
*
|
|
9825
|
-
* This will shift maps up to show next one (below)
|
|
9949
|
+
* Whether {@link Camera.minZoom} and {@link Camera.maxZoom} should be recalculated during the focusing animation.
|
|
9826
9950
|
*/
|
|
9827
|
-
|
|
9828
|
-
|
|
9829
|
-
|
|
9830
|
-
|
|
9831
|
-
|
|
9832
|
-
|
|
9833
|
-
|
|
9834
|
-
import MultiFloorView from '@mappedin/mappedin-js/renderer/internal/Mappedin.MultiFloorView';
|
|
9835
|
-
}
|
|
9836
|
-
|
|
9837
|
-
declare module '@mappedin/mappedin-js/renderer/internal/Mappedin.DebugUI' {
|
|
9951
|
+
updateZoomLimits?: boolean;
|
|
9952
|
+
padding?: TPadding;
|
|
9953
|
+
points?: any[];
|
|
9954
|
+
boundingBox?: any;
|
|
9955
|
+
callback: () => void;
|
|
9956
|
+
cancelledCallback?: () => void;
|
|
9957
|
+
};
|
|
9838
9958
|
/**
|
|
9839
|
-
*
|
|
9959
|
+
* Ben Liu, 2023/03/29
|
|
9840
9960
|
*
|
|
9841
|
-
*
|
|
9842
|
-
*
|
|
9961
|
+
* This causes the generation of the index.d.ts file to break entirely for some reason.
|
|
9962
|
+
*
|
|
9963
|
+
* TODO: Figure out why
|
|
9843
9964
|
*/
|
|
9844
|
-
export
|
|
9845
|
-
_element: HTMLDivElement;
|
|
9846
|
-
_titleElement: HTMLSelectElement;
|
|
9847
|
-
_minimizeElement: HTMLButtonElement;
|
|
9848
|
-
_performancePanelElement: HTMLDivElement;
|
|
9849
|
-
_performanceEntries: Map<any, any>;
|
|
9850
|
-
_sortedPerformanceEntryNames: any[];
|
|
9851
|
-
_overviewGraph: LineGraph;
|
|
9852
|
-
_controlPanels: Map<any, any>;
|
|
9853
|
-
_sortedControlPanelNames: any[];
|
|
9854
|
-
_minimized: boolean;
|
|
9855
|
-
destroy(): void;
|
|
9965
|
+
export interface ICore extends PubSub<INTERNAL_EVENT_PAYLOAD, INTERNAL_EVENT> {
|
|
9856
9966
|
/**
|
|
9857
|
-
*
|
|
9858
|
-
* added as a child of any other DOM element to display it.
|
|
9859
|
-
*
|
|
9860
|
-
* @method element
|
|
9861
|
-
* @return {Element} the ui's root element
|
|
9967
|
+
* Controllers
|
|
9862
9968
|
*/
|
|
9863
|
-
|
|
9969
|
+
eventSystem: EventSystem;
|
|
9970
|
+
floatingLabels: FloatingLabelsController;
|
|
9971
|
+
flatLabels: FlatLabelsController;
|
|
9972
|
+
paths: PathsController;
|
|
9973
|
+
polygonColors: PolygonColorsController;
|
|
9974
|
+
polygonHoverColors: PolygonHoverColorsController;
|
|
9975
|
+
polygonInteraction: PolygonInteractionController;
|
|
9976
|
+
polygonStates: PolygonStatesController;
|
|
9977
|
+
polygonImages: PolygonImagesController;
|
|
9978
|
+
markers: MarkersController;
|
|
9979
|
+
tooltips: TooltipsController;
|
|
9980
|
+
threeDMarkers: ThreeDMarkersController;
|
|
9981
|
+
blueDot: BlueDotController;
|
|
9982
|
+
camera: CameraController;
|
|
9983
|
+
tileManager: TileManager;
|
|
9984
|
+
billboardManager: BillboardManager;
|
|
9985
|
+
stackedMaps: StackedMapsController;
|
|
9986
|
+
outdoorViewController?: OutdoorViewController;
|
|
9987
|
+
exportController: ExportController;
|
|
9988
|
+
watermark: WatermarkController;
|
|
9989
|
+
layerController: LayerController;
|
|
9990
|
+
state: STATE;
|
|
9991
|
+
options: TMapViewOptions & {
|
|
9992
|
+
onDataLoaded?: (data: Mappedin) => void;
|
|
9993
|
+
onFirstMapLoaded?: (data: Mappedin) => void;
|
|
9994
|
+
};
|
|
9995
|
+
currentPath?: MappedinNode[];
|
|
9996
|
+
referenceMap: MappedinMap;
|
|
9997
|
+
taskScheduler: TaskScheduler;
|
|
9998
|
+
sceneManager: SceneManager | undefined;
|
|
9999
|
+
loadOptions?: TMapViewOptions['loadOptions'];
|
|
10000
|
+
imageFlippingEnabled: boolean;
|
|
10001
|
+
imageFlippingCache: Record<any, any>;
|
|
10002
|
+
cachedPadding: TPadding;
|
|
10003
|
+
getCameraFrameForPoints: any;
|
|
10004
|
+
polygonMeshesById: Record<string, Mesh>;
|
|
10005
|
+
textLabelsByPolygonId: Record<string, FlatLabel>;
|
|
10006
|
+
renderer: any;
|
|
10007
|
+
scene: any;
|
|
10008
|
+
cameraParameters: Vector2;
|
|
10009
|
+
cameraParametersZoomVector: Vector2;
|
|
10010
|
+
resolution: Vector2;
|
|
10011
|
+
determineNewLabelSize: any;
|
|
10012
|
+
visibleMapsInCurrentScene: MappedinMap[];
|
|
10013
|
+
visibleLayersInCurrentScene: {
|
|
10014
|
+
[mapId: string]: MappedinPolygon['layer'][];
|
|
10015
|
+
};
|
|
10016
|
+
visibleMapObjectsInCurrentScene: MapObject[];
|
|
10017
|
+
mapSetInProgress: Promise<undefined>;
|
|
10018
|
+
mapSetResolved: (...args: any[]) => any;
|
|
10019
|
+
on<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: (payload: INTERNAL_EVENT_PAYLOAD[EVENT_NAME] extends {
|
|
10020
|
+
data: null;
|
|
10021
|
+
} ? INTERNAL_EVENT_PAYLOAD[EVENT_NAME]['data'] : INTERNAL_EVENT_PAYLOAD[EVENT_NAME]) => void): void;
|
|
10022
|
+
off<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, fn: changeListenerFn<INTERNAL_EVENT_PAYLOAD[EVENT_NAME]>): void;
|
|
10023
|
+
publish<EVENT_NAME extends keyof INTERNAL_EVENT_PAYLOAD>(eventName: EVENT_NAME, payload?: INTERNAL_EVENT_PAYLOAD[EVENT_NAME]): void;
|
|
9864
10024
|
/**
|
|
9865
|
-
*
|
|
9866
|
-
*
|
|
9867
|
-
*
|
|
9868
|
-
* treated as if it had a value of `0` reported.
|
|
10025
|
+
* Manual camera controls for MapView. Generally you should be using the functions on MapView like {{#crossLink "MapView/focusOn:method"}}{{/crossLink}},
|
|
10026
|
+
* but if you have some cool animations in mind, you can do it with the {{#crossLink "CameraControls"}}{{/crossLink}}.
|
|
10027
|
+
* Some of the functions don't do anything in 2D.
|
|
9869
10028
|
*
|
|
9870
|
-
* @method reportFramePerformance
|
|
9871
|
-
* @param {string -> number} entries the most recent recorded values for each
|
|
9872
|
-
* named frame update
|
|
9873
10029
|
*/
|
|
9874
|
-
|
|
10030
|
+
controls: any;
|
|
9875
10031
|
/**
|
|
9876
|
-
*
|
|
9877
|
-
* controls one-by-one since it only recomputes positions after all controls
|
|
9878
|
-
* are added.
|
|
10032
|
+
* The Venue data this MapView is using.
|
|
9879
10033
|
*
|
|
9880
|
-
* @
|
|
9881
|
-
* @
|
|
9882
|
-
* a mapping from category to a list of control names and controls
|
|
10034
|
+
* @property venue {MappedinVenue}
|
|
10035
|
+
* @final
|
|
9883
10036
|
*/
|
|
9884
|
-
|
|
10037
|
+
readonly venue: Mappedin;
|
|
9885
10038
|
/**
|
|
9886
|
-
*
|
|
10039
|
+
* The div MapView is using.
|
|
9887
10040
|
*
|
|
9888
|
-
* @
|
|
9889
|
-
* @
|
|
9890
|
-
* @param {string} name the name of the control
|
|
9891
|
-
* @param {string} description a description for the control (tooltip)
|
|
9892
|
-
* @param {DebugUIControl} control the control to add to the panel
|
|
10041
|
+
* @property container {Div}
|
|
10042
|
+
* @final
|
|
9893
10043
|
*/
|
|
9894
|
-
|
|
10044
|
+
readonly container: HTMLElement;
|
|
9895
10045
|
/**
|
|
9896
|
-
*
|
|
10046
|
+
* The ID of the Map currently being displayed.
|
|
9897
10047
|
*
|
|
9898
|
-
* @method removeDebugControls
|
|
9899
|
-
* @param {category: string: [name: string]} categories
|
|
9900
|
-
* a mapping from category to a list of control names to remove
|
|
9901
10048
|
*/
|
|
9902
|
-
|
|
10049
|
+
readonly currentMap: string | null;
|
|
9903
10050
|
/**
|
|
9904
|
-
*
|
|
10051
|
+
* Change this factor to influence how much the camera zooms in on a {@link IMapView3D.focusOn} call.
|
|
9905
10052
|
*
|
|
9906
|
-
* @
|
|
9907
|
-
* @
|
|
9908
|
-
* @param {string} name the name of the control
|
|
10053
|
+
* @property focusZoomFactor {Integer}
|
|
10054
|
+
* @default 3
|
|
9909
10055
|
*/
|
|
9910
|
-
|
|
9911
|
-
_addDebugControl(category: any, name: any, description: any, control: any): void;
|
|
9912
|
-
_removeDebugControl(category: any, name: any): void;
|
|
9913
|
-
_onMinimizeClicked(): void;
|
|
9914
|
-
_onCategoryChanged(): void;
|
|
9915
|
-
}
|
|
9916
|
-
/**
|
|
9917
|
-
* A graph on a HTML canvas element that will display the values in the given
|
|
9918
|
-
* time series.
|
|
9919
|
-
*
|
|
9920
|
-
* @class LineGraph
|
|
9921
|
-
* @private
|
|
9922
|
-
*/
|
|
9923
|
-
class LineGraph {
|
|
10056
|
+
focusZoomFactor: number;
|
|
9924
10057
|
/**
|
|
9925
|
-
*
|
|
9926
|
-
* time series.
|
|
10058
|
+
* Returns the value you should call {@link CameraControls.setZoom} on to fit the Polygon exactly.
|
|
9927
10059
|
*
|
|
9928
|
-
* @
|
|
9929
|
-
* @param {[TimeSeries]} seriesList the list of time series that will be
|
|
9930
|
-
* displayed on this graph.
|
|
9931
|
-
* @param {number} width the width of this canvas element, in pixels
|
|
9932
|
-
* @param {number} height the width of this canvas element, in pixels
|
|
10060
|
+
* @return The zoom level that will fit the Polygon
|
|
9933
10061
|
*/
|
|
9934
|
-
|
|
9935
|
-
|
|
9936
|
-
|
|
9937
|
-
|
|
9938
|
-
|
|
10062
|
+
getZoomLevelForPolygon(props: {
|
|
10063
|
+
/**
|
|
10064
|
+
* The Polygon or Polygon ID to get the zoom level for
|
|
10065
|
+
*/
|
|
10066
|
+
polygonOrPolygonId: MappedinPolygon | string;
|
|
10067
|
+
}): number;
|
|
9939
10068
|
/**
|
|
9940
|
-
* @
|
|
9941
|
-
*
|
|
10069
|
+
* Returns the value you should call {@link CameraControls.setZoom} on to fit the {@link IMapView3D.currentMap} exactly.
|
|
10070
|
+
*
|
|
10071
|
+
* @return The zoom level that will fit the {@link IMapView3D.currentMap}.
|
|
9942
10072
|
*/
|
|
9943
|
-
|
|
10073
|
+
getZoomLevelForCurrentMap(): number;
|
|
9944
10074
|
/**
|
|
9945
|
-
*
|
|
10075
|
+
* Returns the angle that points to north, in radians, from the default orientation.
|
|
9946
10076
|
*
|
|
9947
|
-
* @
|
|
10077
|
+
* @return The angle to north from the default orientation, in radians.
|
|
9948
10078
|
*/
|
|
9949
|
-
|
|
10079
|
+
getNorth(): number;
|
|
9950
10080
|
/**
|
|
9951
|
-
*
|
|
10081
|
+
* Takes an element on the DOM and rotates it such that the top is pointing north. It will rotate with the camera, staying locked
|
|
10082
|
+
* on north. If you would like to align it do a different direction, or a different side of the element, pass in an offset. This
|
|
10083
|
+
* is how you would do a compass rose.
|
|
10084
|
+
*
|
|
10085
|
+
* This will modify your element's transform.
|
|
10086
|
+
*
|
|
10087
|
+
* @param element The element on the page to rotate.
|
|
10088
|
+
* @param offset The amount to offset the rotation by, in radians.
|
|
9952
10089
|
*
|
|
9953
|
-
* @method setSeriesList
|
|
9954
|
-
* @param {[TimeSeries]} series series to display
|
|
9955
10090
|
*/
|
|
9956
|
-
|
|
9957
|
-
_seriesList: [TimeSeries] | undefined;
|
|
9958
|
-
}
|
|
9959
|
-
/**
|
|
9960
|
-
* A time series that averages values that are reported to it and inserts them
|
|
9961
|
-
* into a ring buffer.
|
|
9962
|
-
*
|
|
9963
|
-
* @class TimeSeries
|
|
9964
|
-
* @private
|
|
9965
|
-
*/
|
|
9966
|
-
class TimeSeries {
|
|
9967
|
-
constructor({ windowSize, totalAccumulationCount, hue, }: {
|
|
9968
|
-
windowSize?: number | undefined;
|
|
9969
|
-
totalAccumulationCount?: number | undefined;
|
|
9970
|
-
hue?: number | undefined;
|
|
9971
|
-
});
|
|
9972
|
-
windowSize: number;
|
|
9973
|
-
hue: number;
|
|
9974
|
-
_totalAccumulationCount: number;
|
|
9975
|
-
_ringBuffer: any[];
|
|
9976
|
-
_ringBufferLength: number;
|
|
9977
|
-
_ringBufferPointer: number;
|
|
9978
|
-
_accumulatorValue: number;
|
|
9979
|
-
_accumulatorCount: number;
|
|
9980
|
-
_changed: boolean;
|
|
9981
|
-
destroy(): void;
|
|
10091
|
+
lockNorth(element: HTMLElement, offset?: number): void;
|
|
9982
10092
|
/**
|
|
9983
|
-
*
|
|
9984
|
-
* to
|
|
9985
|
-
|
|
9986
|
-
|
|
9987
|
-
|
|
9988
|
-
*
|
|
9989
|
-
* This will set the `changed()` flag if an accumulated value has been added
|
|
9990
|
-
* to the ring buffer.
|
|
10093
|
+
* Stops the MapView from trying to rotate your element with the camera. Do this if you remove the element, or want to stop it from rotating.
|
|
10094
|
+
* @param element The node to stop rotating. It won't reset the transform, just leave it as is.
|
|
10095
|
+
*/
|
|
10096
|
+
unlockNorth(element: HTMLElement): void;
|
|
10097
|
+
/**
|
|
10098
|
+
* Returns all polygons that contain the specified MappedinCoordinate.
|
|
9991
10099
|
*
|
|
9992
|
-
* @
|
|
9993
|
-
* @param
|
|
10100
|
+
* @param coordinate The MappedinCoordinate to check
|
|
10101
|
+
* @param hoverableMeshChildren
|
|
10102
|
+
* @param options {@link TGetPolygonsAtCoordinateOptions}
|
|
9994
10103
|
*/
|
|
9995
|
-
|
|
10104
|
+
getPolygonsAtScreenCoordinate(x: number, y: number, options?: TGetPolygonsAtCoordinateOptions): MappedinPolygon[];
|
|
9996
10105
|
/**
|
|
9997
|
-
*
|
|
9998
|
-
* at `length - 1` is the most recently accumulated value.
|
|
10106
|
+
* Returns all polygons at the specified screen coordinate.
|
|
9999
10107
|
*
|
|
10000
|
-
* @
|
|
10001
|
-
* @param
|
|
10002
|
-
* @
|
|
10108
|
+
* @param coordinate The Vector2 coordinate to check
|
|
10109
|
+
* @param hoverableMeshChildren
|
|
10110
|
+
* @param options {@link TGetPolygonsAtCoordinateOptions}
|
|
10003
10111
|
*/
|
|
10004
|
-
|
|
10112
|
+
getPolygonsAtCoordinate(coordinate: MappedinCoordinate, options?: TGetPolygonsAtCoordinateOptions): MappedinPolygon[];
|
|
10113
|
+
currentInteractionEvent: INTERNAL_EVENT | undefined;
|
|
10114
|
+
interactivePolygons: Record<string, boolean>;
|
|
10005
10115
|
/**
|
|
10006
|
-
*
|
|
10007
|
-
* @return {number} the maximum value in this time series
|
|
10116
|
+
* An object containing polygon ids and their hover colors.
|
|
10008
10117
|
*/
|
|
10009
|
-
|
|
10118
|
+
polygonHoverColorsById: Record<string, Color>;
|
|
10010
10119
|
/**
|
|
10011
|
-
*
|
|
10012
|
-
* invocation.
|
|
10013
|
-
*
|
|
10014
|
-
* @method changed
|
|
10015
|
-
* @return {boolean}
|
|
10120
|
+
* An Object to keep track of highlighted polygon id and the highlight color as the value initiated by setPolygonColor
|
|
10016
10121
|
*/
|
|
10017
|
-
|
|
10122
|
+
highlightedPolygons: Record<string, string>;
|
|
10018
10123
|
/**
|
|
10019
|
-
*
|
|
10020
|
-
* exceed `LINE_GRAPH_WINDOW_SIZE`.
|
|
10021
|
-
*
|
|
10022
|
-
* @return {number} number of accumulated entries
|
|
10124
|
+
* An object containing all outlined polygons.
|
|
10023
10125
|
*/
|
|
10024
|
-
|
|
10025
|
-
|
|
10026
|
-
|
|
10027
|
-
|
|
10028
|
-
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
|
|
10032
|
-
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
|
|
10036
|
-
|
|
10037
|
-
|
|
10038
|
-
|
|
10039
|
-
|
|
10040
|
-
|
|
10041
|
-
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
|
|
10047
|
-
|
|
10048
|
-
|
|
10049
|
-
|
|
10050
|
-
|
|
10051
|
-
|
|
10052
|
-
|
|
10053
|
-
|
|
10054
|
-
|
|
10055
|
-
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
|
|
10059
|
-
|
|
10060
|
-
|
|
10061
|
-
|
|
10062
|
-
|
|
10063
|
-
|
|
10064
|
-
|
|
10065
|
-
|
|
10066
|
-
|
|
10067
|
-
|
|
10068
|
-
|
|
10069
|
-
|
|
10070
|
-
|
|
10071
|
-
|
|
10072
|
-
|
|
10073
|
-
|
|
10074
|
-
|
|
10075
|
-
|
|
10076
|
-
|
|
10077
|
-
|
|
10078
|
-
addValueChangedListener(listener: any): void;
|
|
10079
|
-
get element(): HTMLSelectElement;
|
|
10080
|
-
get value(): string;
|
|
10081
|
-
get displayedValue(): string;
|
|
10082
|
-
get height(): number;
|
|
10083
|
-
}
|
|
10084
|
-
export class DebugUIButton {
|
|
10085
|
-
constructor({ label, onClick }: {
|
|
10086
|
-
label: any;
|
|
10087
|
-
onClick: any;
|
|
10088
|
-
});
|
|
10089
|
-
_onClick: any;
|
|
10090
|
-
_element: HTMLButtonElement;
|
|
10091
|
-
destroy(): void;
|
|
10092
|
-
addValueChangedListener(): void;
|
|
10093
|
-
addClickListener(listener: any): void;
|
|
10094
|
-
get element(): HTMLButtonElement;
|
|
10095
|
-
get value(): string;
|
|
10096
|
-
get displayedValue(): string;
|
|
10097
|
-
get height(): number;
|
|
10098
|
-
}
|
|
10099
|
-
export class DebugUIColorPicker {
|
|
10100
|
-
constructor({ current, onValueChanged }: {
|
|
10101
|
-
current: any;
|
|
10102
|
-
onValueChanged: any;
|
|
10103
|
-
});
|
|
10104
|
-
_onValueChanged: any;
|
|
10105
|
-
_element: HTMLDivElement;
|
|
10106
|
-
_titleElement: HTMLDivElement;
|
|
10107
|
-
_color: any;
|
|
10108
|
-
_listeners: any[];
|
|
10109
|
-
_colorPickerMain: HTMLCanvasElement;
|
|
10110
|
-
_colorPickerBottomSlider: HTMLCanvasElement;
|
|
10111
|
-
_requestAnimationFrameHandle: number | null;
|
|
10112
|
-
_requestAnimationFrameUpdate(): void;
|
|
10113
|
-
_pickingMain: boolean;
|
|
10114
|
-
_pickingX: number;
|
|
10115
|
-
_pickingY: number;
|
|
10116
|
-
_moveListener: (e: any) => void;
|
|
10117
|
-
_upListener: any;
|
|
10118
|
-
_pickingBottomSlider: boolean;
|
|
10119
|
-
_bottomMoveListener: (e: any) => void;
|
|
10120
|
-
_bottomUpListener: any;
|
|
10121
|
-
_mode: string;
|
|
10122
|
-
_modeButtons: {};
|
|
10123
|
-
destroy(): void;
|
|
10124
|
-
_destroyed: boolean | undefined;
|
|
10125
|
-
addValueChangedListener(listener: any): void;
|
|
10126
|
-
setValue(color: any): void;
|
|
10127
|
-
_requestAnimationFrame(): void;
|
|
10128
|
-
_notify(): void;
|
|
10129
|
-
_updateMain(x: any, y: any): void;
|
|
10130
|
-
_updateBottomSlider(x: any): void;
|
|
10131
|
-
redraw(): void;
|
|
10132
|
-
get element(): HTMLDivElement;
|
|
10133
|
-
get titleElement(): HTMLDivElement;
|
|
10134
|
-
get value(): any;
|
|
10135
|
-
get displayedValue(): string;
|
|
10136
|
-
get height(): number;
|
|
10137
|
-
get titleElementWidth(): number;
|
|
10138
|
-
}
|
|
10139
|
-
export class DebugUIPanel {
|
|
10140
|
-
constructor({ name }: {
|
|
10141
|
-
name: any;
|
|
10142
|
-
});
|
|
10143
|
-
_name: any;
|
|
10144
|
-
_element: HTMLDivElement;
|
|
10145
|
-
_entries: any[];
|
|
10146
|
-
_height: number;
|
|
10147
|
-
destroy(): void;
|
|
10148
|
-
get element(): HTMLDivElement;
|
|
10149
|
-
get height(): number;
|
|
10150
|
-
addControl(name: any, description: any, control: any): void;
|
|
10151
|
-
removeControl(name: any): void;
|
|
10152
|
-
_updateLayout(): void;
|
|
10126
|
+
outlinedPolygons: Map<string, MappedinPolygon>;
|
|
10127
|
+
/**
|
|
10128
|
+
* A plane that is parallel to the ground and is used for raycasting.
|
|
10129
|
+
*/
|
|
10130
|
+
worldPlane: Mesh;
|
|
10131
|
+
getPositionLatLon(lat: number, lon: number, map?: MappedinMap | string | null): Vector3;
|
|
10132
|
+
currentScale: number;
|
|
10133
|
+
getPositionPolygon(polygon: MappedinPolygon | string): Vector3;
|
|
10134
|
+
/**
|
|
10135
|
+
* Takes an x/y pair in Mappedin coordinate space and gives you a Vector3 in scene space
|
|
10136
|
+
* @param nodeOrCoordinate a node or coordinate
|
|
10137
|
+
*/
|
|
10138
|
+
convertTo3DMapPosition(nodeOrCoordinate: MappedinCoordinate | MappedinNode): Vector3;
|
|
10139
|
+
/**
|
|
10140
|
+
* Converts a Vector-like object into a MappedinCoordinate for a map.
|
|
10141
|
+
* @param position an object with x and y, like a Vector3
|
|
10142
|
+
* @param mapClass An optional map; otherwise, the current map will be used.
|
|
10143
|
+
*/
|
|
10144
|
+
convert3DMapPositionToCoordinate(position: {
|
|
10145
|
+
x: number;
|
|
10146
|
+
y: number;
|
|
10147
|
+
}, mapClass?: MappedinMap): MappedinCoordinate;
|
|
10148
|
+
/**
|
|
10149
|
+
* Converts a 2D x,y screen position into a 3D MappedinCoordinate using projection
|
|
10150
|
+
*/
|
|
10151
|
+
convertScreenCoordinateToMapCoordinate(x: number, y: number, map: MappedinMap): MappedinCoordinate;
|
|
10152
|
+
setPadding(padding: {
|
|
10153
|
+
top: number;
|
|
10154
|
+
left: number;
|
|
10155
|
+
bottom: number;
|
|
10156
|
+
right: number;
|
|
10157
|
+
}): void;
|
|
10158
|
+
smartCollisionEngine: SmartCollisionEngine;
|
|
10159
|
+
mapObjects: Map<MappedinMap['id'], MapObject>;
|
|
10160
|
+
/**
|
|
10161
|
+
* The scene only renders when something has changed. This should be something a 3rd party developer doesn't need to worry about,
|
|
10162
|
+
* but if you are doing something weird, or have your own special tween for something, you will want to call this function.
|
|
10163
|
+
* You can call it as often as you want, it just sets a flag that we need to render again, and renders a few frames if we weren't already doing that.
|
|
10164
|
+
* Ignored in 2D.
|
|
10165
|
+
*/
|
|
10166
|
+
tryRendering(renderMode?: RENDER): void;
|
|
10167
|
+
setMapReason?: E_MAP_CHANGED_REASON;
|
|
10168
|
+
setMap(mapOrMapId: MappedinMap | string): Promise<null>;
|
|
10169
|
+
setMapWithReason(mapOrMapId: MappedinMap | string, context: E_MAP_CHANGED_REASON): Promise<null>;
|
|
10170
|
+
getPositionNode(node: MappedinNode): Vector3;
|
|
10171
|
+
cameraObject: any;
|
|
10172
|
+
setBackgroundColor(color: string, alpha?: number): void;
|
|
10173
|
+
mapManager: any;
|
|
10174
|
+
focusOn(focusOptions: TFocusOptionsLegacy): Tween;
|
|
10175
|
+
canvasWidth: number;
|
|
10176
|
+
canvasHeight: number;
|
|
10177
|
+
setState(state: STATE): Promise<void>;
|
|
10178
|
+
getNearestNodeByScreenCoordinate(x: number, y: number, mapOrMapId?: MappedinMap | MappedinMap['id']): MappedinNode;
|
|
10179
|
+
destroy(): void;
|
|
10153
10180
|
}
|
|
10154
10181
|
}
|
|
10155
10182
|
|
|
@@ -10351,6 +10378,38 @@ declare module '@mappedin/mappedin-js/renderer/private/Core' {
|
|
|
10351
10378
|
export default Core;
|
|
10352
10379
|
}
|
|
10353
10380
|
|
|
10381
|
+
declare module '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.Tile' {
|
|
10382
|
+
import { Texture, Mesh, MeshBasicMaterial } from 'three';
|
|
10383
|
+
import type { ICore } from '@mappedin/mappedin-js/renderer/internal';
|
|
10384
|
+
import { MappedinCoordinate, MappedinMap } from '@mappedin/mappedin-js/get-venue';
|
|
10385
|
+
import { TileManager } from '@mappedin/mappedin-js/renderer/internal/outdoor-context/Mappedin.TileManager';
|
|
10386
|
+
export class Tile {
|
|
10387
|
+
#private;
|
|
10388
|
+
center: MappedinCoordinate;
|
|
10389
|
+
zoomLevel: number;
|
|
10390
|
+
mesh: Mesh;
|
|
10391
|
+
material?: MeshBasicMaterial;
|
|
10392
|
+
texture?: Texture;
|
|
10393
|
+
cache: {
|
|
10394
|
+
tileXY?: {
|
|
10395
|
+
tileX: number;
|
|
10396
|
+
tileY: number;
|
|
10397
|
+
};
|
|
10398
|
+
tileBoundingBoxInLatLon?: number[];
|
|
10399
|
+
};
|
|
10400
|
+
get tileXY(): {
|
|
10401
|
+
tileX: number;
|
|
10402
|
+
tileY: number;
|
|
10403
|
+
};
|
|
10404
|
+
get tileBoundingBoxInLatLon(): number[];
|
|
10405
|
+
constructor(center: MappedinCoordinate, zoomLevel: number, tileManager: TileManager, core: ICore, currentAbortController: AbortController);
|
|
10406
|
+
rendered: boolean;
|
|
10407
|
+
discardTexture(): void;
|
|
10408
|
+
applyTexture(): void;
|
|
10409
|
+
render(metersPerTile: number, referenceMap: MappedinMap): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap>;
|
|
10410
|
+
}
|
|
10411
|
+
}
|
|
10412
|
+
|
|
10354
10413
|
declare module '@mappedin/mappedin-js/get-venue/Mappedin.MVF.types' {
|
|
10355
10414
|
import { MapId, ObstructionCollection, EntranceCollection, SpaceCollection, Style } from '@mappedin/mvf';
|
|
10356
10415
|
import { FeatureCollection, MultiPolygon, Point, Polygon } from 'geojson';
|