@mappedin/mappedin-js 6.0.1-beta.23 → 6.0.1-beta.25
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/THIRD_PARTY_LICENSES.txt +55 -1
- package/lib/esm/GLTFExporter-MHPZU3XO.js +1 -0
- package/lib/esm/GLTFLoader-U7AA3ANF.js +1 -0
- package/lib/esm/browser-WPSSSHWP.js +1 -0
- package/lib/esm/chunk-2573CS4P.js +1 -0
- package/lib/esm/chunk-3Q3CKEJT.js +1 -0
- package/lib/esm/chunk-5CCCMZFJ.js +1 -0
- package/lib/esm/chunk-H2E2454S.js +1 -0
- package/lib/esm/chunk-HNXEE7EF.js +1 -0
- package/lib/esm/chunk-NOC4HUGQ.js +1 -0
- package/lib/esm/chunk-OHSR5FWH.js +1 -0
- package/lib/esm/index.css +1 -1
- package/lib/esm/index.d.ts +1501 -521
- package/lib/esm/index.js +1 -1
- package/lib/esm/inspector-VHBJTER4.js +1 -0
- package/lib/esm/internal-55777EMI.css +1 -0
- package/lib/esm/internal-D52X6FJE.js +1 -0
- package/lib/esm/outdoor-context-v4-OB4C7C4T.js +1 -0
- package/lib/esm/roboto-regular-YXLENGLP.js +1 -0
- package/lib/esm/text3d-XRL4YUO2.js +1 -0
- package/lib/index.css +1 -1
- package/package.json +4 -3
- package/lib/esm/GLTFExporter-NAC5AOBR.js +0 -1
- package/lib/esm/GLTFLoader-DS2TN3AV.js +0 -1
- package/lib/esm/browser-7PYC6B4T.js +0 -1
- package/lib/esm/chunk-2ZAO5EG6.js +0 -1
- package/lib/esm/chunk-3AOFVHL4.js +0 -1
- package/lib/esm/chunk-6JX55RII.js +0 -1
- package/lib/esm/chunk-FFK6S6NZ.js +0 -1
- package/lib/esm/chunk-OCVOMAWQ.js +0 -1
- package/lib/esm/inspector-655W6NEX.js +0 -1
- package/lib/esm/internal-C3WM3KGI.css +0 -1
- package/lib/esm/internal-GGT2QNUQ.js +0 -1
- package/lib/esm/outdoor-context-v4-5ZQPPV2K.js +0 -1
package/lib/esm/index.d.ts
CHANGED
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
// ../mappedin-js/@packages/internal/shave-text/shave-text
|
|
17
17
|
// ../mappedin-js/@tweenjs/tween.js
|
|
18
18
|
// ../mappedin-js/@turf/turf
|
|
19
|
+
// ../mappedin-js/troika-three-text
|
|
19
20
|
// ../mappedin-js/@packages/internal/quad-tree
|
|
21
|
+
// ../mappedin-js/@mappedin/core-sdk/src/components/text3d
|
|
20
22
|
// ../mappedin-js/minisearch
|
|
21
23
|
// ../mappedin-js/three/addons/loaders/GLTFLoader.js
|
|
22
24
|
// ../mappedin-js/@mapbox/point-geometry
|
|
@@ -37,8 +39,9 @@ declare module '@mappedin/mappedin-js' {
|
|
|
37
39
|
import type { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
38
40
|
import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, ParsedMVFLocalePack, OperationHours, SiblingGroup, LocationState } from '@mappedin/mvf';
|
|
39
41
|
import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
40
|
-
|
|
41
|
-
import {
|
|
42
|
+
export type { Text3D as Text3DApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
|
|
43
|
+
import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, WatermarkOptions, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, MapViewState } from '@mappedin/mappedin-js/geojson/src';
|
|
44
|
+
import { enableTestMode, preloadFont } from '@mappedin/mappedin-js/geojson/src';
|
|
42
45
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
43
46
|
import type { TMappedinMapLibreOverlayEvents } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
44
47
|
import { MappedinMapLibreOverlay } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
@@ -64,92 +67,6 @@ declare module '@mappedin/mappedin-js' {
|
|
|
64
67
|
*/
|
|
65
68
|
quality?: 'low' | 'medium' | 'high' | 'ultra';
|
|
66
69
|
};
|
|
67
|
-
/**
|
|
68
|
-
* Represents all the available ambient occlusion options.
|
|
69
|
-
*/
|
|
70
|
-
type TAmbientOcclusionOptions = {
|
|
71
|
-
/**
|
|
72
|
-
* Enable ambient occlusion. Only works in single buffer mode and when device supports WebGL2.
|
|
73
|
-
*
|
|
74
|
-
* @default false
|
|
75
|
-
*/
|
|
76
|
-
enabled?: boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Change the quality of ambient occlusion in the scene. Greater quality means less noise, but worse performance.
|
|
79
|
-
*
|
|
80
|
-
* The quality modes are as follows:
|
|
81
|
-
|
|
82
|
-
*Temporal stability refers to how consistent the AO is from frame to frame - it's important for a smooth experience.*
|
|
83
|
-
| Quality Mode | AO Samples | Denoise Samples | Denoise Radius | Best For
|
|
84
|
-
|:---:|:---:|:---:|:---:|:---:|
|
|
85
|
-
| Performance (Less temporal stability, a bit noisy) | 8 | 4 | 12 | Mobile, Low-end iGPUs and laptops |
|
|
86
|
-
| Low (Temporally stable, but low-frequency noise) | 16 | 4 | 12 | High-End Mobile, iGPUs, laptops |
|
|
87
|
-
| Medium (Temporally stable and barely any noise) | 16 | 8 | 12 | High-End Mobile, laptops, desktops |
|
|
88
|
-
| High (Significantly sharper AO, barely any noise) | 64 | 8 | 6 | Desktops, dedicated GPUs |
|
|
89
|
-
| Ultra (Sharp AO, No visible noise whatsoever) | 64 | 16 | 6 | Desktops, dedicated GPUs|
|
|
90
|
-
|
|
91
|
-
Generally, half-res mode at "Ultra" quality is slightly slower than full-res mode at "Performance" quality, but produces significantly better results.
|
|
92
|
-
|
|
93
|
-
If you wish to make entirely custom quality setup, you can manually change `aoSamples`, `denoiseSamples` and `denoiseRadius`.
|
|
94
|
-
*
|
|
95
|
-
* @default 'medium'
|
|
96
|
-
*/
|
|
97
|
-
quality?: 'performance' | 'low' | 'medium' | 'high' | 'ultra';
|
|
98
|
-
samples?: number;
|
|
99
|
-
/**
|
|
100
|
-
* Controls the radius/size of the ambient occlusion in world units. Should be set to how far you want the occlusion to extend from a given object.
|
|
101
|
-
* Set it too low, and AO becomes an edge detector. Too high, and the AO becomes "soft" and might not highlight the details you want.
|
|
102
|
-
*/
|
|
103
|
-
radius?: number;
|
|
104
|
-
denoiseSamples?: number;
|
|
105
|
-
denoiseRadius?: number;
|
|
106
|
-
/**
|
|
107
|
-
* A purely artistic control for the intensity of the AO has the effect of darkening areas with more ambient occlusion.
|
|
108
|
-
* Useful to make the effect more pronounced. An intensity of 2 generally produces soft ambient occlusion that isn't too noticeable,
|
|
109
|
-
* whereas one of 5 produces heavily prominent ambient occlusion.
|
|
110
|
-
*/
|
|
111
|
-
intensity?: number;
|
|
112
|
-
denoiseIterations?: number;
|
|
113
|
-
renderMode?: number;
|
|
114
|
-
/**
|
|
115
|
-
* The color of the ambient occlusion. By default, it is black, but it can be changed to any color to offer a crude approximation of global illumination.
|
|
116
|
-
* Recommended in scenes where bounced light has a uniform "color", for instance a scene that is predominantly lit by a blue sky.
|
|
117
|
-
* The color is expected to be in the sRGB color space, and is automatically converted to linear space for you. Keep the color pretty dark for sensible results.
|
|
118
|
-
*
|
|
119
|
-
* Color formats:\
|
|
120
|
-
* RGB String: `rgb(255, 0, 0)` or `rgb(100%, 0%, 0%)`\
|
|
121
|
-
* HSL String: `hsl(0, 100%, 50%)`\
|
|
122
|
-
* X11 color name - all 140 color names are supported. Note the lack of CamelCase in the name: `skyblue`
|
|
123
|
-
*/
|
|
124
|
-
color?: string;
|
|
125
|
-
/**
|
|
126
|
-
* Should be automatically set to the correct value. If you are getting washed out colors, try setting `gammaCorrection` to false, and if you are getting dark colors, try setting it to true.
|
|
127
|
-
*/
|
|
128
|
-
gammaCorrection?: boolean;
|
|
129
|
-
logarithmicDepthBuffer?: boolean;
|
|
130
|
-
/**
|
|
131
|
-
* When screenSpaceRadius is set to true, the `aoRadius` parameter represents the size of the ambient occlusion effect in pixels (recommended to be set between 16 and 64).
|
|
132
|
-
* The `distanceFalloff` parameter becomes a ratio, representing the percent of the screen space radius at which the AO should fade away - it should be set to 0.2 in most cases,
|
|
133
|
-
* but it accepts any value between 0 and 1 (technically even higher than 1, though that is not recommended).
|
|
134
|
-
*/
|
|
135
|
-
screenSpaceRadius?: boolean;
|
|
136
|
-
/**
|
|
137
|
-
* Use half-resolution" mode for performance-critical applications. This will cause the AO to be calculated at half the resolution of the screen, and then upscaled to the full resolution.
|
|
138
|
-
* This is a great way to get a performance boost (generally 2x-4x) at the cost of some quality (the AO will lack fine details and temporal stability will be slightly reduced).
|
|
139
|
-
* @default 'full'
|
|
140
|
-
*/
|
|
141
|
-
resolution?: 'half' | 'full';
|
|
142
|
-
/**
|
|
143
|
-
* The half `aoResolution` mode uses depth-aware upscaling by default.
|
|
144
|
-
* The AO effect looks bad without depth-aware upscaling, so it is not recommended to disable it.
|
|
145
|
-
* However, if performance is truly that critical, you can do so by setting `depthAwareUpsampling` to false.
|
|
146
|
-
*/
|
|
147
|
-
depthAwareUpsampling?: boolean;
|
|
148
|
-
/**
|
|
149
|
-
* It is recommended to not change this value, otherwise rendering issues may occur.
|
|
150
|
-
*/
|
|
151
|
-
autoRenderBeauty?: boolean;
|
|
152
|
-
};
|
|
153
70
|
/**
|
|
154
71
|
* @interface
|
|
155
72
|
* Options for the watermark.
|
|
@@ -371,19 +288,25 @@ declare module '@mappedin/mappedin-js' {
|
|
|
371
288
|
* @experimental
|
|
372
289
|
*/
|
|
373
290
|
export const createMapLibreOverlay: (mapData: MapData, showMapOptions?: TShow3DMapOptions) => MappedinMapLibreOverlay;
|
|
374
|
-
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
375
291
|
export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
376
|
-
|
|
377
|
-
|
|
292
|
+
/**
|
|
293
|
+
* @internal
|
|
294
|
+
* @deprecated Use {@link show3dMap} instead.
|
|
295
|
+
*/
|
|
296
|
+
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
297
|
+
export { parseMVF, unzipMVF, enableTestMode, preloadFont };
|
|
298
|
+
export type { MapView, MapData, MapViewState, MappedinMapLibreOverlay, TMappedinMapLibreOverlayEvents, TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TStackedMapsEvents, TExpandOptions, TStackedMapsState, TFollowMode, TFollowCameraOptions, TEvents, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, };
|
|
378
299
|
export type * from 'geojson';
|
|
379
300
|
export type { TUpdateState, TUpdateStates, TLabelState, TGeometryState, TModelState, TShapeState, TDoorsState, TImageState, TWallsState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TFocusable, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
380
301
|
export { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
381
|
-
export type { Label, Marker, Path, Shape, CameraTransform, Model, Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
302
|
+
export type { Label, Marker, Path, Shape, CameraTransform, Model, Image, Text3D } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
303
|
+
export type { Debug } from '@mappedin/mappedin-js/mappedin-js/src/debug';
|
|
382
304
|
export type { Navigation, TNavigationOptions } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
383
305
|
export type { TSpaceType } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
384
|
-
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image as ImageData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, Node, type Places, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
306
|
+
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image as ImageData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, Facade, Node, type Places, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
385
307
|
export type { Camera, Models, Labels, BlueDot, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, Images, StackedMaps, } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
386
308
|
export type { SearchResult, SearchResultItem, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, SearchOptions, Search, Suggestion, MatchInfo, } from '@mappedin/mappedin-js/mappedin-js/src/search';
|
|
309
|
+
export type { TFindNearestOptions, TFindNearestResult, TQueriables, Query } from '@mappedin/mappedin-js/mappedin-js/src/query';
|
|
387
310
|
export type { Analytics, TAnalyticsUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
388
311
|
}
|
|
389
312
|
|
|
@@ -391,13 +314,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
391
314
|
import { Analytics } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
392
315
|
import { PubSub } from '@packages/internal/common';
|
|
393
316
|
import type { TSearchOptions } from '@packages/internal/mvf-utils';
|
|
394
|
-
import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node, Area } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
317
|
+
import type { Connection, Door, Floor, MapDataInternal, Space, MapObject, PointOfInterest, Annotation, Coordinate, FloorStack, Node, Facade, Area } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
395
318
|
import type EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
|
|
396
319
|
import type EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
|
|
397
320
|
import type EnterpriseVenue from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/venue';
|
|
398
321
|
import { Search } from '@mappedin/mappedin-js/mappedin-js/src/search';
|
|
399
322
|
import type { TNavigationTarget, TGetDirectionsOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
400
323
|
import type { Directions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions';
|
|
324
|
+
import { Query } from '@mappedin/mappedin-js/mappedin-js/src/query';
|
|
401
325
|
/**
|
|
402
326
|
* A WeakMap to associate {@link MapData} instances with their internal representation.
|
|
403
327
|
* We need a way to get the internal data object from the API
|
|
@@ -435,6 +359,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
435
359
|
* console.log(suggestions);
|
|
436
360
|
*/
|
|
437
361
|
Search: Search;
|
|
362
|
+
Query: Query;
|
|
438
363
|
/**
|
|
439
364
|
* Constructs a new instance of {@link MapData}.
|
|
440
365
|
*
|
|
@@ -513,6 +438,12 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
513
438
|
* const floorStacks = mapData.getByType('floor-stack');
|
|
514
439
|
*/
|
|
515
440
|
getByType(type: 'floor-stack'): FloorStack[];
|
|
441
|
+
/**
|
|
442
|
+
* @returns The facades ({@link Facade}) within the map.
|
|
443
|
+
* @example
|
|
444
|
+
* const facades = mapData.getByType('facade');
|
|
445
|
+
*/
|
|
446
|
+
getByType(type: 'facade'): Facade[];
|
|
516
447
|
/**
|
|
517
448
|
* @returns The connections ({@link Connection}) on the map.
|
|
518
449
|
* @example
|
|
@@ -576,7 +507,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
576
507
|
* @example
|
|
577
508
|
* const space = mapData.getById('space', 'space-id');
|
|
578
509
|
*/
|
|
579
|
-
getById<T extends string>(type: T, id: string): T extends 'node' ? Node | undefined : T extends 'space' ? Space | undefined : T extends 'door' ? Door | undefined : T extends 'floor' ? Floor | undefined : T extends 'floor-stack' ? FloorStack | undefined : T extends 'connection' ? Connection | undefined : T extends 'object' ? MapObject | undefined : T extends 'point-of-interest' ? PointOfInterest | undefined : T extends 'annotation' ? Annotation | undefined : T extends 'area' ? Area | undefined : T extends 'enterprise-location' ? EnterpriseLocation | undefined : T extends 'enterprise-category' ? EnterpriseCategory | undefined : undefined;
|
|
510
|
+
getById<T extends string>(type: T, id: string): T extends 'node' ? Node | undefined : T extends 'space' ? Space | undefined : T extends 'door' ? Door | undefined : T extends 'floor' ? Floor | undefined : T extends 'facade' ? Facade | undefined : T extends 'floor-stack' ? FloorStack | undefined : T extends 'connection' ? Connection | undefined : T extends 'object' ? MapObject | undefined : T extends 'point-of-interest' ? PointOfInterest | undefined : T extends 'annotation' ? Annotation | undefined : T extends 'area' ? Area | undefined : T extends 'enterprise-location' ? EnterpriseLocation | undefined : T extends 'enterprise-category' ? EnterpriseCategory | undefined : undefined;
|
|
580
511
|
getById(type: string, id: string): object | undefined;
|
|
581
512
|
/**
|
|
582
513
|
* Changes the language of the map data.
|
|
@@ -648,7 +579,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data' {
|
|
|
648
579
|
declare module '@mappedin/mappedin-js/mappedin-js/src/events' {
|
|
649
580
|
import type { ClickPayload } from '@mappedin/core-sdk';
|
|
650
581
|
import type { TStackedMapsEvents } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
651
|
-
import type { Coordinate, Floor, MapObject, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
582
|
+
import type { Coordinate, Facade, Floor, MapObject, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
652
583
|
import type { Label, Marker, Model, Path } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
653
584
|
import type { CameraTransform } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/camera-transform';
|
|
654
585
|
import type { TBlueDotEvents } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot';
|
|
@@ -692,6 +623,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/events' {
|
|
|
692
623
|
* Details about the pointer event which triggered the interaction.
|
|
693
624
|
*/
|
|
694
625
|
pointerEvent: ClickPayload['pointerEvent'];
|
|
626
|
+
/**
|
|
627
|
+
* The interactive facades which the user interaction passed through.
|
|
628
|
+
*/
|
|
629
|
+
facades: Facade[];
|
|
695
630
|
};
|
|
696
631
|
export type THoverPayload = Omit<TClickPayload, 'pointerEvent'>;
|
|
697
632
|
/**
|
|
@@ -806,6 +741,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
806
741
|
import Hyperlink from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/hyperlink';
|
|
807
742
|
import Image from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image';
|
|
808
743
|
import FloorStack from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack';
|
|
744
|
+
import Facade from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/facade';
|
|
809
745
|
import type { MapDataRecords } from '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation';
|
|
810
746
|
import type { AnnotationCollection, ParsedMVF, Connection as MVFConnection, EntranceCollection, NodeCollection, ObstructionCollection, SpaceCollection, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseCategory as MVFEnterpriseCategory, Language, AreaCollection } from '@mappedin/mvf';
|
|
811
747
|
import { AnalyticsInternal } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
@@ -819,6 +755,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
819
755
|
import type { TGetDirectionsOptions, TNavigationTarget } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
820
756
|
import { type Directions, DirectionsInternal } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/directions';
|
|
821
757
|
import { type THydrateMapDataBundle } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
758
|
+
import { Query } from '@mappedin/mappedin-js/mappedin-js/src/query';
|
|
822
759
|
/**
|
|
823
760
|
* Internal class representing detailed map data.
|
|
824
761
|
*
|
|
@@ -832,6 +769,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
832
769
|
}> {
|
|
833
770
|
#private;
|
|
834
771
|
Analytics: AnalyticsInternal;
|
|
772
|
+
Query: Query;
|
|
835
773
|
/**
|
|
836
774
|
* Represents the parsed Mappedin Venue Format (MVF) data.
|
|
837
775
|
*/
|
|
@@ -860,6 +798,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
860
798
|
spacesById: MapDataRecords['spacesById'];
|
|
861
799
|
floorsById: MapDataRecords['floorsById'];
|
|
862
800
|
floorStacksById: MapDataRecords['floorStacksById'];
|
|
801
|
+
facadesById: MapDataRecords['facadesById'];
|
|
802
|
+
facadesBySpaceId: MapDataRecords['facadesBySpaceId'];
|
|
863
803
|
connectionsById: MapDataRecords['connectionsById'];
|
|
864
804
|
objectsById: MapDataRecords['objectsById'];
|
|
865
805
|
doorsById: MapDataRecords['doorsById'];
|
|
@@ -881,6 +821,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
881
821
|
mvfFloorsById: MapDataRecords['mvfFloorsById'];
|
|
882
822
|
mvfFloorStacksById: MapDataRecords['mvfFloorStacksById'];
|
|
883
823
|
mvfAreasById: MapDataRecords['mvfAreasById'];
|
|
824
|
+
mvfNodesByFloorId: MapDataRecords['mvfNodesByFloorId'];
|
|
825
|
+
mvfSpacesByFloorId: MapDataRecords['mvfSpacesByFloorId'];
|
|
826
|
+
mvfPoisByFloorId: MapDataRecords['mvfPoisByFloorId'];
|
|
827
|
+
mvfEntrancesByFloorId: MapDataRecords['mvfEntrancesByFloorId'];
|
|
828
|
+
mvfAnnotationsByFloorId: MapDataRecords['mvfAnnotationsByFloorId'];
|
|
884
829
|
localePacksUrls: LocalePackUrls;
|
|
885
830
|
currentLanguage?: Language;
|
|
886
831
|
/**
|
|
@@ -934,6 +879,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
934
879
|
*/
|
|
935
880
|
get floors(): Floor[];
|
|
936
881
|
get floorStacks(): FloorStack[];
|
|
882
|
+
get facades(): Facade[];
|
|
937
883
|
/**
|
|
938
884
|
* Retrieves all doors in the map.
|
|
939
885
|
*
|
|
@@ -965,6 +911,21 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
965
911
|
get categories(): EnterpriseCategory[];
|
|
966
912
|
get mvfFloors(): MVFFloor[];
|
|
967
913
|
get mvfFloorStacks(): MVFFloorStack[];
|
|
914
|
+
getByType(type: string): object[];
|
|
915
|
+
getByType(type: 'space'): Space[];
|
|
916
|
+
getByType(type: 'area'): Area[];
|
|
917
|
+
getByType(type: 'door'): Door[];
|
|
918
|
+
getByType(type: 'floor'): Floor[];
|
|
919
|
+
getByType(type: 'floor-stack'): FloorStack[];
|
|
920
|
+
getByType(type: 'connection'): Connection[];
|
|
921
|
+
getByType(type: 'object'): MapObject[];
|
|
922
|
+
getByType(type: 'point-of-interest'): PointOfInterest[];
|
|
923
|
+
getByType(type: 'annotation'): Annotation[];
|
|
924
|
+
getByType(type: 'node'): Node[];
|
|
925
|
+
getByType(type: 'enterprise-location'): EnterpriseLocation[];
|
|
926
|
+
getByType(type: 'enterprise-category'): EnterpriseCategory[];
|
|
927
|
+
getByType(type: 'enterprise-venue'): EnterpriseVenue | undefined;
|
|
928
|
+
getByType(type: 'facade'): Facade[];
|
|
968
929
|
/**
|
|
969
930
|
* Retrieves an object by its type and ID.
|
|
970
931
|
*
|
|
@@ -972,18 +933,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
972
933
|
* @param id The ID of the object.
|
|
973
934
|
* @returns {Space | Door | Floor | Connection | MapObject | undefined} The requested object, or undefined if not found.
|
|
974
935
|
*/
|
|
975
|
-
getById(type:
|
|
976
|
-
getById(type:
|
|
977
|
-
getById(type: 'door', id: string): Door | undefined;
|
|
978
|
-
getById(type: 'floor', id: string): Floor | undefined;
|
|
979
|
-
getById(type: 'floor-stack', id: string): FloorStack | undefined;
|
|
980
|
-
getById(type: 'connection', id: string): Connection | undefined;
|
|
981
|
-
getById(type: 'object', id: string): MapObject | undefined;
|
|
982
|
-
getById(type: 'point-of-interest', id: string): PointOfInterest | undefined;
|
|
983
|
-
getById(type: 'annotation', id: string): Annotation | undefined;
|
|
984
|
-
getById(type: 'area', id: string): Area | undefined;
|
|
985
|
-
getById(type: 'enterprise-location', id: string): EnterpriseLocation | undefined;
|
|
986
|
-
getById(type: 'enterprise-category', id: string): EnterpriseCategory | undefined;
|
|
936
|
+
getById<T extends string>(type: T, id: string): T extends 'node' ? Node | undefined : T extends 'space' ? Space | undefined : T extends 'door' ? Door | undefined : T extends 'floor' ? Floor | undefined : T extends 'floor-stack' ? FloorStack | undefined : T extends 'connection' ? Connection | undefined : T extends 'object' ? MapObject | undefined : T extends 'point-of-interest' ? PointOfInterest | undefined : T extends 'annotation' ? Annotation | undefined : T extends 'enterprise-location' ? EnterpriseLocation | undefined : T extends 'enterprise-category' ? EnterpriseCategory | undefined : T extends 'area' ? Area | undefined : T extends 'facade' ? Facade | undefined : undefined;
|
|
937
|
+
getById(type: string, id: string): object | undefined;
|
|
987
938
|
getMapDataById(id: string): Places | undefined;
|
|
988
939
|
/**
|
|
989
940
|
* Retrieves a feature by its type and ID from the Mappedin Venue Format (MVF) data.
|
|
@@ -1031,26 +982,28 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects' {
|
|
|
1031
982
|
*/
|
|
1032
983
|
destroy(): void;
|
|
1033
984
|
}
|
|
1034
|
-
export { Node, Area, MapDataInternal, Space, Floor, FloorStack, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
|
|
985
|
+
export { Node, Area, MapDataInternal, Space, Floor, FloorStack, Facade, Connection, MapObject, Door, Coordinate, PointOfInterest, Annotation, Hyperlink, Image, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, };
|
|
1035
986
|
export type { TSpaceType } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space';
|
|
1036
987
|
export type { Places };
|
|
1037
988
|
}
|
|
1038
989
|
|
|
1039
990
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
1040
|
-
import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/
|
|
991
|
+
import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/mappedin-js/geojson/src';
|
|
1041
992
|
import { PubSub } from '@packages/internal/common';
|
|
1042
993
|
import { type TEvents, type TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
1043
994
|
import type { Navigation } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
1044
995
|
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor, Images } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
1045
996
|
import type { BlueDot } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
1046
997
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
1047
|
-
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1048
|
-
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
1049
|
-
import type { Label, Marker, Image, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
998
|
+
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack, Facade } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
999
|
+
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates, GlobalState, UpdateGlobalState } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
1000
|
+
import type { Label, Marker, Image, Shape, Text3D as Text3DView } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
1050
1001
|
import type { TEventPayload } from '@mappedin/mappedin-js/mappedin-js/src/events';
|
|
1051
1002
|
import type { Shapes } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes';
|
|
1052
1003
|
import type { StackedMaps, TCollapseOptions, TExpandOptions } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
1053
1004
|
import type { InspectorOption } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/inspector/inspector';
|
|
1005
|
+
import { Debug } from '@mappedin/mappedin-js/mappedin-js/src/debug';
|
|
1006
|
+
import type { Text3D } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
|
|
1054
1007
|
/**
|
|
1055
1008
|
* The MapView class is the main class for rendering and interacting with the map.
|
|
1056
1009
|
*
|
|
@@ -1068,6 +1021,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1068
1021
|
* Controls for the map's labels.
|
|
1069
1022
|
*/
|
|
1070
1023
|
Labels: Labels;
|
|
1024
|
+
/**
|
|
1025
|
+
* @experimental
|
|
1026
|
+
* Controls for the map's 3D texts.
|
|
1027
|
+
*/
|
|
1028
|
+
Text3D: Text3D;
|
|
1071
1029
|
/**
|
|
1072
1030
|
* Controls for the map's markers.
|
|
1073
1031
|
*/
|
|
@@ -1111,9 +1069,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1111
1069
|
*/
|
|
1112
1070
|
Outdoor: Outdoor;
|
|
1113
1071
|
/**
|
|
1114
|
-
* Controls for
|
|
1072
|
+
* Controls for Stacked Maps.
|
|
1115
1073
|
*/
|
|
1116
1074
|
get StackedMaps(): StackedMaps;
|
|
1075
|
+
/**
|
|
1076
|
+
* @internal
|
|
1077
|
+
* @experimental
|
|
1078
|
+
*/
|
|
1079
|
+
get DynamicFocus(): import("./api-geojson/dynamic-focus").DynamicFocus;
|
|
1117
1080
|
/**
|
|
1118
1081
|
* @internal
|
|
1119
1082
|
*/
|
|
@@ -1140,8 +1103,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1140
1103
|
* // Update the color of a space to red.
|
|
1141
1104
|
* map.updateState(space, { color: 'red' });
|
|
1142
1105
|
*/
|
|
1143
|
-
updateState<T extends Space | MapObject | Label | Marker | Shape | Door | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
|
|
1106
|
+
updateState<T extends Space | Text3DView | MapObject | Label | Marker | Shape | Door | Facade | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
|
|
1144
1107
|
updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
|
|
1108
|
+
/**
|
|
1109
|
+
* Update global state of the MapView
|
|
1110
|
+
*/
|
|
1111
|
+
updateGlobalState(update: UpdateGlobalState): void;
|
|
1112
|
+
/**
|
|
1113
|
+
* Get global state of the MapView
|
|
1114
|
+
*/
|
|
1115
|
+
getGlobalState(): GlobalState;
|
|
1145
1116
|
update: () => void;
|
|
1146
1117
|
/**
|
|
1147
1118
|
* Retrieves the map data for the current map.
|
|
@@ -1200,7 +1171,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1200
1171
|
* @hidden
|
|
1201
1172
|
*/
|
|
1202
1173
|
updateWatermark(options: WatermarkUpdateOptions): void;
|
|
1203
|
-
getState<T extends Space | MapObject | Label | Marker | Image | Shape | string>(target: T): TGetState<T
|
|
1174
|
+
getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | string>(target: T): TGetState<T>;
|
|
1204
1175
|
setHoverColor(c: string): void;
|
|
1205
1176
|
getHoverColor(): string | undefined;
|
|
1206
1177
|
/**
|
|
@@ -1319,6 +1290,88 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view' {
|
|
|
1319
1290
|
* Enable debug interface. Learn more about the debug interface in the [Debug Mode Guide](https://developer.mappedin.com/web-sdk/getting-started#debug-mode).
|
|
1320
1291
|
*/
|
|
1321
1292
|
enableDebug(opitons?: InspectorOption): Promise<void>;
|
|
1293
|
+
/**
|
|
1294
|
+
* @experimental
|
|
1295
|
+
* @internal
|
|
1296
|
+
*/
|
|
1297
|
+
Debug: Debug;
|
|
1298
|
+
}
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d' {
|
|
1302
|
+
import { Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1303
|
+
import type { TAddText3DOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
1304
|
+
import type { CurrentMapGetter } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/types';
|
|
1305
|
+
import { Text3D as Text3DView } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
1306
|
+
export class Text3D {
|
|
1307
|
+
#private;
|
|
1308
|
+
/**
|
|
1309
|
+
* @internal
|
|
1310
|
+
*/
|
|
1311
|
+
constructor({ currentMapGetter }: {
|
|
1312
|
+
currentMapGetter: CurrentMapGetter;
|
|
1313
|
+
});
|
|
1314
|
+
/**
|
|
1315
|
+
* Creates polygon labels for all spaces.
|
|
1316
|
+
*
|
|
1317
|
+
* @param options - Configuration options for text label creation
|
|
1318
|
+
* @returns An array of Text3DView instances representing the created labels. If the space is already labeled, the designated Text3D instance will be returned.
|
|
1319
|
+
*
|
|
1320
|
+
* @example
|
|
1321
|
+
* ```typescript
|
|
1322
|
+
* const labels = mapView.Text3D.labelAll({
|
|
1323
|
+
* // optional configuration options
|
|
1324
|
+
* });
|
|
1325
|
+
* ```
|
|
1326
|
+
*/
|
|
1327
|
+
labelAll(options?: TAddText3DOptions): Text3DView[];
|
|
1328
|
+
/**
|
|
1329
|
+
* Creates a 3D text label for a given space.
|
|
1330
|
+
*
|
|
1331
|
+
* @param target - The target space or enterprise space to label.
|
|
1332
|
+
* @param content - The content of the label. If not provided, target.name will be used
|
|
1333
|
+
* @param options={} - Configuration options for the text label creation.
|
|
1334
|
+
* @returns An array of Text3DView instances representing the created labels.
|
|
1335
|
+
*
|
|
1336
|
+
* @throws {Error} If the target is not a Space.
|
|
1337
|
+
*
|
|
1338
|
+
* @example
|
|
1339
|
+
* ```typescript
|
|
1340
|
+
* const labels = mapView.Text3D.label(space, "Label Content", { fontSize: 12 });
|
|
1341
|
+
* ```
|
|
1342
|
+
*/
|
|
1343
|
+
label(target: Space, content?: string, options?: TAddText3DOptions): Text3DView | undefined;
|
|
1344
|
+
/**
|
|
1345
|
+
* Removes one or more Text3D labels from the map
|
|
1346
|
+
*
|
|
1347
|
+
* @param target - Can be either:
|
|
1348
|
+
* - A single Text3DView instance
|
|
1349
|
+
* - An array of Text3DView instances
|
|
1350
|
+
* - A string ID of the Text3DView to remove
|
|
1351
|
+
*
|
|
1352
|
+
* @example
|
|
1353
|
+
* ```typescript
|
|
1354
|
+
* // Remove single text label
|
|
1355
|
+
* mapView.Text3D.remove(text);
|
|
1356
|
+
*
|
|
1357
|
+
* // Remove multiple text labels
|
|
1358
|
+
* mapView.Text3D.remove([text, text]);
|
|
1359
|
+
*
|
|
1360
|
+
* // Remove by ID
|
|
1361
|
+
* mapView.Text3D.remove("text3d-123");
|
|
1362
|
+
* ```
|
|
1363
|
+
*/
|
|
1364
|
+
remove(text3dView: Text3DView): void;
|
|
1365
|
+
remove(id: string): void;
|
|
1366
|
+
/**
|
|
1367
|
+
* Removes all Text3D labels from the current map
|
|
1368
|
+
*
|
|
1369
|
+
* @example
|
|
1370
|
+
* ```typescript
|
|
1371
|
+
* mapView.Text3D.removeAll();
|
|
1372
|
+
* ```
|
|
1373
|
+
*/
|
|
1374
|
+
removeAll(): void;
|
|
1322
1375
|
}
|
|
1323
1376
|
}
|
|
1324
1377
|
|
|
@@ -1338,20 +1391,26 @@ declare module '@mappedin/mappedin-js/geojson/src' {
|
|
|
1338
1391
|
import { mountSceneGraphVisualizer } from '@mappedin/mappedin-js/geojson/examples/src/utils/scene-graph-visualizer';
|
|
1339
1392
|
import '../../packages/outdoor-context-v4/css/maplibre-gl.css';
|
|
1340
1393
|
import type { CollisionRankingTier } from '@mappedin/mappedin-js/geojson/src/utils/collision-ranking-tier';
|
|
1394
|
+
export type { Text3DState } from '@mappedin/mappedin-js/geojson/src/components/text3d';
|
|
1395
|
+
export { TEXT3D_STYLE_UPDATE_PROPS } from '@mappedin/mappedin-js/geojson/src/entities/utils';
|
|
1341
1396
|
export { Navigator } from '@mappedin/mappedin-js/packages/geojson-navigator';
|
|
1342
1397
|
export { interpolate, debounce } from '@mappedin/mappedin-js/geojson/src/utils';
|
|
1343
1398
|
export { MAPPEDIN_LAYER_ID } from '@mappedin/mappedin-js/geojson/src/utils/constants';
|
|
1399
|
+
export type { DebugState, Debug } from '@mappedin/mappedin-js/geojson/src/utils/debug';
|
|
1344
1400
|
/**
|
|
1345
1401
|
* Enable test mode for the renderer. This will disable the WebGLRenderer and WebGL1Renderer and replace them with a dummy object
|
|
1346
1402
|
* so you can run tests against it
|
|
1347
1403
|
*/
|
|
1348
|
-
export { enableTestMode } from '@mappedin/mappedin-js/geojson/src/services/
|
|
1404
|
+
export { enableTestMode } from '@mappedin/mappedin-js/geojson/src/services/test-mode';
|
|
1349
1405
|
export { mountSceneGraphVisualizer };
|
|
1350
1406
|
export type { EntityId, EntityState, LineStyle, PaintStyle, ModelStyle, ModelProperties, Shading } from '@mappedin/mappedin-js/geojson/src/types';
|
|
1351
1407
|
export type * from 'geojson';
|
|
1352
1408
|
export type { WatermarkUpdateOptions, WatermarkOptions, WatermarkPosition } from '@mappedin/mappedin-js/geojson/src/systems/watermark/system';
|
|
1409
|
+
export { preloadFont } from '@mappedin/mappedin-js/geojson/src/systems/text3d/system';
|
|
1353
1410
|
export type { GLTFExportOptions } from '@mappedin/mappedin-js/geojson/src/systems/exporter';
|
|
1354
1411
|
export type { AttributionControlOptions, AttributionPosition } from '@mappedin/mappedin-js/geojson/src/systems/html-controls/system';
|
|
1412
|
+
export type { Text3DStyle } from '@mappedin/mappedin-js/geojson/src/components/styles';
|
|
1413
|
+
export type { AddText3DOptions, InitializeText3DState, UpdatableText3DState } from '@mappedin/mappedin-js/geojson/src/components/text3d';
|
|
1355
1414
|
export { ATTRIBUTION_POSITIONS } from '@mappedin/mappedin-js/geojson/src/systems/html-controls/system';
|
|
1356
1415
|
export { ANIMATION_TWEENS } from '@mappedin/mappedin-js/geojson/src/camera';
|
|
1357
1416
|
export type { AddPathOptions, AddMarkerOptions, AddLabelOptions, AnimateToOptions, FocusOnOptions, MapViewState, MarkerState, PathState, GroupContainerState, GeometryGroupState, ShapeState, CustomGeometryBuilder, LabelState, GeometryState, ModelState, EasingCurve, Camera, InsetPadding, InsetPaddingOption, Position, ClickPayload, HoverPayload, CameraPayload, MapEvent, MapEventPayload, CollisionRankingTier, LabelAppearance, RendererCore, };
|
|
@@ -1432,10 +1491,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay' {
|
|
|
1432
1491
|
|
|
1433
1492
|
declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
1434
1493
|
import type { Feature, MultiPolygon, Polygon } from 'geojson';
|
|
1435
|
-
import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node, Area } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1436
|
-
import type { Label, Marker, Model, Image, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
1494
|
+
import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node, Area, Facade } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
1495
|
+
import type { Label, Marker, Model, Image, Shape, Text3D } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
1437
1496
|
import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
1438
|
-
import type { InsetPaddingOption, Position } from '@mappedin/
|
|
1497
|
+
import type { InsetPaddingOption, Position, UpdatableText3DState, Text3DState, AddText3DOptions } from '@mappedin/mappedin-js/geojson/src';
|
|
1439
1498
|
export type DeepRequired<T> = Required<{
|
|
1440
1499
|
[K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
|
|
1441
1500
|
}>;
|
|
@@ -1573,6 +1632,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1573
1632
|
* Visibility of the walls.
|
|
1574
1633
|
*/
|
|
1575
1634
|
visible: boolean;
|
|
1635
|
+
/**
|
|
1636
|
+
* Height of the walls.
|
|
1637
|
+
*/
|
|
1638
|
+
height?: number;
|
|
1639
|
+
/**
|
|
1640
|
+
* Opacity of the walls.
|
|
1641
|
+
*/
|
|
1642
|
+
opacity?: number;
|
|
1576
1643
|
};
|
|
1577
1644
|
export type TDoorsState = {
|
|
1578
1645
|
type: 'doors';
|
|
@@ -1717,9 +1784,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1717
1784
|
/**
|
|
1718
1785
|
* The type for updating the state of map elements (colors, texts, etc.).
|
|
1719
1786
|
*/
|
|
1720
|
-
export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS
|
|
1787
|
+
export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS | Door ? Partial<TDoorsState> : T extends Marker ? Partial<TMarkerState> : T extends Label ? Partial<TLabelState> : T extends Space | MapObject | Facade ? Partial<TGeometryState> : T extends Shape ? Partial<Omit<TShapeState, 'height' | 'type'>> : T extends Text3D ? UpdatableText3DState : T extends string ? Record<string, any> : never;
|
|
1721
1788
|
export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState>;
|
|
1722
|
-
export type TGetState<T> = T extends WALLS ? TWallsState | undefined : T extends DOORS ? TDoorsState | undefined : T extends Marker ? TMarkerState | undefined : T extends Shape ? TShapeState | undefined : T extends Model ? TModelState | undefined : T extends Label ? TLabelState | undefined : T extends Image ? TImageState | undefined : T extends Space | MapObject ? TGeometryState | undefined : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | undefined : never;
|
|
1789
|
+
export type TGetState<T> = T extends WALLS ? TWallsState | undefined : T extends DOORS ? TDoorsState | undefined : T extends Marker ? TMarkerState | undefined : T extends Shape ? TShapeState | undefined : T extends Model ? TModelState | undefined : T extends Label ? TLabelState | undefined : T extends Image ? TImageState | undefined : T extends Text3D ? Text3DState | undefined : T extends Space | MapObject ? TGeometryState | undefined : T extends string ? TLabelState | TGeometryState | TMarkerState | TModelState | undefined : never;
|
|
1723
1790
|
/**
|
|
1724
1791
|
* Options for {@link Camera} animations on the map.
|
|
1725
1792
|
*/
|
|
@@ -1800,7 +1867,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1800
1867
|
/**
|
|
1801
1868
|
* A map element that can be focused on by the camera.
|
|
1802
1869
|
*/
|
|
1803
|
-
export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Area | Node | EnterpriseLocation
|
|
1870
|
+
export type TFocusable = Floor | Space | Coordinate | MapObject | Connection | PointOfInterest | Door | Annotation | Area | Node | EnterpriseLocation | Facade
|
|
1804
1871
|
/**
|
|
1805
1872
|
* @experimental
|
|
1806
1873
|
*/
|
|
@@ -1835,7 +1902,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
1835
1902
|
/**
|
|
1836
1903
|
* Defines the target for navigation operations.
|
|
1837
1904
|
*/
|
|
1838
|
-
export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation | Node | Area;
|
|
1905
|
+
export type TNavigationTarget = Space | MapObject | Coordinate | Door | PointOfInterest | Connection | EnterpriseLocation | Node | Area | Facade;
|
|
1839
1906
|
/**
|
|
1840
1907
|
* Defines the special zone for navigation operations.
|
|
1841
1908
|
*/
|
|
@@ -2192,6 +2259,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
2192
2259
|
*/
|
|
2193
2260
|
url: string;
|
|
2194
2261
|
};
|
|
2262
|
+
/**
|
|
2263
|
+
* @interface
|
|
2264
|
+
*/
|
|
2265
|
+
export type TAddText3DOptions = AddText3DOptions;
|
|
2195
2266
|
/**
|
|
2196
2267
|
* Options for controlling the behavior of an {@link Image}.
|
|
2197
2268
|
*/
|
|
@@ -2405,6 +2476,21 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/types' {
|
|
|
2405
2476
|
language: Language;
|
|
2406
2477
|
localePack: ParsedMVFLocalePack;
|
|
2407
2478
|
};
|
|
2479
|
+
export type GlobalState = {
|
|
2480
|
+
text3d: {
|
|
2481
|
+
/**
|
|
2482
|
+
* hover color of the text3d
|
|
2483
|
+
*/
|
|
2484
|
+
hoverColor: string;
|
|
2485
|
+
};
|
|
2486
|
+
geometry: {
|
|
2487
|
+
/**
|
|
2488
|
+
* hover color of the geometries
|
|
2489
|
+
*/
|
|
2490
|
+
hoverColor: string;
|
|
2491
|
+
};
|
|
2492
|
+
};
|
|
2493
|
+
export type UpdateGlobalState = DeepPartial<GlobalState>;
|
|
2408
2494
|
}
|
|
2409
2495
|
|
|
2410
2496
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/blue-dot/blue-dot' {
|
|
@@ -2694,6 +2780,16 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects' {
|
|
|
2694
2780
|
export { Path } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/path';
|
|
2695
2781
|
export { CameraTransform } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/camera-transform';
|
|
2696
2782
|
export { Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/shape';
|
|
2783
|
+
export { Text3D } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/text3d';
|
|
2784
|
+
}
|
|
2785
|
+
|
|
2786
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/debug' {
|
|
2787
|
+
import type { RendererCore } from '@mappedin/core-sdk';
|
|
2788
|
+
export class Debug {
|
|
2789
|
+
state: RendererCore['Debug']['state'];
|
|
2790
|
+
constructor(core: RendererCore);
|
|
2791
|
+
update: RendererCore['Debug']['update'];
|
|
2792
|
+
}
|
|
2697
2793
|
}
|
|
2698
2794
|
|
|
2699
2795
|
declare module '@mappedin/mappedin-js/mappedin-js/src/navigation' {
|
|
@@ -2950,6 +3046,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/search' {
|
|
|
2950
3046
|
export { Search } from '@mappedin/mappedin-js/mappedin-js/src/search/external';
|
|
2951
3047
|
}
|
|
2952
3048
|
|
|
3049
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/query' {
|
|
3050
|
+
export { Query } from '@mappedin/mappedin-js/mappedin-js/src/query/external';
|
|
3051
|
+
export type { TFindNearestOptions, TFindNearestResult, TQueriables } from '@mappedin/mappedin-js/mappedin-js/src/query/external';
|
|
3052
|
+
}
|
|
3053
|
+
|
|
2953
3054
|
declare module '@mappedin/mappedin-js/mappedin-js/src/analytics' {
|
|
2954
3055
|
export { Analytics, AnalyticsInternal } from '@mappedin/mappedin-js/mappedin-js/src/analytics/customer';
|
|
2955
3056
|
export type { AnalyticsUpdateOptions, AnalyticState, TAnalyticsUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/analytics/customer';
|
|
@@ -3483,8 +3584,9 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3483
3584
|
import type { Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3484
3585
|
import type { ParsedMVF as TMVF, StyleCollection as TMVFStyleCollection, Style as TMVFStyle, LineStringStyle as TMVFLineStringStyle, PolygonStyle as TMVFPolygonStyle, PointStyle as TMVFPointStyle, ParsedMVFLocalePack, OperationHours, SiblingGroup, LocationState } from '@mappedin/mvf';
|
|
3485
3586
|
import { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
3486
|
-
|
|
3487
|
-
import {
|
|
3587
|
+
export type { Text3D as Text3DApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
|
|
3588
|
+
import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, WatermarkOptions, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, MapViewState } from '@mappedin/mappedin-js/geojson/src';
|
|
3589
|
+
import { enableTestMode, preloadFont } from '@mappedin/mappedin-js/geojson/src';
|
|
3488
3590
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
3489
3591
|
import type { TMappedinMapLibreOverlayEvents } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
3490
3592
|
import { MappedinMapLibreOverlay } from '@mappedin/mappedin-js/mappedin-js/src/maplibre-overlay';
|
|
@@ -3510,92 +3612,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3510
3612
|
*/
|
|
3511
3613
|
quality?: 'low' | 'medium' | 'high' | 'ultra';
|
|
3512
3614
|
};
|
|
3513
|
-
/**
|
|
3514
|
-
* Represents all the available ambient occlusion options.
|
|
3515
|
-
*/
|
|
3516
|
-
type TAmbientOcclusionOptions = {
|
|
3517
|
-
/**
|
|
3518
|
-
* Enable ambient occlusion. Only works in single buffer mode and when device supports WebGL2.
|
|
3519
|
-
*
|
|
3520
|
-
* @default false
|
|
3521
|
-
*/
|
|
3522
|
-
enabled?: boolean;
|
|
3523
|
-
/**
|
|
3524
|
-
* Change the quality of ambient occlusion in the scene. Greater quality means less noise, but worse performance.
|
|
3525
|
-
*
|
|
3526
|
-
* The quality modes are as follows:
|
|
3527
|
-
|
|
3528
|
-
*Temporal stability refers to how consistent the AO is from frame to frame - it's important for a smooth experience.*
|
|
3529
|
-
| Quality Mode | AO Samples | Denoise Samples | Denoise Radius | Best For
|
|
3530
|
-
|:---:|:---:|:---:|:---:|:---:|
|
|
3531
|
-
| Performance (Less temporal stability, a bit noisy) | 8 | 4 | 12 | Mobile, Low-end iGPUs and laptops |
|
|
3532
|
-
| Low (Temporally stable, but low-frequency noise) | 16 | 4 | 12 | High-End Mobile, iGPUs, laptops |
|
|
3533
|
-
| Medium (Temporally stable and barely any noise) | 16 | 8 | 12 | High-End Mobile, laptops, desktops |
|
|
3534
|
-
| High (Significantly sharper AO, barely any noise) | 64 | 8 | 6 | Desktops, dedicated GPUs |
|
|
3535
|
-
| Ultra (Sharp AO, No visible noise whatsoever) | 64 | 16 | 6 | Desktops, dedicated GPUs|
|
|
3536
|
-
|
|
3537
|
-
Generally, half-res mode at "Ultra" quality is slightly slower than full-res mode at "Performance" quality, but produces significantly better results.
|
|
3538
|
-
|
|
3539
|
-
If you wish to make entirely custom quality setup, you can manually change `aoSamples`, `denoiseSamples` and `denoiseRadius`.
|
|
3540
|
-
*
|
|
3541
|
-
* @default 'medium'
|
|
3542
|
-
*/
|
|
3543
|
-
quality?: 'performance' | 'low' | 'medium' | 'high' | 'ultra';
|
|
3544
|
-
samples?: number;
|
|
3545
|
-
/**
|
|
3546
|
-
* Controls the radius/size of the ambient occlusion in world units. Should be set to how far you want the occlusion to extend from a given object.
|
|
3547
|
-
* Set it too low, and AO becomes an edge detector. Too high, and the AO becomes "soft" and might not highlight the details you want.
|
|
3548
|
-
*/
|
|
3549
|
-
radius?: number;
|
|
3550
|
-
denoiseSamples?: number;
|
|
3551
|
-
denoiseRadius?: number;
|
|
3552
|
-
/**
|
|
3553
|
-
* A purely artistic control for the intensity of the AO has the effect of darkening areas with more ambient occlusion.
|
|
3554
|
-
* Useful to make the effect more pronounced. An intensity of 2 generally produces soft ambient occlusion that isn't too noticeable,
|
|
3555
|
-
* whereas one of 5 produces heavily prominent ambient occlusion.
|
|
3556
|
-
*/
|
|
3557
|
-
intensity?: number;
|
|
3558
|
-
denoiseIterations?: number;
|
|
3559
|
-
renderMode?: number;
|
|
3560
|
-
/**
|
|
3561
|
-
* The color of the ambient occlusion. By default, it is black, but it can be changed to any color to offer a crude approximation of global illumination.
|
|
3562
|
-
* Recommended in scenes where bounced light has a uniform "color", for instance a scene that is predominantly lit by a blue sky.
|
|
3563
|
-
* The color is expected to be in the sRGB color space, and is automatically converted to linear space for you. Keep the color pretty dark for sensible results.
|
|
3564
|
-
*
|
|
3565
|
-
* Color formats:\
|
|
3566
|
-
* RGB String: `rgb(255, 0, 0)` or `rgb(100%, 0%, 0%)`\
|
|
3567
|
-
* HSL String: `hsl(0, 100%, 50%)`\
|
|
3568
|
-
* X11 color name - all 140 color names are supported. Note the lack of CamelCase in the name: `skyblue`
|
|
3569
|
-
*/
|
|
3570
|
-
color?: string;
|
|
3571
|
-
/**
|
|
3572
|
-
* Should be automatically set to the correct value. If you are getting washed out colors, try setting `gammaCorrection` to false, and if you are getting dark colors, try setting it to true.
|
|
3573
|
-
*/
|
|
3574
|
-
gammaCorrection?: boolean;
|
|
3575
|
-
logarithmicDepthBuffer?: boolean;
|
|
3576
|
-
/**
|
|
3577
|
-
* When screenSpaceRadius is set to true, the `aoRadius` parameter represents the size of the ambient occlusion effect in pixels (recommended to be set between 16 and 64).
|
|
3578
|
-
* The `distanceFalloff` parameter becomes a ratio, representing the percent of the screen space radius at which the AO should fade away - it should be set to 0.2 in most cases,
|
|
3579
|
-
* but it accepts any value between 0 and 1 (technically even higher than 1, though that is not recommended).
|
|
3580
|
-
*/
|
|
3581
|
-
screenSpaceRadius?: boolean;
|
|
3582
|
-
/**
|
|
3583
|
-
* Use half-resolution" mode for performance-critical applications. This will cause the AO to be calculated at half the resolution of the screen, and then upscaled to the full resolution.
|
|
3584
|
-
* This is a great way to get a performance boost (generally 2x-4x) at the cost of some quality (the AO will lack fine details and temporal stability will be slightly reduced).
|
|
3585
|
-
* @default 'full'
|
|
3586
|
-
*/
|
|
3587
|
-
resolution?: 'half' | 'full';
|
|
3588
|
-
/**
|
|
3589
|
-
* The half `aoResolution` mode uses depth-aware upscaling by default.
|
|
3590
|
-
* The AO effect looks bad without depth-aware upscaling, so it is not recommended to disable it.
|
|
3591
|
-
* However, if performance is truly that critical, you can do so by setting `depthAwareUpsampling` to false.
|
|
3592
|
-
*/
|
|
3593
|
-
depthAwareUpsampling?: boolean;
|
|
3594
|
-
/**
|
|
3595
|
-
* It is recommended to not change this value, otherwise rendering issues may occur.
|
|
3596
|
-
*/
|
|
3597
|
-
autoRenderBeauty?: boolean;
|
|
3598
|
-
};
|
|
3599
3615
|
/**
|
|
3600
3616
|
* @interface
|
|
3601
3617
|
* Options for the watermark.
|
|
@@ -3817,19 +3833,25 @@ declare module '@mappedin/mappedin-js/mappedin-js/src' {
|
|
|
3817
3833
|
* @experimental
|
|
3818
3834
|
*/
|
|
3819
3835
|
export const createMapLibreOverlay: (mapData: MapData, showMapOptions?: TShow3DMapOptions) => MappedinMapLibreOverlay;
|
|
3820
|
-
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
3821
3836
|
export const show3dMap: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
3822
|
-
|
|
3823
|
-
|
|
3837
|
+
/**
|
|
3838
|
+
* @internal
|
|
3839
|
+
* @deprecated Use {@link show3dMap} instead.
|
|
3840
|
+
*/
|
|
3841
|
+
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
3842
|
+
export { parseMVF, unzipMVF, enableTestMode, preloadFont };
|
|
3843
|
+
export type { MapView, MapData, MapViewState, MappedinMapLibreOverlay, TMappedinMapLibreOverlayEvents, TBlueDotEvents, TBlueDotAction, TBlueDotState, GeolocationPositionExtended, TStackedMapsEvents, TExpandOptions, TStackedMapsState, TFollowMode, TFollowCameraOptions, TEvents, TEventPayload, TFloorChangeReason, TClickPayload, THoverPayload, TShow3DMapOptions, TGetMapDataOptions, TGetMapDataWithAccessTokenOptions, TGetMapDataWithCredentialsOptions, TGetMapDataSharedOptions, TAntialiasingOptions, TMVF, PaintStyle, LineStyle, Shading, TMVFStyleCollection, TMVFStyle, TMVFLineStringStyle, TMVFPolygonStyle, TMVFPointStyle, Environment, InsetPadding, InsetPaddingOption, OperationHours, SiblingGroup, LocationState, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, };
|
|
3824
3844
|
export type * from 'geojson';
|
|
3825
3845
|
export type { TUpdateState, TUpdateStates, TLabelState, TGeometryState, TModelState, TShapeState, TDoorsState, TImageState, TWallsState, TCameraAnimationOptions, TAnimationOptions, TFocusOnOptions, TEasingFunction, TCameraTarget, TNavigationTarget, TDirectionZone, TCameraFocusOnTarget, TFocusable, TAddMarkerOptions, TAddPathOptions, TLabelAppearance, TAddLabelOptions, TAddModelOptions, TAddModel, TAddImageOptions, TGetDirectionsOptions, TCollisionRankingTier, TMarkerAnchor, TDirectionInstruction, TDirectionInstructionAction, TGetState, TMarkerState, TBlueDotOptions, TBlueDotPositionUpdate, } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
3826
3846
|
export { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
3827
|
-
export type { Label, Marker, Path, Shape, CameraTransform, Model, Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
3847
|
+
export type { Label, Marker, Path, Shape, CameraTransform, Model, Image, Text3D } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
3848
|
+
export type { Debug } from '@mappedin/mappedin-js/mappedin-js/src/debug';
|
|
3828
3849
|
export type { Navigation, TNavigationOptions } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
3829
3850
|
export type { TSpaceType } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3830
|
-
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image as ImageData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, Node, type Places, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3851
|
+
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image as ImageData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, Facade, Node, type Places, } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
3831
3852
|
export type { Camera, Models, Labels, BlueDot, Markers, Paths, Exporter, Directions, Style, Shapes, Outdoor, Images, StackedMaps, } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson';
|
|
3832
3853
|
export type { SearchResult, SearchResultItem, SearchResultEnterpriseCategory, SearchResultEnterpriseLocations, SearchResultPlaces, SearchOptions, Search, Suggestion, MatchInfo, } from '@mappedin/mappedin-js/mappedin-js/src/search';
|
|
3854
|
+
export type { TFindNearestOptions, TFindNearestResult, TQueriables, Query } from '@mappedin/mappedin-js/mappedin-js/src/query';
|
|
3833
3855
|
export type { Analytics, TAnalyticsUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/analytics';
|
|
3834
3856
|
}
|
|
3835
3857
|
|
|
@@ -4159,6 +4181,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/space' {
|
|
|
4159
4181
|
* @internal
|
|
4160
4182
|
*/
|
|
4161
4183
|
readonly __type = "space";
|
|
4184
|
+
getMvfData(): import("@mappedin/mvf").Feature<import("@mappedin/mvf").Point | import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon, import("@mappedin/mvf").SpaceProperties>;
|
|
4162
4185
|
/**
|
|
4163
4186
|
* Checks if the provided instance is of type Space.
|
|
4164
4187
|
*
|
|
@@ -4952,7 +4975,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/image' {
|
|
|
4952
4975
|
|
|
4953
4976
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack' {
|
|
4954
4977
|
import type { FloorStack as MVFFloorStack } from '@mappedin/mvf';
|
|
4955
|
-
import type { MapDataInternal, Floor } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
4978
|
+
import type { MapDataInternal, Floor, Facade } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
4956
4979
|
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
4957
4980
|
/**
|
|
4958
4981
|
* A class representing floor stack data within the map.
|
|
@@ -4981,6 +5004,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-sta
|
|
|
4981
5004
|
*/
|
|
4982
5005
|
constructor(data: MapDataInternal, options: {
|
|
4983
5006
|
mvfData: MVFFloorStack;
|
|
5007
|
+
facadeId?: string;
|
|
4984
5008
|
});
|
|
4985
5009
|
/**
|
|
4986
5010
|
* Gets the type of FloorStack.
|
|
@@ -5001,7 +5025,15 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-sta
|
|
|
5001
5025
|
*
|
|
5002
5026
|
* @returns {Floor[]} An array of Floor objects in this FloorStack.
|
|
5003
5027
|
*/
|
|
5004
|
-
get floors(): Floor[];
|
|
5028
|
+
get floors(): [Floor, ...Floor[]];
|
|
5029
|
+
/**
|
|
5030
|
+
* Get the default floor for this floor stack
|
|
5031
|
+
*/
|
|
5032
|
+
get defaultFloor(): Floor;
|
|
5033
|
+
/**
|
|
5034
|
+
* Gets the facade ({@link Facade}) representing this floor stack, if it exists.
|
|
5035
|
+
*/
|
|
5036
|
+
get facade(): Facade | undefined;
|
|
5005
5037
|
/**
|
|
5006
5038
|
* Serializes the FloorStack data to JSON.
|
|
5007
5039
|
*
|
|
@@ -5023,20 +5055,58 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-sta
|
|
|
5023
5055
|
export default FloorStack;
|
|
5024
5056
|
}
|
|
5025
5057
|
|
|
5058
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/facade' {
|
|
5059
|
+
import type { Space, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5060
|
+
import { Coordinate } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5061
|
+
import BaseMapData from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/base-object';
|
|
5062
|
+
import type { Facade as MVFFacade } from '@mappedin/mvf';
|
|
5063
|
+
/**
|
|
5064
|
+
* A Facade is a collection of spaces that make up the exterior representation of a Floor Stack ({@link FloorStack}).
|
|
5065
|
+
*/
|
|
5066
|
+
class Facade extends BaseMapData {
|
|
5067
|
+
#private;
|
|
5068
|
+
static readonly __type = "facade";
|
|
5069
|
+
readonly __type = "facade";
|
|
5070
|
+
/**
|
|
5071
|
+
* Checks if the provided instance is of type Floor.
|
|
5072
|
+
*
|
|
5073
|
+
* @param instance The instance to check.
|
|
5074
|
+
* @returns {boolean} True if the instance is a Floor, false otherwise.
|
|
5075
|
+
*/
|
|
5076
|
+
static is(instance: object): instance is Facade;
|
|
5077
|
+
/** @internal */
|
|
5078
|
+
constructor(data: MapDataInternal, options: {
|
|
5079
|
+
mvfData: MVFFacade;
|
|
5080
|
+
floorStackId: string;
|
|
5081
|
+
});
|
|
5082
|
+
/**
|
|
5083
|
+
* Gets the floor stack that this Facade represents.
|
|
5084
|
+
*/
|
|
5085
|
+
get floorStack(): import("./floor-stack").default;
|
|
5086
|
+
/**
|
|
5087
|
+
* Gets the collection of spaces that make up this Facade.
|
|
5088
|
+
*/
|
|
5089
|
+
get spaces(): Space[];
|
|
5090
|
+
/**
|
|
5091
|
+
* Gets the center {@link Coordinate} of the Facade.
|
|
5092
|
+
*/
|
|
5093
|
+
get center(): Coordinate;
|
|
5094
|
+
}
|
|
5095
|
+
export default Facade;
|
|
5096
|
+
}
|
|
5097
|
+
|
|
5026
5098
|
declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
|
|
5027
|
-
import type {
|
|
5099
|
+
import type { AnnotationCollection, EntranceCollection, Feature, FeatureCollection, Connection as MVFConnection, EnterpriseCategory as MVFEnterpriseCategory, EnterpriseCategoryId as MVFEnterpriseCategoryId, EnterpriseLocation as MVFEnterpriseLocation, EnterpriseLocationId as MVFEnterpriseLocationId, EnterpriseVenue as MVFEnterpriseVenue, FloorProperties as MVFFloor, FloorStack as MVFFloorStack, NodeCollection, ObstructionCollection, ParsedMVF, Point, SpaceCollection, SpaceProperties, AreaCollection, AreaId, EnterpriseLocationInstance } from '@mappedin/mvf';
|
|
5028
5100
|
import type { MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5029
|
-
import { Annotation, Connection, Door, Floor, MapObject, PointOfInterest, Space
|
|
5030
|
-
import Node from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/node';
|
|
5031
|
-
import EnterpriseLocation from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/location';
|
|
5032
|
-
import EnterpriseCategory from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/category';
|
|
5033
|
-
import FloorStack from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects/floor-stack';
|
|
5101
|
+
import { Annotation, Area, Connection, Door, EnterpriseCategory, EnterpriseLocation, Facade, Floor, FloorStack, MapObject, Node, PointOfInterest, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
5034
5102
|
export type MapDataRecords = {
|
|
5035
5103
|
spacesById: Record<string, Space>;
|
|
5036
5104
|
nodesById: Record<string, Node>;
|
|
5037
5105
|
objectsById: Record<string, MapObject>;
|
|
5038
5106
|
floorsById: Record<string, Floor>;
|
|
5039
5107
|
floorStacksById: Record<string, FloorStack>;
|
|
5108
|
+
facadesById: Record<string, Facade>;
|
|
5109
|
+
facadesBySpaceId: Record<string, Facade>;
|
|
5040
5110
|
connectionsById: Record<string, Connection>;
|
|
5041
5111
|
doorsById: Record<string, Door>;
|
|
5042
5112
|
doorsByNodeId: Record<string, Door>;
|
|
@@ -5063,10 +5133,25 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
|
|
|
5063
5133
|
mvfCategoriesById: Record<string, MVFEnterpriseCategory>;
|
|
5064
5134
|
mvfLocationsById: Record<string, MVFEnterpriseLocation>;
|
|
5065
5135
|
mvfLocationsBySpaceId: Record<string, MVFEnterpriseLocation[]>;
|
|
5136
|
+
mvfNodesByFloorId: {
|
|
5137
|
+
[floorId: string]: NodeCollection['features'][number][];
|
|
5138
|
+
};
|
|
5139
|
+
mvfSpacesByFloorId: {
|
|
5140
|
+
[floorId: string]: SpaceCollection['features'][number][];
|
|
5141
|
+
};
|
|
5142
|
+
mvfPoisByFloorId: {
|
|
5143
|
+
[floorId: string]: FeatureCollection<Point, SpaceProperties>['features'][number][];
|
|
5144
|
+
};
|
|
5145
|
+
mvfEntrancesByFloorId: {
|
|
5146
|
+
[floorId: string]: EntranceCollection['features'][number][];
|
|
5147
|
+
};
|
|
5148
|
+
mvfAnnotationsByFloorId: {
|
|
5149
|
+
[floorId: string]: AnnotationCollection['features'][number][];
|
|
5150
|
+
};
|
|
5066
5151
|
mvfAreasById: Record<AreaId, AreaCollection['features'][number]>;
|
|
5067
5152
|
};
|
|
5068
5153
|
export const processMVFFloors: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorsById" | "mvfFloorsById">;
|
|
5069
|
-
export const processMVFFloorStacks: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorStacksById" | "mvfFloorStacksById">;
|
|
5154
|
+
export const processMVFFloorStacks: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "floorStacksById" | "mvfFloorStacksById" | "facadesById" | "facadesBySpaceId">;
|
|
5070
5155
|
export const processMVFAreas: (mvf: ParsedMVF, data: MapDataInternal) => Pick<MapDataRecords, "areasById" | "mvfAreasById">;
|
|
5071
5156
|
/**
|
|
5072
5157
|
* @internal
|
|
@@ -5090,6 +5175,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
|
|
|
5090
5175
|
objectsById: Record<string, MapObject>;
|
|
5091
5176
|
floorsById: Record<string, Floor>;
|
|
5092
5177
|
floorStacksById: Record<string, FloorStack>;
|
|
5178
|
+
facadesById: Record<string, Facade>;
|
|
5179
|
+
facadesBySpaceId: Record<string, Facade>;
|
|
5093
5180
|
connectionsById: Record<string, Connection>;
|
|
5094
5181
|
doorsById: Record<string, Door>;
|
|
5095
5182
|
doorsByNodeId: Record<string, Door>;
|
|
@@ -5113,7 +5200,26 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/utils/data-creation' {
|
|
|
5113
5200
|
geometry: Point;
|
|
5114
5201
|
properties: import("@mappedin/mvf").AnnotationProperties;
|
|
5115
5202
|
}>;
|
|
5203
|
+
mvfNodesByFloorId: {
|
|
5204
|
+
[floorId: string]: Feature<Point, import("@mappedin/mvf").NodeProperties>[];
|
|
5205
|
+
};
|
|
5206
|
+
mvfSpacesByFloorId: {
|
|
5207
|
+
[floorId: string]: Feature<Point | import("@mappedin/mvf").LineString | import("@mappedin/mvf").Polygon, SpaceProperties>[];
|
|
5208
|
+
};
|
|
5209
|
+
mvfPoisByFloorId: {
|
|
5210
|
+
[floorId: string]: Feature<Point, SpaceProperties>[];
|
|
5211
|
+
};
|
|
5116
5212
|
mvfAreasById: Record<string, import("@mappedin/mvf").Area>;
|
|
5213
|
+
mvfEntrancesByFloorId: {
|
|
5214
|
+
[floorId: string]: Feature<import("@mappedin/mvf").LineString, import("@mappedin/mvf").EntranceProperties>[];
|
|
5215
|
+
};
|
|
5216
|
+
mvfAnnotationsByFloorId: {
|
|
5217
|
+
[floorId: string]: {
|
|
5218
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
5219
|
+
geometry: Point;
|
|
5220
|
+
properties: import("@mappedin/mvf").AnnotationProperties;
|
|
5221
|
+
}[];
|
|
5222
|
+
};
|
|
5117
5223
|
};
|
|
5118
5224
|
}
|
|
5119
5225
|
|
|
@@ -5242,6 +5348,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/inspector/insp
|
|
|
5242
5348
|
export type InspectorOption = Partial<InspectorState>;
|
|
5243
5349
|
}
|
|
5244
5350
|
|
|
5351
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/types' {
|
|
5352
|
+
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
5353
|
+
export type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
5354
|
+
}
|
|
5355
|
+
|
|
5245
5356
|
declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
|
|
5246
5357
|
import './marker.scss';
|
|
5247
5358
|
import { Vector2 } from 'three';
|
|
@@ -5249,7 +5360,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
|
|
|
5249
5360
|
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
5250
5361
|
import type { CollisionRankingTier } from '@mappedin/mappedin-js/geojson/src/utils/collision-ranking-tier';
|
|
5251
5362
|
import { z } from 'zod';
|
|
5252
|
-
import type
|
|
5363
|
+
import { type PackedBBoxes } from '@mappedin/mappedin-js/geojson/src/systems/collisions/system';
|
|
5253
5364
|
/**
|
|
5254
5365
|
* State reprsenting a Marker
|
|
5255
5366
|
*/
|
|
@@ -5305,14 +5416,14 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
|
|
|
5305
5416
|
}, "strip", z.ZodTypeAny, {
|
|
5306
5417
|
interactive?: boolean | "pointer-events-auto" | undefined;
|
|
5307
5418
|
id?: string | undefined;
|
|
5308
|
-
anchor?: "center" | "left" | "right" | "
|
|
5309
|
-
rank?: number | "
|
|
5419
|
+
anchor?: "center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
|
|
5420
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5310
5421
|
dynamicResize?: boolean | undefined;
|
|
5311
5422
|
}, {
|
|
5312
5423
|
interactive?: boolean | "pointer-events-auto" | undefined;
|
|
5313
5424
|
id?: string | undefined;
|
|
5314
|
-
anchor?: "center" | "left" | "right" | "
|
|
5315
|
-
rank?: number | "
|
|
5425
|
+
anchor?: "center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | ("center" | "left" | "right" | "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right")[] | undefined;
|
|
5426
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5316
5427
|
dynamicResize?: boolean | undefined;
|
|
5317
5428
|
}>;
|
|
5318
5429
|
export function validateMarker(coordinate: Position, contentHTML: string, options: AddMarkerOptions): void;
|
|
@@ -5403,7 +5514,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/marker' {
|
|
|
5403
5514
|
|
|
5404
5515
|
declare module '@mappedin/mappedin-js/geojson/src/components/path' {
|
|
5405
5516
|
import { Vector3 } from 'three';
|
|
5406
|
-
import type {
|
|
5517
|
+
import type { BufferGeometry, LineSegments } from 'three';
|
|
5407
5518
|
import type { EntityId, Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
5408
5519
|
import type { PathMaterial, PatMeshContainer } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
5409
5520
|
import type { FeatureCollection, Point } from 'geojson';
|
|
@@ -5582,7 +5693,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/path' {
|
|
|
5582
5693
|
mesh: PatMeshContainer;
|
|
5583
5694
|
material?: PathMaterial;
|
|
5584
5695
|
geometry?: BufferGeometry;
|
|
5585
|
-
outline?:
|
|
5696
|
+
outline?: LineSegments;
|
|
5586
5697
|
feature: FeatureCollection<Point, PathProperties>;
|
|
5587
5698
|
options: AddPathOptions;
|
|
5588
5699
|
nearRadius: number;
|
|
@@ -5698,6 +5809,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5698
5809
|
foregroundColor?: string | undefined;
|
|
5699
5810
|
backgroundColor?: string | undefined;
|
|
5700
5811
|
} | undefined;
|
|
5812
|
+
margin?: number | undefined;
|
|
5701
5813
|
marker?: {
|
|
5702
5814
|
size?: number | undefined;
|
|
5703
5815
|
foregroundColor?: {
|
|
@@ -5709,7 +5821,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5709
5821
|
inactive?: string | undefined;
|
|
5710
5822
|
} | undefined;
|
|
5711
5823
|
} | undefined;
|
|
5712
|
-
margin?: number | undefined;
|
|
5713
5824
|
}, {
|
|
5714
5825
|
text?: {
|
|
5715
5826
|
size?: number | undefined;
|
|
@@ -5719,6 +5830,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5719
5830
|
foregroundColor?: string | undefined;
|
|
5720
5831
|
backgroundColor?: string | undefined;
|
|
5721
5832
|
} | undefined;
|
|
5833
|
+
margin?: number | undefined;
|
|
5722
5834
|
marker?: {
|
|
5723
5835
|
size?: number | undefined;
|
|
5724
5836
|
foregroundColor?: {
|
|
@@ -5730,11 +5842,10 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5730
5842
|
inactive?: string | undefined;
|
|
5731
5843
|
} | undefined;
|
|
5732
5844
|
} | undefined;
|
|
5733
|
-
margin?: number | undefined;
|
|
5734
5845
|
}>>;
|
|
5735
5846
|
}, "strip", z.ZodTypeAny, {
|
|
5736
5847
|
interactive?: boolean | undefined;
|
|
5737
|
-
rank?: number | "
|
|
5848
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5738
5849
|
appearance?: {
|
|
5739
5850
|
text?: {
|
|
5740
5851
|
size?: number | undefined;
|
|
@@ -5744,6 +5855,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5744
5855
|
foregroundColor?: string | undefined;
|
|
5745
5856
|
backgroundColor?: string | undefined;
|
|
5746
5857
|
} | undefined;
|
|
5858
|
+
margin?: number | undefined;
|
|
5747
5859
|
marker?: {
|
|
5748
5860
|
size?: number | undefined;
|
|
5749
5861
|
foregroundColor?: {
|
|
@@ -5755,11 +5867,10 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5755
5867
|
inactive?: string | undefined;
|
|
5756
5868
|
} | undefined;
|
|
5757
5869
|
} | undefined;
|
|
5758
|
-
margin?: number | undefined;
|
|
5759
5870
|
} | undefined;
|
|
5760
5871
|
}, {
|
|
5761
5872
|
interactive?: boolean | undefined;
|
|
5762
|
-
rank?: number | "
|
|
5873
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5763
5874
|
appearance?: {
|
|
5764
5875
|
text?: {
|
|
5765
5876
|
size?: number | undefined;
|
|
@@ -5769,6 +5880,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5769
5880
|
foregroundColor?: string | undefined;
|
|
5770
5881
|
backgroundColor?: string | undefined;
|
|
5771
5882
|
} | undefined;
|
|
5883
|
+
margin?: number | undefined;
|
|
5772
5884
|
marker?: {
|
|
5773
5885
|
size?: number | undefined;
|
|
5774
5886
|
foregroundColor?: {
|
|
@@ -5780,7 +5892,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/label' {
|
|
|
5780
5892
|
inactive?: string | undefined;
|
|
5781
5893
|
} | undefined;
|
|
5782
5894
|
} | undefined;
|
|
5783
|
-
margin?: number | undefined;
|
|
5784
5895
|
} | undefined;
|
|
5785
5896
|
}>;
|
|
5786
5897
|
export function validateLabel(coordinate: Position, text: string, options: AddLabelOptions): void;
|
|
@@ -6127,9 +6238,12 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
|
|
|
6127
6238
|
import type { StackComponent } from '@mappedin/mappedin-js/geojson/src/components/stack';
|
|
6128
6239
|
import type { MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
6129
6240
|
import type { LabelState } from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
6241
|
+
import type { Geometry3DTypes } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
6130
6242
|
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
6131
6243
|
import type { PathState } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
6132
6244
|
import type { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
6245
|
+
import type { BatchedText } from '@mappedin/mappedin-js/geojson/src/services/text3d/text3d';
|
|
6246
|
+
import type { EntityTypes } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
6133
6247
|
export enum GroupContainerComponents {
|
|
6134
6248
|
Stack = 0,
|
|
6135
6249
|
Interaction = 1
|
|
@@ -6156,7 +6270,8 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
|
|
|
6156
6270
|
};
|
|
6157
6271
|
export class GroupContainerObject3D extends Object3D {
|
|
6158
6272
|
childrenIds: Set<string | number>;
|
|
6159
|
-
|
|
6273
|
+
children: (GroupContainerObject3D | GeometryGroupObject3D | BatchedText | Geometry2D['object3d'] | NonNullable<Geometry3D['object3d']>)[];
|
|
6274
|
+
readonly type: "group-container";
|
|
6160
6275
|
userData: {
|
|
6161
6276
|
entityId: string | number;
|
|
6162
6277
|
entities2D: Set<string | number>;
|
|
@@ -6164,8 +6279,8 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/group-container' {
|
|
|
6164
6279
|
};
|
|
6165
6280
|
components: [StackComponent?, InteractionComponent?];
|
|
6166
6281
|
constructor(id: string);
|
|
6167
|
-
addEntity(entityGroupOrContainer: GroupContainerObject3D | GeometryGroupObject3D | Geometry2D |
|
|
6168
|
-
removeEntity(entityGroupOrContainer:
|
|
6282
|
+
addEntity(entityGroupOrContainer: GroupContainerObject3D | GeometryGroupObject3D | Geometry2D | Geometry3DTypes): void;
|
|
6283
|
+
removeEntity(entityGroupOrContainer: EntityTypes): void;
|
|
6169
6284
|
setVisible(visible: boolean): void;
|
|
6170
6285
|
setAltitude(altitude: number): void;
|
|
6171
6286
|
get altitude(): number;
|
|
@@ -6245,7 +6360,7 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry-group' {
|
|
|
6245
6360
|
export type ChildUpdatable<T> = T extends LineStyle ? Partial<Pick<LineStyle, 'color' | 'opacity' | 'visible'>> : Partial<Pick<PaintStyle, 'color' | 'opacity' | 'visible'>>;
|
|
6246
6361
|
export class GeometryGroupObject3D extends Object3D {
|
|
6247
6362
|
visible: boolean;
|
|
6248
|
-
readonly type
|
|
6363
|
+
readonly type: "geometry-group";
|
|
6249
6364
|
components: [GeometryGroupStyleComponent];
|
|
6250
6365
|
userData: {
|
|
6251
6366
|
entityId: string | number;
|
|
@@ -6276,7 +6391,8 @@ declare module '@mappedin/mappedin-js/geojson/src/types/geometry' {
|
|
|
6276
6391
|
}
|
|
6277
6392
|
|
|
6278
6393
|
declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
6279
|
-
import {
|
|
6394
|
+
import type { Camera } from 'three';
|
|
6395
|
+
import { Mesh, Object3D, InstancedMesh } from 'three';
|
|
6280
6396
|
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
6281
6397
|
import type { Position } from '@mappedin/mappedin-js/geojson/src/types/geometry';
|
|
6282
6398
|
import type { GeometryState } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
@@ -6288,13 +6404,14 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
6288
6404
|
import type { MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
6289
6405
|
import type { ImageState } from '@mappedin/mappedin-js/geojson/src/components/image';
|
|
6290
6406
|
import type { ShapeState } from '@mappedin/mappedin-js/geojson/src/components/custom';
|
|
6291
|
-
import type { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities';
|
|
6292
6407
|
import type { Group as TweenGroup } from '@tweenjs/tween.js';
|
|
6293
|
-
import { MaterialSide } from '@mappedin/mappedin-js/geojson/src/components/
|
|
6408
|
+
import type { MaterialSide } from '@mappedin/mappedin-js/geojson/src/components/styles';
|
|
6409
|
+
import type { Geometry3DTypes } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
6410
|
+
import type { Text3DState } from '@mappedin/mappedin-js/geojson/src/components/text3d';
|
|
6294
6411
|
/**
|
|
6295
6412
|
* The state of an entity, which can be a geometry, geometry group, group container, path, model, label, or marker.
|
|
6296
6413
|
*/
|
|
6297
|
-
export type EntityState = GeometryState | GeometryGroupState | GroupContainerState | PathState | ModelState | LabelState | MarkerState | ImageState | ShapeState;
|
|
6414
|
+
export type EntityState = GeometryState | GeometryGroupState | GroupContainerState | PathState | ModelState | LabelState | MarkerState | ImageState | Text3DState | ShapeState;
|
|
6298
6415
|
/**
|
|
6299
6416
|
* A wrapper object that contains the ID and type of an entity. This is returned when adding entities to the scene, and can be used
|
|
6300
6417
|
* to `getState` and `setState` of the entity.
|
|
@@ -6546,10 +6663,10 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
6546
6663
|
*/
|
|
6547
6664
|
'user-interaction-end': undefined;
|
|
6548
6665
|
/**
|
|
6549
|
-
* Fired when a geometry is in focus, meaning it occupies the area closest to the center of the screen.
|
|
6666
|
+
* Fired when a geometry is in focus, meaning it occupies the area closest to the center of the screen. Is an array of geometry IDs sorted by most likely to be in focus.
|
|
6550
6667
|
* Geometries can be added to the focus listener via `mapView.setState(.., { focusable: true })`.
|
|
6551
6668
|
*/
|
|
6552
|
-
'geometry-in-focus': string
|
|
6669
|
+
'geometry-in-focus': string[];
|
|
6553
6670
|
/**
|
|
6554
6671
|
* Fired before the scene is rendered. Use this to modify the scene before it is rendered.
|
|
6555
6672
|
*/
|
|
@@ -6561,14 +6678,18 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
6561
6678
|
export type MapEventPayload<EventName extends keyof MapEvent> = MapEvent[EventName] extends {
|
|
6562
6679
|
data: null;
|
|
6563
6680
|
} ? MapEvent[EventName]['data'] : MapEvent[EventName];
|
|
6564
|
-
|
|
6681
|
+
/**
|
|
6682
|
+
* All entities in 3D
|
|
6683
|
+
*/
|
|
6684
|
+
export type All3DTypes = Geometry3DTypes | GeometryGroupObject3D | GroupContainerObject3D;
|
|
6565
6685
|
export type RendererState = {
|
|
6566
|
-
geometry3DMap: Map<string | number,
|
|
6686
|
+
geometry3DMap: Map<string | number, All3DTypes>;
|
|
6567
6687
|
geometry2DMap: Map<string | number, Geometry2D>;
|
|
6568
6688
|
geometry2DIdsInScene: Set<Geometry2D['id']>;
|
|
6569
|
-
geometry3DIdsInScene: Set<
|
|
6689
|
+
geometry3DIdsInScene: Set<All3DTypes['id']>;
|
|
6570
6690
|
entityScene: GroupContainerObject3D;
|
|
6571
6691
|
hoverColor: string;
|
|
6692
|
+
text3dHoverColor: string;
|
|
6572
6693
|
center?: Position;
|
|
6573
6694
|
insetsPadding: InsetPadding;
|
|
6574
6695
|
shouldMeasureCanvas: boolean;
|
|
@@ -6582,10 +6703,14 @@ declare module '@mappedin/mappedin-js/geojson/src/types' {
|
|
|
6582
6703
|
tweenGroup: TweenGroup;
|
|
6583
6704
|
cameraObject: Camera;
|
|
6584
6705
|
};
|
|
6706
|
+
/**
|
|
6707
|
+
* All of the entities in the scene
|
|
6708
|
+
*/
|
|
6709
|
+
export type EntityTypes = Geometry3DTypes | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D;
|
|
6585
6710
|
}
|
|
6586
6711
|
|
|
6587
6712
|
declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
6588
|
-
import type { Texture, BufferGeometry, LineSegments, Mesh
|
|
6713
|
+
import type { Texture, BufferGeometry, LineSegments, Mesh } from 'three';
|
|
6589
6714
|
import { BatchedMesh, Color, Vector3 } from 'three';
|
|
6590
6715
|
import type { BatchedStandardMaterial } from '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/batched-material';
|
|
6591
6716
|
import type { Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
@@ -6593,7 +6718,9 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
6593
6718
|
import type { BBox } from '@turf/turf';
|
|
6594
6719
|
import { type ImageProperties } from '@mappedin/mappedin-js/geojson/src/components/image';
|
|
6595
6720
|
import { type BaseTextAreaProperties } from '@mappedin/mvf';
|
|
6721
|
+
import type { Text } from 'troika-three-text';
|
|
6596
6722
|
export class EntityBatchedMesh extends BatchedMesh {
|
|
6723
|
+
type: "entityBatchedMesh";
|
|
6597
6724
|
userData: {
|
|
6598
6725
|
entities: {
|
|
6599
6726
|
[key: number]: string | number;
|
|
@@ -6602,6 +6729,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
6602
6729
|
};
|
|
6603
6730
|
}
|
|
6604
6731
|
export type MeshComponentProperties = {
|
|
6732
|
+
id: string;
|
|
6605
6733
|
image?: ImageProperties & {
|
|
6606
6734
|
position: GeoJsonPosition;
|
|
6607
6735
|
path: string;
|
|
@@ -6681,6 +6809,14 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
6681
6809
|
* The top texture URL of the geometry
|
|
6682
6810
|
*/
|
|
6683
6811
|
topTexture?: string;
|
|
6812
|
+
/**
|
|
6813
|
+
* Whether the geometry is currently in hover state or not
|
|
6814
|
+
*/
|
|
6815
|
+
hovered: boolean;
|
|
6816
|
+
/**
|
|
6817
|
+
* The render order of the geometry
|
|
6818
|
+
*/
|
|
6819
|
+
renderOrder?: number;
|
|
6684
6820
|
};
|
|
6685
6821
|
export class MeshComponent {
|
|
6686
6822
|
#private;
|
|
@@ -6688,7 +6824,11 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
6688
6824
|
focusMesh?: Mesh;
|
|
6689
6825
|
outline?: LineSegments;
|
|
6690
6826
|
imageMesh?: Mesh;
|
|
6691
|
-
|
|
6827
|
+
/**
|
|
6828
|
+
* holds a pointer to space label text if the polygon has label active.
|
|
6829
|
+
*/
|
|
6830
|
+
textMesh?: Text;
|
|
6831
|
+
textEntityId?: string;
|
|
6692
6832
|
readonly type = "geometry";
|
|
6693
6833
|
dirty: boolean;
|
|
6694
6834
|
detached: boolean;
|
|
@@ -6700,7 +6840,8 @@ declare module '@mappedin/mappedin-js/geojson/src/components/mesh' {
|
|
|
6700
6840
|
constructor(feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties>);
|
|
6701
6841
|
get visible(): boolean;
|
|
6702
6842
|
set visible(visible: boolean);
|
|
6703
|
-
|
|
6843
|
+
get renderOrder(): number;
|
|
6844
|
+
set renderOrder(value: number);
|
|
6704
6845
|
focusable: boolean;
|
|
6705
6846
|
color: Color;
|
|
6706
6847
|
topColor: Color;
|
|
@@ -7029,9 +7170,9 @@ declare module '@mappedin/mappedin-js/geojson/src/components/model' {
|
|
|
7029
7170
|
outline?: LineSegments;
|
|
7030
7171
|
geometry?: Object3D;
|
|
7031
7172
|
material?: BatchedStandardMaterial;
|
|
7032
|
-
feature: Feature<Point>;
|
|
7173
|
+
feature: Feature<Point, ModelProperties>;
|
|
7033
7174
|
instanceIndex?: number;
|
|
7034
|
-
constructor(feature: Feature<Point>);
|
|
7175
|
+
constructor(feature: Feature<Point, ModelProperties>);
|
|
7035
7176
|
visible: boolean;
|
|
7036
7177
|
setOpacity(): void;
|
|
7037
7178
|
color: Color;
|
|
@@ -7050,14 +7191,14 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7050
7191
|
import type { GroupContainerState } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
7051
7192
|
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
7052
7193
|
import { PubSub } from '@mappedin/mappedin-js/packages/common/pubsub';
|
|
7194
|
+
import { Renderer } from '@mappedin/mappedin-js/geojson/src/services/renderer';
|
|
7053
7195
|
import { CollisionSystem } from '@mappedin/mappedin-js/geojson/src/systems/collisions/system';
|
|
7054
7196
|
import { InteractionSystem } from '@mappedin/mappedin-js/geojson/src/systems/interactions';
|
|
7055
|
-
import { ZoomInterpolationSystem } from '@mappedin/mappedin-js/geojson/src/systems/zoom-interpolation/zoom-interpolation';
|
|
7056
7197
|
import type { AddMarkerOptions, MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
7057
7198
|
import type { GLTFExportOptions } from '@mappedin/mappedin-js/geojson/src/systems/exporter';
|
|
7058
7199
|
import { ExporterSystem } from '@mappedin/mappedin-js/geojson/src/systems/exporter';
|
|
7059
7200
|
import type { AddLabelOptions, LabelState } from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
7060
|
-
import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, ModelStyle, EntityState, EntityId, MapEvent, MapEventPayload, RendererState } from '@mappedin/mappedin-js/geojson/src/types';
|
|
7201
|
+
import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, ModelStyle, EntityState, EntityId, MapEvent, MapEventPayload, RendererState, EntityTypes } from '@mappedin/mappedin-js/geojson/src/types';
|
|
7061
7202
|
import { MeshCreationAndOptimizationSystem } from '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/system';
|
|
7062
7203
|
import { DOMVisibilitySystem } from '@mappedin/mappedin-js/geojson/src/systems/dom-visiblity/system';
|
|
7063
7204
|
import { TwoDProjectionSystem } from '@mappedin/mappedin-js/geojson/src/systems/2d-projection/system';
|
|
@@ -7087,11 +7228,13 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7087
7228
|
import { OutdoorLayers } from '@mappedin/mappedin-js/geojson/src/systems/outdoor-layers/system';
|
|
7088
7229
|
import { PathSystem } from '@mappedin/mappedin-js/geojson/src/systems/path';
|
|
7089
7230
|
import { type ImageProperties, type ImageState, type ImageStyle } from '@mappedin/mappedin-js/geojson/src/components/image';
|
|
7231
|
+
import type { AddText3DOptions, Text3DState, UpdatableText3DState } from '@mappedin/mappedin-js/geojson/src/components/text3d';
|
|
7090
7232
|
import { MeshDetachmentSystem } from '@mappedin/mappedin-js/geojson/src/systems/mesh-detachment/system';
|
|
7091
7233
|
import { MeshModificationSystem } from '@mappedin/mappedin-js/geojson/src/systems/mesh-modification/system';
|
|
7092
7234
|
import { PreRenderSystem } from '@mappedin/mappedin-js/geojson/src/systems/pre-render/system';
|
|
7093
|
-
import {
|
|
7235
|
+
import { Text3DSystem } from '@mappedin/mappedin-js/geojson/src/systems/text3d/system';
|
|
7094
7236
|
import { Group as TweenGroup } from '@tweenjs/tween.js';
|
|
7237
|
+
import { Debug } from '@mappedin/mappedin-js/geojson/src/utils/debug';
|
|
7095
7238
|
export type * from '@mappedin/mappedin-js/geojson/src/types';
|
|
7096
7239
|
export const raycaster: Raycaster;
|
|
7097
7240
|
/**
|
|
@@ -7111,7 +7254,6 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7111
7254
|
panBoundsSystem: PanBoundsSystem;
|
|
7112
7255
|
collisionSystem: CollisionSystem;
|
|
7113
7256
|
interactionSystem: InteractionSystem;
|
|
7114
|
-
zoomInterpolationSystem: ZoomInterpolationSystem;
|
|
7115
7257
|
meshOptimizationSystem: MeshCreationAndOptimizationSystem;
|
|
7116
7258
|
domVisiblitySystem: DOMVisibilitySystem;
|
|
7117
7259
|
domMutationSystem: DOMResizeSystem;
|
|
@@ -7134,16 +7276,18 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7134
7276
|
meshDetachmentSystem: MeshDetachmentSystem;
|
|
7135
7277
|
meshModificationSystem: MeshModificationSystem;
|
|
7136
7278
|
preRenderSystem: PreRenderSystem;
|
|
7137
|
-
|
|
7279
|
+
text3DSystem: Text3DSystem;
|
|
7138
7280
|
};
|
|
7139
7281
|
export type MapViewState = {
|
|
7140
7282
|
readonly type: 'map-view';
|
|
7141
|
-
hoverColor
|
|
7283
|
+
hoverColor: string;
|
|
7284
|
+
text3dHoverColor: string;
|
|
7142
7285
|
};
|
|
7143
7286
|
class Core extends PubSub<MapEvent> {
|
|
7144
7287
|
#private;
|
|
7145
7288
|
options: Omit<RendererCoreOptions, 'outdoorView'>;
|
|
7146
7289
|
container: HTMLElement;
|
|
7290
|
+
Debug: Debug;
|
|
7147
7291
|
/**
|
|
7148
7292
|
* The view camera is used for projecting both the outdoor map and our scene
|
|
7149
7293
|
*/
|
|
@@ -7203,11 +7347,36 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7203
7347
|
*/
|
|
7204
7348
|
addMarker2D(coordinate: Position, contentHTML: string, options?: AddMarkerOptions, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<MarkerState> | undefined;
|
|
7205
7349
|
/**
|
|
7206
|
-
*
|
|
7207
|
-
|
|
7208
|
-
|
|
7209
|
-
|
|
7210
|
-
*
|
|
7350
|
+
* Labels an existing 3D geometry with a text area.
|
|
7351
|
+
*
|
|
7352
|
+
* @param meshGeometryId - The ID of the target 3D geometry to label.
|
|
7353
|
+
* @param content - The text content to display.
|
|
7354
|
+
* @param options - Additional options for adding the text label, including:
|
|
7355
|
+
* - parentId: Optional ID of the parent container.
|
|
7356
|
+
* - appearance: Optional appearance settings for the text label.
|
|
7357
|
+
*
|
|
7358
|
+
* @returns An object containing the ID and type of the created or existing text label, or undefined if labeling failed. If geometry is already labeld, the same text id will be returned
|
|
7359
|
+
*
|
|
7360
|
+
* @example
|
|
7361
|
+
* ```typescript
|
|
7362
|
+
* const label = renderer.labelText3D('geometry123', 'Hello World', { parentId: 'parent456', appearance: { color: 'red' } });
|
|
7363
|
+
* if (label) {
|
|
7364
|
+
* console.log(`Label created with ID: ${label.id}`);
|
|
7365
|
+
* }
|
|
7366
|
+
*
|
|
7367
|
+
*/
|
|
7368
|
+
labelText3D(meshGeometryId: string, content: string, options?: AddText3DOptions & {
|
|
7369
|
+
parentId?: string;
|
|
7370
|
+
}): {
|
|
7371
|
+
id: string | number;
|
|
7372
|
+
type: "text3d";
|
|
7373
|
+
} | undefined;
|
|
7374
|
+
/**
|
|
7375
|
+
* Add a 2D label at a GeoJSON coordinate.
|
|
7376
|
+
*/
|
|
7377
|
+
addLabel2D(coordinate: Position, text: string, options?: AddLabelOptions, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<LabelState> | undefined;
|
|
7378
|
+
/**
|
|
7379
|
+
* Add a Path along a set of GeoJSON coordinates that can be animated.
|
|
7211
7380
|
*/
|
|
7212
7381
|
addPath(geometry: FeatureCollection<Point, PathProperties>, options?: AddPathOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<PathState> | undefined;
|
|
7213
7382
|
/**
|
|
@@ -7220,6 +7389,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7220
7389
|
* Remove an entity from the renderer and release associated resources.
|
|
7221
7390
|
*/
|
|
7222
7391
|
remove(object: string | number): void;
|
|
7392
|
+
remove(object: EntityTypes): void;
|
|
7223
7393
|
/**
|
|
7224
7394
|
* Show collision boxes for 2D entities for debugging
|
|
7225
7395
|
*/
|
|
@@ -7244,13 +7414,13 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7244
7414
|
* Get the current state of the map view, or any entity that was added, regardless of whether it is visible in the scene
|
|
7245
7415
|
*/
|
|
7246
7416
|
getState(): MapViewState;
|
|
7247
|
-
getState<T extends EntityId<EntityState>>(geometryOrGeometryId: T): T extends EntityId<LabelState> ? LabelState : T extends EntityId<GeometryState> ? GeometryState : T extends EntityId<MarkerState> ? MarkerState : T extends EntityId<GeometryGroupState> ? GeometryGroupState : T extends EntityId<GroupContainerState> ? GroupContainerState : T extends EntityId<ModelState> ? ModelState : T extends EntityId<PathState> ? PathState : T extends EntityId<ShapeState> ? ShapeState : T extends EntityId<ImageState> ? ImageState : EntityState;
|
|
7417
|
+
getState<T extends EntityId<EntityState>>(geometryOrGeometryId: T): T extends EntityId<LabelState> ? LabelState : T extends EntityId<GeometryState> ? GeometryState : T extends EntityId<MarkerState> ? MarkerState : T extends EntityId<GeometryGroupState> ? GeometryGroupState : T extends EntityId<GroupContainerState> ? GroupContainerState : T extends EntityId<ModelState> ? ModelState : T extends EntityId<PathState> ? PathState : T extends EntityId<ShapeState> ? ShapeState : T extends EntityId<ImageState> ? ImageState : T extends EntityId<Text3DState> ? Text3DState : EntityState;
|
|
7248
7418
|
getState(geometryOrGeometryId?: Record<string | number, any> | string | number): EntityState;
|
|
7249
7419
|
getState<T extends EntityState>(geometryOrGeometryId: T['id']): T extends LabelState ? LabelState : T extends GeometryState ? GeometryState : T extends MarkerState ? MarkerState : T extends GeometryGroupState ? GeometryGroupState : T extends GroupContainerState ? GroupContainerState : T extends ModelState ? ModelState : T extends PathState ? PathState : T extends ShapeState ? ShapeState : T extends ImageState ? ImageState : EntityState;
|
|
7250
7420
|
/**
|
|
7251
7421
|
* Set the state of the map view or any entity that was added, regardless of whether it is visible in the scene.
|
|
7252
7422
|
*/
|
|
7253
|
-
setState(object: Partial<MapViewState
|
|
7423
|
+
setState(object: Partial<Omit<MapViewState, 'type'>>): void;
|
|
7254
7424
|
setState<T extends EntityId<LabelState>>(object: T | T['id'], state: Partial<LabelState>): void;
|
|
7255
7425
|
setState<T extends EntityId<MarkerState>>(object: T | T['id'], state: Partial<MarkerState>): void;
|
|
7256
7426
|
setState<T extends EntityId<GeometryGroupState>>(object: T | T['id'], state: Partial<GeometryGroupState>): void;
|
|
@@ -7260,6 +7430,7 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7260
7430
|
setState<T extends EntityId<PathState>>(object: T | T['id'], state: PathUpdateState): void;
|
|
7261
7431
|
setState<T extends EntityId<ModelState>>(object: T | T['id'], state: Partial<ModelState>): void;
|
|
7262
7432
|
setState<T extends EntityId<ImageState>>(object: T | T['id'], state: Partial<ImageState>): void;
|
|
7433
|
+
setState<T extends EntityId<Text3DState>>(object: T | T['id'], state: Partial<UpdatableText3DState>): void;
|
|
7263
7434
|
setState<T extends EntityState>(object: T | T['id'], state: Partial<T>): void;
|
|
7264
7435
|
/**
|
|
7265
7436
|
* Project a screen coordinate to a geographic coordinate
|
|
@@ -7302,6 +7473,10 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7302
7473
|
* Returns the background color of the renderer. Only applies to "standalone mode"
|
|
7303
7474
|
*/
|
|
7304
7475
|
get backgroundColor(): import("three").Color;
|
|
7476
|
+
/**
|
|
7477
|
+
* internal
|
|
7478
|
+
*/
|
|
7479
|
+
getThreeRenderer(): Renderer;
|
|
7305
7480
|
/**
|
|
7306
7481
|
* Returns the current scale of the map in metres per pixel.
|
|
7307
7482
|
*/
|
|
@@ -7335,13 +7510,13 @@ declare module '@mappedin/mappedin-js/geojson/src/renderer' {
|
|
|
7335
7510
|
* The render happens in an animation frame, not matter how frequently it is called
|
|
7336
7511
|
* @method render
|
|
7337
7512
|
*/
|
|
7338
|
-
render: () =>
|
|
7513
|
+
render: () => Promise<any> | undefined;
|
|
7339
7514
|
/**
|
|
7340
7515
|
* Perform a synchronous render of the scene. This bypasses the animation frame and renders immediately.
|
|
7341
7516
|
*
|
|
7342
7517
|
* Note: Only use this if you have an animation frame setup elsewhere
|
|
7343
7518
|
*/
|
|
7344
|
-
renderSync: () =>
|
|
7519
|
+
renderSync: () => Promise<any>;
|
|
7345
7520
|
/**
|
|
7346
7521
|
* @internal for testing
|
|
7347
7522
|
*/
|
|
@@ -7599,19 +7774,462 @@ declare module '@mappedin/mappedin-js/geojson/src/utils/collision-ranking-tier'
|
|
|
7599
7774
|
export function convertNumberToCollisionRankingTier(rank: number): CollisionRankingTier;
|
|
7600
7775
|
}
|
|
7601
7776
|
|
|
7777
|
+
declare module '@mappedin/mappedin-js/geojson/src/components/text3d' {
|
|
7778
|
+
import type { Position } from '@mappedin/mappedin-js/geojson/src/types';
|
|
7779
|
+
import { z } from 'zod';
|
|
7780
|
+
import type { Feature, Point } from 'geojson';
|
|
7781
|
+
import { Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
7782
|
+
import type { BatchedText, Text } from '@mappedin/mappedin-js/geojson/src/services/text3d/text3d';
|
|
7783
|
+
import type { Text3DStyle } from '@mappedin/mappedin-js/geojson/src/components/styles';
|
|
7784
|
+
import type { MeshComponentProperties } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
7785
|
+
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
7786
|
+
/**
|
|
7787
|
+
* State representing an Text3D
|
|
7788
|
+
*/
|
|
7789
|
+
export type Text3DState = {
|
|
7790
|
+
readonly id: string | number;
|
|
7791
|
+
readonly type: 'text3d';
|
|
7792
|
+
/**
|
|
7793
|
+
* The position of the Text3D in [lon, lat, altitude]
|
|
7794
|
+
*/
|
|
7795
|
+
readonly position: Position;
|
|
7796
|
+
/**
|
|
7797
|
+
* Whether the Text3D is visible
|
|
7798
|
+
*/
|
|
7799
|
+
visible: boolean;
|
|
7800
|
+
/**
|
|
7801
|
+
* Attempt to keep the Text3D facing the camera as much as possible
|
|
7802
|
+
*/
|
|
7803
|
+
flipToFaceCamera: boolean;
|
|
7804
|
+
/**
|
|
7805
|
+
* Content of the text3d
|
|
7806
|
+
*/
|
|
7807
|
+
content: string;
|
|
7808
|
+
} & Text3DStyle;
|
|
7809
|
+
export const text3DStateSchema: z.ZodObject<{
|
|
7810
|
+
visible: z.ZodBoolean;
|
|
7811
|
+
color: z.ZodString;
|
|
7812
|
+
flipToFaceCamera: z.ZodBoolean;
|
|
7813
|
+
font: z.ZodOptional<z.ZodString>;
|
|
7814
|
+
fontSize: z.ZodNumber;
|
|
7815
|
+
margin: z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
|
|
7816
|
+
outlineColor: z.ZodString;
|
|
7817
|
+
outlineOpacity: z.ZodNumber;
|
|
7818
|
+
outlineBlur: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
7819
|
+
outlineWidth: z.ZodNumber;
|
|
7820
|
+
outlineOffsetX: z.ZodNumber;
|
|
7821
|
+
outlineOffsetY: z.ZodNumber;
|
|
7822
|
+
strokeWidth: z.ZodNumber;
|
|
7823
|
+
maxWidth: z.ZodOptional<z.ZodNumber>;
|
|
7824
|
+
maxHeight: z.ZodOptional<z.ZodNumber>;
|
|
7825
|
+
strokeOpacity: z.ZodNumber;
|
|
7826
|
+
strokeColor: z.ZodString;
|
|
7827
|
+
fillOpacity: z.ZodNumber;
|
|
7828
|
+
hoverColor: z.ZodOptional<z.ZodString>;
|
|
7829
|
+
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
7830
|
+
type: z.ZodLiteral<"text3d">;
|
|
7831
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
7832
|
+
content: z.ZodString;
|
|
7833
|
+
}, "strip", z.ZodTypeAny, {
|
|
7834
|
+
type: "text3d";
|
|
7835
|
+
id: string | number;
|
|
7836
|
+
color: string;
|
|
7837
|
+
position: [number, number, number];
|
|
7838
|
+
visible: boolean;
|
|
7839
|
+
flipToFaceCamera: boolean;
|
|
7840
|
+
fontSize: number;
|
|
7841
|
+
margin: number | [number, number, number, number];
|
|
7842
|
+
outlineColor: string;
|
|
7843
|
+
outlineOpacity: number;
|
|
7844
|
+
outlineBlur: string | number;
|
|
7845
|
+
outlineWidth: number;
|
|
7846
|
+
outlineOffsetX: number;
|
|
7847
|
+
outlineOffsetY: number;
|
|
7848
|
+
strokeWidth: number;
|
|
7849
|
+
strokeOpacity: number;
|
|
7850
|
+
strokeColor: string;
|
|
7851
|
+
fillOpacity: number;
|
|
7852
|
+
content: string;
|
|
7853
|
+
maxWidth?: number | undefined;
|
|
7854
|
+
font?: string | undefined;
|
|
7855
|
+
maxHeight?: number | undefined;
|
|
7856
|
+
hoverColor?: string | undefined;
|
|
7857
|
+
}, {
|
|
7858
|
+
type: "text3d";
|
|
7859
|
+
id: string | number;
|
|
7860
|
+
color: string;
|
|
7861
|
+
position: [number, number, number];
|
|
7862
|
+
visible: boolean;
|
|
7863
|
+
flipToFaceCamera: boolean;
|
|
7864
|
+
fontSize: number;
|
|
7865
|
+
margin: number | [number, number, number, number];
|
|
7866
|
+
outlineColor: string;
|
|
7867
|
+
outlineOpacity: number;
|
|
7868
|
+
outlineBlur: string | number;
|
|
7869
|
+
outlineWidth: number;
|
|
7870
|
+
outlineOffsetX: number;
|
|
7871
|
+
outlineOffsetY: number;
|
|
7872
|
+
strokeWidth: number;
|
|
7873
|
+
strokeOpacity: number;
|
|
7874
|
+
strokeColor: string;
|
|
7875
|
+
fillOpacity: number;
|
|
7876
|
+
content: string;
|
|
7877
|
+
maxWidth?: number | undefined;
|
|
7878
|
+
font?: string | undefined;
|
|
7879
|
+
maxHeight?: number | undefined;
|
|
7880
|
+
hoverColor?: string | undefined;
|
|
7881
|
+
}>;
|
|
7882
|
+
/**
|
|
7883
|
+
* @interface
|
|
7884
|
+
*/
|
|
7885
|
+
export type InitializeText3DState = Partial<Omit<Text3DState, 'id' | 'type'>>;
|
|
7886
|
+
export const initializeText3DStateSchema: z.ZodObject<Omit<{
|
|
7887
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
7888
|
+
color: z.ZodOptional<z.ZodString>;
|
|
7889
|
+
flipToFaceCamera: z.ZodOptional<z.ZodBoolean>;
|
|
7890
|
+
font: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
7891
|
+
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
7892
|
+
margin: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
7893
|
+
outlineColor: z.ZodOptional<z.ZodString>;
|
|
7894
|
+
outlineOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7895
|
+
outlineBlur: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
7896
|
+
outlineWidth: z.ZodOptional<z.ZodNumber>;
|
|
7897
|
+
outlineOffsetX: z.ZodOptional<z.ZodNumber>;
|
|
7898
|
+
outlineOffsetY: z.ZodOptional<z.ZodNumber>;
|
|
7899
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
7900
|
+
maxWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
7901
|
+
maxHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
7902
|
+
strokeOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7903
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
7904
|
+
fillOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7905
|
+
hoverColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
7906
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
7907
|
+
type: z.ZodOptional<z.ZodLiteral<"text3d">>;
|
|
7908
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
7909
|
+
content: z.ZodOptional<z.ZodString>;
|
|
7910
|
+
}, "type" | "id">, "strict", z.ZodTypeAny, {
|
|
7911
|
+
maxWidth?: number | undefined;
|
|
7912
|
+
color?: string | undefined;
|
|
7913
|
+
position?: [number, number, number] | undefined;
|
|
7914
|
+
visible?: boolean | undefined;
|
|
7915
|
+
flipToFaceCamera?: boolean | undefined;
|
|
7916
|
+
font?: string | undefined;
|
|
7917
|
+
fontSize?: number | undefined;
|
|
7918
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
7919
|
+
outlineColor?: string | undefined;
|
|
7920
|
+
outlineOpacity?: number | undefined;
|
|
7921
|
+
outlineBlur?: string | number | undefined;
|
|
7922
|
+
outlineWidth?: number | undefined;
|
|
7923
|
+
outlineOffsetX?: number | undefined;
|
|
7924
|
+
outlineOffsetY?: number | undefined;
|
|
7925
|
+
strokeWidth?: number | undefined;
|
|
7926
|
+
maxHeight?: number | undefined;
|
|
7927
|
+
strokeOpacity?: number | undefined;
|
|
7928
|
+
strokeColor?: string | undefined;
|
|
7929
|
+
fillOpacity?: number | undefined;
|
|
7930
|
+
hoverColor?: string | undefined;
|
|
7931
|
+
content?: string | undefined;
|
|
7932
|
+
}, {
|
|
7933
|
+
maxWidth?: number | undefined;
|
|
7934
|
+
color?: string | undefined;
|
|
7935
|
+
position?: [number, number, number] | undefined;
|
|
7936
|
+
visible?: boolean | undefined;
|
|
7937
|
+
flipToFaceCamera?: boolean | undefined;
|
|
7938
|
+
font?: string | undefined;
|
|
7939
|
+
fontSize?: number | undefined;
|
|
7940
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
7941
|
+
outlineColor?: string | undefined;
|
|
7942
|
+
outlineOpacity?: number | undefined;
|
|
7943
|
+
outlineBlur?: string | number | undefined;
|
|
7944
|
+
outlineWidth?: number | undefined;
|
|
7945
|
+
outlineOffsetX?: number | undefined;
|
|
7946
|
+
outlineOffsetY?: number | undefined;
|
|
7947
|
+
strokeWidth?: number | undefined;
|
|
7948
|
+
maxHeight?: number | undefined;
|
|
7949
|
+
strokeOpacity?: number | undefined;
|
|
7950
|
+
strokeColor?: string | undefined;
|
|
7951
|
+
fillOpacity?: number | undefined;
|
|
7952
|
+
hoverColor?: string | undefined;
|
|
7953
|
+
content?: string | undefined;
|
|
7954
|
+
}>;
|
|
7955
|
+
/**
|
|
7956
|
+
* At this moment updating text margin is not supported
|
|
7957
|
+
* Margin and content update are not handled at the moment.
|
|
7958
|
+
* @interface
|
|
7959
|
+
*/
|
|
7960
|
+
export type UpdatableText3DState = Omit<InitializeText3DState, 'margin' | 'position' | 'content'>;
|
|
7961
|
+
export const updateText3DStateSchema: z.ZodObject<Omit<Omit<{
|
|
7962
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
7963
|
+
color: z.ZodOptional<z.ZodString>;
|
|
7964
|
+
flipToFaceCamera: z.ZodOptional<z.ZodBoolean>;
|
|
7965
|
+
font: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
7966
|
+
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
7967
|
+
margin: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
7968
|
+
outlineColor: z.ZodOptional<z.ZodString>;
|
|
7969
|
+
outlineOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7970
|
+
outlineBlur: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
7971
|
+
outlineWidth: z.ZodOptional<z.ZodNumber>;
|
|
7972
|
+
outlineOffsetX: z.ZodOptional<z.ZodNumber>;
|
|
7973
|
+
outlineOffsetY: z.ZodOptional<z.ZodNumber>;
|
|
7974
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
7975
|
+
maxWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
7976
|
+
maxHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
7977
|
+
strokeOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7978
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
7979
|
+
fillOpacity: z.ZodOptional<z.ZodNumber>;
|
|
7980
|
+
hoverColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
7981
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
7982
|
+
type: z.ZodOptional<z.ZodLiteral<"text3d">>;
|
|
7983
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
7984
|
+
content: z.ZodOptional<z.ZodString>;
|
|
7985
|
+
}, "type" | "id">, "maxWidth" | "position" | "margin" | "maxHeight" | "content">, "strict", z.ZodTypeAny, {
|
|
7986
|
+
color?: string | undefined;
|
|
7987
|
+
visible?: boolean | undefined;
|
|
7988
|
+
flipToFaceCamera?: boolean | undefined;
|
|
7989
|
+
font?: string | undefined;
|
|
7990
|
+
fontSize?: number | undefined;
|
|
7991
|
+
outlineColor?: string | undefined;
|
|
7992
|
+
outlineOpacity?: number | undefined;
|
|
7993
|
+
outlineBlur?: string | number | undefined;
|
|
7994
|
+
outlineWidth?: number | undefined;
|
|
7995
|
+
outlineOffsetX?: number | undefined;
|
|
7996
|
+
outlineOffsetY?: number | undefined;
|
|
7997
|
+
strokeWidth?: number | undefined;
|
|
7998
|
+
strokeOpacity?: number | undefined;
|
|
7999
|
+
strokeColor?: string | undefined;
|
|
8000
|
+
fillOpacity?: number | undefined;
|
|
8001
|
+
hoverColor?: string | undefined;
|
|
8002
|
+
}, {
|
|
8003
|
+
color?: string | undefined;
|
|
8004
|
+
visible?: boolean | undefined;
|
|
8005
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8006
|
+
font?: string | undefined;
|
|
8007
|
+
fontSize?: number | undefined;
|
|
8008
|
+
outlineColor?: string | undefined;
|
|
8009
|
+
outlineOpacity?: number | undefined;
|
|
8010
|
+
outlineBlur?: string | number | undefined;
|
|
8011
|
+
outlineWidth?: number | undefined;
|
|
8012
|
+
outlineOffsetX?: number | undefined;
|
|
8013
|
+
outlineOffsetY?: number | undefined;
|
|
8014
|
+
strokeWidth?: number | undefined;
|
|
8015
|
+
strokeOpacity?: number | undefined;
|
|
8016
|
+
strokeColor?: string | undefined;
|
|
8017
|
+
fillOpacity?: number | undefined;
|
|
8018
|
+
hoverColor?: string | undefined;
|
|
8019
|
+
}>;
|
|
8020
|
+
export type Text3DProperties = {
|
|
8021
|
+
id: string;
|
|
8022
|
+
content: string;
|
|
8023
|
+
textArea?: MeshComponentProperties['textArea'];
|
|
8024
|
+
};
|
|
8025
|
+
export type AddText3DOptions = {
|
|
8026
|
+
appearance?: Partial<InitializeText3DState>;
|
|
8027
|
+
};
|
|
8028
|
+
export const addText3DOptionsSchema: z.ZodObject<{
|
|
8029
|
+
appearance: z.ZodOptional<z.ZodObject<Omit<{
|
|
8030
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
8031
|
+
color: z.ZodOptional<z.ZodString>;
|
|
8032
|
+
flipToFaceCamera: z.ZodOptional<z.ZodBoolean>;
|
|
8033
|
+
font: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8034
|
+
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
8035
|
+
margin: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
8036
|
+
outlineColor: z.ZodOptional<z.ZodString>;
|
|
8037
|
+
outlineOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8038
|
+
outlineBlur: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
8039
|
+
outlineWidth: z.ZodOptional<z.ZodNumber>;
|
|
8040
|
+
outlineOffsetX: z.ZodOptional<z.ZodNumber>;
|
|
8041
|
+
outlineOffsetY: z.ZodOptional<z.ZodNumber>;
|
|
8042
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
8043
|
+
maxWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8044
|
+
maxHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8045
|
+
strokeOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8046
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
8047
|
+
fillOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8048
|
+
hoverColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8049
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
8050
|
+
type: z.ZodOptional<z.ZodLiteral<"text3d">>;
|
|
8051
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
8052
|
+
content: z.ZodOptional<z.ZodString>;
|
|
8053
|
+
}, "type" | "id">, "strict", z.ZodTypeAny, {
|
|
8054
|
+
maxWidth?: number | undefined;
|
|
8055
|
+
color?: string | undefined;
|
|
8056
|
+
position?: [number, number, number] | undefined;
|
|
8057
|
+
visible?: boolean | undefined;
|
|
8058
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8059
|
+
font?: string | undefined;
|
|
8060
|
+
fontSize?: number | undefined;
|
|
8061
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8062
|
+
outlineColor?: string | undefined;
|
|
8063
|
+
outlineOpacity?: number | undefined;
|
|
8064
|
+
outlineBlur?: string | number | undefined;
|
|
8065
|
+
outlineWidth?: number | undefined;
|
|
8066
|
+
outlineOffsetX?: number | undefined;
|
|
8067
|
+
outlineOffsetY?: number | undefined;
|
|
8068
|
+
strokeWidth?: number | undefined;
|
|
8069
|
+
maxHeight?: number | undefined;
|
|
8070
|
+
strokeOpacity?: number | undefined;
|
|
8071
|
+
strokeColor?: string | undefined;
|
|
8072
|
+
fillOpacity?: number | undefined;
|
|
8073
|
+
hoverColor?: string | undefined;
|
|
8074
|
+
content?: string | undefined;
|
|
8075
|
+
}, {
|
|
8076
|
+
maxWidth?: number | undefined;
|
|
8077
|
+
color?: string | undefined;
|
|
8078
|
+
position?: [number, number, number] | undefined;
|
|
8079
|
+
visible?: boolean | undefined;
|
|
8080
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8081
|
+
font?: string | undefined;
|
|
8082
|
+
fontSize?: number | undefined;
|
|
8083
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8084
|
+
outlineColor?: string | undefined;
|
|
8085
|
+
outlineOpacity?: number | undefined;
|
|
8086
|
+
outlineBlur?: string | number | undefined;
|
|
8087
|
+
outlineWidth?: number | undefined;
|
|
8088
|
+
outlineOffsetX?: number | undefined;
|
|
8089
|
+
outlineOffsetY?: number | undefined;
|
|
8090
|
+
strokeWidth?: number | undefined;
|
|
8091
|
+
maxHeight?: number | undefined;
|
|
8092
|
+
strokeOpacity?: number | undefined;
|
|
8093
|
+
strokeColor?: string | undefined;
|
|
8094
|
+
fillOpacity?: number | undefined;
|
|
8095
|
+
hoverColor?: string | undefined;
|
|
8096
|
+
content?: string | undefined;
|
|
8097
|
+
}>>;
|
|
8098
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
8099
|
+
}, "strict", z.ZodTypeAny, {
|
|
8100
|
+
parentId?: string | undefined;
|
|
8101
|
+
appearance?: {
|
|
8102
|
+
maxWidth?: number | undefined;
|
|
8103
|
+
color?: string | undefined;
|
|
8104
|
+
position?: [number, number, number] | undefined;
|
|
8105
|
+
visible?: boolean | undefined;
|
|
8106
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8107
|
+
font?: string | undefined;
|
|
8108
|
+
fontSize?: number | undefined;
|
|
8109
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8110
|
+
outlineColor?: string | undefined;
|
|
8111
|
+
outlineOpacity?: number | undefined;
|
|
8112
|
+
outlineBlur?: string | number | undefined;
|
|
8113
|
+
outlineWidth?: number | undefined;
|
|
8114
|
+
outlineOffsetX?: number | undefined;
|
|
8115
|
+
outlineOffsetY?: number | undefined;
|
|
8116
|
+
strokeWidth?: number | undefined;
|
|
8117
|
+
maxHeight?: number | undefined;
|
|
8118
|
+
strokeOpacity?: number | undefined;
|
|
8119
|
+
strokeColor?: string | undefined;
|
|
8120
|
+
fillOpacity?: number | undefined;
|
|
8121
|
+
hoverColor?: string | undefined;
|
|
8122
|
+
content?: string | undefined;
|
|
8123
|
+
} | undefined;
|
|
8124
|
+
}, {
|
|
8125
|
+
parentId?: string | undefined;
|
|
8126
|
+
appearance?: {
|
|
8127
|
+
maxWidth?: number | undefined;
|
|
8128
|
+
color?: string | undefined;
|
|
8129
|
+
position?: [number, number, number] | undefined;
|
|
8130
|
+
visible?: boolean | undefined;
|
|
8131
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8132
|
+
font?: string | undefined;
|
|
8133
|
+
fontSize?: number | undefined;
|
|
8134
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8135
|
+
outlineColor?: string | undefined;
|
|
8136
|
+
outlineOpacity?: number | undefined;
|
|
8137
|
+
outlineBlur?: string | number | undefined;
|
|
8138
|
+
outlineWidth?: number | undefined;
|
|
8139
|
+
outlineOffsetX?: number | undefined;
|
|
8140
|
+
outlineOffsetY?: number | undefined;
|
|
8141
|
+
strokeWidth?: number | undefined;
|
|
8142
|
+
maxHeight?: number | undefined;
|
|
8143
|
+
strokeOpacity?: number | undefined;
|
|
8144
|
+
strokeColor?: string | undefined;
|
|
8145
|
+
fillOpacity?: number | undefined;
|
|
8146
|
+
hoverColor?: string | undefined;
|
|
8147
|
+
content?: string | undefined;
|
|
8148
|
+
} | undefined;
|
|
8149
|
+
}>;
|
|
8150
|
+
export class Text3DComponent {
|
|
8151
|
+
mesh: Geometry3DObject3D;
|
|
8152
|
+
textMesh?: Text;
|
|
8153
|
+
readonly type = "text3d";
|
|
8154
|
+
feature: Feature<Point, Text3DProperties>;
|
|
8155
|
+
constructor(feature: Feature<Point, Text3DProperties>);
|
|
8156
|
+
get visible(): boolean;
|
|
8157
|
+
set visible(visible: boolean);
|
|
8158
|
+
parent?: GroupContainerObject3D;
|
|
8159
|
+
batchedText?: BatchedText;
|
|
8160
|
+
/**
|
|
8161
|
+
* if this Text3DComponent is a polygon label, populate this id with the polygon entity id
|
|
8162
|
+
* This id is used to prevent drawing text for the same polygon.
|
|
8163
|
+
*/
|
|
8164
|
+
polygonEntityId?: string;
|
|
8165
|
+
}
|
|
8166
|
+
}
|
|
8167
|
+
|
|
8168
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
|
|
8169
|
+
import type { CollisionRankingTier, GeometryState, LabelState, RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
8170
|
+
import { type MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
8171
|
+
import type { PathUpdateState } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
8172
|
+
import type { EntityTypes, All3DTypes, Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
8173
|
+
import type { KeysOfUnion } from '@mappedin/mappedin-js/geojson/src/utils';
|
|
8174
|
+
import { GeometryGroupObject3D, type GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
8175
|
+
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
8176
|
+
import type { Geometry3DTypes, TextGeometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
8177
|
+
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
8178
|
+
import { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
8179
|
+
import type { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/styles/style';
|
|
8180
|
+
import type { GeometryGroupStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/geometry-group-style';
|
|
8181
|
+
import { type Text3DState, type UpdatableText3DState } from '@mappedin/mappedin-js/geojson/src/components/text3d';
|
|
8182
|
+
export function updateInteractivity(entity: All3DTypes | Geometry2D, update: boolean | undefined, state: RendererState): boolean;
|
|
8183
|
+
export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update: Partial<Pick<GeometryGroupState, 'color' | 'topColor'>>): boolean | undefined;
|
|
8184
|
+
export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
|
|
8185
|
+
export function updateImageProps(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
8186
|
+
export function updateHeight(entity: Geometry3D | GeometryGroupObject3D, state: RendererState, update?: number): boolean;
|
|
8187
|
+
export function updateColor(entity: Geometry3DTypes | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
8188
|
+
export function updatePosition(entity: EntityTypes, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
|
|
8189
|
+
export function updateParent(entity: EntityTypes, update: GroupContainerObject3D | undefined): boolean;
|
|
8190
|
+
export function updateEnabled(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: boolean | undefined): void;
|
|
8191
|
+
export function updateMarker(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<MarkerState> | undefined, state: RendererState): boolean;
|
|
8192
|
+
export function updateRank(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: CollisionRankingTier | undefined): boolean;
|
|
8193
|
+
export function updateLabel(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<LabelState> | undefined, state: RendererState): void;
|
|
8194
|
+
export function updateHoverColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: string): void;
|
|
8195
|
+
/** Sets a geometry to be in hovered state, until manually unset or the user interacts with it. */
|
|
8196
|
+
export function updateHovered(entity: Geometry3D, update?: boolean): boolean;
|
|
8197
|
+
export function updateFlipImageToFaceCamera(entity: EntityTypes, update?: boolean): void;
|
|
8198
|
+
export function updateVisibility(entity: EntityTypes, update?: boolean): boolean;
|
|
8199
|
+
export function updateOpacity(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, state: RendererState, update?: number): boolean;
|
|
8200
|
+
export function updateGroupTexture(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Pick<GeometryGroupStyleComponent, 'texture' | 'topTexture'>): void;
|
|
8201
|
+
export function updateIndividualGeometryTexture(entity: Geometry3D, update?: Pick<StyleComponent, 'texture' | 'topTexture'>): boolean;
|
|
8202
|
+
export function updateIndividualGeometryOpacity(entity: Geometry3D, update?: number): boolean;
|
|
8203
|
+
export function updateAltitude(entity: EntityTypes, update?: number): boolean;
|
|
8204
|
+
export function updateOutline(entity: All3DTypes, update?: boolean): boolean;
|
|
8205
|
+
export function updateFocusable(entity: Geometry3D, update?: boolean): boolean;
|
|
8206
|
+
export function updateIndividualGeometryRenderOrder(entity: Geometry3D, update?: number): boolean;
|
|
8207
|
+
export function handlePathUpdate(geometry: Geometry3DTypes, update: PathUpdateState): void;
|
|
8208
|
+
export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
|
|
8209
|
+
export function assetGeometryIsText3D(geometry: Geometry3DTypes): asserts geometry is TextGeometry3D;
|
|
8210
|
+
/**
|
|
8211
|
+
* @internal
|
|
8212
|
+
*/
|
|
8213
|
+
export const TEXT3D_STYLE_UPDATE_PROPS: KeysOfUnion<UpdatableText3DState>[];
|
|
8214
|
+
/**
|
|
8215
|
+
* Handle state update of the text3d geometry.
|
|
8216
|
+
*/
|
|
8217
|
+
export function handleText3DUpdate(geometry: TextGeometry3D, update: Partial<Text3DState>): void;
|
|
8218
|
+
}
|
|
8219
|
+
|
|
7602
8220
|
declare module '@mappedin/mappedin-js/packages/geojson-navigator' {
|
|
7603
8221
|
export * from '@mappedin/mappedin-js/packages/geojson-navigator/src';
|
|
7604
8222
|
}
|
|
7605
8223
|
|
|
7606
8224
|
declare module '@mappedin/mappedin-js/geojson/src/utils' {
|
|
7607
|
-
import type { Box3, Camera as THREECamera } from 'three';
|
|
8225
|
+
import type { Box3, Object3D, Camera as THREECamera } from 'three';
|
|
7608
8226
|
import { Box2 } from 'three';
|
|
7609
8227
|
import { MercatorCoordinate } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
|
|
7610
8228
|
import type { CustomLayerInterface } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
|
|
7611
8229
|
import type { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
7612
8230
|
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
7613
8231
|
import type { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
7614
|
-
import type {
|
|
8232
|
+
import type { Geometry3DTypes } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
7615
8233
|
import type { Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
7616
8234
|
import type { Camera } from '@mappedin/mappedin-js/geojson/src/camera';
|
|
7617
8235
|
export function cartesianToGeographic(centerLat: number, centerLon: number, x: number, y: number): {
|
|
@@ -7622,7 +8240,7 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
|
|
|
7622
8240
|
x: number;
|
|
7623
8241
|
y: number;
|
|
7624
8242
|
};
|
|
7625
|
-
export const populateGeometry3DIdsInScene: (tree:
|
|
8243
|
+
export const populateGeometry3DIdsInScene: (tree: GroupContainerObject3D["children"][0] | Object3D, entities: RendererState["geometry3DIdsInScene"]) => Set<string | number>;
|
|
7626
8244
|
export const populateGeometry2DIdsInScene: (tree: any, entities: Set<Geometry2D["id"]>) => Set<string | number>;
|
|
7627
8245
|
export function convertMapLibreStylePaintProps(paint: any): {
|
|
7628
8246
|
color: any;
|
|
@@ -7678,7 +8296,7 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
|
|
|
7678
8296
|
* so OR = CO * tan(F/2)
|
|
7679
8297
|
*/
|
|
7680
8298
|
export function getProjectionScaleFactor(FOV: number, canvasHeight: number, zoom: number): number;
|
|
7681
|
-
export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>):
|
|
8299
|
+
export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>): Geometry3DTypes | GeometryGroupObject3D | GroupContainerObject3D | Geometry2D | undefined;
|
|
7682
8300
|
export function getBoundingBoxCenter(bbox: Position[]): [number, number];
|
|
7683
8301
|
export { getCornersOfBoundingBox } from '@mappedin/mappedin-js/geojson/src/utils/bounding-box';
|
|
7684
8302
|
export function isFiniteBox(box: Box2 | Box3): boolean;
|
|
@@ -7687,6 +8305,7 @@ declare module '@mappedin/mappedin-js/geojson/src/utils' {
|
|
|
7687
8305
|
export { shouldDisableOffscreenCanvas } from '@mappedin/mappedin-js/geojson/src/utils/browser';
|
|
7688
8306
|
export { noop, pick, isEmpty, type KeysOfUnion } from '@mappedin/mappedin-js/geojson/src/utils/fp';
|
|
7689
8307
|
export { transformRequest } from '@mappedin/mappedin-js/geojson/src/utils/tranform-request';
|
|
8308
|
+
export { normalizeAngle } from '@mappedin/mappedin-js/geojson/src/utils/math';
|
|
7690
8309
|
}
|
|
7691
8310
|
|
|
7692
8311
|
declare module '@mappedin/mappedin-js/geojson/src/utils/constants' {
|
|
@@ -7697,56 +8316,26 @@ declare module '@mappedin/mappedin-js/geojson/src/utils/constants' {
|
|
|
7697
8316
|
}
|
|
7698
8317
|
}
|
|
7699
8318
|
|
|
7700
|
-
declare module '@mappedin/mappedin-js/geojson/src/
|
|
7701
|
-
import type
|
|
7702
|
-
|
|
7703
|
-
|
|
7704
|
-
export type TRendererOptions = {
|
|
7705
|
-
alpha: boolean;
|
|
7706
|
-
onWebGLRendererError: (e: Error) => void;
|
|
7707
|
-
xRayPath: boolean;
|
|
8319
|
+
declare module '@mappedin/mappedin-js/geojson/src/utils/debug' {
|
|
8320
|
+
import type Core from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
8321
|
+
const DEFAULT_DEBUG_STATE: {
|
|
8322
|
+
showPolygonLabelTextAreaMesh: boolean;
|
|
7708
8323
|
};
|
|
7709
|
-
export
|
|
7710
|
-
|
|
7711
|
-
|
|
7712
|
-
|
|
7713
|
-
|
|
7714
|
-
|
|
7715
|
-
|
|
7716
|
-
|
|
7717
|
-
/**
|
|
7718
|
-
* Dispose of the renderer and its buffers.
|
|
7719
|
-
*/
|
|
7720
|
-
destroy(): void;
|
|
7721
|
-
/**
|
|
7722
|
-
* Re-render the scene, depending on which parts of the scene have been
|
|
7723
|
-
* invalidated.
|
|
7724
|
-
*
|
|
7725
|
-
* @method render
|
|
7726
|
-
* @param renderTarget {null or WebGLRenderTarget}
|
|
7727
|
-
* @param scene {Scene}
|
|
7728
|
-
* @param sceneCamera {Camera}
|
|
7729
|
-
*/
|
|
7730
|
-
render(scene: Scene, sceneCamera: Camera): void;
|
|
7731
|
-
clear(): void;
|
|
7732
|
-
/**
|
|
7733
|
-
* Set the size of the renderer, composer, and all its internal buffers.
|
|
7734
|
-
*
|
|
7735
|
-
* @method setBufferSize
|
|
7736
|
-
* @param width {number}
|
|
7737
|
-
* @param height {number}
|
|
7738
|
-
*/
|
|
7739
|
-
setBufferSize(width: number, height: number): void;
|
|
7740
|
-
/**
|
|
7741
|
-
* Set the color and opacity that will be drawn behind the scene.
|
|
7742
|
-
*
|
|
7743
|
-
* @method setBackgroundColor
|
|
7744
|
-
* @param color {Color}
|
|
7745
|
-
* @param alpha {number}
|
|
7746
|
-
*/
|
|
7747
|
-
setBackgroundColor(color: any, alpha: any): void;
|
|
7748
|
-
domElement(): HTMLCanvasElement | undefined;
|
|
8324
|
+
export type DebugState = typeof DEFAULT_DEBUG_STATE;
|
|
8325
|
+
export class Debug {
|
|
8326
|
+
state: {
|
|
8327
|
+
showPolygonLabelTextAreaMesh: boolean;
|
|
8328
|
+
};
|
|
8329
|
+
core: Core;
|
|
8330
|
+
constructor(core: Core);
|
|
8331
|
+
update(updateState: Partial<DebugState>): void;
|
|
7749
8332
|
}
|
|
8333
|
+
export {};
|
|
8334
|
+
}
|
|
8335
|
+
|
|
8336
|
+
declare module '@mappedin/mappedin-js/geojson/src/services/test-mode' {
|
|
8337
|
+
export function enableTestMode(): void;
|
|
8338
|
+
export function isTestMode(): boolean;
|
|
7750
8339
|
}
|
|
7751
8340
|
|
|
7752
8341
|
declare module '@mappedin/mappedin-js/geojson/src/systems/watermark/system' {
|
|
@@ -7834,6 +8423,36 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/watermark/system' {
|
|
|
7834
8423
|
}
|
|
7835
8424
|
}
|
|
7836
8425
|
|
|
8426
|
+
declare module '@mappedin/mappedin-js/geojson/src/systems/text3d/system' {
|
|
8427
|
+
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
8428
|
+
import type { RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
8429
|
+
import { PubSub } from '@packages/internal/common';
|
|
8430
|
+
import type { BatchedText } from '@mappedin/mappedin-js/geojson/src/services/text3d/text3d';
|
|
8431
|
+
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
8432
|
+
import type { Text } from 'troika-three-text';
|
|
8433
|
+
export class Text3DSystem extends PubSub<{
|
|
8434
|
+
render: undefined;
|
|
8435
|
+
}> {
|
|
8436
|
+
textSet: Set<string>;
|
|
8437
|
+
batchedTextMap: Map<GroupContainerObject3D, Promise<BatchedText>>;
|
|
8438
|
+
remove(id: string): void;
|
|
8439
|
+
constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']);
|
|
8440
|
+
update(cameraRotationRadians: number): Promise<void[]>;
|
|
8441
|
+
showTextAreaMesh(): void;
|
|
8442
|
+
hideTextAreaMesh(): void;
|
|
8443
|
+
}
|
|
8444
|
+
/**
|
|
8445
|
+
* Preload fonts and optionally pre-generate the SDF textures for particular glyphs up front.
|
|
8446
|
+
* This is to avoid ondemand font generation can take long.
|
|
8447
|
+
* @param fontUrl - url of the font file served.
|
|
8448
|
+
* @returns A promise that resolves when the font is loaded
|
|
8449
|
+
*
|
|
8450
|
+
*/
|
|
8451
|
+
export function preloadFont(fontUrl?: string): Promise<string>;
|
|
8452
|
+
export function doesBatchedTextContainsText(batchedText: BatchedText, text: Text): boolean;
|
|
8453
|
+
export const DEFAULT_VERTICAL_OFFSET = 0.5;
|
|
8454
|
+
}
|
|
8455
|
+
|
|
7837
8456
|
declare module '@mappedin/mappedin-js/geojson/src/systems/exporter' {
|
|
7838
8457
|
export { ExporterSystem, type GLTFExportOptions } from '@mappedin/mappedin-js/geojson/src/systems/exporter/exporter';
|
|
7839
8458
|
}
|
|
@@ -7873,15 +8492,21 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/html-controls/system'
|
|
|
7873
8492
|
}
|
|
7874
8493
|
}
|
|
7875
8494
|
|
|
8495
|
+
declare module '@mappedin/mappedin-js/geojson/src/components/styles' {
|
|
8496
|
+
export { StyleComponent, DEFAULT_COLOR, type MaterialSide } from '@mappedin/mappedin-js/geojson/src/components/styles/style';
|
|
8497
|
+
export { Text3DStyleComponent, type Text3DStyle, DEFAULT_TEXT_STYLE } from '@mappedin/mappedin-js/geojson/src/components/styles/text-style';
|
|
8498
|
+
}
|
|
8499
|
+
|
|
7876
8500
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
7877
8501
|
import type { Position, RendererCore, WatermarkOptions } from '@mappedin/core-sdk';
|
|
7878
8502
|
import { type TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
7879
8503
|
import { WALLS, DOORS } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
7880
8504
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
7881
8505
|
import type { FloorStack, MapDataInternal } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7882
|
-
import { Coordinate, MapObject, Space, Floor, Door } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8506
|
+
import { Facade, Coordinate, MapObject, Space, Floor, Door } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7883
8507
|
import type { MapView } from '@mappedin/mappedin-js/mappedin-js/src/map-view';
|
|
7884
|
-
import { Label, Marker,
|
|
8508
|
+
import { Label, Marker, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
8509
|
+
import { Text3D as Text3DView, type Image } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
7885
8510
|
import { Navigation } from '@mappedin/mappedin-js/mappedin-js/src/navigation';
|
|
7886
8511
|
import type { TGetState, TUpdateState } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
7887
8512
|
import { Camera } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera';
|
|
@@ -7897,6 +8522,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
7897
8522
|
import { Shapes } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/shapes';
|
|
7898
8523
|
import { Style } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/style';
|
|
7899
8524
|
import Outdoor from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/outdoor';
|
|
8525
|
+
import { Text3D } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/text3d';
|
|
7900
8526
|
export class GeoJsonApi {
|
|
7901
8527
|
core: RendererCore;
|
|
7902
8528
|
mapObjects: GeojsonApiMapObject[];
|
|
@@ -7910,6 +8536,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
7910
8536
|
mapView: MapView;
|
|
7911
8537
|
Camera: Camera;
|
|
7912
8538
|
Labels: Labels;
|
|
8539
|
+
Text3D: Text3D;
|
|
7913
8540
|
Markers: Markers;
|
|
7914
8541
|
Models: Models;
|
|
7915
8542
|
Paths: Paths;
|
|
@@ -7920,9 +8547,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
7920
8547
|
Shapes: Shapes;
|
|
7921
8548
|
Style: Style;
|
|
7922
8549
|
Images: Images;
|
|
8550
|
+
get DynamicFocus(): import("./dynamic-focus").DynamicFocus;
|
|
7923
8551
|
get StackedMaps(): import("..").StackedMaps;
|
|
7924
8552
|
constructor(rendererCore: RendererCore, mapView: MapView);
|
|
7925
|
-
updateState<T extends Space | MapObject | Label | Shape | Marker | Door | WALLS | DOORS | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
|
|
8553
|
+
updateState<T extends Space | Text3DView | MapObject | Label | Shape | Marker | Door | Facade | WALLS | DOORS | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
|
|
7926
8554
|
update: () => void;
|
|
7927
8555
|
getMapDataInternal(): MapDataInternal | undefined;
|
|
7928
8556
|
getMapData(): MapData | undefined;
|
|
@@ -7932,7 +8560,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api' {
|
|
|
7932
8560
|
updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
|
|
7933
8561
|
get currentFloorStack(): FloorStack;
|
|
7934
8562
|
get currentFloor(): Floor;
|
|
7935
|
-
getState<T extends Space | MapObject | Label | Marker |
|
|
8563
|
+
getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | string>(target: T): TGetState<T>;
|
|
7936
8564
|
setHoverColor(c: string): void;
|
|
7937
8565
|
getHoverColor(): string | undefined;
|
|
7938
8566
|
createCoordinate(latitude: number, longitude: number, floor?: Floor): Coordinate;
|
|
@@ -7955,15 +8583,17 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
7955
8583
|
import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId } from '@mappedin/core-sdk';
|
|
7956
8584
|
import { FloorObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object';
|
|
7957
8585
|
import type { Coordinate, Directions, Floor, TAddMarkerOptions, TAddPathOptions, TShow3DMapOptions } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
7958
|
-
import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddModel, TAddImageOptions, TDirectionInstruction } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
8586
|
+
import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddModel, TAddImageOptions, TDirectionInstruction, TAddText3DOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
7959
8587
|
import { type AggregatedStyleMap } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils';
|
|
7960
8588
|
import { StackedMaps } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
7961
8589
|
import type { TFloorChangeReason } from '@mappedin/mappedin-js/mappedin-js/src/events';
|
|
7962
8590
|
import type { Path, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
7963
|
-
import type {
|
|
8591
|
+
import type { Door, PointOfInterest, MapObject, Node, MapDataInternal, Space } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
7964
8592
|
import { type GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
|
|
7965
8593
|
import { FloorStackObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-stack-object';
|
|
8594
|
+
import { DynamicFocus } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/dynamic-focus';
|
|
7966
8595
|
export const FLOOR_HEIGHT = 5;
|
|
8596
|
+
import type { Text3DState } from '@mappedin/core-sdk/src/components/text3d';
|
|
7967
8597
|
export class GeojsonApiMapObject extends PubSub<{
|
|
7968
8598
|
'floor-change': {
|
|
7969
8599
|
reason?: TFloorChangeReason;
|
|
@@ -7987,12 +8617,14 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
7987
8617
|
floorsById: Map<string, FloorObject>;
|
|
7988
8618
|
currentFloorId: string;
|
|
7989
8619
|
currentFloorStackId: string;
|
|
8620
|
+
outdoorFloorStacks: Set<string>;
|
|
7990
8621
|
id: string;
|
|
7991
8622
|
renderer: RendererCore;
|
|
7992
8623
|
api: GeoJsonApi;
|
|
7993
8624
|
mvf: ParsedMVF;
|
|
7994
8625
|
styleMap: AggregatedStyleMap;
|
|
7995
8626
|
StackedMaps: StackedMaps;
|
|
8627
|
+
DynamicFocus: DynamicFocus;
|
|
7996
8628
|
get currentFloorStack(): FloorStackObject;
|
|
7997
8629
|
setFloorStack(floorStackId: string): void;
|
|
7998
8630
|
get currentFloor(): FloorObject;
|
|
@@ -8009,7 +8641,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
8009
8641
|
Images: {
|
|
8010
8642
|
add: (target: Position, url: string, opts: TAddImageOptions & {
|
|
8011
8643
|
floorId?: string;
|
|
8012
|
-
}) => EntityId<import("
|
|
8644
|
+
}) => EntityId<import("@mappedin/core-sdk/src/components/image").ImageState> | undefined;
|
|
8013
8645
|
remove: (id: string) => void;
|
|
8014
8646
|
removeAll: () => void;
|
|
8015
8647
|
};
|
|
@@ -8030,6 +8662,11 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
8030
8662
|
}) => string;
|
|
8031
8663
|
remove: (customGeometry: Shape) => string;
|
|
8032
8664
|
};
|
|
8665
|
+
Text3D: {
|
|
8666
|
+
label: (target: Space, content?: string, options?: TAddText3DOptions) => Text3DInfo | undefined;
|
|
8667
|
+
labelAll: (option?: TAddText3DOptions) => Text3DInfo[];
|
|
8668
|
+
remove: (id: string) => string | undefined;
|
|
8669
|
+
};
|
|
8033
8670
|
Labels: {
|
|
8034
8671
|
all: ({ onCreate, }: {
|
|
8035
8672
|
onCreate: (labelId: string | number, text: string, target: Space | Door | Coordinate | PointOfInterest | MapObject | Node) => void;
|
|
@@ -8051,6 +8688,10 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object' {
|
|
|
8051
8688
|
};
|
|
8052
8689
|
constructor(id: string, mapDataInternal: MapDataInternal | undefined, options: TShow3DMapOptions | undefined, api: GeoJsonApi);
|
|
8053
8690
|
}
|
|
8691
|
+
export type Text3DInfo = {
|
|
8692
|
+
target: Space;
|
|
8693
|
+
textInfo: EntityId<Text3DState>;
|
|
8694
|
+
};
|
|
8054
8695
|
}
|
|
8055
8696
|
|
|
8056
8697
|
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/label' {
|
|
@@ -8298,6 +8939,39 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/shape' {
|
|
|
8298
8939
|
}
|
|
8299
8940
|
}
|
|
8300
8941
|
|
|
8942
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/map-view-objects/text3d' {
|
|
8943
|
+
import type { Space, EnterpriseLocation } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
8944
|
+
/**
|
|
8945
|
+
* Class representing an Text3D on the {@link MapView}.
|
|
8946
|
+
*/
|
|
8947
|
+
export class Text3D {
|
|
8948
|
+
/**
|
|
8949
|
+
* The text3d's id
|
|
8950
|
+
*/
|
|
8951
|
+
readonly id: string;
|
|
8952
|
+
/**
|
|
8953
|
+
* @internal
|
|
8954
|
+
*/
|
|
8955
|
+
constructor(id: string, target: Space | EnterpriseLocation);
|
|
8956
|
+
/**
|
|
8957
|
+
* The text3d's target
|
|
8958
|
+
*/
|
|
8959
|
+
readonly target: Space | EnterpriseLocation;
|
|
8960
|
+
/**
|
|
8961
|
+
* @internal
|
|
8962
|
+
*/
|
|
8963
|
+
static readonly __type = "Text3D";
|
|
8964
|
+
readonly __type = "Text3D";
|
|
8965
|
+
/**
|
|
8966
|
+
* Checks if the provided instance is of type Text3D
|
|
8967
|
+
*
|
|
8968
|
+
* @param instance The instance to check.
|
|
8969
|
+
* @returns {boolean} True if the instance is a text3d, false otherwise.
|
|
8970
|
+
*/
|
|
8971
|
+
static is(instance: object): instance is Text3D;
|
|
8972
|
+
}
|
|
8973
|
+
}
|
|
8974
|
+
|
|
8301
8975
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/camera' {
|
|
8302
8976
|
import type { TCameraAnimationOptions, TCameraFocusOnTarget, TCameraTarget, TFocusOnOptions } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
8303
8977
|
import type { InsetPadding, RendererCore } from '@mappedin/core-sdk';
|
|
@@ -8618,7 +9292,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/markers' {
|
|
|
8618
9292
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/models' {
|
|
8619
9293
|
import type { TAddModelOptions, TAddModel } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
8620
9294
|
import { Model } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
8621
|
-
import type {
|
|
9295
|
+
import type { CurrentMapGetter } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/types';
|
|
8622
9296
|
/**
|
|
8623
9297
|
* Adding 3D models to a map can be a great way to represent landmarks to help users find key locations. They could also be used to show the location of assets or represent furniture to provide a rich indoor layout.
|
|
8624
9298
|
|
|
@@ -8637,7 +9311,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/models' {
|
|
|
8637
9311
|
/**
|
|
8638
9312
|
* @internal
|
|
8639
9313
|
*/
|
|
8640
|
-
get currentMap(): GeojsonApiMapObject | undefined;
|
|
9314
|
+
get currentMap(): import("./map-object").GeojsonApiMapObject | undefined;
|
|
8641
9315
|
/**
|
|
8642
9316
|
* @internal
|
|
8643
9317
|
*/
|
|
@@ -8679,8 +9353,6 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/models' {
|
|
|
8679
9353
|
*/
|
|
8680
9354
|
removeAll(): Model[];
|
|
8681
9355
|
}
|
|
8682
|
-
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
8683
|
-
export {};
|
|
8684
9356
|
}
|
|
8685
9357
|
|
|
8686
9358
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/paths' {
|
|
@@ -9169,7 +9841,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/images' {
|
|
|
9169
9841
|
|
|
9170
9842
|
declare module '@mappedin/mappedin-js/mappedin-js/src/search/internal' {
|
|
9171
9843
|
import type { SearchResult as MiniSearchResult, Suggestion, MatchInfo } from 'minisearch';
|
|
9172
|
-
import {
|
|
9844
|
+
import type { Places } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
9845
|
+
import { EnterpriseLocation, EnterpriseCategory } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
9173
9846
|
import type MapData from '@mappedin/mappedin-js/mappedin-js/src/map-data';
|
|
9174
9847
|
import { z } from 'zod';
|
|
9175
9848
|
export class InternalSearch {
|
|
@@ -9524,6 +10197,52 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/search/external' {
|
|
|
9524
10197
|
};
|
|
9525
10198
|
}
|
|
9526
10199
|
|
|
10200
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/query/external' {
|
|
10201
|
+
import type { Annotation, Coordinate, Door, MapDataInternal, Node, PointOfInterest } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
10202
|
+
/**
|
|
10203
|
+
* Query allows users to query for nodes, locations, categories, and other points of interest within the venue.
|
|
10204
|
+
*/
|
|
10205
|
+
export class Query {
|
|
10206
|
+
#private;
|
|
10207
|
+
/**
|
|
10208
|
+
* @internal
|
|
10209
|
+
*/
|
|
10210
|
+
constructor(mapDataInternal: MapDataInternal);
|
|
10211
|
+
/**
|
|
10212
|
+
* Find the nearest feature to the origin
|
|
10213
|
+
* @param origin - The origin object
|
|
10214
|
+
* @param options - The options for the query
|
|
10215
|
+
* @returns The nearest feature to the origin
|
|
10216
|
+
*/
|
|
10217
|
+
nearest(origin: Coordinate | PointOfInterest | Door | Annotation | Node, options: TFindNearestOptions): TFindNearestResult | undefined;
|
|
10218
|
+
}
|
|
10219
|
+
export type TFindNearestResult = {
|
|
10220
|
+
distance: number;
|
|
10221
|
+
feature: TQueriables;
|
|
10222
|
+
}[];
|
|
10223
|
+
export type TFindNearestOptions = {
|
|
10224
|
+
/**
|
|
10225
|
+
* Limit query to a set of floors. Only applies if the origin has floor information. If it doesn't, it limits the query to all floor-stacks' default floors.
|
|
10226
|
+
*
|
|
10227
|
+
* @default 'same-floor'
|
|
10228
|
+
*/
|
|
10229
|
+
limit?: 'same-floor'
|
|
10230
|
+
/**
|
|
10231
|
+
* Limit query to all floors at the same elevation as the origin
|
|
10232
|
+
*/
|
|
10233
|
+
| 'same-elevation';
|
|
10234
|
+
/**
|
|
10235
|
+
* The radius to search for features within
|
|
10236
|
+
*/
|
|
10237
|
+
radius?: number;
|
|
10238
|
+
/**
|
|
10239
|
+
* The types to query for
|
|
10240
|
+
*/
|
|
10241
|
+
types: [TQueriables['__type'], ...TQueriables['__type'][]];
|
|
10242
|
+
};
|
|
10243
|
+
export type TQueriables = PointOfInterest | Door | Annotation | Node;
|
|
10244
|
+
}
|
|
10245
|
+
|
|
9527
10246
|
declare module '@mappedin/mappedin-js/mappedin-js/src/analytics/customer' {
|
|
9528
10247
|
/**
|
|
9529
10248
|
* Valid track-analytics API contexts. These should match the expected values of that endpoint or the requests will fail.
|
|
@@ -9826,20 +10545,24 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
|
|
|
9826
10545
|
import type { MeshComponent } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
9827
10546
|
import type { ModelComponent } from '@mappedin/mappedin-js/geojson/src/components/model';
|
|
9828
10547
|
import type { PathComponent } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
9829
|
-
import type { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/style';
|
|
10548
|
+
import type { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/styles/style';
|
|
9830
10549
|
import type { ImageComponent } from '@mappedin/mappedin-js/geojson/src/components/image';
|
|
9831
10550
|
import type { CustomGeometryComponent } from '@mappedin/mappedin-js/geojson/src/components/custom';
|
|
9832
10551
|
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
9833
10552
|
import type { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
10553
|
+
import type { Text3DComponent } from '@mappedin/mappedin-js/geojson/src/components/text3d';
|
|
10554
|
+
import type { Text3DStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/styles';
|
|
9834
10555
|
export enum Geometry3DComponents {
|
|
9835
10556
|
Mesh = 0,
|
|
9836
10557
|
Style = 1,
|
|
9837
10558
|
Interaction = 2
|
|
9838
10559
|
}
|
|
10560
|
+
type Geometry3DObjectTypes = 'geometry' | 'path' | 'model' | 'custom-geometry' | 'image' | 'text3d';
|
|
9839
10561
|
export class Geometry3DObject3D extends Object3D {
|
|
10562
|
+
type: Geometry3DObjectTypes;
|
|
9840
10563
|
userData: {
|
|
9841
10564
|
entityId: string;
|
|
9842
|
-
type:
|
|
10565
|
+
type: Geometry3DObjectTypes;
|
|
9843
10566
|
};
|
|
9844
10567
|
}
|
|
9845
10568
|
export type PathMaterial = ShaderMaterial & {
|
|
@@ -9849,15 +10572,23 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
|
|
|
9849
10572
|
export class PatMeshContainer extends Geometry3DObject3D {
|
|
9850
10573
|
children: [PathMesh, PathMesh];
|
|
9851
10574
|
}
|
|
9852
|
-
export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | ImageComponent;
|
|
9853
|
-
|
|
10575
|
+
export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | Text3DComponent | ImageComponent;
|
|
10576
|
+
type MappedComponentType<M> = M extends MeshComponent ? 'geometry' : M extends PathComponent ? 'path' : M extends ModelComponent ? 'model' : M extends CustomGeometryComponent ? 'custom-geometry' : M extends ImageComponent ? 'image' : M extends Text3DComponent ? 'text3d' : never;
|
|
10577
|
+
export class Geometry3D<M extends MeshComponentTypes = MeshComponent, S extends StyleComponent | Text3DStyleComponent = StyleComponent, I extends InteractionComponent = InteractionComponent, T extends MappedComponentType<M> = MappedComponentType<M>> {
|
|
9854
10578
|
id: string | number;
|
|
9855
|
-
components: [
|
|
9856
|
-
get object3d():
|
|
10579
|
+
components: [M, S, I?];
|
|
10580
|
+
get object3d(): M["mesh"];
|
|
9857
10581
|
get parent(): GroupContainerObject3D | GeometryGroupObject3D | null;
|
|
9858
|
-
get type():
|
|
9859
|
-
constructor(meshComponent:
|
|
9860
|
-
}
|
|
10582
|
+
get type(): T;
|
|
10583
|
+
constructor(meshComponent: M, styleComponent: S);
|
|
10584
|
+
}
|
|
10585
|
+
export type TextGeometry3D = Geometry3D<Text3DComponent, Text3DStyleComponent, InteractionComponent, 'text3d'>;
|
|
10586
|
+
export type CustomGeometry3D = Geometry3D<CustomGeometryComponent, StyleComponent, InteractionComponent, 'custom-geometry'>;
|
|
10587
|
+
export type ModelGeometry3D = Geometry3D<ModelComponent, StyleComponent, InteractionComponent, 'model'>;
|
|
10588
|
+
export type PathGeometry3D = Geometry3D<PathComponent, StyleComponent, InteractionComponent, 'path'>;
|
|
10589
|
+
export type ImageGeometry3D = Geometry3D<ImageComponent, StyleComponent, InteractionComponent, 'image'>;
|
|
10590
|
+
export type MeshGeometry3D = Geometry3D<MeshComponent, StyleComponent, InteractionComponent, 'geometry'>;
|
|
10591
|
+
export type Geometry3DTypes = TextGeometry3D | CustomGeometry3D | PathGeometry3D | ImageGeometry3D | MeshGeometry3D | ModelGeometry3D;
|
|
9861
10592
|
export interface PathUniforms {
|
|
9862
10593
|
vertexes: {
|
|
9863
10594
|
type: 'f';
|
|
@@ -9940,6 +10671,7 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry3d' {
|
|
|
9940
10671
|
value: number;
|
|
9941
10672
|
};
|
|
9942
10673
|
}
|
|
10674
|
+
export {};
|
|
9943
10675
|
}
|
|
9944
10676
|
|
|
9945
10677
|
declare module '@mappedin/mappedin-js/geojson/src/entities/geometry2d' {
|
|
@@ -9953,6 +10685,7 @@ declare module '@mappedin/mappedin-js/geojson/src/entities/geometry2d' {
|
|
|
9953
10685
|
Interaction = 1
|
|
9954
10686
|
}
|
|
9955
10687
|
export class Geometry2DObject3D extends Object3D {
|
|
10688
|
+
readonly type: "geometry2dObject3d";
|
|
9956
10689
|
}
|
|
9957
10690
|
export class Geometry2D {
|
|
9958
10691
|
id: string | number;
|
|
@@ -9981,17 +10714,44 @@ declare module '@mappedin/mappedin-js/geojson/src/components/stack' {
|
|
|
9981
10714
|
|
|
9982
10715
|
declare module '@mappedin/mappedin-js/geojson/src/components/interaction' {
|
|
9983
10716
|
export class InteractionComponent {
|
|
9984
|
-
hover: boolean;
|
|
10717
|
+
hover: boolean | 'user-interaction';
|
|
9985
10718
|
dirty: boolean;
|
|
9986
10719
|
}
|
|
9987
10720
|
}
|
|
9988
10721
|
|
|
10722
|
+
declare module '@mappedin/mappedin-js/geojson/src/services/text3d/text3d' {
|
|
10723
|
+
import { type Text3DStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/styles';
|
|
10724
|
+
import { Text, BatchedText } from 'troika-three-text';
|
|
10725
|
+
import type { RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
10726
|
+
import type { Text3DComponent } from '@mappedin/mappedin-js/geojson/src/components/text3d';
|
|
10727
|
+
export function createTroikaText(entityId: string | number, text3DComponent: Text3DComponent, styleComponent: Text3DStyleComponent, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): Promise<{
|
|
10728
|
+
text: Text;
|
|
10729
|
+
} | undefined>;
|
|
10730
|
+
export { BatchedText, Text };
|
|
10731
|
+
/**
|
|
10732
|
+
* typeof module is forbiten in typescript. see: [@typescript-eslint/consistent-type-imports]
|
|
10733
|
+
*/
|
|
10734
|
+
export type ModuleType = {
|
|
10735
|
+
createTroikaText: typeof createTroikaText;
|
|
10736
|
+
preloadFont: typeof preloadFont;
|
|
10737
|
+
BatchedText: typeof BatchedText;
|
|
10738
|
+
};
|
|
10739
|
+
/**
|
|
10740
|
+
* Preloads a font from the given URL. Enable developer to preload font way before scene is ready
|
|
10741
|
+
*
|
|
10742
|
+
* @param fontUrl - The URL of the font to preload. When undefined, default font (Roboto) is loaded
|
|
10743
|
+
* @returns A promise that resolves when the font is successfully preloaded, or rejects with an error if the font cannot be loaded.
|
|
10744
|
+
*/
|
|
10745
|
+
export function preloadFont(fontUrl?: string): Promise<string>;
|
|
10746
|
+
}
|
|
10747
|
+
|
|
9989
10748
|
declare module '@mappedin/mappedin-js/geojson/src/components/geometry-group-style' {
|
|
9990
10749
|
import { type Shading } from '@mappedin/mappedin-js/geojson/src/types';
|
|
9991
10750
|
type GeometryGroupStyle = {
|
|
9992
10751
|
color: string;
|
|
9993
10752
|
topColor?: string;
|
|
9994
10753
|
opacity: number;
|
|
10754
|
+
height?: number;
|
|
9995
10755
|
shading?: Shading;
|
|
9996
10756
|
outline: boolean;
|
|
9997
10757
|
texture?: string;
|
|
@@ -10002,6 +10762,7 @@ declare module '@mappedin/mappedin-js/geojson/src/components/geometry-group-styl
|
|
|
10002
10762
|
color: string;
|
|
10003
10763
|
topColor?: string;
|
|
10004
10764
|
opacity: number;
|
|
10765
|
+
height?: number;
|
|
10005
10766
|
outline: boolean;
|
|
10006
10767
|
texture?: string;
|
|
10007
10768
|
topTexture?: string;
|
|
@@ -10148,68 +10909,6 @@ declare module '@mappedin/mappedin-js/geojson/src/components/image' {
|
|
|
10148
10909
|
}
|
|
10149
10910
|
}
|
|
10150
10911
|
|
|
10151
|
-
declare module '@mappedin/mappedin-js/geojson/src/entities' {
|
|
10152
|
-
export { updateInteractivity } from '@mappedin/mappedin-js/geojson/src/entities/utils';
|
|
10153
|
-
export { Geometry2D, Geometry2DComponents } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
10154
|
-
export { Geometry3D, Geometry3DComponents, type PathMesh, type PatMeshContainer, type PathMaterial, } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
10155
|
-
}
|
|
10156
|
-
|
|
10157
|
-
declare module '@mappedin/mappedin-js/geojson/src/components/style' {
|
|
10158
|
-
import type { LineStyle } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10159
|
-
export const DEFAULT_COLOR = "#ffffff";
|
|
10160
|
-
export const DEFAULT_HEIGHT = 0.1;
|
|
10161
|
-
/**
|
|
10162
|
-
* Determines how a material is rendered, back face, front face or both (default)
|
|
10163
|
-
*/
|
|
10164
|
-
export type MaterialSide = 'back' | 'front' | 'double';
|
|
10165
|
-
type Style = {
|
|
10166
|
-
color: string;
|
|
10167
|
-
width: number;
|
|
10168
|
-
opacity: number;
|
|
10169
|
-
visible: boolean;
|
|
10170
|
-
height: number;
|
|
10171
|
-
altitude: number;
|
|
10172
|
-
join: LineStyle['join'];
|
|
10173
|
-
cap: LineStyle['cap'];
|
|
10174
|
-
topColor?: string;
|
|
10175
|
-
texture?: string;
|
|
10176
|
-
topTexture?: string;
|
|
10177
|
-
outline: boolean;
|
|
10178
|
-
showImage: boolean;
|
|
10179
|
-
showTextLabel: boolean;
|
|
10180
|
-
flipImageToFaceCamera: boolean;
|
|
10181
|
-
flipTextToFaceCamera: boolean;
|
|
10182
|
-
url?: string;
|
|
10183
|
-
side?: MaterialSide;
|
|
10184
|
-
};
|
|
10185
|
-
export class StyleComponent implements Style {
|
|
10186
|
-
initialColor: string;
|
|
10187
|
-
color: string;
|
|
10188
|
-
topColor?: string;
|
|
10189
|
-
topTexture?: string;
|
|
10190
|
-
texture?: string;
|
|
10191
|
-
hoverColor?: string;
|
|
10192
|
-
dirty: boolean;
|
|
10193
|
-
visible: boolean;
|
|
10194
|
-
opacity: number;
|
|
10195
|
-
width: number;
|
|
10196
|
-
height: number;
|
|
10197
|
-
initialHeight: number;
|
|
10198
|
-
altitude: number;
|
|
10199
|
-
join: LineStyle['join'];
|
|
10200
|
-
cap: LineStyle['cap'];
|
|
10201
|
-
outline: boolean;
|
|
10202
|
-
showImage: boolean;
|
|
10203
|
-
showTextLabel: boolean;
|
|
10204
|
-
flipImageToFaceCamera: boolean;
|
|
10205
|
-
flipTextToFaceCamera: boolean;
|
|
10206
|
-
url?: string;
|
|
10207
|
-
side: MaterialSide;
|
|
10208
|
-
constructor(style?: Partial<Style>);
|
|
10209
|
-
}
|
|
10210
|
-
export {};
|
|
10211
|
-
}
|
|
10212
|
-
|
|
10213
10912
|
declare module '@mappedin/mappedin-js/geojson/src/types/options' {
|
|
10214
10913
|
import type { Position } from '@mappedin/mappedin-js/geojson/src/types/geometry';
|
|
10215
10914
|
import type { Map as MapLibreMap } from '@mappedin/mappedin-js/packages/outdoor-context-v4';
|
|
@@ -10310,31 +11009,82 @@ declare module '@mappedin/mappedin-js/packages/common/pubsub' {
|
|
|
10310
11009
|
* };
|
|
10311
11010
|
* map.on('click', handler);
|
|
10312
11011
|
*/
|
|
10313
|
-
on<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME] extends {
|
|
10314
|
-
data: null;
|
|
10315
|
-
} ? EVENT_PAYLOAD[EVENT_NAME]['data'] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
|
|
11012
|
+
on<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME] extends {
|
|
11013
|
+
data: null;
|
|
11014
|
+
} ? EVENT_PAYLOAD[EVENT_NAME]['data'] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
|
|
11015
|
+
/**
|
|
11016
|
+
* Unsubscribe a function previously subscribed with {@link on}
|
|
11017
|
+
*
|
|
11018
|
+
* @param eventName An event name to which the provided function was previously
|
|
11019
|
+
* subscribed.
|
|
11020
|
+
* @param fn A function that was previously passed to {@link on}. The function must
|
|
11021
|
+
* have the same reference as the function that was subscribed.
|
|
11022
|
+
* @example
|
|
11023
|
+
* // Unsubscribe from the 'click' event
|
|
11024
|
+
* const handler = (event) => {
|
|
11025
|
+
* console.log('Map was clicked', event);
|
|
11026
|
+
* };
|
|
11027
|
+
* map.off('click', handler);
|
|
11028
|
+
*/
|
|
11029
|
+
off<EVENT_NAME extends EVENT>(eventName: EVENT_NAME, fn: (payload: EVENT_PAYLOAD[EVENT_NAME] extends {
|
|
11030
|
+
data: null;
|
|
11031
|
+
} ? EVENT_PAYLOAD[EVENT_NAME]['data'] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
|
|
11032
|
+
/**
|
|
11033
|
+
* @private
|
|
11034
|
+
* @internal
|
|
11035
|
+
*/
|
|
11036
|
+
destroy(): void;
|
|
11037
|
+
}
|
|
11038
|
+
}
|
|
11039
|
+
|
|
11040
|
+
declare module '@mappedin/mappedin-js/geojson/src/services/renderer' {
|
|
11041
|
+
import type { Scene, Camera } from 'three';
|
|
11042
|
+
import { Color, WebGL1Renderer, WebGLRenderer } from 'three';
|
|
11043
|
+
export type TRendererOptions = {
|
|
11044
|
+
alpha: boolean;
|
|
11045
|
+
onWebGLRendererError: (e: Error) => void;
|
|
11046
|
+
xRayPath: boolean;
|
|
11047
|
+
};
|
|
11048
|
+
export class Renderer {
|
|
11049
|
+
backgroundAlpha: number;
|
|
11050
|
+
backgroundColor: Color;
|
|
11051
|
+
width: number;
|
|
11052
|
+
height: number;
|
|
11053
|
+
options: TRendererOptions;
|
|
11054
|
+
renderer?: WebGLRenderer | WebGL1Renderer;
|
|
11055
|
+
constructor(renderOptions: any, targetWebGLVersion?: number);
|
|
11056
|
+
/**
|
|
11057
|
+
* Dispose of the renderer and its buffers.
|
|
11058
|
+
*/
|
|
11059
|
+
destroy(): void;
|
|
11060
|
+
/**
|
|
11061
|
+
* Re-render the scene, depending on which parts of the scene have been
|
|
11062
|
+
* invalidated.
|
|
11063
|
+
*
|
|
11064
|
+
* @method render
|
|
11065
|
+
* @param renderTarget {null or WebGLRenderTarget}
|
|
11066
|
+
* @param scene {Scene}
|
|
11067
|
+
* @param sceneCamera {Camera}
|
|
11068
|
+
*/
|
|
11069
|
+
render(scene: Scene, sceneCamera: Camera): void;
|
|
11070
|
+
clear(): void;
|
|
10316
11071
|
/**
|
|
10317
|
-
*
|
|
11072
|
+
* Set the size of the renderer, composer, and all its internal buffers.
|
|
10318
11073
|
*
|
|
10319
|
-
* @
|
|
10320
|
-
*
|
|
10321
|
-
* @param
|
|
10322
|
-
* have the same reference as the function that was subscribed.
|
|
10323
|
-
* @example
|
|
10324
|
-
* // Unsubscribe from the 'click' event
|
|
10325
|
-
* const handler = (event) => {
|
|
10326
|
-
* console.log('Map was clicked', event);
|
|
10327
|
-
* };
|
|
10328
|
-
* map.off('click', handler);
|
|
11074
|
+
* @method setBufferSize
|
|
11075
|
+
* @param width {number}
|
|
11076
|
+
* @param height {number}
|
|
10329
11077
|
*/
|
|
10330
|
-
|
|
10331
|
-
data: null;
|
|
10332
|
-
} ? EVENT_PAYLOAD[EVENT_NAME]['data'] : EVENT_PAYLOAD[EVENT_NAME]) => void): void;
|
|
11078
|
+
setBufferSize(width: number, height: number): void;
|
|
10333
11079
|
/**
|
|
10334
|
-
*
|
|
10335
|
-
*
|
|
11080
|
+
* Set the color and opacity that will be drawn behind the scene.
|
|
11081
|
+
*
|
|
11082
|
+
* @method setBackgroundColor
|
|
11083
|
+
* @param color {Color}
|
|
11084
|
+
* @param alpha {number}
|
|
10336
11085
|
*/
|
|
10337
|
-
|
|
11086
|
+
setBackgroundColor(color: any, alpha: any): void;
|
|
11087
|
+
domElement(): HTMLCanvasElement | undefined;
|
|
10338
11088
|
}
|
|
10339
11089
|
}
|
|
10340
11090
|
|
|
@@ -10342,34 +11092,16 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/interactions' {
|
|
|
10342
11092
|
export { InteractionSystem } from '@mappedin/mappedin-js/geojson/src/systems/interactions/system';
|
|
10343
11093
|
}
|
|
10344
11094
|
|
|
10345
|
-
declare module '@mappedin/mappedin-js/geojson/src/systems/zoom-interpolation/zoom-interpolation' {
|
|
10346
|
-
import { PubSub } from '@mappedin/mappedin-js/packages/common/pubsub';
|
|
10347
|
-
import LabelComponent from '@mappedin/mappedin-js/geojson/src/components/label';
|
|
10348
|
-
import type { MarkerComponent } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
10349
|
-
import { MeshComponent } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
10350
|
-
type SomeEvent = {
|
|
10351
|
-
'invalidate:2d': undefined;
|
|
10352
|
-
};
|
|
10353
|
-
export class ZoomInterpolationSystem extends PubSub<SomeEvent, keyof SomeEvent> {
|
|
10354
|
-
constructor();
|
|
10355
|
-
interpolators: Map<any, any>;
|
|
10356
|
-
addEntity3D(meshComponent: MeshComponent, interpolateProps: any): void;
|
|
10357
|
-
addEntity2D(uiComponent: MarkerComponent | LabelComponent, interpolateProps: any): void;
|
|
10358
|
-
addAny(id: string, interpolateFn: any): void;
|
|
10359
|
-
update: (zoomLevel: number) => void;
|
|
10360
|
-
destroy(): void;
|
|
10361
|
-
}
|
|
10362
|
-
export {};
|
|
10363
|
-
}
|
|
10364
|
-
|
|
10365
11095
|
declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-optimization/system' {
|
|
10366
11096
|
import type { BufferGeometry } from 'three';
|
|
10367
11097
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10368
11098
|
import { Geometry3D, Geometry3DObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
10369
|
-
import { type MeshComponentProperties } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
11099
|
+
import { MeshComponent, type MeshComponentProperties } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
11100
|
+
import { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/styles/style';
|
|
10370
11101
|
import type { Feature, LineString, MultiPolygon, Point, Polygon } from 'geojson';
|
|
10371
11102
|
import type { LineStyle, ModelProperties, ModelStyle, PaintStyle } from '@mappedin/mappedin-js/geojson/src/types';
|
|
10372
11103
|
import type { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
11104
|
+
import type { ModelGeometry3D } from '@mappedin/mappedin-js/geojson/src/entities';
|
|
10373
11105
|
import { PubSub } from '@packages/internal/common';
|
|
10374
11106
|
export class MeshCreationAndOptimizationSystem extends PubSub<{
|
|
10375
11107
|
'model-loaded': void;
|
|
@@ -10379,8 +11111,8 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-creation-and-opti
|
|
|
10379
11111
|
loader?: GLTFLoader;
|
|
10380
11112
|
constructor(state: RendererState, convertTo3DMapPosition: any);
|
|
10381
11113
|
getGLTFLoader(): Promise<void>;
|
|
10382
|
-
createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: LineStyle | PaintStyle): Geometry3D
|
|
10383
|
-
createModelFromFeature(id: string | number, feature: Feature<Point, ModelProperties>, style?: ModelStyle):
|
|
11114
|
+
createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: LineStyle | PaintStyle): Geometry3D<MeshComponent, StyleComponent, import("../../components/interaction").InteractionComponent, "geometry">;
|
|
11115
|
+
createModelFromFeature(id: string | number, feature: Feature<Point, ModelProperties>, style?: ModelStyle): ModelGeometry3D;
|
|
10384
11116
|
populateEntityMesh(entity: Geometry3D, geometry: BufferGeometry): void;
|
|
10385
11117
|
populateModelGroup(entities: Set<string | number>, url: string, tree: any): Promise<Geometry3DObject3D>;
|
|
10386
11118
|
populateEntityGroup(entities: Set<string | number>): Set<string | number>;
|
|
@@ -10464,9 +11196,9 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/2d-draw/system' {
|
|
|
10464
11196
|
declare module '@mappedin/mappedin-js/geojson/src/systems/draw/system' {
|
|
10465
11197
|
import { PubSub } from '@packages/internal/common';
|
|
10466
11198
|
import { MeshComponent } from '@mappedin/mappedin-js/geojson/src/components/mesh';
|
|
10467
|
-
import { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/style';
|
|
11199
|
+
import type { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/styles/style';
|
|
10468
11200
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10469
|
-
import { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
11201
|
+
import type { InteractionComponent } from '@mappedin/mappedin-js/geojson/src/components/interaction';
|
|
10470
11202
|
import type { GeometryGroupStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/geometry-group-style';
|
|
10471
11203
|
export class DrawSystem extends PubSub<{
|
|
10472
11204
|
'texture-loaded': void;
|
|
@@ -10513,7 +11245,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/render/system' {
|
|
|
10513
11245
|
constructor(renderer: Renderer, state: RendererState, mode: RendererCore['mode'], scene: Scene, cameraObject: PerspectiveCamera, viewCamera: Camera, systems: Systems);
|
|
10514
11246
|
twoDdirty: boolean;
|
|
10515
11247
|
threeDdirty: boolean;
|
|
10516
|
-
update: (sync?: boolean) =>
|
|
11248
|
+
update: (sync?: boolean) => Promise<any>;
|
|
10517
11249
|
destroy(): void;
|
|
10518
11250
|
}
|
|
10519
11251
|
}
|
|
@@ -10797,16 +11529,19 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/geometry-in-focus/syst
|
|
|
10797
11529
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10798
11530
|
import { type PerspectiveCamera } from 'three';
|
|
10799
11531
|
export class GeometryInFocusSystem extends PubSub<{
|
|
10800
|
-
|
|
11532
|
+
/**
|
|
11533
|
+
* Returns the list of entities that are likely in focus, sorted by the weight of the raycast.
|
|
11534
|
+
*/
|
|
11535
|
+
'geometry-in-focus': string[];
|
|
10801
11536
|
}> {
|
|
10802
|
-
|
|
10803
|
-
|
|
10804
|
-
|
|
10805
|
-
|
|
10806
|
-
|
|
10807
|
-
|
|
10808
|
-
|
|
10809
|
-
|
|
11537
|
+
#private;
|
|
11538
|
+
cameraDirty: boolean;
|
|
11539
|
+
focusablesDirty: boolean;
|
|
11540
|
+
constructor(state: RendererState, camera: PerspectiveCamera);
|
|
11541
|
+
resize(): void;
|
|
11542
|
+
update: () => void;
|
|
11543
|
+
updateRaf(): void;
|
|
11544
|
+
destroy(): void;
|
|
10810
11545
|
}
|
|
10811
11546
|
}
|
|
10812
11547
|
|
|
@@ -10826,7 +11561,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/path' {
|
|
|
10826
11561
|
}
|
|
10827
11562
|
|
|
10828
11563
|
declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-detachment/system' {
|
|
10829
|
-
import { type
|
|
11564
|
+
import { type All3DTypes, type RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10830
11565
|
/**
|
|
10831
11566
|
* This system is responsible for updating the opacity of the mesh, which results in the mesh
|
|
10832
11567
|
* being detached from the parent's optimized geometry group and rendered as a separate mesh.
|
|
@@ -10836,16 +11571,13 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-detachment/system
|
|
|
10836
11571
|
rendererState: RendererState;
|
|
10837
11572
|
dirty: boolean;
|
|
10838
11573
|
constructor(rendererState: RendererState);
|
|
10839
|
-
updateOne(geometry:
|
|
11574
|
+
updateOne(geometry: All3DTypes | undefined): void;
|
|
10840
11575
|
update(): void;
|
|
10841
11576
|
}
|
|
10842
11577
|
}
|
|
10843
11578
|
|
|
10844
11579
|
declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-modification/system' {
|
|
10845
|
-
import {
|
|
10846
|
-
import type { GeometryGroupObject3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
10847
|
-
import type { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
10848
|
-
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
11580
|
+
import type { EntityTypes, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10849
11581
|
/**
|
|
10850
11582
|
* Any physical changes to geometry should go in here. This includes height changes, etc.
|
|
10851
11583
|
* This is to ensure that physical changes apply before any other systems need to do their work,
|
|
@@ -10858,7 +11590,7 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/mesh-modification/syst
|
|
|
10858
11590
|
rendererState: RendererState;
|
|
10859
11591
|
dirty: boolean;
|
|
10860
11592
|
constructor(rendererState: RendererState);
|
|
10861
|
-
updateOne(entity
|
|
11593
|
+
updateOne(entity?: EntityTypes): void;
|
|
10862
11594
|
update(): void;
|
|
10863
11595
|
cleanup(): void;
|
|
10864
11596
|
}
|
|
@@ -10877,14 +11609,58 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/pre-render/system' {
|
|
|
10877
11609
|
}
|
|
10878
11610
|
}
|
|
10879
11611
|
|
|
10880
|
-
declare module '@mappedin/mappedin-js/geojson/src/
|
|
10881
|
-
import type {
|
|
10882
|
-
|
|
10883
|
-
export const
|
|
10884
|
-
|
|
10885
|
-
|
|
10886
|
-
|
|
11612
|
+
declare module '@mappedin/mappedin-js/geojson/src/components/styles/style' {
|
|
11613
|
+
import type { LineStyle } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
11614
|
+
export const DEFAULT_COLOR = "#ffffff";
|
|
11615
|
+
export const DEFAULT_HEIGHT = 0.1;
|
|
11616
|
+
/**
|
|
11617
|
+
* Determines how a material is rendered, back face, front face or both (default)
|
|
11618
|
+
*/
|
|
11619
|
+
export type MaterialSide = 'back' | 'front' | 'double';
|
|
11620
|
+
type Style = {
|
|
11621
|
+
color: string;
|
|
11622
|
+
width: number;
|
|
11623
|
+
opacity: number;
|
|
11624
|
+
visible: boolean;
|
|
11625
|
+
height: number;
|
|
11626
|
+
altitude: number;
|
|
11627
|
+
join: LineStyle['join'];
|
|
11628
|
+
cap: LineStyle['cap'];
|
|
11629
|
+
topColor?: string;
|
|
11630
|
+
texture?: string;
|
|
11631
|
+
topTexture?: string;
|
|
11632
|
+
outline: boolean;
|
|
11633
|
+
showImage: boolean;
|
|
11634
|
+
flipImageToFaceCamera: boolean;
|
|
11635
|
+
url?: string;
|
|
11636
|
+
side?: MaterialSide;
|
|
11637
|
+
renderOrder?: number;
|
|
11638
|
+
};
|
|
11639
|
+
export class StyleComponent implements Style {
|
|
11640
|
+
initialColor: string;
|
|
11641
|
+
color: string;
|
|
11642
|
+
topColor?: string;
|
|
11643
|
+
topTexture?: string;
|
|
11644
|
+
texture?: string;
|
|
11645
|
+
hoverColor?: string;
|
|
11646
|
+
dirty: boolean;
|
|
11647
|
+
visible: boolean;
|
|
11648
|
+
opacity: number;
|
|
11649
|
+
width: number;
|
|
11650
|
+
height: number;
|
|
11651
|
+
initialHeight: number;
|
|
11652
|
+
altitude: number;
|
|
11653
|
+
join: LineStyle['join'];
|
|
11654
|
+
cap: LineStyle['cap'];
|
|
11655
|
+
outline: boolean;
|
|
11656
|
+
showImage: boolean;
|
|
11657
|
+
flipImageToFaceCamera: boolean;
|
|
11658
|
+
url?: string;
|
|
11659
|
+
side: MaterialSide;
|
|
11660
|
+
renderOrder: number;
|
|
11661
|
+
constructor(style?: Partial<Style>);
|
|
10887
11662
|
}
|
|
11663
|
+
export {};
|
|
10888
11664
|
}
|
|
10889
11665
|
|
|
10890
11666
|
declare module '@mappedin/mappedin-js/packages/geojson-navigator/src' {
|
|
@@ -10979,6 +11755,17 @@ declare module '@mappedin/mappedin-js/geojson/src/utils/tranform-request' {
|
|
|
10979
11755
|
};
|
|
10980
11756
|
}
|
|
10981
11757
|
|
|
11758
|
+
declare module '@mappedin/mappedin-js/geojson/src/utils/math' {
|
|
11759
|
+
export function normalizeAngle(angle: number): number;
|
|
11760
|
+
}
|
|
11761
|
+
|
|
11762
|
+
declare module '@mappedin/mappedin-js/geojson/src/entities' {
|
|
11763
|
+
export { updateInteractivity } from '@mappedin/mappedin-js/geojson/src/entities/utils';
|
|
11764
|
+
export { Geometry2D, Geometry2DComponents } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
11765
|
+
export { Geometry3D, Geometry3DComponents } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
11766
|
+
export type { PathMesh, PatMeshContainer, PathMaterial, Geometry3DTypes, ImageGeometry3D, TextGeometry3D, ModelGeometry3D, CustomGeometry3D, MeshGeometry3D, } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
11767
|
+
}
|
|
11768
|
+
|
|
10982
11769
|
declare module '@mappedin/mappedin-js/geojson/src/systems/exporter/exporter' {
|
|
10983
11770
|
import type { RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
10984
11771
|
export type GLTFExportOptions = {
|
|
@@ -11009,6 +11796,155 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/exporter/exporter' {
|
|
|
11009
11796
|
}
|
|
11010
11797
|
}
|
|
11011
11798
|
|
|
11799
|
+
declare module '@mappedin/mappedin-js/geojson/src/components/styles/text-style' {
|
|
11800
|
+
/**
|
|
11801
|
+
* avoid storying default values on the text style to save space
|
|
11802
|
+
*/
|
|
11803
|
+
export class Text3DStyleComponent implements Partial<Text3DStyle> {
|
|
11804
|
+
visible?: boolean;
|
|
11805
|
+
altitude?: number;
|
|
11806
|
+
color?: string;
|
|
11807
|
+
dirty: boolean;
|
|
11808
|
+
maxWidth?: number;
|
|
11809
|
+
maxHeight?: number;
|
|
11810
|
+
hoverByPolygon?: boolean;
|
|
11811
|
+
flipToFaceCamera?: boolean | undefined;
|
|
11812
|
+
font?: string;
|
|
11813
|
+
fillOpacity?: number;
|
|
11814
|
+
fontSize?: number;
|
|
11815
|
+
margin?: number;
|
|
11816
|
+
outlineWidth?: number;
|
|
11817
|
+
outlineBlur?: number | string;
|
|
11818
|
+
outlineOffsetX?: number;
|
|
11819
|
+
strokeColor?: string;
|
|
11820
|
+
strokeOpacity?: number;
|
|
11821
|
+
strokeWidth?: number;
|
|
11822
|
+
hoverColor?: string | undefined;
|
|
11823
|
+
outlineOffsetY?: number;
|
|
11824
|
+
outlineColor?: string;
|
|
11825
|
+
outlineOpacity?: number;
|
|
11826
|
+
constructor(initialState?: Partial<Text3DStyle>);
|
|
11827
|
+
/**
|
|
11828
|
+
* Put together a json ignore all the undefined fields.
|
|
11829
|
+
* This is helpful when we Object.assign(instance, json) to update the instance.
|
|
11830
|
+
*/
|
|
11831
|
+
getState(includeDirty?: boolean): Partial<Text3DStyle>;
|
|
11832
|
+
}
|
|
11833
|
+
/**
|
|
11834
|
+
* Not directly storing default values on the text style to save space
|
|
11835
|
+
* TODO: lookign at text style spec from maplibre. we can also support:
|
|
11836
|
+
* letterSpacing?: number;
|
|
11837
|
+
* lineHeight: number;
|
|
11838
|
+
* anchor: number; => .anchorX & .anchorY
|
|
11839
|
+
* justify: nubmer; => .textAlign
|
|
11840
|
+
* tarnsform: string;
|
|
11841
|
+
* offset: number;
|
|
11842
|
+
*/
|
|
11843
|
+
export const DEFAULT_TEXT_STYLE: Readonly<Text3DStyle>;
|
|
11844
|
+
export type Text3DStyle = {
|
|
11845
|
+
/**
|
|
11846
|
+
* Controls the visibility of the text element.
|
|
11847
|
+
* @default true
|
|
11848
|
+
*/
|
|
11849
|
+
visible: boolean;
|
|
11850
|
+
/**
|
|
11851
|
+
* The color of the text. Will change to hoverColor when the associated polygon is hovered.
|
|
11852
|
+
* Accepts any CSS color string.
|
|
11853
|
+
* @default 'black'
|
|
11854
|
+
*/
|
|
11855
|
+
color: string;
|
|
11856
|
+
/**
|
|
11857
|
+
* When true, the text will flip to face the camera while maintaining its position.
|
|
11858
|
+
* @default true
|
|
11859
|
+
*/
|
|
11860
|
+
flipToFaceCamera: boolean;
|
|
11861
|
+
/**
|
|
11862
|
+
* URL to a custom font file (.ttf, .otf, .woff).
|
|
11863
|
+
* Falls back to Roboto if undefined.
|
|
11864
|
+
*/
|
|
11865
|
+
font: string | undefined;
|
|
11866
|
+
/**
|
|
11867
|
+
* The size of the text in meters. Will be automatically adjusted if it exceeds
|
|
11868
|
+
* the text area bounds.
|
|
11869
|
+
*/
|
|
11870
|
+
fontSize: number;
|
|
11871
|
+
/**
|
|
11872
|
+
* Padding between the text and its bounding box, in meters.
|
|
11873
|
+
* Can be specified as either:
|
|
11874
|
+
* - A single number for uniform padding on all sides
|
|
11875
|
+
* - An array of 4 numbers [top, right, bottom, left] for individual side padding
|
|
11876
|
+
* @default [0.2, 1, 0.2, 1.5]
|
|
11877
|
+
*/
|
|
11878
|
+
margin: number | [number, number, number, number];
|
|
11879
|
+
/**
|
|
11880
|
+
* Color of the text outline.
|
|
11881
|
+
* Accepts any CSS color string.
|
|
11882
|
+
* @default 'black'
|
|
11883
|
+
*/
|
|
11884
|
+
outlineColor: string;
|
|
11885
|
+
/**
|
|
11886
|
+
* Opacity of the text outline.
|
|
11887
|
+
* Accepts values between 0 and 1.
|
|
11888
|
+
* @default 1
|
|
11889
|
+
*/
|
|
11890
|
+
outlineOpacity: number;
|
|
11891
|
+
/**
|
|
11892
|
+
* Blur radius for the text outline.
|
|
11893
|
+
* Can be a number in pixels or a string with units.
|
|
11894
|
+
*/
|
|
11895
|
+
outlineBlur: number | string;
|
|
11896
|
+
/**
|
|
11897
|
+
* Width of the text outline effect in pixels.
|
|
11898
|
+
*/
|
|
11899
|
+
outlineWidth: number;
|
|
11900
|
+
/**
|
|
11901
|
+
* Horizontal offset of the outline effect from the text, in pixels.
|
|
11902
|
+
*/
|
|
11903
|
+
outlineOffsetX: number;
|
|
11904
|
+
/**
|
|
11905
|
+
* Vertical offset of the outline effect from the text, in pixels.
|
|
11906
|
+
*/
|
|
11907
|
+
outlineOffsetY: number;
|
|
11908
|
+
/**
|
|
11909
|
+
* Width of the inner stroke of each text glyph.
|
|
11910
|
+
* @default 0
|
|
11911
|
+
*/
|
|
11912
|
+
strokeWidth: number;
|
|
11913
|
+
/**
|
|
11914
|
+
* Maximum width constraint for the text area in meters.
|
|
11915
|
+
* Overrides default text field constraints when set.
|
|
11916
|
+
*/
|
|
11917
|
+
maxWidth: number | undefined;
|
|
11918
|
+
/**
|
|
11919
|
+
* Maximum height constraint for the text area in meters.
|
|
11920
|
+
* Overrides default text field constraints when set.
|
|
11921
|
+
*/
|
|
11922
|
+
maxHeight: number | undefined;
|
|
11923
|
+
/**
|
|
11924
|
+
* Opacity of the text stroke when strokeWidth > 0.
|
|
11925
|
+
* @default 1
|
|
11926
|
+
*/
|
|
11927
|
+
strokeOpacity: number;
|
|
11928
|
+
/**
|
|
11929
|
+
* Color of the text stroke when strokeWidth > 0.
|
|
11930
|
+
* Accepts any CSS color string.
|
|
11931
|
+
* @default 'black'
|
|
11932
|
+
*/
|
|
11933
|
+
strokeColor: string;
|
|
11934
|
+
/**
|
|
11935
|
+
* Opacity of the text fill, independent of stroke and outline opacity.
|
|
11936
|
+
* Set to 0 to show only stroke/outline.
|
|
11937
|
+
* Accepts values between 0 and 1.
|
|
11938
|
+
*/
|
|
11939
|
+
fillOpacity: number;
|
|
11940
|
+
/**
|
|
11941
|
+
* Color to display when text is hovered.
|
|
11942
|
+
* Falls back to global hover color if undefined.
|
|
11943
|
+
*/
|
|
11944
|
+
hoverColor: string | undefined;
|
|
11945
|
+
};
|
|
11946
|
+
}
|
|
11947
|
+
|
|
11012
11948
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object' {
|
|
11013
11949
|
import type { Polygon, MultiPolygon, FloorProperties as MVFFloor, ParsedMVF, Feature } from '@mappedin/mvf';
|
|
11014
11950
|
import type { RendererCore } from '@mappedin/core-sdk';
|
|
@@ -11033,6 +11969,8 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object'
|
|
|
11033
11969
|
floorStackId: string;
|
|
11034
11970
|
constructor(parentId: string, floor: MVFFloor, renderer: RendererCore, multiFloorView: Required<TShow3DMapOptions['multiFloorView']>, options: TShow3DMapOptions, mvf?: ParsedMVF, styleMap?: AggregatedStyleMap);
|
|
11035
11971
|
load: () => this;
|
|
11972
|
+
get visible(): boolean;
|
|
11973
|
+
setVisible(visible: boolean): void;
|
|
11036
11974
|
}
|
|
11037
11975
|
export {};
|
|
11038
11976
|
}
|
|
@@ -11045,7 +11983,7 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils' {
|
|
|
11045
11983
|
import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle } from '@mappedin/core-sdk';
|
|
11046
11984
|
import { type TGeometryState, type TLabelState, type TDirectionInstructionAction, type TShow3DMapOptions, type Label, type Marker, type Model } from '@mappedin/mappedin-js/mappedin-js/src';
|
|
11047
11985
|
import type { TDoorsState, TMarkerState, TWallsState } from '@mappedin/mappedin-js/mappedin-js/src/types';
|
|
11048
|
-
import type { Image, Shape } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
11986
|
+
import type { Image, Shape, Text3D } from '@mappedin/mappedin-js/mappedin-js/src/map-view-objects';
|
|
11049
11987
|
import type { GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
|
|
11050
11988
|
import type { Tween } from '@tweenjs/tween.js';
|
|
11051
11989
|
export function convertCoordinateToPosition(coord: Coordinate): Position;
|
|
@@ -11074,32 +12012,41 @@ declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/utils' {
|
|
|
11074
12012
|
};
|
|
11075
12013
|
export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<Point | LineString | Polygon, WithPolygonImage<SpaceProperties> | WithPolygonImage<ObstructionProperties>>[]>;
|
|
11076
12014
|
export function translateToCoreStyle(style: PolygonStyle | LineStringStyle, userOptions?: TShow3DMapOptions): PaintStyle | LineStyle;
|
|
11077
|
-
export const getTargetID: <T extends Space | Shape | MapObject | Label | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
|
|
12015
|
+
export const getTargetID: <T extends Space | Shape | MapObject | Label | Text3D | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
|
|
11078
12016
|
export function tweenToPromise(tween: Tween): Promise<void>;
|
|
12017
|
+
export function unique<T>(array: T[]): T[];
|
|
11079
12018
|
}
|
|
11080
12019
|
|
|
11081
12020
|
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-stack-object' {
|
|
11082
12021
|
import type { RendererCore } from '@mappedin/core-sdk';
|
|
11083
|
-
import type { FloorId, FloorStack as MVFFloorStack } from '@mappedin/mvf';
|
|
12022
|
+
import type { FloorId, FloorStack as MVFFloorStack, Facade as MVFFacade } from '@mappedin/mvf';
|
|
11084
12023
|
import type { FloorObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/floor-object';
|
|
11085
|
-
export class FloorStackObject implements Omit<MVFFloorStack, 'maps' | 'floors'> {
|
|
12024
|
+
export class FloorStackObject implements Omit<MVFFloorStack, 'maps' | 'floors' | 'defaultFloor'> {
|
|
12025
|
+
#private;
|
|
11086
12026
|
id: MVFFloorStack['id'];
|
|
11087
12027
|
externalId: MVFFloorStack['externalId'];
|
|
11088
12028
|
name: MVFFloorStack['name'];
|
|
11089
12029
|
type: MVFFloorStack['type'];
|
|
11090
12030
|
floorIds: FloorId[];
|
|
12031
|
+
defaultFloorId?: MVFFloorStack['defaultFloor'];
|
|
11091
12032
|
/** Sorted floor objects by elevation */
|
|
11092
12033
|
floorObjects: FloorObject[];
|
|
11093
12034
|
floorObjectsByElevation: Map<number, FloorObject>;
|
|
11094
12035
|
metadata?: MVFFloorStack['metadata'];
|
|
11095
12036
|
footprint?: MVFFloorStack['footprint'];
|
|
11096
12037
|
containerId: string;
|
|
11097
|
-
|
|
12038
|
+
facade?: MVFFacade;
|
|
12039
|
+
constructor(floorStack: MVFFloorStack, parentId: string, renderer: RendererCore, facade?: MVFFacade);
|
|
11098
12040
|
get defaultFloor(): FloorObject;
|
|
11099
12041
|
addFloor(floor: FloorObject): void;
|
|
12042
|
+
setFacadeVisible(visible: boolean): void;
|
|
11100
12043
|
}
|
|
11101
12044
|
}
|
|
11102
12045
|
|
|
12046
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/dynamic-focus' {
|
|
12047
|
+
export { DynamicFocus } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/dynamic-focus/dynamic-focus';
|
|
12048
|
+
}
|
|
12049
|
+
|
|
11103
12050
|
declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-processor' {
|
|
11104
12051
|
import { Rectangle } from '@packages/internal/quad-tree';
|
|
11105
12052
|
export type TSerializedCollider = {
|
|
@@ -11129,42 +12076,6 @@ declare module '@mappedin/mappedin-js/geojson/src/systems/collisions/collider-pr
|
|
|
11129
12076
|
};
|
|
11130
12077
|
}
|
|
11131
12078
|
|
|
11132
|
-
declare module '@mappedin/mappedin-js/geojson/src/entities/utils' {
|
|
11133
|
-
import type { CollisionRankingTier, GeometryState, LabelState, RendererCore } from '@mappedin/mappedin-js/geojson/src';
|
|
11134
|
-
import { type MarkerState } from '@mappedin/mappedin-js/geojson/src/components/marker';
|
|
11135
|
-
import type { PathUpdateState } from '@mappedin/mappedin-js/geojson/src/components/path';
|
|
11136
|
-
import type { Geometry3DTypes, Position, RendererState } from '@mappedin/mappedin-js/geojson/src/renderer';
|
|
11137
|
-
import { GeometryGroupObject3D, type GeometryGroupState } from '@mappedin/mappedin-js/geojson/src/entities/geometry-group';
|
|
11138
|
-
import { GroupContainerObject3D } from '@mappedin/mappedin-js/geojson/src/entities/group-container';
|
|
11139
|
-
import { Geometry3D } from '@mappedin/mappedin-js/geojson/src/entities/geometry3d';
|
|
11140
|
-
import { Geometry2D } from '@mappedin/mappedin-js/geojson/src/entities/geometry2d';
|
|
11141
|
-
import type { StyleComponent } from '@mappedin/mappedin-js/geojson/src/components/style';
|
|
11142
|
-
import type { GeometryGroupStyleComponent } from '@mappedin/mappedin-js/geojson/src/components/geometry-group-style';
|
|
11143
|
-
export function updateInteractivity(entity: Geometry3DTypes | Geometry2D, update: boolean | undefined, state: RendererState): boolean;
|
|
11144
|
-
export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update: Partial<Pick<GeometryGroupState, 'color' | 'topColor'>>): boolean | undefined;
|
|
11145
|
-
export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
|
|
11146
|
-
export function updateImageProps(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
11147
|
-
export function updateHeight(entity: Geometry3D | GeometryGroupObject3D, state: RendererState, update?: number): boolean;
|
|
11148
|
-
export function updateColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
11149
|
-
export function updatePosition(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
|
|
11150
|
-
export function updateParent(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: GroupContainerObject3D | undefined): boolean;
|
|
11151
|
-
export function updateEnabled(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: boolean | undefined): void;
|
|
11152
|
-
export function updateMarker(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<MarkerState> | undefined, state: RendererState): boolean;
|
|
11153
|
-
export function updateRank(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: CollisionRankingTier | undefined): boolean;
|
|
11154
|
-
export function updateLabel(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<LabelState> | undefined, state: RendererState): void;
|
|
11155
|
-
export function updateHoverColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: string): void;
|
|
11156
|
-
export function updateFlipImageToFaceCamera(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: boolean): void;
|
|
11157
|
-
export function updateVisibility(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: boolean): boolean;
|
|
11158
|
-
export function updateOpacity(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, state: RendererState, update?: number): void;
|
|
11159
|
-
export function updateGroupTexture(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Pick<GeometryGroupStyleComponent, 'texture' | 'topTexture'>): void;
|
|
11160
|
-
export function updateIndividualGeometryTexture(entity: Geometry3D, update?: Pick<StyleComponent, 'texture' | 'topTexture'>): boolean;
|
|
11161
|
-
export function updateIndividualGeometryOpacity(entity: Geometry3D, update?: number): boolean;
|
|
11162
|
-
export function updateAltitude(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: number): boolean;
|
|
11163
|
-
export function updateOutline(entity: Geometry3DTypes, update?: boolean): boolean;
|
|
11164
|
-
export function handlePathUpdate(geometry: Geometry3D, update: PathUpdateState): void;
|
|
11165
|
-
export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
|
|
11166
|
-
}
|
|
11167
|
-
|
|
11168
12079
|
declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/system' {
|
|
11169
12080
|
import type { PerspectiveCamera, Vector3, Object3D, Mesh } from 'three';
|
|
11170
12081
|
import { Raycaster } from 'three';
|
|
@@ -19747,11 +20658,10 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator'
|
|
|
19747
20658
|
|
|
19748
20659
|
declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/navigator' {
|
|
19749
20660
|
import type { Position, Feature, MultiPolygon, Polygon } from 'geojson';
|
|
19750
|
-
import type { NodeCollection
|
|
20661
|
+
import type { NodeCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/node';
|
|
19751
20662
|
import type { ObstructionCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/obstruction';
|
|
19752
20663
|
import type { SpaceCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/space';
|
|
19753
20664
|
import type { DirectionsCollection } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/directions';
|
|
19754
|
-
import type { CoordinateFeature } from '@mappedin/mappedin-js/packages/geojson-navigator/src/types/coordinate';
|
|
19755
20665
|
/**
|
|
19756
20666
|
* Options for simplifying directions in the Navigator class.
|
|
19757
20667
|
*/
|
|
@@ -19795,7 +20705,6 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/navigator/n
|
|
|
19795
20705
|
geojsonCollection?: ObstructionCollection | SpaceCollection;
|
|
19796
20706
|
groupBy?: string;
|
|
19797
20707
|
});
|
|
19798
|
-
findNearestNode: (feature: CoordinateFeature) => NodeFeature | null;
|
|
19799
20708
|
/**
|
|
19800
20709
|
* Calculates and returns a set of directions from origin nodes to destination nodes, including detailed properties.
|
|
19801
20710
|
*
|
|
@@ -19944,6 +20853,77 @@ declare module '@mappedin/mappedin-js/packages/geojson-navigator/src/types/coord
|
|
|
19944
20853
|
export type CoordinateFeature = Feature<Point, CoordinateProperties>;
|
|
19945
20854
|
}
|
|
19946
20855
|
|
|
20856
|
+
declare module '@mappedin/mappedin-js/mappedin-js/src/api-geojson/dynamic-focus/dynamic-focus' {
|
|
20857
|
+
import { type RendererCore } from '@mappedin/core-sdk';
|
|
20858
|
+
import { PubSub } from '@packages/internal/common';
|
|
20859
|
+
import type { Floor, FloorStack } from '@mappedin/mappedin-js/mappedin-js/src/map-data-objects';
|
|
20860
|
+
import type { GeoJsonApi } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/api';
|
|
20861
|
+
import type { GeojsonApiMapObject } from '@mappedin/mappedin-js/mappedin-js/src/api-geojson/map-object';
|
|
20862
|
+
/**
|
|
20863
|
+
* @experimental
|
|
20864
|
+
* @internal
|
|
20865
|
+
*/
|
|
20866
|
+
export type TDynamicFocusEvents = {
|
|
20867
|
+
'focus-change': {
|
|
20868
|
+
facades: string[];
|
|
20869
|
+
spaces: string[];
|
|
20870
|
+
};
|
|
20871
|
+
};
|
|
20872
|
+
/**
|
|
20873
|
+
* @experimental
|
|
20874
|
+
* @internal
|
|
20875
|
+
*/
|
|
20876
|
+
export type TDynamicFocusOptions = {
|
|
20877
|
+
/**
|
|
20878
|
+
* The minimum zoom level at which Dynamic Focus will detect a Facade and reveal the interior spaces.
|
|
20879
|
+
* @default 17
|
|
20880
|
+
*/
|
|
20881
|
+
minZoomLevel?: number;
|
|
20882
|
+
};
|
|
20883
|
+
/**
|
|
20884
|
+
* @experimental
|
|
20885
|
+
* @internal
|
|
20886
|
+
*/
|
|
20887
|
+
export class DynamicFocus extends PubSub<TDynamicFocusEvents> {
|
|
20888
|
+
#private;
|
|
20889
|
+
/** @internal */
|
|
20890
|
+
constructor(core: RendererCore, geoJSONApi: GeoJsonApi, { currentMapGetter }: {
|
|
20891
|
+
currentMapGetter: CurrentMapGetter;
|
|
20892
|
+
});
|
|
20893
|
+
/**
|
|
20894
|
+
* @experimental
|
|
20895
|
+
* Enables Dynamic Focus and allows the camera to automatically set the floor stack when a facade is hovered.
|
|
20896
|
+
*/
|
|
20897
|
+
enable(options?: TDynamicFocusOptions): void;
|
|
20898
|
+
/**
|
|
20899
|
+
* @experimental
|
|
20900
|
+
* Disables Dynamic Focus and prevents the camera from automatically setting the floor stack when a facade is hovered.
|
|
20901
|
+
*/
|
|
20902
|
+
disable(): void;
|
|
20903
|
+
/**
|
|
20904
|
+
* @experimental
|
|
20905
|
+
* Returns the enabled state of Dynamic Focus.
|
|
20906
|
+
*/
|
|
20907
|
+
get enabled(): boolean;
|
|
20908
|
+
/**
|
|
20909
|
+
* @experimental
|
|
20910
|
+
* Sets the default floor for a floor stack. This is the floor that will be shown when the floor stack is in focus.
|
|
20911
|
+
* See {@link resetDefaultFloorForStack} to reset the default floor.
|
|
20912
|
+
* @param floorStack - The floor stack to set the default floor for.
|
|
20913
|
+
* @param floor - The floor to set as the default floor.
|
|
20914
|
+
*/
|
|
20915
|
+
setDefaultFloorForStack(floorStack: FloorStack, floor: Floor): void;
|
|
20916
|
+
/**
|
|
20917
|
+
* @experimental
|
|
20918
|
+
* Resets the default floor for a floor stack to it's initial value.
|
|
20919
|
+
* @param floorStack - The floor stack to reset the default floor for.
|
|
20920
|
+
*/
|
|
20921
|
+
resetDefaultFloorForStack(floorStack: FloorStack): void;
|
|
20922
|
+
}
|
|
20923
|
+
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
20924
|
+
export {};
|
|
20925
|
+
}
|
|
20926
|
+
|
|
19947
20927
|
declare module '@mappedin/mappedin-js/geojson/src/systems/interactions/tap-controller' {
|
|
19948
20928
|
export enum TapType {
|
|
19949
20929
|
onefinger = 0,
|