@mappedin/react-sdk 6.0.1-beta.24 → 6.0.1-beta.26
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-MQKD44NQ.js +1 -0
- package/lib/esm/GLTFLoader-NPTVUBWO.js +1 -0
- package/lib/esm/browser-THMBGMZD.js +1 -0
- package/lib/esm/chunk-HTBKVBP5.js +1 -0
- package/lib/esm/chunk-J5IUISYU.js +1 -0
- package/lib/esm/chunk-JI45L5CD.js +1 -0
- package/lib/esm/chunk-JXKWZQHE.js +1 -0
- package/lib/esm/chunk-PBF4Z7MU.js +1 -0
- package/lib/esm/chunk-R2KYDGHZ.js +1 -0
- package/lib/esm/chunk-VRJCABWF.js +1 -0
- package/lib/esm/index.css +1 -1
- package/lib/esm/index.d.ts +1409 -412
- package/lib/esm/index.js +1 -1
- package/lib/esm/inspector-EIDJDWCO.js +1 -0
- package/lib/esm/internal-55777EMI.css +1 -0
- package/lib/esm/internal-TMVDNBRU.js +1 -0
- package/lib/esm/outdoor-context-v4-NYFTGBDG.js +1 -0
- package/lib/esm/roboto-regular-V36DLM4S.js +1 -0
- package/lib/esm/text3d-LMXKQG6J.js +1 -0
- package/lib/esm/text3d-Q7FFP3YS.css +1 -0
- package/package.json +2 -2
- package/lib/esm/GLTFExporter-V3JBMXKP.js +0 -1
- package/lib/esm/GLTFLoader-JYDXWLFZ.js +0 -1
- package/lib/esm/browser-Q2RAR7TI.js +0 -1
- package/lib/esm/chunk-2HBWB223.js +0 -1
- package/lib/esm/chunk-CJQTJCFY.js +0 -1
- package/lib/esm/chunk-CP4QYC2D.js +0 -1
- package/lib/esm/chunk-MYZZLUDX.js +0 -1
- package/lib/esm/chunk-RANFBRDO.js +0 -1
- package/lib/esm/inspector-WNKM4RDY.js +0 -1
- package/lib/esm/internal-6J6X6F5D.js +0 -1
- package/lib/esm/internal-C3WM3KGI.css +0 -1
- package/lib/esm/outdoor-context-v4-B4BXJOPD.js +0 -1
package/lib/esm/index.d.ts
CHANGED
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
// ../react/@packages/internal/shave-text/shave-text
|
|
19
19
|
// ../react/@tweenjs/tween.js
|
|
20
20
|
// ../react/@turf/turf
|
|
21
|
+
// ../react/troika-three-text
|
|
21
22
|
// ../react/@packages/internal/quad-tree
|
|
23
|
+
// ../react/@mappedin/core-sdk/src/components/text3d
|
|
22
24
|
// ../react/minisearch
|
|
23
25
|
// ../react/three/addons/loaders/GLTFLoader.js
|
|
24
26
|
// ../react/@mapbox/point-geometry
|
|
@@ -62,8 +64,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
|
62
64
|
import type { Floor } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
63
65
|
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';
|
|
64
66
|
import { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
|
|
65
|
-
|
|
66
|
-
import {
|
|
67
|
+
export type { Text3D as Text3DApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
68
|
+
import type { InsetPadding, InsetPaddingOption, Shading, PaintStyle, LineStyle, WatermarkOptions, Text3DState, AddText3DOptions, UpdatableText3DState, InitializeText3DState, MapViewState } from '@mappedin/react-sdk/geojson/src';
|
|
69
|
+
import { enableTestMode, preloadFont } from '@mappedin/react-sdk/geojson/src';
|
|
67
70
|
export type { PubSub } from '@packages/internal/common/pubsub';
|
|
68
71
|
import type { TMappedinMapLibreOverlayEvents } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
|
|
69
72
|
import { MappedinMapLibreOverlay } from '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay';
|
|
@@ -316,12 +319,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src' {
|
|
|
316
319
|
* @deprecated Use {@link show3dMap} instead.
|
|
317
320
|
*/
|
|
318
321
|
export const show3dMapGeojson: (el: HTMLElement, mapData: MapData, options?: TShow3DMapOptions) => Promise<MapView>;
|
|
319
|
-
export { parseMVF, unzipMVF, enableTestMode };
|
|
320
|
-
export type { MapView, MapData, 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, };
|
|
322
|
+
export { parseMVF, unzipMVF, enableTestMode, preloadFont };
|
|
323
|
+
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, };
|
|
321
324
|
export type * from 'geojson';
|
|
322
325
|
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/react-sdk/mappedin-js/src/types';
|
|
323
326
|
export { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
324
|
-
export type { Label, Marker, Path, Shape, CameraTransform, Model, Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
327
|
+
export type { Label, Marker, Path, Shape, CameraTransform, Model, Image, Text3D } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
328
|
+
export type { Debug } from '@mappedin/react-sdk/mappedin-js/src/debug';
|
|
325
329
|
export type { Navigation, TNavigationOptions } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
326
330
|
export type { TSpaceType } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
327
331
|
export { Coordinate, Annotation, Connection, Door, Floor, FloorStack, MapObject, PointOfInterest, Space, Image as ImageData, Hyperlink, EnterpriseLocation, EnterpriseCategory, EnterpriseVenue, Facade, Node, type Places, } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
@@ -651,7 +655,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
|
|
|
651
655
|
import { Search } from '@mappedin/react-sdk/mappedin-js/src/search';
|
|
652
656
|
import type { TNavigationTarget, TGetDirectionsOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
653
657
|
import type { Directions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions';
|
|
654
|
-
import { Query } from '@mappedin/react-sdk/mappedin-js/src/query';
|
|
658
|
+
import type { Query } from '@mappedin/react-sdk/mappedin-js/src/query';
|
|
659
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
655
660
|
/**
|
|
656
661
|
* A WeakMap to associate {@link MapData} instances with their internal representation.
|
|
657
662
|
* We need a way to get the internal data object from the API
|
|
@@ -839,6 +844,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
|
|
|
839
844
|
*/
|
|
840
845
|
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;
|
|
841
846
|
getById(type: string, id: string): object | undefined;
|
|
847
|
+
/**
|
|
848
|
+
* Get the GeoJSON for a map data object on the map.
|
|
849
|
+
* @param mapDataObject
|
|
850
|
+
*/
|
|
851
|
+
getGeoJSON<T extends IGeoJSONData>(mapDataObject: T): T['geoJSON'];
|
|
842
852
|
/**
|
|
843
853
|
* Changes the language of the map data.
|
|
844
854
|
*
|
|
@@ -909,7 +919,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data' {
|
|
|
909
919
|
declare module '@mappedin/react-sdk/mappedin-js/src/events' {
|
|
910
920
|
import type { ClickPayload } from '@mappedin/core-sdk';
|
|
911
921
|
import type { TStackedMapsEvents } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
912
|
-
import type { Coordinate, Floor, MapObject, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
922
|
+
import type { Coordinate, Facade, Floor, MapObject, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
913
923
|
import type { Label, Marker, Model, Path } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
914
924
|
import type { CameraTransform } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/camera-transform';
|
|
915
925
|
import type { TBlueDotEvents } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot';
|
|
@@ -953,6 +963,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/events' {
|
|
|
953
963
|
* Details about the pointer event which triggered the interaction.
|
|
954
964
|
*/
|
|
955
965
|
pointerEvent: ClickPayload['pointerEvent'];
|
|
966
|
+
/**
|
|
967
|
+
* The interactive facades which the user interaction passed through.
|
|
968
|
+
*/
|
|
969
|
+
facades: Facade[];
|
|
956
970
|
};
|
|
957
971
|
export type THoverPayload = Omit<TClickPayload, 'pointerEvent'>;
|
|
958
972
|
/**
|
|
@@ -1314,20 +1328,22 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects' {
|
|
|
1314
1328
|
}
|
|
1315
1329
|
|
|
1316
1330
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
1317
|
-
import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/
|
|
1331
|
+
import type { RendererCore, WatermarkUpdateOptions } from '@mappedin/react-sdk/geojson/src';
|
|
1318
1332
|
import { PubSub } from '@packages/internal/common';
|
|
1319
1333
|
import { type TEvents, type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
1320
1334
|
import type { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
1321
1335
|
import type { Camera, Labels, Markers, Models, Paths, Exporter, Directions, Style, Outdoor, Images } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
|
|
1322
1336
|
import type { BlueDot } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot';
|
|
1323
1337
|
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
1324
|
-
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1325
|
-
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1326
|
-
import type { Label, Marker, Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1338
|
+
import type { Annotation, Coordinate, Door, Floor, MapObject, PointOfInterest, Space, Node, EnterpriseLocation, FloorStack, Facade } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1339
|
+
import type { DOORS, WALLS, TGetDirectionsOptions, TGetState, TNavigationTarget, TUpdateState, TUpdateStates, GlobalState, UpdateGlobalState } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1340
|
+
import type { Label, Marker, Image, Shape, Text3D as Text3DView } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1327
1341
|
import type { TEventPayload } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
1328
1342
|
import type { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
|
|
1329
1343
|
import type { StackedMaps, TCollapseOptions, TExpandOptions } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
1330
1344
|
import type { InspectorOption } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/inspector/inspector';
|
|
1345
|
+
import { Debug } from '@mappedin/react-sdk/mappedin-js/src/debug';
|
|
1346
|
+
import type { Text3D } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
1331
1347
|
/**
|
|
1332
1348
|
* The MapView class is the main class for rendering and interacting with the map.
|
|
1333
1349
|
*
|
|
@@ -1345,6 +1361,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1345
1361
|
* Controls for the map's labels.
|
|
1346
1362
|
*/
|
|
1347
1363
|
Labels: Labels;
|
|
1364
|
+
/**
|
|
1365
|
+
* @experimental
|
|
1366
|
+
* Controls for the map's 3D texts.
|
|
1367
|
+
*/
|
|
1368
|
+
Text3D: Text3D;
|
|
1348
1369
|
/**
|
|
1349
1370
|
* Controls for the map's markers.
|
|
1350
1371
|
*/
|
|
@@ -1422,8 +1443,16 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1422
1443
|
* // Update the color of a space to red.
|
|
1423
1444
|
* map.updateState(space, { color: 'red' });
|
|
1424
1445
|
*/
|
|
1425
|
-
updateState<T extends Space | MapObject | Label | Marker | Shape | Door | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
|
|
1446
|
+
updateState<T extends Space | Text3DView | MapObject | Label | Marker | Shape | Door | Facade | WALLS | DOORS>(target: T, state: TUpdateState<T>): any;
|
|
1426
1447
|
updateState<T extends string & NonNullable<unknown>>(target: T, state: TUpdateStates): any;
|
|
1448
|
+
/**
|
|
1449
|
+
* Update global state of the MapView
|
|
1450
|
+
*/
|
|
1451
|
+
updateGlobalState(update: UpdateGlobalState): void;
|
|
1452
|
+
/**
|
|
1453
|
+
* Get global state of the MapView
|
|
1454
|
+
*/
|
|
1455
|
+
getGlobalState(): GlobalState;
|
|
1427
1456
|
update: () => void;
|
|
1428
1457
|
/**
|
|
1429
1458
|
* Retrieves the map data for the current map.
|
|
@@ -1482,7 +1511,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1482
1511
|
* @hidden
|
|
1483
1512
|
*/
|
|
1484
1513
|
updateWatermark(options: WatermarkUpdateOptions): void;
|
|
1485
|
-
getState<T extends Space | MapObject | Label | Marker | Image | Shape | string>(target: T): TGetState<T
|
|
1514
|
+
getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | string>(target: T): TGetState<T>;
|
|
1486
1515
|
setHoverColor(c: string): void;
|
|
1487
1516
|
getHoverColor(): string | undefined;
|
|
1488
1517
|
/**
|
|
@@ -1601,6 +1630,88 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view' {
|
|
|
1601
1630
|
* Enable debug interface. Learn more about the debug interface in the [Debug Mode Guide](https://developer.mappedin.com/web-sdk/getting-started#debug-mode).
|
|
1602
1631
|
*/
|
|
1603
1632
|
enableDebug(opitons?: InspectorOption): Promise<void>;
|
|
1633
|
+
/**
|
|
1634
|
+
* @experimental
|
|
1635
|
+
* @internal
|
|
1636
|
+
*/
|
|
1637
|
+
Debug: Debug;
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d' {
|
|
1642
|
+
import { Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1643
|
+
import type { TAddText3DOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
1644
|
+
import type { CurrentMapGetter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/types';
|
|
1645
|
+
import { Text3D as Text3DView } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1646
|
+
export class Text3D {
|
|
1647
|
+
#private;
|
|
1648
|
+
/**
|
|
1649
|
+
* @internal
|
|
1650
|
+
*/
|
|
1651
|
+
constructor({ currentMapGetter }: {
|
|
1652
|
+
currentMapGetter: CurrentMapGetter;
|
|
1653
|
+
});
|
|
1654
|
+
/**
|
|
1655
|
+
* Creates polygon labels for all spaces.
|
|
1656
|
+
*
|
|
1657
|
+
* @param options - Configuration options for text label creation
|
|
1658
|
+
* @returns An array of Text3DView instances representing the created labels. If the space is already labeled, the designated Text3D instance will be returned.
|
|
1659
|
+
*
|
|
1660
|
+
* @example
|
|
1661
|
+
* ```typescript
|
|
1662
|
+
* const labels = mapView.Text3D.labelAll({
|
|
1663
|
+
* // optional configuration options
|
|
1664
|
+
* });
|
|
1665
|
+
* ```
|
|
1666
|
+
*/
|
|
1667
|
+
labelAll(options?: TAddText3DOptions): Text3DView[];
|
|
1668
|
+
/**
|
|
1669
|
+
* Creates a 3D text label for a given space.
|
|
1670
|
+
*
|
|
1671
|
+
* @param target - The target space or enterprise space to label.
|
|
1672
|
+
* @param content - The content of the label. If not provided, target.name will be used
|
|
1673
|
+
* @param options={} - Configuration options for the text label creation.
|
|
1674
|
+
* @returns An array of Text3DView instances representing the created labels.
|
|
1675
|
+
*
|
|
1676
|
+
* @throws {Error} If the target is not a Space.
|
|
1677
|
+
*
|
|
1678
|
+
* @example
|
|
1679
|
+
* ```typescript
|
|
1680
|
+
* const labels = mapView.Text3D.label(space, "Label Content", { fontSize: 12 });
|
|
1681
|
+
* ```
|
|
1682
|
+
*/
|
|
1683
|
+
label(target: Space, content?: string, options?: TAddText3DOptions): Text3DView | undefined;
|
|
1684
|
+
/**
|
|
1685
|
+
* Removes one or more Text3D labels from the map
|
|
1686
|
+
*
|
|
1687
|
+
* @param target - Can be either:
|
|
1688
|
+
* - A single Text3DView instance
|
|
1689
|
+
* - An array of Text3DView instances
|
|
1690
|
+
* - A string ID of the Text3DView to remove
|
|
1691
|
+
*
|
|
1692
|
+
* @example
|
|
1693
|
+
* ```typescript
|
|
1694
|
+
* // Remove single text label
|
|
1695
|
+
* mapView.Text3D.remove(text);
|
|
1696
|
+
*
|
|
1697
|
+
* // Remove multiple text labels
|
|
1698
|
+
* mapView.Text3D.remove([text, text]);
|
|
1699
|
+
*
|
|
1700
|
+
* // Remove by ID
|
|
1701
|
+
* mapView.Text3D.remove("text3d-123");
|
|
1702
|
+
* ```
|
|
1703
|
+
*/
|
|
1704
|
+
remove(text3dView: Text3DView): void;
|
|
1705
|
+
remove(id: string): void;
|
|
1706
|
+
/**
|
|
1707
|
+
* Removes all Text3D labels from the current map
|
|
1708
|
+
*
|
|
1709
|
+
* @example
|
|
1710
|
+
* ```typescript
|
|
1711
|
+
* mapView.Text3D.removeAll();
|
|
1712
|
+
* ```
|
|
1713
|
+
*/
|
|
1714
|
+
removeAll(): void;
|
|
1604
1715
|
}
|
|
1605
1716
|
}
|
|
1606
1717
|
|
|
@@ -1620,20 +1731,26 @@ declare module '@mappedin/react-sdk/geojson/src' {
|
|
|
1620
1731
|
import { mountSceneGraphVisualizer } from '@mappedin/react-sdk/geojson/examples/src/utils/scene-graph-visualizer';
|
|
1621
1732
|
import '../../packages/outdoor-context-v4/css/maplibre-gl.css';
|
|
1622
1733
|
import type { CollisionRankingTier } from '@mappedin/react-sdk/geojson/src/utils/collision-ranking-tier';
|
|
1734
|
+
export type { Text3DState } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
1735
|
+
export { TEXT3D_STYLE_UPDATE_PROPS } from '@mappedin/react-sdk/geojson/src/entities/utils';
|
|
1623
1736
|
export { Navigator } from '@mappedin/react-sdk/packages/geojson-navigator';
|
|
1624
1737
|
export { interpolate, debounce } from '@mappedin/react-sdk/geojson/src/utils';
|
|
1625
1738
|
export { MAPPEDIN_LAYER_ID } from '@mappedin/react-sdk/geojson/src/utils/constants';
|
|
1739
|
+
export type { DebugState, Debug } from '@mappedin/react-sdk/geojson/src/utils/debug';
|
|
1626
1740
|
/**
|
|
1627
1741
|
* Enable test mode for the renderer. This will disable the WebGLRenderer and WebGL1Renderer and replace them with a dummy object
|
|
1628
1742
|
* so you can run tests against it
|
|
1629
1743
|
*/
|
|
1630
|
-
export { enableTestMode } from '@mappedin/react-sdk/geojson/src/services/
|
|
1744
|
+
export { enableTestMode } from '@mappedin/react-sdk/geojson/src/services/test-mode';
|
|
1631
1745
|
export { mountSceneGraphVisualizer };
|
|
1632
1746
|
export type { EntityId, EntityState, LineStyle, PaintStyle, ModelStyle, ModelProperties, Shading } from '@mappedin/react-sdk/geojson/src/types';
|
|
1633
1747
|
export type * from 'geojson';
|
|
1634
1748
|
export type { WatermarkUpdateOptions, WatermarkOptions, WatermarkPosition } from '@mappedin/react-sdk/geojson/src/systems/watermark/system';
|
|
1749
|
+
export { preloadFont } from '@mappedin/react-sdk/geojson/src/systems/text3d/system';
|
|
1635
1750
|
export type { GLTFExportOptions } from '@mappedin/react-sdk/geojson/src/systems/exporter';
|
|
1636
1751
|
export type { AttributionControlOptions, AttributionPosition } from '@mappedin/react-sdk/geojson/src/systems/html-controls/system';
|
|
1752
|
+
export type { Text3DStyle } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
1753
|
+
export type { AddText3DOptions, InitializeText3DState, UpdatableText3DState } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
1637
1754
|
export { ATTRIBUTION_POSITIONS } from '@mappedin/react-sdk/geojson/src/systems/html-controls/system';
|
|
1638
1755
|
export { ANIMATION_TWEENS } from '@mappedin/react-sdk/geojson/src/camera';
|
|
1639
1756
|
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, };
|
|
@@ -1715,9 +1832,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/maplibre-overlay' {
|
|
|
1715
1832
|
declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
1716
1833
|
import type { Feature, MultiPolygon, Polygon } from 'geojson';
|
|
1717
1834
|
import type { Coordinate, Floor, Door, Space, MapObject, PointOfInterest, Connection, Annotation, EnterpriseLocation, Node, Area, Facade } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
1718
|
-
import type { Label, Marker, Model, Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1835
|
+
import type { Label, Marker, Model, Image, Shape, Text3D } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
1719
1836
|
import type { Language, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
1720
|
-
import type { InsetPaddingOption, Position } from '@mappedin/
|
|
1837
|
+
import type { InsetPaddingOption, Position, UpdatableText3DState, Text3DState, AddText3DOptions } from '@mappedin/react-sdk/geojson/src';
|
|
1721
1838
|
export type DeepRequired<T> = Required<{
|
|
1722
1839
|
[K in keyof T]: T[K] extends Required<T[K]> ? T[K] : DeepRequired<T[K]>;
|
|
1723
1840
|
}>;
|
|
@@ -1797,25 +1914,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1797
1914
|
/**
|
|
1798
1915
|
* Defines the state for a label when its appearance is updated.
|
|
1799
1916
|
*/
|
|
1800
|
-
export type TLabelState = {
|
|
1917
|
+
export type TLabelState = Omit<Required<TAddLabelOptions>, 'id'> & {
|
|
1801
1918
|
text: string;
|
|
1802
1919
|
type: 'label';
|
|
1803
|
-
/**
|
|
1804
|
-
* Appearance settings for the label.
|
|
1805
|
-
*/
|
|
1806
|
-
appearance: TLabelAppearance;
|
|
1807
|
-
/**
|
|
1808
|
-
* Priority level of the label, used for determining display order.
|
|
1809
|
-
*/
|
|
1810
|
-
rank: TCollisionRankingTier | 'initial';
|
|
1811
|
-
/**
|
|
1812
|
-
* Whether the label is interactive.
|
|
1813
|
-
*/
|
|
1814
|
-
interactive: boolean;
|
|
1815
|
-
/**
|
|
1816
|
-
* Whether the label is enabled.
|
|
1817
|
-
*/
|
|
1818
|
-
enabled: boolean;
|
|
1819
1920
|
};
|
|
1820
1921
|
/**
|
|
1821
1922
|
* Defines the state for a model when its appearance is updated.
|
|
@@ -1855,6 +1956,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1855
1956
|
* Visibility of the walls.
|
|
1856
1957
|
*/
|
|
1857
1958
|
visible: boolean;
|
|
1959
|
+
/**
|
|
1960
|
+
* Height of the walls.
|
|
1961
|
+
*/
|
|
1962
|
+
height?: number;
|
|
1963
|
+
/**
|
|
1964
|
+
* Opacity of the walls.
|
|
1965
|
+
*/
|
|
1966
|
+
opacity?: number;
|
|
1858
1967
|
};
|
|
1859
1968
|
export type TDoorsState = {
|
|
1860
1969
|
type: 'doors';
|
|
@@ -1887,30 +1996,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1887
1996
|
*/
|
|
1888
1997
|
opacity: number;
|
|
1889
1998
|
};
|
|
1890
|
-
export type TMarkerState = {
|
|
1999
|
+
export type TMarkerState = Omit<Required<TAddMarkerOptions>, 'id'> & {
|
|
1891
2000
|
type: 'marker';
|
|
1892
2001
|
/**
|
|
1893
2002
|
* HTML element for the marker.
|
|
1894
2003
|
*/
|
|
1895
2004
|
element: HTMLElement;
|
|
1896
|
-
/**
|
|
1897
|
-
* Priority level of the marker, used for determining display order.
|
|
1898
|
-
*/
|
|
1899
|
-
rank: TCollisionRankingTier | 'initial';
|
|
1900
|
-
/**
|
|
1901
|
-
* Whether the marker is interactive.
|
|
1902
|
-
* `true` indicates that the marker will be registered in the SDK interaction events.
|
|
1903
|
-
* `'pointer-events-auto'` indicates that the marker will receive browser pointer events.
|
|
1904
|
-
*/
|
|
1905
|
-
interactive: boolean | 'pointer-events-auto';
|
|
1906
|
-
/**
|
|
1907
|
-
* Whether the marker is enabled.
|
|
1908
|
-
*/
|
|
1909
|
-
enabled: boolean;
|
|
1910
|
-
/**
|
|
1911
|
-
* The current coordinate of the marker.
|
|
1912
|
-
*/
|
|
1913
|
-
coordinate: Coordinate;
|
|
1914
2005
|
};
|
|
1915
2006
|
/**
|
|
1916
2007
|
* Represents the state of a shape.
|
|
@@ -1999,9 +2090,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
1999
2090
|
/**
|
|
2000
2091
|
* The type for updating the state of map elements (colors, texts, etc.).
|
|
2001
2092
|
*/
|
|
2002
|
-
export type TUpdateState<T> = T extends WALLS ? Partial<TWallsState> : T extends DOORS
|
|
2093
|
+
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;
|
|
2003
2094
|
export type TUpdateStates = Partial<Omit<TGeometryState, 'interactive' | 'hoverColor' | 'type'>> | Partial<TMarkerState> | Partial<TLabelState> | Partial<TGeometryState>;
|
|
2004
|
-
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;
|
|
2095
|
+
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;
|
|
2005
2096
|
/**
|
|
2006
2097
|
* Options for {@link Camera} animations on the map.
|
|
2007
2098
|
*/
|
|
@@ -2014,6 +2105,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2014
2105
|
* Easing function to use for the animation.
|
|
2015
2106
|
*/
|
|
2016
2107
|
easing?: TEasingFunction;
|
|
2108
|
+
/**
|
|
2109
|
+
* Whether the current animation will be interrupted, or must complete before starting any new animations
|
|
2110
|
+
* @default: true
|
|
2111
|
+
*/
|
|
2112
|
+
interruptible?: boolean;
|
|
2017
2113
|
};
|
|
2018
2114
|
/**
|
|
2019
2115
|
* Options for controlling animations on the map.
|
|
@@ -2078,6 +2174,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2078
2174
|
vertical?: number;
|
|
2079
2175
|
};
|
|
2080
2176
|
screenOffsets?: InsetPaddingOption;
|
|
2177
|
+
/**
|
|
2178
|
+
* Whether the current animation will be interrupted, or must complete before starting any new animations
|
|
2179
|
+
* @default: true
|
|
2180
|
+
*/
|
|
2181
|
+
interruptible?: boolean;
|
|
2081
2182
|
};
|
|
2082
2183
|
/**
|
|
2083
2184
|
* A map element that can be focused on by the camera.
|
|
@@ -2474,6 +2575,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2474
2575
|
*/
|
|
2475
2576
|
url: string;
|
|
2476
2577
|
};
|
|
2578
|
+
/**
|
|
2579
|
+
* @interface
|
|
2580
|
+
*/
|
|
2581
|
+
export type TAddText3DOptions = AddText3DOptions;
|
|
2477
2582
|
/**
|
|
2478
2583
|
* Options for controlling the behavior of an {@link Image}.
|
|
2479
2584
|
*/
|
|
@@ -2517,7 +2622,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2517
2622
|
* Optional. Determines the collision ranking tier of the marker, which influences its visibility in relation to other colliders.
|
|
2518
2623
|
* For the possible values ('medium', 'high', 'always-visible') and their impact on label visibility, see {@link TCollisionRankingTier}.
|
|
2519
2624
|
*/
|
|
2520
|
-
rank?: TCollisionRankingTier;
|
|
2625
|
+
rank?: TCollisionRankingTier | 'initial';
|
|
2521
2626
|
/**
|
|
2522
2627
|
* Optional. Specifies the anchor point of the marker, determining its position relative to its coordinates.
|
|
2523
2628
|
* If a list is provided, the marker will be anchored to the first anchor point that is available.
|
|
@@ -2534,10 +2639,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2534
2639
|
* @default false
|
|
2535
2640
|
*/
|
|
2536
2641
|
interactive?: boolean | 'pointer-events-auto';
|
|
2537
|
-
/**
|
|
2538
|
-
* Optional layer to attach the {@link Marker} to.
|
|
2539
|
-
*/
|
|
2540
|
-
layer?: string;
|
|
2541
2642
|
/**
|
|
2542
2643
|
* @internal
|
|
2543
2644
|
*/
|
|
@@ -2547,11 +2648,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2547
2648
|
*/
|
|
2548
2649
|
dynamicResize?: boolean;
|
|
2549
2650
|
/**
|
|
2550
|
-
* Whether the marker
|
|
2551
|
-
* @internal
|
|
2552
|
-
* @default false
|
|
2651
|
+
* Whether the marker is enabled.
|
|
2553
2652
|
*/
|
|
2554
|
-
|
|
2653
|
+
enabled?: boolean;
|
|
2555
2654
|
};
|
|
2556
2655
|
/**
|
|
2557
2656
|
* Options for creating a new {@link Label} with {@link Labels.add}.
|
|
@@ -2561,31 +2660,24 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2561
2660
|
* Optional. Determines the collision ranking tier of the label, which influences its visibility in relation to other colliders.
|
|
2562
2661
|
* For the possible values ('medium', 'high', 'always-visible') and their impact on label visibility, see {@link TCollisionRankingTier}.
|
|
2563
2662
|
*/
|
|
2564
|
-
rank?: TCollisionRankingTier;
|
|
2663
|
+
rank?: TCollisionRankingTier | 'initial';
|
|
2565
2664
|
/**
|
|
2566
2665
|
* Customize the appearance of the {@link Label} and its pin
|
|
2567
2666
|
*/
|
|
2568
2667
|
appearance?: TLabelAppearance;
|
|
2569
|
-
/**
|
|
2570
|
-
* Group analytics based ranking
|
|
2571
|
-
*
|
|
2572
|
-
* @default false
|
|
2573
|
-
*/
|
|
2574
|
-
groupRankingByCategory?: boolean;
|
|
2575
2668
|
/**
|
|
2576
2669
|
* Whether the Label should be clickable.
|
|
2577
2670
|
* @default false
|
|
2578
2671
|
*/
|
|
2579
2672
|
interactive?: boolean;
|
|
2580
|
-
/**
|
|
2581
|
-
* Optional layer to attach the Label to.
|
|
2582
|
-
* If not provided, this will be empty.
|
|
2583
|
-
*/
|
|
2584
|
-
layer?: string;
|
|
2585
2673
|
/**
|
|
2586
2674
|
* @internal
|
|
2587
2675
|
*/
|
|
2588
2676
|
id?: string;
|
|
2677
|
+
/**
|
|
2678
|
+
* Whether the label is enabled.
|
|
2679
|
+
*/
|
|
2680
|
+
enabled?: boolean;
|
|
2589
2681
|
};
|
|
2590
2682
|
export type TBlueDotOptions = {
|
|
2591
2683
|
/**
|
|
@@ -2687,6 +2779,21 @@ declare module '@mappedin/react-sdk/mappedin-js/src/types' {
|
|
|
2687
2779
|
language: Language;
|
|
2688
2780
|
localePack: ParsedMVFLocalePack;
|
|
2689
2781
|
};
|
|
2782
|
+
export type GlobalState = {
|
|
2783
|
+
text3d: {
|
|
2784
|
+
/**
|
|
2785
|
+
* hover color of the text3d
|
|
2786
|
+
*/
|
|
2787
|
+
hoverColor: string;
|
|
2788
|
+
};
|
|
2789
|
+
geometry: {
|
|
2790
|
+
/**
|
|
2791
|
+
* hover color of the geometries
|
|
2792
|
+
*/
|
|
2793
|
+
hoverColor: string;
|
|
2794
|
+
};
|
|
2795
|
+
};
|
|
2796
|
+
export type UpdateGlobalState = DeepPartial<GlobalState>;
|
|
2690
2797
|
}
|
|
2691
2798
|
|
|
2692
2799
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/blue-dot/blue-dot' {
|
|
@@ -2976,6 +3083,16 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects' {
|
|
|
2976
3083
|
export { Path } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/path';
|
|
2977
3084
|
export { CameraTransform } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/camera-transform';
|
|
2978
3085
|
export { Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/shape';
|
|
3086
|
+
export { Text3D } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects/text3d';
|
|
3087
|
+
}
|
|
3088
|
+
|
|
3089
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/debug' {
|
|
3090
|
+
import type { RendererCore } from '@mappedin/core-sdk';
|
|
3091
|
+
export class Debug {
|
|
3092
|
+
state: RendererCore['Debug']['state'];
|
|
3093
|
+
constructor(core: RendererCore);
|
|
3094
|
+
update: RendererCore['Debug']['update'];
|
|
3095
|
+
}
|
|
2979
3096
|
}
|
|
2980
3097
|
|
|
2981
3098
|
declare module '@mappedin/react-sdk/mappedin-js/src/navigation' {
|
|
@@ -3749,6 +3866,58 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/directions' {
|
|
|
3749
3866
|
}
|
|
3750
3867
|
}
|
|
3751
3868
|
|
|
3869
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
|
|
3870
|
+
import type Area from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area';
|
|
3871
|
+
import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
|
|
3872
|
+
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
3873
|
+
import type Space from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space';
|
|
3874
|
+
import type PointOfInterest from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi';
|
|
3875
|
+
import type Annotation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation';
|
|
3876
|
+
import type Connection from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection';
|
|
3877
|
+
import type MapObject from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object';
|
|
3878
|
+
import type { EnterpriseLocation as MvfEnterpriseLocation, EnterpriseCategory as MvfEnterpriseCategory, ParsedMVFLocalePack, Feature } from '@mappedin/mvf';
|
|
3879
|
+
import type { PartialExcept } from '@mappedin/mvf/dist/locale';
|
|
3880
|
+
import type { LocalePackUrls } from '@packages/internal/mvf-utils';
|
|
3881
|
+
import type { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
3882
|
+
import type { EnvControl } from '@packages/internal/mvf-utils/mvf-utils';
|
|
3883
|
+
/**
|
|
3884
|
+
* Places are the main objects that can be searched for.
|
|
3885
|
+
*/
|
|
3886
|
+
export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation | Area;
|
|
3887
|
+
export type LocationWithLocale = PartialExcept<MvfEnterpriseLocation, 'id'>;
|
|
3888
|
+
export type CategoryWithLocale = PartialExcept<MvfEnterpriseCategory, 'id'>;
|
|
3889
|
+
export type LanguagePack = {
|
|
3890
|
+
type: 'downloaded';
|
|
3891
|
+
data: ParsedMVFLocalePack;
|
|
3892
|
+
optimized: {
|
|
3893
|
+
locations: Record<string, LocationWithLocale> | undefined;
|
|
3894
|
+
categories: Record<string, CategoryWithLocale> | undefined;
|
|
3895
|
+
};
|
|
3896
|
+
} | {
|
|
3897
|
+
type: 'initial';
|
|
3898
|
+
optimized: {
|
|
3899
|
+
locations: Record<string, MvfEnterpriseLocation>;
|
|
3900
|
+
categories: Record<string, MvfEnterpriseCategory>;
|
|
3901
|
+
};
|
|
3902
|
+
};
|
|
3903
|
+
export type TMapDataInternalOptions = {
|
|
3904
|
+
env?: EnvControl;
|
|
3905
|
+
enterprise?: boolean;
|
|
3906
|
+
outdoorViewToken?: string;
|
|
3907
|
+
localePacksUrls?: LocalePackUrls;
|
|
3908
|
+
languagePacks?: LanguagePackHydrationItem[];
|
|
3909
|
+
binaryBundle?: Uint8Array;
|
|
3910
|
+
sasToken?: string;
|
|
3911
|
+
};
|
|
3912
|
+
/**
|
|
3913
|
+
* A class that implements IGeoJSONData has a underlying GeoJSON datathat can be accessed.
|
|
3914
|
+
*/
|
|
3915
|
+
export interface IGeoJSONData {
|
|
3916
|
+
/** Gets the underlying GeoJSON Feature representation of this object. */
|
|
3917
|
+
geoJSON: Feature<any, null>;
|
|
3918
|
+
}
|
|
3919
|
+
}
|
|
3920
|
+
|
|
3752
3921
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/camera-transform' {
|
|
3753
3922
|
import type { Camera } from '@mappedin/react-sdk/mappedin-js/src/api-geojson';
|
|
3754
3923
|
/**
|
|
@@ -3800,13 +3969,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
|
|
|
3800
3969
|
import type { EnterpriseLocation, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3801
3970
|
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
3802
3971
|
import BaseMetaData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-metadata-object';
|
|
3972
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
3803
3973
|
/**
|
|
3804
3974
|
* A class representing {@link Path} node data within the map.
|
|
3805
3975
|
*
|
|
3806
3976
|
* Nodes are used to define points in the map's pathfinding graph.
|
|
3807
3977
|
*
|
|
3808
3978
|
*/
|
|
3809
|
-
class Node extends BaseMetaData {
|
|
3979
|
+
class Node extends BaseMetaData implements IGeoJSONData {
|
|
3810
3980
|
#private;
|
|
3811
3981
|
/**
|
|
3812
3982
|
* @internal
|
|
@@ -3856,6 +4026,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/node' {
|
|
|
3856
4026
|
* @returns {Node[]} An array of neighboring Node objects.
|
|
3857
4027
|
*/
|
|
3858
4028
|
get neighbors(): Node[];
|
|
4029
|
+
/**
|
|
4030
|
+
* Gets the underlying GeoJSON Feature representation of this Node.
|
|
4031
|
+
*/
|
|
4032
|
+
get geoJSON(): {
|
|
4033
|
+
properties: null;
|
|
4034
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
4035
|
+
geometry: import("@mappedin/mvf").Point;
|
|
4036
|
+
};
|
|
3859
4037
|
/**
|
|
3860
4038
|
* Serializes the node data to JSON.
|
|
3861
4039
|
*
|
|
@@ -3886,6 +4064,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
|
|
|
3886
4064
|
import { Coordinate, type MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3887
4065
|
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
3888
4066
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
4067
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
3889
4068
|
/**
|
|
3890
4069
|
* An Area represents some grouping of multiple pieces of geometry, not
|
|
3891
4070
|
* necessarily bounded by walls or any other physical feature of the map.
|
|
@@ -3893,7 +4072,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
|
|
|
3893
4072
|
* Areas are currently in a preview state, and may have changes to existing
|
|
3894
4073
|
* functionality or new features added in the future.
|
|
3895
4074
|
*/
|
|
3896
|
-
class Area extends BaseMapData {
|
|
4075
|
+
class Area extends BaseMapData implements IGeoJSONData {
|
|
3897
4076
|
#private;
|
|
3898
4077
|
/**
|
|
3899
4078
|
* @internal
|
|
@@ -3948,6 +4127,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area' {
|
|
|
3948
4127
|
* @throws Will throw an error if the floor is not found.
|
|
3949
4128
|
*/
|
|
3950
4129
|
get floor(): Floor;
|
|
4130
|
+
/**
|
|
4131
|
+
* Gets the underlying GeoJSON Feature representation of this Area.
|
|
4132
|
+
*/
|
|
4133
|
+
get geoJSON(): {
|
|
4134
|
+
properties: null;
|
|
4135
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
4136
|
+
geometry: import("@mappedin/mvf").Polygon;
|
|
4137
|
+
};
|
|
3951
4138
|
/**
|
|
3952
4139
|
* Serializes the space data to JSON.
|
|
3953
4140
|
*
|
|
@@ -3974,6 +4161,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
|
|
|
3974
4161
|
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
3975
4162
|
import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
3976
4163
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
4164
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
3977
4165
|
/**
|
|
3978
4166
|
* A class representing door data within the map.
|
|
3979
4167
|
*
|
|
@@ -4002,7 +4190,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
|
|
|
4002
4190
|
* Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
|
|
4003
4191
|
*
|
|
4004
4192
|
*/
|
|
4005
|
-
class Door extends BaseMapData {
|
|
4193
|
+
class Door extends BaseMapData implements IGeoJSONData {
|
|
4006
4194
|
#private;
|
|
4007
4195
|
/**
|
|
4008
4196
|
* @internal
|
|
@@ -4061,6 +4249,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door' {
|
|
|
4061
4249
|
* Gets whether this door is an exterior door.
|
|
4062
4250
|
*/
|
|
4063
4251
|
get isExterior(): boolean;
|
|
4252
|
+
/**
|
|
4253
|
+
* Gets the underlying GeoJSON Feature representation of this Door.
|
|
4254
|
+
*/
|
|
4255
|
+
get geoJSON(): {
|
|
4256
|
+
properties: null;
|
|
4257
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
4258
|
+
geometry: import("@mappedin/mvf").LineString;
|
|
4259
|
+
};
|
|
4064
4260
|
/**
|
|
4065
4261
|
* Converts the door information to a JSON object.
|
|
4066
4262
|
*
|
|
@@ -4093,6 +4289,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
|
|
|
4093
4289
|
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
4094
4290
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
4095
4291
|
import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
|
|
4292
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
4096
4293
|
/**
|
|
4097
4294
|
* Represents the various types of spaces that can be defined within a map.
|
|
4098
4295
|
* - 'room': A standard room or enclosed area.
|
|
@@ -4110,7 +4307,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
|
|
|
4110
4307
|
*
|
|
4111
4308
|
* Refer to the [Spaces Guide](https://developer.mappedin.com/web-sdk/spaces) for more information and interactive examples.
|
|
4112
4309
|
*/
|
|
4113
|
-
class Space extends BaseMapData {
|
|
4310
|
+
class Space extends BaseMapData implements IGeoJSONData {
|
|
4114
4311
|
#private;
|
|
4115
4312
|
/**
|
|
4116
4313
|
* @internal
|
|
@@ -4120,6 +4317,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
|
|
|
4120
4317
|
* @internal
|
|
4121
4318
|
*/
|
|
4122
4319
|
readonly __type = "space";
|
|
4320
|
+
getMvfData(): import("@mappedin/mvf").Feature<import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString | import("@mappedin/mvf").Point, import("@mappedin/mvf").SpaceProperties>;
|
|
4123
4321
|
/**
|
|
4124
4322
|
* Checks if the provided instance is of type Space.
|
|
4125
4323
|
*
|
|
@@ -4181,6 +4379,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space' {
|
|
|
4181
4379
|
* @returns {Coordinate} The space's center coordinate.
|
|
4182
4380
|
*/
|
|
4183
4381
|
get center(): Coordinate;
|
|
4382
|
+
/**
|
|
4383
|
+
* Gets the underlying GeoJSON Feature representation of this Space.
|
|
4384
|
+
*/
|
|
4385
|
+
get geoJSON(): {
|
|
4386
|
+
properties: null;
|
|
4387
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
4388
|
+
geometry: import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString | import("@mappedin/mvf").Point;
|
|
4389
|
+
};
|
|
4184
4390
|
/**
|
|
4185
4391
|
* Serializes the space data to JSON.
|
|
4186
4392
|
*
|
|
@@ -4440,6 +4646,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
|
|
|
4440
4646
|
import type { MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
4441
4647
|
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
4442
4648
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
4649
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
4443
4650
|
/**
|
|
4444
4651
|
* A class representing generic map object data within the map.
|
|
4445
4652
|
*
|
|
@@ -4448,7 +4655,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
|
|
|
4448
4655
|
* MapObject appearance can be customized by changing the color or adding a texture to its top or sides.
|
|
4449
4656
|
* Refer to the [Textures & Colors Guide](https://developer.mappedin.com/web-sdk/images-textures#textures--colors) for more information and interactive examples.
|
|
4450
4657
|
*/
|
|
4451
|
-
export class MapObject extends BaseMapData {
|
|
4658
|
+
export class MapObject extends BaseMapData implements IGeoJSONData {
|
|
4452
4659
|
#private;
|
|
4453
4660
|
/**
|
|
4454
4661
|
* @internal
|
|
@@ -4509,6 +4716,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object' {
|
|
|
4509
4716
|
* @returns {Coordinate} The object's center coordinate.
|
|
4510
4717
|
*/
|
|
4511
4718
|
get center(): Coordinate;
|
|
4719
|
+
/**
|
|
4720
|
+
* Gets the underlying GeoJSON Feature representation of this Object.
|
|
4721
|
+
*/
|
|
4722
|
+
get geoJSON(): {
|
|
4723
|
+
properties: null;
|
|
4724
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
4725
|
+
geometry: import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString;
|
|
4726
|
+
};
|
|
4512
4727
|
/**
|
|
4513
4728
|
* Serializes the MapObject data to JSON.
|
|
4514
4729
|
*
|
|
@@ -4611,13 +4826,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
|
|
|
4611
4826
|
import type { Floor, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
4612
4827
|
import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
|
|
4613
4828
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
4829
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
4614
4830
|
/**
|
|
4615
4831
|
* A class representing point of interest data within the map.
|
|
4616
4832
|
*
|
|
4617
4833
|
* Points of interest are used to represent specific points
|
|
4618
4834
|
* on the map with additional information(e.g. ATMs, Water Fountains).
|
|
4619
4835
|
*/
|
|
4620
|
-
class PointOfInterest extends BaseMapData {
|
|
4836
|
+
class PointOfInterest extends BaseMapData implements IGeoJSONData {
|
|
4621
4837
|
#private;
|
|
4622
4838
|
/**
|
|
4623
4839
|
* @internal
|
|
@@ -4672,6 +4888,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi' {
|
|
|
4672
4888
|
* @returns {string} The external ID of the POI.
|
|
4673
4889
|
*/
|
|
4674
4890
|
get externalId(): string;
|
|
4891
|
+
/**
|
|
4892
|
+
* Gets the underlying GeoJSON Feature representation of this PointOfInterest.
|
|
4893
|
+
*/
|
|
4894
|
+
get geoJSON(): {
|
|
4895
|
+
properties: null;
|
|
4896
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
4897
|
+
geometry: Point;
|
|
4898
|
+
};
|
|
4675
4899
|
/**
|
|
4676
4900
|
* Serializes the POI data to JSON.
|
|
4677
4901
|
*
|
|
@@ -4702,6 +4926,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
|
|
|
4702
4926
|
import type { Floor, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
4703
4927
|
import Coordinate from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/coordinate';
|
|
4704
4928
|
import BaseMapData from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/base-object';
|
|
4929
|
+
import type { IGeoJSONData } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types';
|
|
4705
4930
|
/**
|
|
4706
4931
|
* A class representing annotation data within the map.
|
|
4707
4932
|
*
|
|
@@ -4709,7 +4934,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
|
|
|
4709
4934
|
* It includes some details on a map that may be relevant to safety or accessibility (e.g. Fire Extinguishers).
|
|
4710
4935
|
* Refer to the [Annotation Guide](https://developer.mappedin.com/web-sdk/annotations) for more information.
|
|
4711
4936
|
*/
|
|
4712
|
-
class Annotation extends BaseMapData {
|
|
4937
|
+
class Annotation extends BaseMapData implements IGeoJSONData {
|
|
4713
4938
|
#private;
|
|
4714
4939
|
/**
|
|
4715
4940
|
* @internal
|
|
@@ -4764,6 +4989,14 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation'
|
|
|
4764
4989
|
* @throws Will throw an error if the floor is not found.
|
|
4765
4990
|
*/
|
|
4766
4991
|
get floor(): Floor;
|
|
4992
|
+
/**
|
|
4993
|
+
* Gets the underlying GeoJSON Feature representation of this Annotation.
|
|
4994
|
+
*/
|
|
4995
|
+
get geoJSON(): {
|
|
4996
|
+
properties: null;
|
|
4997
|
+
type: import("@mappedin/mvf").FeatureType;
|
|
4998
|
+
geometry: import("@mappedin/mvf").Point;
|
|
4999
|
+
};
|
|
4767
5000
|
/**
|
|
4768
5001
|
* Converts the annotation information to a JSON object.
|
|
4769
5002
|
*
|
|
@@ -5125,9 +5358,9 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
|
|
|
5125
5358
|
objectEntranceNodeIdsByObstructionId: Record<string, string[]>;
|
|
5126
5359
|
obstructionIdByEntranceId: Record<string, string>;
|
|
5127
5360
|
connectionIdsByLatLon: Record<string, string[]>;
|
|
5128
|
-
mvfSpacesById: Record<string, Feature<
|
|
5361
|
+
mvfSpacesById: Record<string, Feature<import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString | Point, SpaceProperties>>;
|
|
5129
5362
|
mvfNodesById: Record<string, Feature<Point, import("@mappedin/mvf").NodeProperties>>;
|
|
5130
|
-
mvfObstructionById: Record<string, Feature<import("@mappedin/mvf").
|
|
5363
|
+
mvfObstructionById: Record<string, Feature<import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString, import("@mappedin/mvf").ObstructionProperties>>;
|
|
5131
5364
|
mvfFloorsById: Record<string, MVFFloor>;
|
|
5132
5365
|
mvfFloorStacksById: Record<string, MVFFloorStack>;
|
|
5133
5366
|
mvfConnectionsById: Record<string, MVFConnection>;
|
|
@@ -5142,7 +5375,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
|
|
|
5142
5375
|
[floorId: string]: Feature<Point, import("@mappedin/mvf").NodeProperties>[];
|
|
5143
5376
|
};
|
|
5144
5377
|
mvfSpacesByFloorId: {
|
|
5145
|
-
[floorId: string]: Feature<
|
|
5378
|
+
[floorId: string]: Feature<import("@mappedin/mvf").Polygon | import("@mappedin/mvf").LineString | Point, SpaceProperties>[];
|
|
5146
5379
|
};
|
|
5147
5380
|
mvfPoisByFloorId: {
|
|
5148
5381
|
[floorId: string]: Feature<Point, SpaceProperties>[];
|
|
@@ -5161,51 +5394,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/utils/data-creation' {
|
|
|
5161
5394
|
};
|
|
5162
5395
|
}
|
|
5163
5396
|
|
|
5164
|
-
declare module '@mappedin/react-sdk/mappedin-js/src/map-data-objects/types' {
|
|
5165
|
-
import type Area from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/area';
|
|
5166
|
-
import type Door from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/door';
|
|
5167
|
-
import type Floor from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/floor';
|
|
5168
|
-
import type Space from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/space';
|
|
5169
|
-
import type PointOfInterest from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/poi';
|
|
5170
|
-
import type Annotation from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/annotation';
|
|
5171
|
-
import type Connection from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/connection';
|
|
5172
|
-
import type MapObject from '@mappedin/react-sdk/mappedin-js/src/map-data-objects/object';
|
|
5173
|
-
import type { EnterpriseLocation as MvfEnterpriseLocation, EnterpriseCategory as MvfEnterpriseCategory, ParsedMVFLocalePack } from '@mappedin/mvf';
|
|
5174
|
-
import type { PartialExcept } from '@mappedin/mvf/dist/locale';
|
|
5175
|
-
import type { LocalePackUrls } from '@packages/internal/mvf-utils';
|
|
5176
|
-
import type { LanguagePackHydrationItem } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
5177
|
-
import type { EnvControl } from '@packages/internal/mvf-utils/mvf-utils';
|
|
5178
|
-
/**
|
|
5179
|
-
* Places are the main objects that can be searched for.
|
|
5180
|
-
*/
|
|
5181
|
-
export type Places = Space | Floor | Door | Connection | MapObject | PointOfInterest | Annotation | Area;
|
|
5182
|
-
export type LocationWithLocale = PartialExcept<MvfEnterpriseLocation, 'id'>;
|
|
5183
|
-
export type CategoryWithLocale = PartialExcept<MvfEnterpriseCategory, 'id'>;
|
|
5184
|
-
export type LanguagePack = {
|
|
5185
|
-
type: 'downloaded';
|
|
5186
|
-
data: ParsedMVFLocalePack;
|
|
5187
|
-
optimized: {
|
|
5188
|
-
locations: Record<string, LocationWithLocale> | undefined;
|
|
5189
|
-
categories: Record<string, CategoryWithLocale> | undefined;
|
|
5190
|
-
};
|
|
5191
|
-
} | {
|
|
5192
|
-
type: 'initial';
|
|
5193
|
-
optimized: {
|
|
5194
|
-
locations: Record<string, MvfEnterpriseLocation>;
|
|
5195
|
-
categories: Record<string, MvfEnterpriseCategory>;
|
|
5196
|
-
};
|
|
5197
|
-
};
|
|
5198
|
-
export type TMapDataInternalOptions = {
|
|
5199
|
-
env?: EnvControl;
|
|
5200
|
-
enterprise?: boolean;
|
|
5201
|
-
outdoorViewToken?: string;
|
|
5202
|
-
localePacksUrls?: LocalePackUrls;
|
|
5203
|
-
languagePacks?: LanguagePackHydrationItem[];
|
|
5204
|
-
binaryBundle?: Uint8Array;
|
|
5205
|
-
sasToken?: string;
|
|
5206
|
-
};
|
|
5207
|
-
}
|
|
5208
|
-
|
|
5209
5397
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes' {
|
|
5210
5398
|
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
5211
5399
|
import { Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
@@ -5286,6 +5474,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/inspector/inspec
|
|
|
5286
5474
|
export type InspectorOption = Partial<InspectorState>;
|
|
5287
5475
|
}
|
|
5288
5476
|
|
|
5477
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/types' {
|
|
5478
|
+
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
5479
|
+
export type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
5480
|
+
}
|
|
5481
|
+
|
|
5289
5482
|
declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
5290
5483
|
import './marker.scss';
|
|
5291
5484
|
import { Vector2 } from 'three';
|
|
@@ -5312,6 +5505,12 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
5312
5505
|
* Whether the marker is enabled
|
|
5313
5506
|
*/
|
|
5314
5507
|
enabled: boolean;
|
|
5508
|
+
/**
|
|
5509
|
+
* Whether the label is visible IF is is enabled
|
|
5510
|
+
* this can be used to have more granular control of whether the label shows up,
|
|
5511
|
+
* for example, if someone implements a layer system that shows/hides
|
|
5512
|
+
*/
|
|
5513
|
+
visible: boolean;
|
|
5315
5514
|
/**
|
|
5316
5515
|
* HTML content of the marker as text
|
|
5317
5516
|
*/
|
|
@@ -5339,6 +5538,14 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
5339
5538
|
*/
|
|
5340
5539
|
interactive?: boolean | 'pointer-events-auto';
|
|
5341
5540
|
};
|
|
5541
|
+
/**
|
|
5542
|
+
* Anchor point for the marker. This will determine the position of the marker relative to the position. A list will place the marker in the first empty placement.
|
|
5543
|
+
*/
|
|
5544
|
+
anchor: MarkerAnchor | MarkerAnchor[];
|
|
5545
|
+
/**
|
|
5546
|
+
* Dynamic resize of the marker. If set to true, the marker will resize based on the content.
|
|
5547
|
+
*/
|
|
5548
|
+
dynamicResize: boolean;
|
|
5342
5549
|
};
|
|
5343
5550
|
export const addMarkerOptionsSchema: z.ZodObject<{
|
|
5344
5551
|
rank: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["low", "medium", "high", "always-visible"]>, z.ZodNumber]>>;
|
|
@@ -5349,15 +5556,15 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
5349
5556
|
}, "strip", z.ZodTypeAny, {
|
|
5350
5557
|
interactive?: boolean | "pointer-events-auto" | undefined;
|
|
5351
5558
|
id?: string | undefined;
|
|
5352
|
-
anchor?: "center" | "left" | "right" | "
|
|
5353
|
-
rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
|
|
5559
|
+
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;
|
|
5354
5560
|
dynamicResize?: boolean | undefined;
|
|
5561
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5355
5562
|
}, {
|
|
5356
5563
|
interactive?: boolean | "pointer-events-auto" | undefined;
|
|
5357
5564
|
id?: string | undefined;
|
|
5358
|
-
anchor?: "center" | "left" | "right" | "
|
|
5359
|
-
rank?: number | "high" | "low" | "medium" | "always-visible" | undefined;
|
|
5565
|
+
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;
|
|
5360
5566
|
dynamicResize?: boolean | undefined;
|
|
5567
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5361
5568
|
}>;
|
|
5362
5569
|
export function validateMarker(coordinate: Position, contentHTML: string, options: AddMarkerOptions): void;
|
|
5363
5570
|
export type MarkerAnchor = 'top' | 'bottom' | 'left' | 'right' | 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
@@ -5403,6 +5610,11 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
5403
5610
|
options: Required<AddMarkerOptions>;
|
|
5404
5611
|
projection: Vector2;
|
|
5405
5612
|
enabled: boolean;
|
|
5613
|
+
/**
|
|
5614
|
+
* Whether the marker can be shown, which is decided by the collision engine
|
|
5615
|
+
*/
|
|
5616
|
+
canShow: boolean;
|
|
5617
|
+
visible: boolean;
|
|
5406
5618
|
offscreen: boolean;
|
|
5407
5619
|
activeStrategyIndex: number;
|
|
5408
5620
|
strategyIndex: number;
|
|
@@ -5424,7 +5636,6 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
5424
5636
|
visibilityNeedsUpdate: 'show' | 'hide' | false;
|
|
5425
5637
|
constructor(contentHtml: string, options?: AddMarkerOptions);
|
|
5426
5638
|
updateDimensions(width?: number, height?: number): void;
|
|
5427
|
-
visible: boolean;
|
|
5428
5639
|
animation: Animation | null;
|
|
5429
5640
|
currentStrategyIndex: number;
|
|
5430
5641
|
onStrategySelected: (strategyIndex: number, force?: boolean) => void;
|
|
@@ -5447,7 +5658,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/marker' {
|
|
|
5447
5658
|
|
|
5448
5659
|
declare module '@mappedin/react-sdk/geojson/src/components/path' {
|
|
5449
5660
|
import { Vector3 } from 'three';
|
|
5450
|
-
import type {
|
|
5661
|
+
import type { BufferGeometry, LineSegments } from 'three';
|
|
5451
5662
|
import type { EntityId, Position } from '@mappedin/react-sdk/geojson/src/types';
|
|
5452
5663
|
import type { PathMaterial, PatMeshContainer } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
5453
5664
|
import type { FeatureCollection, Point } from 'geojson';
|
|
@@ -5626,7 +5837,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/path' {
|
|
|
5626
5837
|
mesh: PatMeshContainer;
|
|
5627
5838
|
material?: PathMaterial;
|
|
5628
5839
|
geometry?: BufferGeometry;
|
|
5629
|
-
outline?:
|
|
5840
|
+
outline?: LineSegments;
|
|
5630
5841
|
feature: FeatureCollection<Point, PathProperties>;
|
|
5631
5842
|
options: AddPathOptions;
|
|
5632
5843
|
nearRadius: number;
|
|
@@ -5660,7 +5871,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5660
5871
|
import type { EntityId, Position } from '@mappedin/react-sdk/geojson/src/types';
|
|
5661
5872
|
import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
5662
5873
|
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
5663
|
-
import type { CollisionRankingTier } from '@mappedin/react-sdk/geojson/src';
|
|
5874
|
+
import type { CollisionRankingTier, GeometryState } from '@mappedin/react-sdk/geojson/src';
|
|
5664
5875
|
import { z } from 'zod';
|
|
5665
5876
|
import type { PackedBBoxes } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
|
|
5666
5877
|
export const addLabelOptionsSchema: z.ZodObject<{
|
|
@@ -5742,6 +5953,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5742
5953
|
foregroundColor?: string | undefined;
|
|
5743
5954
|
backgroundColor?: string | undefined;
|
|
5744
5955
|
} | undefined;
|
|
5956
|
+
margin?: number | undefined;
|
|
5745
5957
|
marker?: {
|
|
5746
5958
|
size?: number | undefined;
|
|
5747
5959
|
foregroundColor?: {
|
|
@@ -5753,7 +5965,6 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5753
5965
|
inactive?: string | undefined;
|
|
5754
5966
|
} | undefined;
|
|
5755
5967
|
} | undefined;
|
|
5756
|
-
margin?: number | undefined;
|
|
5757
5968
|
}, {
|
|
5758
5969
|
text?: {
|
|
5759
5970
|
size?: number | undefined;
|
|
@@ -5763,6 +5974,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5763
5974
|
foregroundColor?: string | undefined;
|
|
5764
5975
|
backgroundColor?: string | undefined;
|
|
5765
5976
|
} | undefined;
|
|
5977
|
+
margin?: number | undefined;
|
|
5766
5978
|
marker?: {
|
|
5767
5979
|
size?: number | undefined;
|
|
5768
5980
|
foregroundColor?: {
|
|
@@ -5774,11 +5986,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5774
5986
|
inactive?: string | undefined;
|
|
5775
5987
|
} | undefined;
|
|
5776
5988
|
} | undefined;
|
|
5777
|
-
margin?: number | undefined;
|
|
5778
5989
|
}>>;
|
|
5779
5990
|
}, "strip", z.ZodTypeAny, {
|
|
5780
5991
|
interactive?: boolean | undefined;
|
|
5781
|
-
rank?: number | "
|
|
5992
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5782
5993
|
appearance?: {
|
|
5783
5994
|
text?: {
|
|
5784
5995
|
size?: number | undefined;
|
|
@@ -5788,6 +5999,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5788
5999
|
foregroundColor?: string | undefined;
|
|
5789
6000
|
backgroundColor?: string | undefined;
|
|
5790
6001
|
} | undefined;
|
|
6002
|
+
margin?: number | undefined;
|
|
5791
6003
|
marker?: {
|
|
5792
6004
|
size?: number | undefined;
|
|
5793
6005
|
foregroundColor?: {
|
|
@@ -5799,11 +6011,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5799
6011
|
inactive?: string | undefined;
|
|
5800
6012
|
} | undefined;
|
|
5801
6013
|
} | undefined;
|
|
5802
|
-
margin?: number | undefined;
|
|
5803
6014
|
} | undefined;
|
|
5804
6015
|
}, {
|
|
5805
6016
|
interactive?: boolean | undefined;
|
|
5806
|
-
rank?: number | "
|
|
6017
|
+
rank?: number | "low" | "medium" | "high" | "always-visible" | undefined;
|
|
5807
6018
|
appearance?: {
|
|
5808
6019
|
text?: {
|
|
5809
6020
|
size?: number | undefined;
|
|
@@ -5813,6 +6024,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5813
6024
|
foregroundColor?: string | undefined;
|
|
5814
6025
|
backgroundColor?: string | undefined;
|
|
5815
6026
|
} | undefined;
|
|
6027
|
+
margin?: number | undefined;
|
|
5816
6028
|
marker?: {
|
|
5817
6029
|
size?: number | undefined;
|
|
5818
6030
|
foregroundColor?: {
|
|
@@ -5824,10 +6036,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
5824
6036
|
inactive?: string | undefined;
|
|
5825
6037
|
} | undefined;
|
|
5826
6038
|
} | undefined;
|
|
5827
|
-
margin?: number | undefined;
|
|
5828
6039
|
} | undefined;
|
|
5829
6040
|
}>;
|
|
5830
|
-
export function validateLabel(coordinate: Position
|
|
6041
|
+
export function validateLabel(coordinate: Position | EntityId<GeometryState>, text: string, options: AddLabelOptions): void;
|
|
5831
6042
|
export const labelThemes: {
|
|
5832
6043
|
lightOnDark: {
|
|
5833
6044
|
text: {
|
|
@@ -6085,6 +6296,12 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
6085
6296
|
* Whether the label is enabled
|
|
6086
6297
|
*/
|
|
6087
6298
|
enabled: boolean;
|
|
6299
|
+
/**
|
|
6300
|
+
* Whether the label is visible IF is is enabled
|
|
6301
|
+
* this can be used to have more granular control of whether the label shows up,
|
|
6302
|
+
* for example, if someone implements a layer system that shows/hides,
|
|
6303
|
+
*/
|
|
6304
|
+
visible: boolean;
|
|
6088
6305
|
/**
|
|
6089
6306
|
* Text content of the label
|
|
6090
6307
|
*/
|
|
@@ -6120,6 +6337,10 @@ declare module '@mappedin/react-sdk/geojson/src/components/label' {
|
|
|
6120
6337
|
visible: boolean;
|
|
6121
6338
|
enabled: boolean;
|
|
6122
6339
|
offscreen: boolean;
|
|
6340
|
+
/**
|
|
6341
|
+
* Whether the label can be shown, which is decided by the collision engine
|
|
6342
|
+
*/
|
|
6343
|
+
canShow: boolean;
|
|
6123
6344
|
activeBoundingBox: {
|
|
6124
6345
|
x: number;
|
|
6125
6346
|
y: number;
|
|
@@ -6171,9 +6392,12 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
|
|
|
6171
6392
|
import type { StackComponent } from '@mappedin/react-sdk/geojson/src/components/stack';
|
|
6172
6393
|
import type { MarkerState } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
6173
6394
|
import type { LabelState } from '@mappedin/react-sdk/geojson/src/components/label';
|
|
6395
|
+
import type { Geometry3DTypes } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
6174
6396
|
import { Geometry3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
6175
6397
|
import type { PathState } from '@mappedin/react-sdk/geojson/src/components/path';
|
|
6176
6398
|
import type { InteractionComponent } from '@mappedin/react-sdk/geojson/src/components/interaction';
|
|
6399
|
+
import type { BatchedText } from '@mappedin/react-sdk/geojson/src/services/text3d/text3d';
|
|
6400
|
+
import type { EntityTypes } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
6177
6401
|
export enum GroupContainerComponents {
|
|
6178
6402
|
Stack = 0,
|
|
6179
6403
|
Interaction = 1
|
|
@@ -6200,7 +6424,8 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
|
|
|
6200
6424
|
};
|
|
6201
6425
|
export class GroupContainerObject3D extends Object3D {
|
|
6202
6426
|
childrenIds: Set<string | number>;
|
|
6203
|
-
|
|
6427
|
+
children: (GroupContainerObject3D | GeometryGroupObject3D | BatchedText | Geometry2D['object3d'] | NonNullable<Geometry3D['object3d']>)[];
|
|
6428
|
+
readonly type: "group-container";
|
|
6204
6429
|
userData: {
|
|
6205
6430
|
entityId: string | number;
|
|
6206
6431
|
entities2D: Set<string | number>;
|
|
@@ -6208,8 +6433,8 @@ declare module '@mappedin/react-sdk/geojson/src/entities/group-container' {
|
|
|
6208
6433
|
};
|
|
6209
6434
|
components: [StackComponent?, InteractionComponent?];
|
|
6210
6435
|
constructor(id: string);
|
|
6211
|
-
addEntity(entityGroupOrContainer: GroupContainerObject3D | GeometryGroupObject3D | Geometry2D |
|
|
6212
|
-
removeEntity(entityGroupOrContainer:
|
|
6436
|
+
addEntity(entityGroupOrContainer: GroupContainerObject3D | GeometryGroupObject3D | Geometry2D | Geometry3DTypes): void;
|
|
6437
|
+
removeEntity(entityGroupOrContainer: EntityTypes): void;
|
|
6213
6438
|
setVisible(visible: boolean): void;
|
|
6214
6439
|
setAltitude(altitude: number): void;
|
|
6215
6440
|
get altitude(): number;
|
|
@@ -6289,7 +6514,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry-group' {
|
|
|
6289
6514
|
export type ChildUpdatable<T> = T extends LineStyle ? Partial<Pick<LineStyle, 'color' | 'opacity' | 'visible'>> : Partial<Pick<PaintStyle, 'color' | 'opacity' | 'visible'>>;
|
|
6290
6515
|
export class GeometryGroupObject3D extends Object3D {
|
|
6291
6516
|
visible: boolean;
|
|
6292
|
-
readonly type
|
|
6517
|
+
readonly type: "geometry-group";
|
|
6293
6518
|
components: [GeometryGroupStyleComponent];
|
|
6294
6519
|
userData: {
|
|
6295
6520
|
entityId: string | number;
|
|
@@ -6320,7 +6545,8 @@ declare module '@mappedin/react-sdk/geojson/src/types/geometry' {
|
|
|
6320
6545
|
}
|
|
6321
6546
|
|
|
6322
6547
|
declare module '@mappedin/react-sdk/geojson/src/types' {
|
|
6323
|
-
import {
|
|
6548
|
+
import type { Camera } from 'three';
|
|
6549
|
+
import { Mesh, Object3D, InstancedMesh } from 'three';
|
|
6324
6550
|
import type { Geometry2D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
|
|
6325
6551
|
import type { Position } from '@mappedin/react-sdk/geojson/src/types/geometry';
|
|
6326
6552
|
import type { GeometryState } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
@@ -6332,13 +6558,14 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
|
|
|
6332
6558
|
import type { MarkerState } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
6333
6559
|
import type { ImageState } from '@mappedin/react-sdk/geojson/src/components/image';
|
|
6334
6560
|
import type { ShapeState } from '@mappedin/react-sdk/geojson/src/components/custom';
|
|
6335
|
-
import type { Geometry3D } from '@mappedin/react-sdk/geojson/src/entities';
|
|
6336
6561
|
import type { Group as TweenGroup } from '@tweenjs/tween.js';
|
|
6337
|
-
import { MaterialSide } from '@mappedin/react-sdk/geojson/src/components/
|
|
6562
|
+
import type { MaterialSide } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
6563
|
+
import type { Geometry3DTypes } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
6564
|
+
import type { Text3DState } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
6338
6565
|
/**
|
|
6339
6566
|
* The state of an entity, which can be a geometry, geometry group, group container, path, model, label, or marker.
|
|
6340
6567
|
*/
|
|
6341
|
-
export type EntityState = GeometryState | GeometryGroupState | GroupContainerState | PathState | ModelState | LabelState | MarkerState | ImageState | ShapeState;
|
|
6568
|
+
export type EntityState = GeometryState | GeometryGroupState | GroupContainerState | PathState | ModelState | LabelState | MarkerState | ImageState | Text3DState | ShapeState;
|
|
6342
6569
|
/**
|
|
6343
6570
|
* 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
|
|
6344
6571
|
* to `getState` and `setState` of the entity.
|
|
@@ -6605,14 +6832,18 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
|
|
|
6605
6832
|
export type MapEventPayload<EventName extends keyof MapEvent> = MapEvent[EventName] extends {
|
|
6606
6833
|
data: null;
|
|
6607
6834
|
} ? MapEvent[EventName]['data'] : MapEvent[EventName];
|
|
6608
|
-
|
|
6835
|
+
/**
|
|
6836
|
+
* All entities in 3D
|
|
6837
|
+
*/
|
|
6838
|
+
export type All3DTypes = Geometry3DTypes | GeometryGroupObject3D | GroupContainerObject3D;
|
|
6609
6839
|
export type RendererState = {
|
|
6610
|
-
geometry3DMap: Map<string | number,
|
|
6840
|
+
geometry3DMap: Map<string | number, All3DTypes>;
|
|
6611
6841
|
geometry2DMap: Map<string | number, Geometry2D>;
|
|
6612
6842
|
geometry2DIdsInScene: Set<Geometry2D['id']>;
|
|
6613
|
-
geometry3DIdsInScene: Set<
|
|
6843
|
+
geometry3DIdsInScene: Set<All3DTypes['id']>;
|
|
6614
6844
|
entityScene: GroupContainerObject3D;
|
|
6615
6845
|
hoverColor: string;
|
|
6846
|
+
text3dHoverColor: string;
|
|
6616
6847
|
center?: Position;
|
|
6617
6848
|
insetsPadding: InsetPadding;
|
|
6618
6849
|
shouldMeasureCanvas: boolean;
|
|
@@ -6626,10 +6857,14 @@ declare module '@mappedin/react-sdk/geojson/src/types' {
|
|
|
6626
6857
|
tweenGroup: TweenGroup;
|
|
6627
6858
|
cameraObject: Camera;
|
|
6628
6859
|
};
|
|
6860
|
+
/**
|
|
6861
|
+
* All of the entities in the scene
|
|
6862
|
+
*/
|
|
6863
|
+
export type EntityTypes = Geometry3DTypes | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D;
|
|
6629
6864
|
}
|
|
6630
6865
|
|
|
6631
6866
|
declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
6632
|
-
import type { Texture, BufferGeometry, LineSegments, Mesh
|
|
6867
|
+
import type { Texture, BufferGeometry, LineSegments, Mesh } from 'three';
|
|
6633
6868
|
import { BatchedMesh, Color, Vector3 } from 'three';
|
|
6634
6869
|
import type { BatchedStandardMaterial } from '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimization/batched-material';
|
|
6635
6870
|
import type { Position } from '@mappedin/react-sdk/geojson/src/types';
|
|
@@ -6637,7 +6872,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
|
6637
6872
|
import type { BBox } from '@turf/turf';
|
|
6638
6873
|
import { type ImageProperties } from '@mappedin/react-sdk/geojson/src/components/image';
|
|
6639
6874
|
import { type BaseTextAreaProperties } from '@mappedin/mvf';
|
|
6875
|
+
import type { Text } from 'troika-three-text';
|
|
6640
6876
|
export class EntityBatchedMesh extends BatchedMesh {
|
|
6877
|
+
type: "entityBatchedMesh";
|
|
6641
6878
|
userData: {
|
|
6642
6879
|
entities: {
|
|
6643
6880
|
[key: number]: string | number;
|
|
@@ -6646,6 +6883,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
|
6646
6883
|
};
|
|
6647
6884
|
}
|
|
6648
6885
|
export type MeshComponentProperties = {
|
|
6886
|
+
id: string;
|
|
6649
6887
|
image?: ImageProperties & {
|
|
6650
6888
|
position: GeoJsonPosition;
|
|
6651
6889
|
path: string;
|
|
@@ -6725,6 +6963,14 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
|
6725
6963
|
* The top texture URL of the geometry
|
|
6726
6964
|
*/
|
|
6727
6965
|
topTexture?: string;
|
|
6966
|
+
/**
|
|
6967
|
+
* Whether the geometry is currently in hover state or not
|
|
6968
|
+
*/
|
|
6969
|
+
hovered: boolean;
|
|
6970
|
+
/**
|
|
6971
|
+
* The render order of the geometry
|
|
6972
|
+
*/
|
|
6973
|
+
renderOrder?: number;
|
|
6728
6974
|
};
|
|
6729
6975
|
export class MeshComponent {
|
|
6730
6976
|
#private;
|
|
@@ -6732,7 +6978,11 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
|
6732
6978
|
focusMesh?: Mesh;
|
|
6733
6979
|
outline?: LineSegments;
|
|
6734
6980
|
imageMesh?: Mesh;
|
|
6735
|
-
|
|
6981
|
+
/**
|
|
6982
|
+
* holds a pointer to space label text if the polygon has label active.
|
|
6983
|
+
*/
|
|
6984
|
+
textMesh?: Text;
|
|
6985
|
+
textEntityId?: string;
|
|
6736
6986
|
readonly type = "geometry";
|
|
6737
6987
|
dirty: boolean;
|
|
6738
6988
|
detached: boolean;
|
|
@@ -6744,7 +6994,8 @@ declare module '@mappedin/react-sdk/geojson/src/components/mesh' {
|
|
|
6744
6994
|
constructor(feature: Feature<Polygon | LineString | MultiPolygon | MultiLineString, MeshComponentProperties>);
|
|
6745
6995
|
get visible(): boolean;
|
|
6746
6996
|
set visible(visible: boolean);
|
|
6747
|
-
|
|
6997
|
+
get renderOrder(): number;
|
|
6998
|
+
set renderOrder(value: number);
|
|
6748
6999
|
focusable: boolean;
|
|
6749
7000
|
color: Color;
|
|
6750
7001
|
topColor: Color;
|
|
@@ -7073,9 +7324,9 @@ declare module '@mappedin/react-sdk/geojson/src/components/model' {
|
|
|
7073
7324
|
outline?: LineSegments;
|
|
7074
7325
|
geometry?: Object3D;
|
|
7075
7326
|
material?: BatchedStandardMaterial;
|
|
7076
|
-
feature: Feature<Point>;
|
|
7327
|
+
feature: Feature<Point, ModelProperties>;
|
|
7077
7328
|
instanceIndex?: number;
|
|
7078
|
-
constructor(feature: Feature<Point>);
|
|
7329
|
+
constructor(feature: Feature<Point, ModelProperties>);
|
|
7079
7330
|
visible: boolean;
|
|
7080
7331
|
setOpacity(): void;
|
|
7081
7332
|
color: Color;
|
|
@@ -7094,14 +7345,14 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7094
7345
|
import type { GroupContainerState } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
7095
7346
|
import { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
7096
7347
|
import { PubSub } from '@mappedin/react-sdk/packages/common/pubsub';
|
|
7348
|
+
import { Renderer } from '@mappedin/react-sdk/geojson/src/services/renderer';
|
|
7097
7349
|
import { CollisionSystem } from '@mappedin/react-sdk/geojson/src/systems/collisions/system';
|
|
7098
7350
|
import { InteractionSystem } from '@mappedin/react-sdk/geojson/src/systems/interactions';
|
|
7099
|
-
import { ZoomInterpolationSystem } from '@mappedin/react-sdk/geojson/src/systems/zoom-interpolation/zoom-interpolation';
|
|
7100
7351
|
import type { AddMarkerOptions, MarkerState } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
7101
7352
|
import type { GLTFExportOptions } from '@mappedin/react-sdk/geojson/src/systems/exporter';
|
|
7102
7353
|
import { ExporterSystem } from '@mappedin/react-sdk/geojson/src/systems/exporter';
|
|
7103
7354
|
import type { AddLabelOptions, LabelState } from '@mappedin/react-sdk/geojson/src/components/label';
|
|
7104
|
-
import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, ModelStyle, EntityState, EntityId, MapEvent, MapEventPayload, RendererState } from '@mappedin/react-sdk/geojson/src/types';
|
|
7355
|
+
import type { LineStyle, PaintStyle, RendererCoreOptions, Position, ModelProperties, ModelStyle, EntityState, EntityId, MapEvent, MapEventPayload, RendererState, EntityTypes } from '@mappedin/react-sdk/geojson/src/types';
|
|
7105
7356
|
import { MeshCreationAndOptimizationSystem } from '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimization/system';
|
|
7106
7357
|
import { DOMVisibilitySystem } from '@mappedin/react-sdk/geojson/src/systems/dom-visiblity/system';
|
|
7107
7358
|
import { TwoDProjectionSystem } from '@mappedin/react-sdk/geojson/src/systems/2d-projection/system';
|
|
@@ -7109,7 +7360,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7109
7360
|
import { DrawSystem } from '@mappedin/react-sdk/geojson/src/systems/draw/system';
|
|
7110
7361
|
import { TwoDVisibilitySystem } from '@mappedin/react-sdk/geojson/src/systems/2d-visibility/system';
|
|
7111
7362
|
import { RenderSystem } from '@mappedin/react-sdk/geojson/src/systems/render/system';
|
|
7112
|
-
import type { Position as GeoJsonPosition, FeatureCollection, LineString, MultiPolygon, Polygon, Point, Feature } from 'geojson';
|
|
7363
|
+
import type { Position as GeoJsonPosition, FeatureCollection, LineString, MultiPolygon, Polygon, Point, Feature, BBox } from 'geojson';
|
|
7113
7364
|
import type { AddPathOptions, PathProperties, PathState, PathUpdateState } from '@mappedin/react-sdk/geojson/src/components/path';
|
|
7114
7365
|
import { StackSystem } from '@mappedin/react-sdk/geojson/src/systems/stack/system';
|
|
7115
7366
|
import { CameraSystem } from '@mappedin/react-sdk/geojson/src/systems/camera';
|
|
@@ -7131,11 +7382,13 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7131
7382
|
import { OutdoorLayers } from '@mappedin/react-sdk/geojson/src/systems/outdoor-layers/system';
|
|
7132
7383
|
import { PathSystem } from '@mappedin/react-sdk/geojson/src/systems/path';
|
|
7133
7384
|
import { type ImageProperties, type ImageState, type ImageStyle } from '@mappedin/react-sdk/geojson/src/components/image';
|
|
7385
|
+
import type { AddText3DOptions, Text3DState, UpdatableText3DState } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
7134
7386
|
import { MeshDetachmentSystem } from '@mappedin/react-sdk/geojson/src/systems/mesh-detachment/system';
|
|
7135
7387
|
import { MeshModificationSystem } from '@mappedin/react-sdk/geojson/src/systems/mesh-modification/system';
|
|
7136
7388
|
import { PreRenderSystem } from '@mappedin/react-sdk/geojson/src/systems/pre-render/system';
|
|
7137
|
-
import {
|
|
7389
|
+
import { Text3DSystem } from '@mappedin/react-sdk/geojson/src/systems/text3d/system';
|
|
7138
7390
|
import { Group as TweenGroup } from '@tweenjs/tween.js';
|
|
7391
|
+
import { Debug } from '@mappedin/react-sdk/geojson/src/utils/debug';
|
|
7139
7392
|
export type * from '@mappedin/react-sdk/geojson/src/types';
|
|
7140
7393
|
export const raycaster: Raycaster;
|
|
7141
7394
|
/**
|
|
@@ -7155,7 +7408,6 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7155
7408
|
panBoundsSystem: PanBoundsSystem;
|
|
7156
7409
|
collisionSystem: CollisionSystem;
|
|
7157
7410
|
interactionSystem: InteractionSystem;
|
|
7158
|
-
zoomInterpolationSystem: ZoomInterpolationSystem;
|
|
7159
7411
|
meshOptimizationSystem: MeshCreationAndOptimizationSystem;
|
|
7160
7412
|
domVisiblitySystem: DOMVisibilitySystem;
|
|
7161
7413
|
domMutationSystem: DOMResizeSystem;
|
|
@@ -7178,16 +7430,18 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7178
7430
|
meshDetachmentSystem: MeshDetachmentSystem;
|
|
7179
7431
|
meshModificationSystem: MeshModificationSystem;
|
|
7180
7432
|
preRenderSystem: PreRenderSystem;
|
|
7181
|
-
|
|
7433
|
+
text3DSystem: Text3DSystem;
|
|
7182
7434
|
};
|
|
7183
7435
|
export type MapViewState = {
|
|
7184
7436
|
readonly type: 'map-view';
|
|
7185
|
-
hoverColor
|
|
7437
|
+
hoverColor: string;
|
|
7438
|
+
text3dHoverColor: string;
|
|
7186
7439
|
};
|
|
7187
7440
|
class Core extends PubSub<MapEvent> {
|
|
7188
7441
|
#private;
|
|
7189
7442
|
options: Omit<RendererCoreOptions, 'outdoorView'>;
|
|
7190
7443
|
container: HTMLElement;
|
|
7444
|
+
Debug: Debug;
|
|
7191
7445
|
/**
|
|
7192
7446
|
* The view camera is used for projecting both the outdoor map and our scene
|
|
7193
7447
|
*/
|
|
@@ -7224,7 +7478,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7224
7478
|
id: string;
|
|
7225
7479
|
type: string;
|
|
7226
7480
|
};
|
|
7227
|
-
getParentContainer: (parent?: EntityId<GroupContainerState> | string | number | null, defaultToScene?: boolean) => GroupContainerObject3D | undefined;
|
|
7481
|
+
getParentContainer: (parent?: EntityId<GroupContainerState> | EntityId<GeometryState> | string | number | null, defaultToScene?: boolean) => GroupContainerObject3D | undefined;
|
|
7228
7482
|
/**
|
|
7229
7483
|
* Add a custom THREE.js entity to the map. The geometry is placed at the GeoJSON coordinate and includes a `setup` and `update` methods.
|
|
7230
7484
|
* Setup is called when the first time the geometry visible, and update is called every render frame.
|
|
@@ -7247,13 +7501,38 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7247
7501
|
*/
|
|
7248
7502
|
addMarker2D(coordinate: Position, contentHTML: string, options?: AddMarkerOptions, parent?: EntityId<GroupContainerState> | string | number | null): EntityId<MarkerState> | undefined;
|
|
7249
7503
|
/**
|
|
7250
|
-
*
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7254
|
-
*
|
|
7255
|
-
|
|
7256
|
-
|
|
7504
|
+
* Labels an existing 3D geometry with a text area.
|
|
7505
|
+
*
|
|
7506
|
+
* @param meshGeometryId - The ID of the target 3D geometry to label.
|
|
7507
|
+
* @param content - The text content to display.
|
|
7508
|
+
* @param options - Additional options for adding the text label, including:
|
|
7509
|
+
* - parentId: Optional ID of the parent container.
|
|
7510
|
+
* - appearance: Optional appearance settings for the text label.
|
|
7511
|
+
*
|
|
7512
|
+
* @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
|
|
7513
|
+
*
|
|
7514
|
+
* @example
|
|
7515
|
+
* ```typescript
|
|
7516
|
+
* const label = renderer.labelText3D('geometry123', 'Hello World', { parentId: 'parent456', appearance: { color: 'red' } });
|
|
7517
|
+
* if (label) {
|
|
7518
|
+
* console.log(`Label created with ID: ${label.id}`);
|
|
7519
|
+
* }
|
|
7520
|
+
*
|
|
7521
|
+
*/
|
|
7522
|
+
labelText3D(meshGeometryId: string, content: string, options?: AddText3DOptions & {
|
|
7523
|
+
parentId?: string;
|
|
7524
|
+
}): {
|
|
7525
|
+
id: string | number;
|
|
7526
|
+
type: "text3d";
|
|
7527
|
+
} | undefined;
|
|
7528
|
+
/**
|
|
7529
|
+
* Add a 2D label at a GeoJSON coordinate.
|
|
7530
|
+
*/
|
|
7531
|
+
addLabel2D(coordinate: Position, text: string, options?: AddLabelOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<LabelState> | undefined;
|
|
7532
|
+
/**
|
|
7533
|
+
* Add a Path along a set of GeoJSON coordinates that can be animated.
|
|
7534
|
+
*/
|
|
7535
|
+
addPath(geometry: FeatureCollection<Point, PathProperties>, options?: AddPathOptions, parent?: EntityId<GroupContainerState> | string | null): EntityId<PathState> | undefined;
|
|
7257
7536
|
/**
|
|
7258
7537
|
* Updates the watermark on the map.
|
|
7259
7538
|
*
|
|
@@ -7264,6 +7543,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7264
7543
|
* Remove an entity from the renderer and release associated resources.
|
|
7265
7544
|
*/
|
|
7266
7545
|
remove(object: string | number): void;
|
|
7546
|
+
remove(object: EntityTypes): void;
|
|
7267
7547
|
/**
|
|
7268
7548
|
* Show collision boxes for 2D entities for debugging
|
|
7269
7549
|
*/
|
|
@@ -7288,13 +7568,13 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7288
7568
|
* Get the current state of the map view, or any entity that was added, regardless of whether it is visible in the scene
|
|
7289
7569
|
*/
|
|
7290
7570
|
getState(): MapViewState;
|
|
7291
|
-
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;
|
|
7571
|
+
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;
|
|
7292
7572
|
getState(geometryOrGeometryId?: Record<string | number, any> | string | number): EntityState;
|
|
7293
7573
|
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;
|
|
7294
7574
|
/**
|
|
7295
7575
|
* Set the state of the map view or any entity that was added, regardless of whether it is visible in the scene.
|
|
7296
7576
|
*/
|
|
7297
|
-
setState(object: Partial<MapViewState
|
|
7577
|
+
setState(object: Partial<Omit<MapViewState, 'type'>>): void;
|
|
7298
7578
|
setState<T extends EntityId<LabelState>>(object: T | T['id'], state: Partial<LabelState>): void;
|
|
7299
7579
|
setState<T extends EntityId<MarkerState>>(object: T | T['id'], state: Partial<MarkerState>): void;
|
|
7300
7580
|
setState<T extends EntityId<GeometryGroupState>>(object: T | T['id'], state: Partial<GeometryGroupState>): void;
|
|
@@ -7304,6 +7584,7 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7304
7584
|
setState<T extends EntityId<PathState>>(object: T | T['id'], state: PathUpdateState): void;
|
|
7305
7585
|
setState<T extends EntityId<ModelState>>(object: T | T['id'], state: Partial<ModelState>): void;
|
|
7306
7586
|
setState<T extends EntityId<ImageState>>(object: T | T['id'], state: Partial<ImageState>): void;
|
|
7587
|
+
setState<T extends EntityId<Text3DState>>(object: T | T['id'], state: Partial<UpdatableText3DState>): void;
|
|
7307
7588
|
setState<T extends EntityState>(object: T | T['id'], state: Partial<T>): void;
|
|
7308
7589
|
/**
|
|
7309
7590
|
* Project a screen coordinate to a geographic coordinate
|
|
@@ -7346,6 +7627,10 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7346
7627
|
* Returns the background color of the renderer. Only applies to "standalone mode"
|
|
7347
7628
|
*/
|
|
7348
7629
|
get backgroundColor(): import("three").Color;
|
|
7630
|
+
/**
|
|
7631
|
+
* internal
|
|
7632
|
+
*/
|
|
7633
|
+
getThreeRenderer(): Renderer;
|
|
7349
7634
|
/**
|
|
7350
7635
|
* Returns the current scale of the map in metres per pixel.
|
|
7351
7636
|
*/
|
|
@@ -7357,6 +7642,13 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7357
7642
|
* @param layers The layers to filter out.
|
|
7358
7643
|
*/
|
|
7359
7644
|
hideOutdoorLayersUnderPoint: (point: Position, layers: string[]) => void;
|
|
7645
|
+
/**
|
|
7646
|
+
* Filters out layers at a certain point on the outdoor map. This can be used to hide the outdoor building footprint underneath the 3D geometry.
|
|
7647
|
+
* @param bbox The bounding box to filter layers under.
|
|
7648
|
+
* @param polygons The polygons to filter layers under.
|
|
7649
|
+
* @param layers The layers to filter out.
|
|
7650
|
+
*/
|
|
7651
|
+
hideOutdoorLayersIntersectingPolygons: (bbox: BBox, polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[], layers: string[]) => void;
|
|
7360
7652
|
/**
|
|
7361
7653
|
* Get the center of a geometry or bounding box.
|
|
7362
7654
|
* @param geometryOrBoundingBox Geometry, geometry id, or bounding box to get the center of.
|
|
@@ -7379,13 +7671,13 @@ declare module '@mappedin/react-sdk/geojson/src/renderer' {
|
|
|
7379
7671
|
* The render happens in an animation frame, not matter how frequently it is called
|
|
7380
7672
|
* @method render
|
|
7381
7673
|
*/
|
|
7382
|
-
render: () =>
|
|
7674
|
+
render: () => Promise<any> | undefined;
|
|
7383
7675
|
/**
|
|
7384
7676
|
* Perform a synchronous render of the scene. This bypasses the animation frame and renders immediately.
|
|
7385
7677
|
*
|
|
7386
7678
|
* Note: Only use this if you have an animation frame setup elsewhere
|
|
7387
7679
|
*/
|
|
7388
|
-
renderSync: () =>
|
|
7680
|
+
renderSync: () => Promise<any>;
|
|
7389
7681
|
/**
|
|
7390
7682
|
* @internal for testing
|
|
7391
7683
|
*/
|
|
@@ -7451,12 +7743,16 @@ declare module '@mappedin/react-sdk/geojson/src/camera' {
|
|
|
7451
7743
|
duration?: number;
|
|
7452
7744
|
easing?: EasingCurve;
|
|
7453
7745
|
};
|
|
7746
|
+
export type AnimateElevationOptions = AnimationOptions & {
|
|
7747
|
+
interruptible?: boolean;
|
|
7748
|
+
};
|
|
7454
7749
|
export type FocusOnOptions = AnimationOptions & {
|
|
7455
7750
|
bearing?: number;
|
|
7456
7751
|
pitch?: number;
|
|
7457
7752
|
padding?: InsetPaddingOption;
|
|
7458
7753
|
minZoomLevel?: number;
|
|
7459
7754
|
maxZoomLevel?: number;
|
|
7755
|
+
interruptible?: boolean;
|
|
7460
7756
|
};
|
|
7461
7757
|
export type AnimateToOptions = AnimationOptions & {
|
|
7462
7758
|
center?: Position;
|
|
@@ -7464,6 +7760,7 @@ declare module '@mappedin/react-sdk/geojson/src/camera' {
|
|
|
7464
7760
|
bearing?: number;
|
|
7465
7761
|
pitch?: number;
|
|
7466
7762
|
elevation?: number;
|
|
7763
|
+
interruptible?: boolean;
|
|
7467
7764
|
};
|
|
7468
7765
|
export const ANIMATION_TWEENS: {
|
|
7469
7766
|
linear: (amount: number) => number;
|
|
@@ -7579,7 +7876,7 @@ declare module '@mappedin/react-sdk/geojson/src/camera' {
|
|
|
7579
7876
|
* @param elevation The new elevation in meters.
|
|
7580
7877
|
* @param options The animation options.
|
|
7581
7878
|
*/
|
|
7582
|
-
animateElevation(elevation: number, options?:
|
|
7879
|
+
animateElevation(elevation: number, options?: AnimateElevationOptions): Promise<void>;
|
|
7583
7880
|
/**
|
|
7584
7881
|
* The padding around the edges of the map when focusing on a set of coordinates.
|
|
7585
7882
|
*/
|
|
@@ -7643,19 +7940,462 @@ declare module '@mappedin/react-sdk/geojson/src/utils/collision-ranking-tier' {
|
|
|
7643
7940
|
export function convertNumberToCollisionRankingTier(rank: number): CollisionRankingTier;
|
|
7644
7941
|
}
|
|
7645
7942
|
|
|
7943
|
+
declare module '@mappedin/react-sdk/geojson/src/components/text3d' {
|
|
7944
|
+
import type { Position } from '@mappedin/react-sdk/geojson/src/types';
|
|
7945
|
+
import { z } from 'zod';
|
|
7946
|
+
import type { Feature, Point } from 'geojson';
|
|
7947
|
+
import { Geometry3DObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
7948
|
+
import type { BatchedText, Text } from '@mappedin/react-sdk/geojson/src/services/text3d/text3d';
|
|
7949
|
+
import type { Text3DStyle } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
7950
|
+
import type { MeshComponentProperties } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
7951
|
+
import type { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
7952
|
+
/**
|
|
7953
|
+
* State representing an Text3D
|
|
7954
|
+
*/
|
|
7955
|
+
export type Text3DState = {
|
|
7956
|
+
readonly id: string | number;
|
|
7957
|
+
readonly type: 'text3d';
|
|
7958
|
+
/**
|
|
7959
|
+
* The position of the Text3D in [lon, lat, altitude]
|
|
7960
|
+
*/
|
|
7961
|
+
readonly position: Position;
|
|
7962
|
+
/**
|
|
7963
|
+
* Whether the Text3D is visible
|
|
7964
|
+
*/
|
|
7965
|
+
visible: boolean;
|
|
7966
|
+
/**
|
|
7967
|
+
* Attempt to keep the Text3D facing the camera as much as possible
|
|
7968
|
+
*/
|
|
7969
|
+
flipToFaceCamera: boolean;
|
|
7970
|
+
/**
|
|
7971
|
+
* Content of the text3d
|
|
7972
|
+
*/
|
|
7973
|
+
content: string;
|
|
7974
|
+
} & Text3DStyle;
|
|
7975
|
+
export const text3DStateSchema: z.ZodObject<{
|
|
7976
|
+
visible: z.ZodBoolean;
|
|
7977
|
+
color: z.ZodString;
|
|
7978
|
+
flipToFaceCamera: z.ZodBoolean;
|
|
7979
|
+
font: z.ZodOptional<z.ZodString>;
|
|
7980
|
+
fontSize: z.ZodNumber;
|
|
7981
|
+
margin: z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
|
|
7982
|
+
outlineColor: z.ZodString;
|
|
7983
|
+
outlineOpacity: z.ZodNumber;
|
|
7984
|
+
outlineBlur: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
7985
|
+
outlineWidth: z.ZodNumber;
|
|
7986
|
+
outlineOffsetX: z.ZodNumber;
|
|
7987
|
+
outlineOffsetY: z.ZodNumber;
|
|
7988
|
+
strokeWidth: z.ZodNumber;
|
|
7989
|
+
maxWidth: z.ZodOptional<z.ZodNumber>;
|
|
7990
|
+
maxHeight: z.ZodOptional<z.ZodNumber>;
|
|
7991
|
+
strokeOpacity: z.ZodNumber;
|
|
7992
|
+
strokeColor: z.ZodString;
|
|
7993
|
+
fillOpacity: z.ZodNumber;
|
|
7994
|
+
hoverColor: z.ZodOptional<z.ZodString>;
|
|
7995
|
+
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
7996
|
+
type: z.ZodLiteral<"text3d">;
|
|
7997
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
7998
|
+
content: z.ZodString;
|
|
7999
|
+
}, "strip", z.ZodTypeAny, {
|
|
8000
|
+
type: "text3d";
|
|
8001
|
+
id: string | number;
|
|
8002
|
+
color: string;
|
|
8003
|
+
position: [number, number, number];
|
|
8004
|
+
visible: boolean;
|
|
8005
|
+
flipToFaceCamera: boolean;
|
|
8006
|
+
fontSize: number;
|
|
8007
|
+
margin: number | [number, number, number, number];
|
|
8008
|
+
outlineColor: string;
|
|
8009
|
+
outlineOpacity: number;
|
|
8010
|
+
outlineBlur: string | number;
|
|
8011
|
+
outlineWidth: number;
|
|
8012
|
+
outlineOffsetX: number;
|
|
8013
|
+
outlineOffsetY: number;
|
|
8014
|
+
strokeWidth: number;
|
|
8015
|
+
strokeOpacity: number;
|
|
8016
|
+
strokeColor: string;
|
|
8017
|
+
fillOpacity: number;
|
|
8018
|
+
content: string;
|
|
8019
|
+
maxWidth?: number | undefined;
|
|
8020
|
+
font?: string | undefined;
|
|
8021
|
+
maxHeight?: number | undefined;
|
|
8022
|
+
hoverColor?: string | undefined;
|
|
8023
|
+
}, {
|
|
8024
|
+
type: "text3d";
|
|
8025
|
+
id: string | number;
|
|
8026
|
+
color: string;
|
|
8027
|
+
position: [number, number, number];
|
|
8028
|
+
visible: boolean;
|
|
8029
|
+
flipToFaceCamera: boolean;
|
|
8030
|
+
fontSize: number;
|
|
8031
|
+
margin: number | [number, number, number, number];
|
|
8032
|
+
outlineColor: string;
|
|
8033
|
+
outlineOpacity: number;
|
|
8034
|
+
outlineBlur: string | number;
|
|
8035
|
+
outlineWidth: number;
|
|
8036
|
+
outlineOffsetX: number;
|
|
8037
|
+
outlineOffsetY: number;
|
|
8038
|
+
strokeWidth: number;
|
|
8039
|
+
strokeOpacity: number;
|
|
8040
|
+
strokeColor: string;
|
|
8041
|
+
fillOpacity: number;
|
|
8042
|
+
content: string;
|
|
8043
|
+
maxWidth?: number | undefined;
|
|
8044
|
+
font?: string | undefined;
|
|
8045
|
+
maxHeight?: number | undefined;
|
|
8046
|
+
hoverColor?: string | undefined;
|
|
8047
|
+
}>;
|
|
8048
|
+
/**
|
|
8049
|
+
* @interface
|
|
8050
|
+
*/
|
|
8051
|
+
export type InitializeText3DState = Partial<Omit<Text3DState, 'id' | 'type'>>;
|
|
8052
|
+
export const initializeText3DStateSchema: z.ZodObject<Omit<{
|
|
8053
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
8054
|
+
color: z.ZodOptional<z.ZodString>;
|
|
8055
|
+
flipToFaceCamera: z.ZodOptional<z.ZodBoolean>;
|
|
8056
|
+
font: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8057
|
+
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
8058
|
+
margin: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
8059
|
+
outlineColor: z.ZodOptional<z.ZodString>;
|
|
8060
|
+
outlineOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8061
|
+
outlineBlur: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
8062
|
+
outlineWidth: z.ZodOptional<z.ZodNumber>;
|
|
8063
|
+
outlineOffsetX: z.ZodOptional<z.ZodNumber>;
|
|
8064
|
+
outlineOffsetY: z.ZodOptional<z.ZodNumber>;
|
|
8065
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
8066
|
+
maxWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8067
|
+
maxHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8068
|
+
strokeOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8069
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
8070
|
+
fillOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8071
|
+
hoverColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8072
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
8073
|
+
type: z.ZodOptional<z.ZodLiteral<"text3d">>;
|
|
8074
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
8075
|
+
content: z.ZodOptional<z.ZodString>;
|
|
8076
|
+
}, "type" | "id">, "strict", z.ZodTypeAny, {
|
|
8077
|
+
maxWidth?: number | undefined;
|
|
8078
|
+
color?: string | undefined;
|
|
8079
|
+
position?: [number, number, number] | undefined;
|
|
8080
|
+
visible?: boolean | undefined;
|
|
8081
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8082
|
+
font?: string | undefined;
|
|
8083
|
+
fontSize?: number | undefined;
|
|
8084
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8085
|
+
outlineColor?: string | undefined;
|
|
8086
|
+
outlineOpacity?: number | undefined;
|
|
8087
|
+
outlineBlur?: string | number | undefined;
|
|
8088
|
+
outlineWidth?: number | undefined;
|
|
8089
|
+
outlineOffsetX?: number | undefined;
|
|
8090
|
+
outlineOffsetY?: number | undefined;
|
|
8091
|
+
strokeWidth?: number | undefined;
|
|
8092
|
+
maxHeight?: number | undefined;
|
|
8093
|
+
strokeOpacity?: number | undefined;
|
|
8094
|
+
strokeColor?: string | undefined;
|
|
8095
|
+
fillOpacity?: number | undefined;
|
|
8096
|
+
hoverColor?: string | undefined;
|
|
8097
|
+
content?: string | undefined;
|
|
8098
|
+
}, {
|
|
8099
|
+
maxWidth?: number | undefined;
|
|
8100
|
+
color?: string | undefined;
|
|
8101
|
+
position?: [number, number, number] | undefined;
|
|
8102
|
+
visible?: boolean | undefined;
|
|
8103
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8104
|
+
font?: string | undefined;
|
|
8105
|
+
fontSize?: number | undefined;
|
|
8106
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8107
|
+
outlineColor?: string | undefined;
|
|
8108
|
+
outlineOpacity?: number | undefined;
|
|
8109
|
+
outlineBlur?: string | number | undefined;
|
|
8110
|
+
outlineWidth?: number | undefined;
|
|
8111
|
+
outlineOffsetX?: number | undefined;
|
|
8112
|
+
outlineOffsetY?: number | undefined;
|
|
8113
|
+
strokeWidth?: number | undefined;
|
|
8114
|
+
maxHeight?: number | undefined;
|
|
8115
|
+
strokeOpacity?: number | undefined;
|
|
8116
|
+
strokeColor?: string | undefined;
|
|
8117
|
+
fillOpacity?: number | undefined;
|
|
8118
|
+
hoverColor?: string | undefined;
|
|
8119
|
+
content?: string | undefined;
|
|
8120
|
+
}>;
|
|
8121
|
+
/**
|
|
8122
|
+
* At this moment updating text margin is not supported
|
|
8123
|
+
* Margin and content update are not handled at the moment.
|
|
8124
|
+
* @interface
|
|
8125
|
+
*/
|
|
8126
|
+
export type UpdatableText3DState = Omit<InitializeText3DState, 'margin' | 'position' | 'content'>;
|
|
8127
|
+
export const updateText3DStateSchema: z.ZodObject<Omit<Omit<{
|
|
8128
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
8129
|
+
color: z.ZodOptional<z.ZodString>;
|
|
8130
|
+
flipToFaceCamera: z.ZodOptional<z.ZodBoolean>;
|
|
8131
|
+
font: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8132
|
+
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
8133
|
+
margin: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
8134
|
+
outlineColor: z.ZodOptional<z.ZodString>;
|
|
8135
|
+
outlineOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8136
|
+
outlineBlur: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
8137
|
+
outlineWidth: z.ZodOptional<z.ZodNumber>;
|
|
8138
|
+
outlineOffsetX: z.ZodOptional<z.ZodNumber>;
|
|
8139
|
+
outlineOffsetY: z.ZodOptional<z.ZodNumber>;
|
|
8140
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
8141
|
+
maxWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8142
|
+
maxHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8143
|
+
strokeOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8144
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
8145
|
+
fillOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8146
|
+
hoverColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8147
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
8148
|
+
type: z.ZodOptional<z.ZodLiteral<"text3d">>;
|
|
8149
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
8150
|
+
content: z.ZodOptional<z.ZodString>;
|
|
8151
|
+
}, "type" | "id">, "maxWidth" | "position" | "margin" | "maxHeight" | "content">, "strict", z.ZodTypeAny, {
|
|
8152
|
+
color?: string | undefined;
|
|
8153
|
+
visible?: boolean | undefined;
|
|
8154
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8155
|
+
font?: string | undefined;
|
|
8156
|
+
fontSize?: number | undefined;
|
|
8157
|
+
outlineColor?: string | undefined;
|
|
8158
|
+
outlineOpacity?: number | undefined;
|
|
8159
|
+
outlineBlur?: string | number | undefined;
|
|
8160
|
+
outlineWidth?: number | undefined;
|
|
8161
|
+
outlineOffsetX?: number | undefined;
|
|
8162
|
+
outlineOffsetY?: number | undefined;
|
|
8163
|
+
strokeWidth?: number | undefined;
|
|
8164
|
+
strokeOpacity?: number | undefined;
|
|
8165
|
+
strokeColor?: string | undefined;
|
|
8166
|
+
fillOpacity?: number | undefined;
|
|
8167
|
+
hoverColor?: string | undefined;
|
|
8168
|
+
}, {
|
|
8169
|
+
color?: string | undefined;
|
|
8170
|
+
visible?: boolean | undefined;
|
|
8171
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8172
|
+
font?: string | undefined;
|
|
8173
|
+
fontSize?: number | undefined;
|
|
8174
|
+
outlineColor?: string | undefined;
|
|
8175
|
+
outlineOpacity?: number | undefined;
|
|
8176
|
+
outlineBlur?: string | number | undefined;
|
|
8177
|
+
outlineWidth?: number | undefined;
|
|
8178
|
+
outlineOffsetX?: number | undefined;
|
|
8179
|
+
outlineOffsetY?: number | undefined;
|
|
8180
|
+
strokeWidth?: number | undefined;
|
|
8181
|
+
strokeOpacity?: number | undefined;
|
|
8182
|
+
strokeColor?: string | undefined;
|
|
8183
|
+
fillOpacity?: number | undefined;
|
|
8184
|
+
hoverColor?: string | undefined;
|
|
8185
|
+
}>;
|
|
8186
|
+
export type Text3DProperties = {
|
|
8187
|
+
id: string;
|
|
8188
|
+
content: string;
|
|
8189
|
+
textArea?: MeshComponentProperties['textArea'];
|
|
8190
|
+
};
|
|
8191
|
+
export type AddText3DOptions = {
|
|
8192
|
+
appearance?: Partial<InitializeText3DState>;
|
|
8193
|
+
};
|
|
8194
|
+
export const addText3DOptionsSchema: z.ZodObject<{
|
|
8195
|
+
appearance: z.ZodOptional<z.ZodObject<Omit<{
|
|
8196
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
8197
|
+
color: z.ZodOptional<z.ZodString>;
|
|
8198
|
+
flipToFaceCamera: z.ZodOptional<z.ZodBoolean>;
|
|
8199
|
+
font: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8200
|
+
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
8201
|
+
margin: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
8202
|
+
outlineColor: z.ZodOptional<z.ZodString>;
|
|
8203
|
+
outlineOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8204
|
+
outlineBlur: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
8205
|
+
outlineWidth: z.ZodOptional<z.ZodNumber>;
|
|
8206
|
+
outlineOffsetX: z.ZodOptional<z.ZodNumber>;
|
|
8207
|
+
outlineOffsetY: z.ZodOptional<z.ZodNumber>;
|
|
8208
|
+
strokeWidth: z.ZodOptional<z.ZodNumber>;
|
|
8209
|
+
maxWidth: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8210
|
+
maxHeight: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
8211
|
+
strokeOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8212
|
+
strokeColor: z.ZodOptional<z.ZodString>;
|
|
8213
|
+
fillOpacity: z.ZodOptional<z.ZodNumber>;
|
|
8214
|
+
hoverColor: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
8215
|
+
id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
|
|
8216
|
+
type: z.ZodOptional<z.ZodLiteral<"text3d">>;
|
|
8217
|
+
position: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
8218
|
+
content: z.ZodOptional<z.ZodString>;
|
|
8219
|
+
}, "type" | "id">, "strict", z.ZodTypeAny, {
|
|
8220
|
+
maxWidth?: number | undefined;
|
|
8221
|
+
color?: string | undefined;
|
|
8222
|
+
position?: [number, number, number] | undefined;
|
|
8223
|
+
visible?: boolean | undefined;
|
|
8224
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8225
|
+
font?: string | undefined;
|
|
8226
|
+
fontSize?: number | undefined;
|
|
8227
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8228
|
+
outlineColor?: string | undefined;
|
|
8229
|
+
outlineOpacity?: number | undefined;
|
|
8230
|
+
outlineBlur?: string | number | undefined;
|
|
8231
|
+
outlineWidth?: number | undefined;
|
|
8232
|
+
outlineOffsetX?: number | undefined;
|
|
8233
|
+
outlineOffsetY?: number | undefined;
|
|
8234
|
+
strokeWidth?: number | undefined;
|
|
8235
|
+
maxHeight?: number | undefined;
|
|
8236
|
+
strokeOpacity?: number | undefined;
|
|
8237
|
+
strokeColor?: string | undefined;
|
|
8238
|
+
fillOpacity?: number | undefined;
|
|
8239
|
+
hoverColor?: string | undefined;
|
|
8240
|
+
content?: string | undefined;
|
|
8241
|
+
}, {
|
|
8242
|
+
maxWidth?: number | undefined;
|
|
8243
|
+
color?: string | undefined;
|
|
8244
|
+
position?: [number, number, number] | undefined;
|
|
8245
|
+
visible?: boolean | undefined;
|
|
8246
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8247
|
+
font?: string | undefined;
|
|
8248
|
+
fontSize?: number | undefined;
|
|
8249
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8250
|
+
outlineColor?: string | undefined;
|
|
8251
|
+
outlineOpacity?: number | undefined;
|
|
8252
|
+
outlineBlur?: string | number | undefined;
|
|
8253
|
+
outlineWidth?: number | undefined;
|
|
8254
|
+
outlineOffsetX?: number | undefined;
|
|
8255
|
+
outlineOffsetY?: number | undefined;
|
|
8256
|
+
strokeWidth?: number | undefined;
|
|
8257
|
+
maxHeight?: number | undefined;
|
|
8258
|
+
strokeOpacity?: number | undefined;
|
|
8259
|
+
strokeColor?: string | undefined;
|
|
8260
|
+
fillOpacity?: number | undefined;
|
|
8261
|
+
hoverColor?: string | undefined;
|
|
8262
|
+
content?: string | undefined;
|
|
8263
|
+
}>>;
|
|
8264
|
+
parentId: z.ZodOptional<z.ZodString>;
|
|
8265
|
+
}, "strict", z.ZodTypeAny, {
|
|
8266
|
+
parentId?: string | undefined;
|
|
8267
|
+
appearance?: {
|
|
8268
|
+
maxWidth?: number | undefined;
|
|
8269
|
+
color?: string | undefined;
|
|
8270
|
+
position?: [number, number, number] | undefined;
|
|
8271
|
+
visible?: boolean | undefined;
|
|
8272
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8273
|
+
font?: string | undefined;
|
|
8274
|
+
fontSize?: number | undefined;
|
|
8275
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8276
|
+
outlineColor?: string | undefined;
|
|
8277
|
+
outlineOpacity?: number | undefined;
|
|
8278
|
+
outlineBlur?: string | number | undefined;
|
|
8279
|
+
outlineWidth?: number | undefined;
|
|
8280
|
+
outlineOffsetX?: number | undefined;
|
|
8281
|
+
outlineOffsetY?: number | undefined;
|
|
8282
|
+
strokeWidth?: number | undefined;
|
|
8283
|
+
maxHeight?: number | undefined;
|
|
8284
|
+
strokeOpacity?: number | undefined;
|
|
8285
|
+
strokeColor?: string | undefined;
|
|
8286
|
+
fillOpacity?: number | undefined;
|
|
8287
|
+
hoverColor?: string | undefined;
|
|
8288
|
+
content?: string | undefined;
|
|
8289
|
+
} | undefined;
|
|
8290
|
+
}, {
|
|
8291
|
+
parentId?: string | undefined;
|
|
8292
|
+
appearance?: {
|
|
8293
|
+
maxWidth?: number | undefined;
|
|
8294
|
+
color?: string | undefined;
|
|
8295
|
+
position?: [number, number, number] | undefined;
|
|
8296
|
+
visible?: boolean | undefined;
|
|
8297
|
+
flipToFaceCamera?: boolean | undefined;
|
|
8298
|
+
font?: string | undefined;
|
|
8299
|
+
fontSize?: number | undefined;
|
|
8300
|
+
margin?: number | [number, number, number, number] | undefined;
|
|
8301
|
+
outlineColor?: string | undefined;
|
|
8302
|
+
outlineOpacity?: number | undefined;
|
|
8303
|
+
outlineBlur?: string | number | undefined;
|
|
8304
|
+
outlineWidth?: number | undefined;
|
|
8305
|
+
outlineOffsetX?: number | undefined;
|
|
8306
|
+
outlineOffsetY?: number | undefined;
|
|
8307
|
+
strokeWidth?: number | undefined;
|
|
8308
|
+
maxHeight?: number | undefined;
|
|
8309
|
+
strokeOpacity?: number | undefined;
|
|
8310
|
+
strokeColor?: string | undefined;
|
|
8311
|
+
fillOpacity?: number | undefined;
|
|
8312
|
+
hoverColor?: string | undefined;
|
|
8313
|
+
content?: string | undefined;
|
|
8314
|
+
} | undefined;
|
|
8315
|
+
}>;
|
|
8316
|
+
export class Text3DComponent {
|
|
8317
|
+
mesh: Geometry3DObject3D;
|
|
8318
|
+
textMesh?: Text;
|
|
8319
|
+
readonly type = "text3d";
|
|
8320
|
+
feature: Feature<Point, Text3DProperties>;
|
|
8321
|
+
constructor(feature: Feature<Point, Text3DProperties>);
|
|
8322
|
+
get visible(): boolean;
|
|
8323
|
+
set visible(visible: boolean);
|
|
8324
|
+
parent?: GroupContainerObject3D;
|
|
8325
|
+
batchedText?: BatchedText;
|
|
8326
|
+
/**
|
|
8327
|
+
* if this Text3DComponent is a polygon label, populate this id with the polygon entity id
|
|
8328
|
+
* This id is used to prevent drawing text for the same polygon.
|
|
8329
|
+
*/
|
|
8330
|
+
polygonEntityId?: string;
|
|
8331
|
+
}
|
|
8332
|
+
}
|
|
8333
|
+
|
|
8334
|
+
declare module '@mappedin/react-sdk/geojson/src/entities/utils' {
|
|
8335
|
+
import type { CollisionRankingTier, GeometryState, LabelState, RendererCore } from '@mappedin/react-sdk/geojson/src';
|
|
8336
|
+
import { type MarkerState } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
8337
|
+
import type { PathUpdateState } from '@mappedin/react-sdk/geojson/src/components/path';
|
|
8338
|
+
import type { EntityTypes, All3DTypes, Position, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
8339
|
+
import type { KeysOfUnion } from '@mappedin/react-sdk/geojson/src/utils';
|
|
8340
|
+
import { GeometryGroupObject3D, type GeometryGroupState } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
8341
|
+
import { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
8342
|
+
import { Geometry3D, Geometry3DObject3D, type Geometry3DTypes, type TextGeometry3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
8343
|
+
import { Geometry2D, Geometry2DObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
|
|
8344
|
+
import type { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles/style';
|
|
8345
|
+
import type { GeometryGroupStyleComponent } from '@mappedin/react-sdk/geojson/src/components/geometry-group-style';
|
|
8346
|
+
import { type Text3DState, type UpdatableText3DState } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
8347
|
+
export function updateInteractivity(entity: All3DTypes | Geometry2D, update: boolean | undefined, state: RendererState): boolean;
|
|
8348
|
+
export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update: Partial<Pick<GeometryGroupState, 'color' | 'topColor'>>): boolean | undefined;
|
|
8349
|
+
export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
|
|
8350
|
+
export function updateImageProps(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
8351
|
+
export function updateHeight(entity: Geometry3D | GeometryGroupObject3D, state: RendererState, update?: number): boolean;
|
|
8352
|
+
export function updateColor(entity: Geometry3DTypes | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
8353
|
+
export function updatePosition(entity: EntityTypes, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
|
|
8354
|
+
export function updateParent(entity: EntityTypes, update: GroupContainerObject3D | undefined): boolean;
|
|
8355
|
+
export function updateEnabled(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: boolean | undefined): void;
|
|
8356
|
+
export function updateMarker(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<MarkerState> | undefined, state: RendererState): boolean;
|
|
8357
|
+
export function updateRank(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: CollisionRankingTier | undefined): boolean;
|
|
8358
|
+
export function updateLabel(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<LabelState> | undefined, state: RendererState): void;
|
|
8359
|
+
export function updateHoverColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: string): void;
|
|
8360
|
+
/** Sets a geometry to be in hovered state, until manually unset or the user interacts with it. */
|
|
8361
|
+
export function updateHovered(entity: Geometry3D, update?: boolean): boolean;
|
|
8362
|
+
export function updateFlipImageToFaceCamera(entity: EntityTypes, update?: boolean): void;
|
|
8363
|
+
export function updateVisibility(entity: EntityTypes, update?: boolean): boolean;
|
|
8364
|
+
export function updateOpacity(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, state: RendererState, update?: number): boolean;
|
|
8365
|
+
export function updateGroupTexture(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Pick<GeometryGroupStyleComponent, 'texture' | 'topTexture'>): void;
|
|
8366
|
+
export function updateIndividualGeometryTexture(entity: Geometry3D, update?: Pick<StyleComponent, 'texture' | 'topTexture'>): boolean;
|
|
8367
|
+
export function updateIndividualGeometryOpacity(entity: Geometry3D, update?: number): boolean;
|
|
8368
|
+
export function updateAltitude(entity: EntityTypes, update?: number): boolean;
|
|
8369
|
+
export function updateOutline(entity: All3DTypes, update?: boolean): boolean;
|
|
8370
|
+
export function updateFocusable(entity: Geometry3D, update?: boolean): boolean;
|
|
8371
|
+
export function updateIndividualGeometryRenderOrder(entity: Geometry3D, update?: number): boolean;
|
|
8372
|
+
export function handlePathUpdate(geometry: Geometry3DTypes, update: PathUpdateState): void;
|
|
8373
|
+
export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
|
|
8374
|
+
export function getEntityId(entityOrEntityId: Geometry2D | Geometry3DTypes | Geometry2DObject3D | Geometry3DObject3D | GeometryGroupObject3D | GroupContainerObject3D | string | number): any;
|
|
8375
|
+
export function assetGeometryIsText3D(geometry: Geometry3DTypes): asserts geometry is TextGeometry3D;
|
|
8376
|
+
/**
|
|
8377
|
+
* @internal
|
|
8378
|
+
*/
|
|
8379
|
+
export const TEXT3D_STYLE_UPDATE_PROPS: KeysOfUnion<UpdatableText3DState>[];
|
|
8380
|
+
/**
|
|
8381
|
+
* Handle state update of the text3d geometry.
|
|
8382
|
+
*/
|
|
8383
|
+
export function handleText3DUpdate(geometry: TextGeometry3D, update: Partial<Text3DState>): void;
|
|
8384
|
+
}
|
|
8385
|
+
|
|
7646
8386
|
declare module '@mappedin/react-sdk/packages/geojson-navigator' {
|
|
7647
8387
|
export * from '@mappedin/react-sdk/packages/geojson-navigator/src';
|
|
7648
8388
|
}
|
|
7649
8389
|
|
|
7650
8390
|
declare module '@mappedin/react-sdk/geojson/src/utils' {
|
|
7651
|
-
import type { Box3, Camera as THREECamera } from 'three';
|
|
8391
|
+
import type { Box3, Object3D, Camera as THREECamera } from 'three';
|
|
7652
8392
|
import { Box2 } from 'three';
|
|
7653
8393
|
import { MercatorCoordinate } from '@mappedin/react-sdk/packages/outdoor-context-v4';
|
|
7654
8394
|
import type { CustomLayerInterface } from '@mappedin/react-sdk/packages/outdoor-context-v4';
|
|
7655
8395
|
import type { GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
7656
8396
|
import type { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
7657
8397
|
import type { Geometry2D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
|
|
7658
|
-
import type {
|
|
8398
|
+
import type { Geometry3DTypes } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
7659
8399
|
import type { Position, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
7660
8400
|
import type { Camera } from '@mappedin/react-sdk/geojson/src/camera';
|
|
7661
8401
|
export function cartesianToGeographic(centerLat: number, centerLon: number, x: number, y: number): {
|
|
@@ -7666,7 +8406,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
|
|
|
7666
8406
|
x: number;
|
|
7667
8407
|
y: number;
|
|
7668
8408
|
};
|
|
7669
|
-
export const populateGeometry3DIdsInScene: (tree:
|
|
8409
|
+
export const populateGeometry3DIdsInScene: (tree: GroupContainerObject3D["children"][0] | Object3D, entities: RendererState["geometry3DIdsInScene"]) => Set<string | number>;
|
|
7670
8410
|
export const populateGeometry2DIdsInScene: (tree: any, entities: Set<Geometry2D["id"]>) => Set<string | number>;
|
|
7671
8411
|
export function convertMapLibreStylePaintProps(paint: any): {
|
|
7672
8412
|
color: any;
|
|
@@ -7722,7 +8462,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
|
|
|
7722
8462
|
* so OR = CO * tan(F/2)
|
|
7723
8463
|
*/
|
|
7724
8464
|
export function getProjectionScaleFactor(FOV: number, canvasHeight: number, zoom: number): number;
|
|
7725
|
-
export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>):
|
|
8465
|
+
export function getGeometryByGeometryId(state: RendererState, geometryOrGeometryId?: string | number | Record<string, any>): Geometry3DTypes | GeometryGroupObject3D | GroupContainerObject3D | Geometry2D | undefined;
|
|
7726
8466
|
export function getBoundingBoxCenter(bbox: Position[]): [number, number];
|
|
7727
8467
|
export { getCornersOfBoundingBox } from '@mappedin/react-sdk/geojson/src/utils/bounding-box';
|
|
7728
8468
|
export function isFiniteBox(box: Box2 | Box3): boolean;
|
|
@@ -7731,6 +8471,7 @@ declare module '@mappedin/react-sdk/geojson/src/utils' {
|
|
|
7731
8471
|
export { shouldDisableOffscreenCanvas } from '@mappedin/react-sdk/geojson/src/utils/browser';
|
|
7732
8472
|
export { noop, pick, isEmpty, type KeysOfUnion } from '@mappedin/react-sdk/geojson/src/utils/fp';
|
|
7733
8473
|
export { transformRequest } from '@mappedin/react-sdk/geojson/src/utils/tranform-request';
|
|
8474
|
+
export { normalizeAngle } from '@mappedin/react-sdk/geojson/src/utils/math';
|
|
7734
8475
|
}
|
|
7735
8476
|
|
|
7736
8477
|
declare module '@mappedin/react-sdk/geojson/src/utils/constants' {
|
|
@@ -7741,56 +8482,26 @@ declare module '@mappedin/react-sdk/geojson/src/utils/constants' {
|
|
|
7741
8482
|
}
|
|
7742
8483
|
}
|
|
7743
8484
|
|
|
7744
|
-
declare module '@mappedin/react-sdk/geojson/src/
|
|
7745
|
-
import type
|
|
7746
|
-
|
|
7747
|
-
|
|
7748
|
-
export type TRendererOptions = {
|
|
7749
|
-
alpha: boolean;
|
|
7750
|
-
onWebGLRendererError: (e: Error) => void;
|
|
7751
|
-
xRayPath: boolean;
|
|
8485
|
+
declare module '@mappedin/react-sdk/geojson/src/utils/debug' {
|
|
8486
|
+
import type Core from '@mappedin/react-sdk/geojson/src/renderer';
|
|
8487
|
+
const DEFAULT_DEBUG_STATE: {
|
|
8488
|
+
showPolygonLabelTextAreaMesh: boolean;
|
|
7752
8489
|
};
|
|
7753
|
-
export
|
|
7754
|
-
|
|
7755
|
-
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
/**
|
|
7762
|
-
* Dispose of the renderer and its buffers.
|
|
7763
|
-
*/
|
|
7764
|
-
destroy(): void;
|
|
7765
|
-
/**
|
|
7766
|
-
* Re-render the scene, depending on which parts of the scene have been
|
|
7767
|
-
* invalidated.
|
|
7768
|
-
*
|
|
7769
|
-
* @method render
|
|
7770
|
-
* @param renderTarget {null or WebGLRenderTarget}
|
|
7771
|
-
* @param scene {Scene}
|
|
7772
|
-
* @param sceneCamera {Camera}
|
|
7773
|
-
*/
|
|
7774
|
-
render(scene: Scene, sceneCamera: Camera): void;
|
|
7775
|
-
clear(): void;
|
|
7776
|
-
/**
|
|
7777
|
-
* Set the size of the renderer, composer, and all its internal buffers.
|
|
7778
|
-
*
|
|
7779
|
-
* @method setBufferSize
|
|
7780
|
-
* @param width {number}
|
|
7781
|
-
* @param height {number}
|
|
7782
|
-
*/
|
|
7783
|
-
setBufferSize(width: number, height: number): void;
|
|
7784
|
-
/**
|
|
7785
|
-
* Set the color and opacity that will be drawn behind the scene.
|
|
7786
|
-
*
|
|
7787
|
-
* @method setBackgroundColor
|
|
7788
|
-
* @param color {Color}
|
|
7789
|
-
* @param alpha {number}
|
|
7790
|
-
*/
|
|
7791
|
-
setBackgroundColor(color: any, alpha: any): void;
|
|
7792
|
-
domElement(): HTMLCanvasElement | undefined;
|
|
8490
|
+
export type DebugState = typeof DEFAULT_DEBUG_STATE;
|
|
8491
|
+
export class Debug {
|
|
8492
|
+
state: {
|
|
8493
|
+
showPolygonLabelTextAreaMesh: boolean;
|
|
8494
|
+
};
|
|
8495
|
+
core: Core;
|
|
8496
|
+
constructor(core: Core);
|
|
8497
|
+
update(updateState: Partial<DebugState>): void;
|
|
7793
8498
|
}
|
|
8499
|
+
export {};
|
|
8500
|
+
}
|
|
8501
|
+
|
|
8502
|
+
declare module '@mappedin/react-sdk/geojson/src/services/test-mode' {
|
|
8503
|
+
export function enableTestMode(): void;
|
|
8504
|
+
export function isTestMode(): boolean;
|
|
7794
8505
|
}
|
|
7795
8506
|
|
|
7796
8507
|
declare module '@mappedin/react-sdk/geojson/src/systems/watermark/system' {
|
|
@@ -7878,6 +8589,36 @@ declare module '@mappedin/react-sdk/geojson/src/systems/watermark/system' {
|
|
|
7878
8589
|
}
|
|
7879
8590
|
}
|
|
7880
8591
|
|
|
8592
|
+
declare module '@mappedin/react-sdk/geojson/src/systems/text3d/system' {
|
|
8593
|
+
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
8594
|
+
import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
|
|
8595
|
+
import { PubSub } from '@packages/internal/common';
|
|
8596
|
+
import type { BatchedText } from '@mappedin/react-sdk/geojson/src/services/text3d/text3d';
|
|
8597
|
+
import { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
8598
|
+
import type { Text } from 'troika-three-text';
|
|
8599
|
+
export class Text3DSystem extends PubSub<{
|
|
8600
|
+
render: undefined;
|
|
8601
|
+
}> {
|
|
8602
|
+
textSet: Set<string>;
|
|
8603
|
+
batchedTextMap: Map<GroupContainerObject3D, Promise<BatchedText>>;
|
|
8604
|
+
remove(id: string): void;
|
|
8605
|
+
constructor(rendererState: RendererState, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']);
|
|
8606
|
+
update(cameraRotationRadians: number): Promise<void[]>;
|
|
8607
|
+
showTextAreaMesh(): void;
|
|
8608
|
+
hideTextAreaMesh(): void;
|
|
8609
|
+
}
|
|
8610
|
+
/**
|
|
8611
|
+
* Preload fonts and optionally pre-generate the SDF textures for particular glyphs up front.
|
|
8612
|
+
* This is to avoid ondemand font generation can take long.
|
|
8613
|
+
* @param fontUrl - url of the font file served.
|
|
8614
|
+
* @returns A promise that resolves when the font is loaded
|
|
8615
|
+
*
|
|
8616
|
+
*/
|
|
8617
|
+
export function preloadFont(fontUrl?: string): Promise<string>;
|
|
8618
|
+
export function doesBatchedTextContainsText(batchedText: BatchedText, text: Text): boolean;
|
|
8619
|
+
export const DEFAULT_VERTICAL_OFFSET = 0.5;
|
|
8620
|
+
}
|
|
8621
|
+
|
|
7881
8622
|
declare module '@mappedin/react-sdk/geojson/src/systems/exporter' {
|
|
7882
8623
|
export { ExporterSystem, type GLTFExportOptions } from '@mappedin/react-sdk/geojson/src/systems/exporter/exporter';
|
|
7883
8624
|
}
|
|
@@ -7917,15 +8658,21 @@ declare module '@mappedin/react-sdk/geojson/src/systems/html-controls/system' {
|
|
|
7917
8658
|
}
|
|
7918
8659
|
}
|
|
7919
8660
|
|
|
8661
|
+
declare module '@mappedin/react-sdk/geojson/src/components/styles' {
|
|
8662
|
+
export { StyleComponent, DEFAULT_COLOR, type MaterialSide } from '@mappedin/react-sdk/geojson/src/components/styles/style';
|
|
8663
|
+
export { Text3DStyleComponent, type Text3DStyle, DEFAULT_TEXT_STYLE } from '@mappedin/react-sdk/geojson/src/components/styles/text-style';
|
|
8664
|
+
}
|
|
8665
|
+
|
|
7920
8666
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
7921
|
-
import type {
|
|
8667
|
+
import type { RendererCore, WatermarkOptions } from '@mappedin/core-sdk';
|
|
7922
8668
|
import { type TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
7923
8669
|
import { WALLS, DOORS } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
7924
8670
|
import type MapData from '@mappedin/react-sdk/mappedin-js/src/map-data';
|
|
7925
8671
|
import type { FloorStack, MapDataInternal } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
7926
|
-
import { Coordinate, MapObject, Space, Floor, Door } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8672
|
+
import { Facade, Coordinate, MapObject, Space, Floor, Door } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
7927
8673
|
import type { MapView } from '@mappedin/react-sdk/mappedin-js/src/map-view';
|
|
7928
|
-
import { Label, Marker,
|
|
8674
|
+
import { Label, Marker, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8675
|
+
import { Text3D as Text3DView, type Image } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
7929
8676
|
import { Navigation } from '@mappedin/react-sdk/mappedin-js/src/navigation';
|
|
7930
8677
|
import type { TGetState, TUpdateState } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
7931
8678
|
import { Camera } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera';
|
|
@@ -7941,6 +8688,8 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
|
7941
8688
|
import { Shapes } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/shapes';
|
|
7942
8689
|
import { Style } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/style';
|
|
7943
8690
|
import Outdoor from '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor';
|
|
8691
|
+
import { type BBox } from 'geojson';
|
|
8692
|
+
import { Text3D } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/text3d';
|
|
7944
8693
|
export class GeoJsonApi {
|
|
7945
8694
|
core: RendererCore;
|
|
7946
8695
|
mapObjects: GeojsonApiMapObject[];
|
|
@@ -7950,10 +8699,15 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
|
7950
8699
|
};
|
|
7951
8700
|
mapData?: MapData;
|
|
7952
8701
|
currentMap: GeojsonApiMapObject;
|
|
7953
|
-
hiddenOutdoorGeometries: [
|
|
8702
|
+
hiddenOutdoorGeometries: [
|
|
8703
|
+
BBox,
|
|
8704
|
+
polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
|
|
8705
|
+
layers: string[]
|
|
8706
|
+
][];
|
|
7954
8707
|
mapView: MapView;
|
|
7955
8708
|
Camera: Camera;
|
|
7956
8709
|
Labels: Labels;
|
|
8710
|
+
Text3D: Text3D;
|
|
7957
8711
|
Markers: Markers;
|
|
7958
8712
|
Models: Models;
|
|
7959
8713
|
Paths: Paths;
|
|
@@ -7967,7 +8721,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
|
7967
8721
|
get DynamicFocus(): import("./dynamic-focus").DynamicFocus;
|
|
7968
8722
|
get StackedMaps(): import("..").StackedMaps;
|
|
7969
8723
|
constructor(rendererCore: RendererCore, mapView: MapView);
|
|
7970
|
-
updateState<T extends Space | MapObject | Label | Shape | Marker | Door | WALLS | DOORS | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
|
|
8724
|
+
updateState<T extends Space | Text3DView | MapObject | Label | Shape | Marker | Door | Facade | WALLS | DOORS | (string & NonNullable<unknown>)>(target: T, state: TUpdateState<T>): void;
|
|
7971
8725
|
update: () => void;
|
|
7972
8726
|
getMapDataInternal(): MapDataInternal | undefined;
|
|
7973
8727
|
getMapData(): MapData | undefined;
|
|
@@ -7977,7 +8731,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/api' {
|
|
|
7977
8731
|
updateWatermark(options: Omit<WatermarkOptions, 'onClick'>): void;
|
|
7978
8732
|
get currentFloorStack(): FloorStack;
|
|
7979
8733
|
get currentFloor(): Floor;
|
|
7980
|
-
getState<T extends Space | MapObject | Label | Marker |
|
|
8734
|
+
getState<T extends Space | Text3DView | MapObject | Label | Marker | Image | Shape | string>(target: T): TGetState<T>;
|
|
7981
8735
|
setHoverColor(c: string): void;
|
|
7982
8736
|
getHoverColor(): string | undefined;
|
|
7983
8737
|
createCoordinate(latitude: number, longitude: number, floor?: Floor): Coordinate;
|
|
@@ -8000,16 +8754,17 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
8000
8754
|
import type { Position, AddLabelOptions, RendererCore, PathState, MarkerState, LineStyle, PaintStyle, EntityId } from '@mappedin/core-sdk';
|
|
8001
8755
|
import { FloorObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object';
|
|
8002
8756
|
import type { Coordinate, Directions, Floor, TAddMarkerOptions, TAddPathOptions, TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
8003
|
-
import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddModel, TAddImageOptions, TDirectionInstruction } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
8757
|
+
import type { GLTFExportOptions, TAnimationOptions, TAddModelOptions, TAddModel, TAddImageOptions, TDirectionInstruction, TAddText3DOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
8004
8758
|
import { type AggregatedStyleMap } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils';
|
|
8005
8759
|
import { StackedMaps } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/stacked-maps/stacked-maps';
|
|
8006
8760
|
import type { TFloorChangeReason } from '@mappedin/react-sdk/mappedin-js/src/events';
|
|
8007
|
-
import type { Path, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8008
|
-
import
|
|
8761
|
+
import type { Path, Shape, Label } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8762
|
+
import { type Door, type PointOfInterest, type MapObject, type Node, type MapDataInternal, Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8009
8763
|
import { type GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
|
|
8010
8764
|
import { FloorStackObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-object';
|
|
8011
8765
|
import { DynamicFocus } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/dynamic-focus';
|
|
8012
8766
|
export const FLOOR_HEIGHT = 5;
|
|
8767
|
+
import type { Text3DState } from '@mappedin/core-sdk/src/components/text3d';
|
|
8013
8768
|
export class GeojsonApiMapObject extends PubSub<{
|
|
8014
8769
|
'floor-change': {
|
|
8015
8770
|
reason?: TFloorChangeReason;
|
|
@@ -8057,7 +8812,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
8057
8812
|
Images: {
|
|
8058
8813
|
add: (target: Position, url: string, opts: TAddImageOptions & {
|
|
8059
8814
|
floorId?: string;
|
|
8060
|
-
}) => EntityId<import("
|
|
8815
|
+
}) => EntityId<import("@mappedin/core-sdk/src/components/image").ImageState> | undefined;
|
|
8061
8816
|
remove: (id: string) => void;
|
|
8062
8817
|
removeAll: () => void;
|
|
8063
8818
|
};
|
|
@@ -8078,16 +8833,25 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
8078
8833
|
}) => string;
|
|
8079
8834
|
remove: (customGeometry: Shape) => string;
|
|
8080
8835
|
};
|
|
8836
|
+
Text3D: {
|
|
8837
|
+
label: (target: Space, content?: string, options?: TAddText3DOptions) => Text3DInfo | undefined;
|
|
8838
|
+
labelAll: (option?: TAddText3DOptions) => Text3DInfo[];
|
|
8839
|
+
remove: (id: string) => string | undefined;
|
|
8840
|
+
};
|
|
8081
8841
|
Labels: {
|
|
8082
8842
|
all: ({ onCreate, }: {
|
|
8083
8843
|
onCreate: (labelId: string | number, text: string, target: Space | Door | Coordinate | PointOfInterest | MapObject | Node) => void;
|
|
8084
8844
|
}) => void;
|
|
8085
8845
|
add: (coordinate: Position, text: string, opts?: AddLabelOptions & {
|
|
8086
8846
|
floorId?: string;
|
|
8847
|
+
spaceId?: string;
|
|
8087
8848
|
}) => {
|
|
8088
8849
|
id: string | number;
|
|
8089
8850
|
};
|
|
8090
|
-
remove: (
|
|
8851
|
+
remove: ({ label, entityId }: {
|
|
8852
|
+
label: Label;
|
|
8853
|
+
entityId: string;
|
|
8854
|
+
}) => void;
|
|
8091
8855
|
removeAll: () => void;
|
|
8092
8856
|
};
|
|
8093
8857
|
Paths: {
|
|
@@ -8099,6 +8863,10 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object' {
|
|
|
8099
8863
|
};
|
|
8100
8864
|
constructor(id: string, mapDataInternal: MapDataInternal | undefined, options: TShow3DMapOptions | undefined, api: GeoJsonApi);
|
|
8101
8865
|
}
|
|
8866
|
+
export type Text3DInfo = {
|
|
8867
|
+
target: Space;
|
|
8868
|
+
textInfo: EntityId<Text3DState>;
|
|
8869
|
+
};
|
|
8102
8870
|
}
|
|
8103
8871
|
|
|
8104
8872
|
declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/label' {
|
|
@@ -8346,6 +9114,39 @@ declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/shape' {
|
|
|
8346
9114
|
}
|
|
8347
9115
|
}
|
|
8348
9116
|
|
|
9117
|
+
declare module '@mappedin/react-sdk/mappedin-js/src/map-view-objects/text3d' {
|
|
9118
|
+
import type { Space, EnterpriseLocation } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
9119
|
+
/**
|
|
9120
|
+
* Class representing an Text3D on the {@link MapView}.
|
|
9121
|
+
*/
|
|
9122
|
+
export class Text3D {
|
|
9123
|
+
/**
|
|
9124
|
+
* The text3d's id
|
|
9125
|
+
*/
|
|
9126
|
+
readonly id: string;
|
|
9127
|
+
/**
|
|
9128
|
+
* @internal
|
|
9129
|
+
*/
|
|
9130
|
+
constructor(id: string, target: Space | EnterpriseLocation);
|
|
9131
|
+
/**
|
|
9132
|
+
* The text3d's target
|
|
9133
|
+
*/
|
|
9134
|
+
readonly target: Space | EnterpriseLocation;
|
|
9135
|
+
/**
|
|
9136
|
+
* @internal
|
|
9137
|
+
*/
|
|
9138
|
+
static readonly __type = "Text3D";
|
|
9139
|
+
readonly __type = "Text3D";
|
|
9140
|
+
/**
|
|
9141
|
+
* Checks if the provided instance is of type Text3D
|
|
9142
|
+
*
|
|
9143
|
+
* @param instance The instance to check.
|
|
9144
|
+
* @returns {boolean} True if the instance is a text3d, false otherwise.
|
|
9145
|
+
*/
|
|
9146
|
+
static is(instance: object): instance is Text3D;
|
|
9147
|
+
}
|
|
9148
|
+
}
|
|
9149
|
+
|
|
8349
9150
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/camera' {
|
|
8350
9151
|
import type { TCameraAnimationOptions, TCameraFocusOnTarget, TCameraTarget, TFocusOnOptions } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
8351
9152
|
import type { InsetPadding, RendererCore } from '@mappedin/core-sdk';
|
|
@@ -8504,7 +9305,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/labels' {
|
|
|
8504
9305
|
import { Label } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8505
9306
|
import type { GeojsonApiMapObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/map-object';
|
|
8506
9307
|
import type { PointOfInterest, MapObject } from '@mappedin/react-sdk/mappedin-js/src';
|
|
8507
|
-
import
|
|
9308
|
+
import { Space, Door, Coordinate, Node } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
8508
9309
|
/**
|
|
8509
9310
|
* Class used to add and remove a {@link Label} on the {@link MapView}.
|
|
8510
9311
|
*
|
|
@@ -8666,7 +9467,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/markers' {
|
|
|
8666
9467
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
|
|
8667
9468
|
import type { TAddModelOptions, TAddModel } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
8668
9469
|
import { Model } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
8669
|
-
import type {
|
|
9470
|
+
import type { CurrentMapGetter } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/types';
|
|
8670
9471
|
/**
|
|
8671
9472
|
* 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.
|
|
8672
9473
|
|
|
@@ -8685,7 +9486,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
|
|
|
8685
9486
|
/**
|
|
8686
9487
|
* @internal
|
|
8687
9488
|
*/
|
|
8688
|
-
get currentMap(): GeojsonApiMapObject | undefined;
|
|
9489
|
+
get currentMap(): import("./map-object").GeojsonApiMapObject | undefined;
|
|
8689
9490
|
/**
|
|
8690
9491
|
* @internal
|
|
8691
9492
|
*/
|
|
@@ -8727,8 +9528,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/models' {
|
|
|
8727
9528
|
*/
|
|
8728
9529
|
removeAll(): Model[];
|
|
8729
9530
|
}
|
|
8730
|
-
type CurrentMapGetter = () => GeojsonApiMapObject | undefined;
|
|
8731
|
-
export {};
|
|
8732
9531
|
}
|
|
8733
9532
|
|
|
8734
9533
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/paths' {
|
|
@@ -9079,7 +9878,13 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/style' {
|
|
|
9079
9878
|
}
|
|
9080
9879
|
|
|
9081
9880
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
|
|
9082
|
-
import { type RendererCore
|
|
9881
|
+
import { type RendererCore } from '@mappedin/core-sdk';
|
|
9882
|
+
import type { BBox } from 'geojson';
|
|
9883
|
+
export type HiddenOutdoorGeometry = [
|
|
9884
|
+
BBox,
|
|
9885
|
+
polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[],
|
|
9886
|
+
layers: string[]
|
|
9887
|
+
];
|
|
9083
9888
|
/**
|
|
9084
9889
|
* The outdoor map shown around the Mappedin indoor map can be manipulated to show or hide additional information. It can be used to add GeoJSON based geometry, images, deck.gl layers and more.
|
|
9085
9890
|
*
|
|
@@ -9098,7 +9903,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/outdoor' {
|
|
|
9098
9903
|
/**
|
|
9099
9904
|
* @internal
|
|
9100
9905
|
*/
|
|
9101
|
-
constructor(core: RendererCore, hiddenOutdoorGeometry?: [
|
|
9906
|
+
constructor(core: RendererCore, hiddenOutdoorGeometry?: HiddenOutdoorGeometry[]);
|
|
9102
9907
|
/**
|
|
9103
9908
|
* Set the style of the outdoor map. Use one of [Mappedin's predefined styles](https://developer.mappedin.com/web-sdk/outdoor-map#styles) or link to a custom style.
|
|
9104
9909
|
* @param style {any}
|
|
@@ -9921,20 +10726,25 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry3d' {
|
|
|
9921
10726
|
import type { MeshComponent } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
9922
10727
|
import type { ModelComponent } from '@mappedin/react-sdk/geojson/src/components/model';
|
|
9923
10728
|
import type { PathComponent } from '@mappedin/react-sdk/geojson/src/components/path';
|
|
9924
|
-
import type { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/style';
|
|
10729
|
+
import type { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles/style';
|
|
9925
10730
|
import type { ImageComponent } from '@mappedin/react-sdk/geojson/src/components/image';
|
|
9926
10731
|
import type { CustomGeometryComponent } from '@mappedin/react-sdk/geojson/src/components/custom';
|
|
9927
10732
|
import type { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
9928
|
-
import type {
|
|
10733
|
+
import type { Geometry2D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
|
|
10734
|
+
import { GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
10735
|
+
import type { Text3DComponent } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
10736
|
+
import type { Text3DStyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
9929
10737
|
export enum Geometry3DComponents {
|
|
9930
10738
|
Mesh = 0,
|
|
9931
10739
|
Style = 1,
|
|
9932
10740
|
Interaction = 2
|
|
9933
10741
|
}
|
|
10742
|
+
type Geometry3DObjectTypes = 'geometry' | 'path' | 'model' | 'custom-geometry' | 'image' | 'text3d';
|
|
9934
10743
|
export class Geometry3DObject3D extends Object3D {
|
|
10744
|
+
type: Geometry3DObjectTypes;
|
|
9935
10745
|
userData: {
|
|
9936
10746
|
entityId: string;
|
|
9937
|
-
type:
|
|
10747
|
+
type: Geometry3DObjectTypes;
|
|
9938
10748
|
};
|
|
9939
10749
|
}
|
|
9940
10750
|
export type PathMaterial = ShaderMaterial & {
|
|
@@ -9944,15 +10754,27 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry3d' {
|
|
|
9944
10754
|
export class PatMeshContainer extends Geometry3DObject3D {
|
|
9945
10755
|
children: [PathMesh, PathMesh];
|
|
9946
10756
|
}
|
|
9947
|
-
export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | ImageComponent;
|
|
9948
|
-
|
|
10757
|
+
export type MeshComponentTypes = MeshComponent | PathComponent | ModelComponent | CustomGeometryComponent | Text3DComponent | ImageComponent;
|
|
10758
|
+
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;
|
|
10759
|
+
export class Geometry3D<M extends MeshComponentTypes = MeshComponent, S extends StyleComponent | Text3DStyleComponent = StyleComponent, I extends InteractionComponent = InteractionComponent, T extends MappedComponentType<M> = MappedComponentType<M>> {
|
|
9949
10760
|
id: string | number;
|
|
9950
|
-
components: [
|
|
9951
|
-
get object3d():
|
|
9952
|
-
get
|
|
9953
|
-
get type():
|
|
9954
|
-
|
|
9955
|
-
|
|
10761
|
+
components: [M, S, I?];
|
|
10762
|
+
get object3d(): M["mesh"];
|
|
10763
|
+
get parentObject3D(): GroupContainerObject3D | GeometryGroupObject3D | null;
|
|
10764
|
+
get type(): T;
|
|
10765
|
+
entities2D: Map<string | number, Geometry2D>;
|
|
10766
|
+
constructor(meshComponent: M, styleComponent: S);
|
|
10767
|
+
addEntity(entity: Geometry2D): void;
|
|
10768
|
+
removeEntity(entity: Geometry2D): void;
|
|
10769
|
+
removeAllEntities(): void;
|
|
10770
|
+
}
|
|
10771
|
+
export type TextGeometry3D = Geometry3D<Text3DComponent, Text3DStyleComponent, InteractionComponent, 'text3d'>;
|
|
10772
|
+
export type CustomGeometry3D = Geometry3D<CustomGeometryComponent, StyleComponent, InteractionComponent, 'custom-geometry'>;
|
|
10773
|
+
export type ModelGeometry3D = Geometry3D<ModelComponent, StyleComponent, InteractionComponent, 'model'>;
|
|
10774
|
+
export type PathGeometry3D = Geometry3D<PathComponent, StyleComponent, InteractionComponent, 'path'>;
|
|
10775
|
+
export type ImageGeometry3D = Geometry3D<ImageComponent, StyleComponent, InteractionComponent, 'image'>;
|
|
10776
|
+
export type MeshGeometry3D = Geometry3D<MeshComponent, StyleComponent, InteractionComponent, 'geometry'>;
|
|
10777
|
+
export type Geometry3DTypes = TextGeometry3D | CustomGeometry3D | PathGeometry3D | ImageGeometry3D | MeshGeometry3D | ModelGeometry3D;
|
|
9956
10778
|
export interface PathUniforms {
|
|
9957
10779
|
vertexes: {
|
|
9958
10780
|
type: 'f';
|
|
@@ -10035,6 +10857,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry3d' {
|
|
|
10035
10857
|
value: number;
|
|
10036
10858
|
};
|
|
10037
10859
|
}
|
|
10860
|
+
export {};
|
|
10038
10861
|
}
|
|
10039
10862
|
|
|
10040
10863
|
declare module '@mappedin/react-sdk/geojson/src/entities/geometry2d' {
|
|
@@ -10043,6 +10866,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry2d' {
|
|
|
10043
10866
|
import type LabelComponent from '@mappedin/react-sdk/geojson/src/components/label';
|
|
10044
10867
|
import type { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
10045
10868
|
import type { InteractionComponent } from '@mappedin/react-sdk/geojson/src/components/interaction';
|
|
10869
|
+
import { type GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
10046
10870
|
export enum Geometry2DComponents {
|
|
10047
10871
|
UI = 0,
|
|
10048
10872
|
Interaction = 1
|
|
@@ -10052,7 +10876,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry2d' {
|
|
|
10052
10876
|
export class Geometry2D {
|
|
10053
10877
|
id: string | number;
|
|
10054
10878
|
get type(): 'label' | 'marker';
|
|
10055
|
-
get
|
|
10879
|
+
get parentObject3D(): GroupContainerObject3D | GeometryGroupObject3D | null;
|
|
10056
10880
|
/**
|
|
10057
10881
|
* When the position of the entity changes, this should be set to true, so that systems like pan bounds can update
|
|
10058
10882
|
*/
|
|
@@ -10062,6 +10886,7 @@ declare module '@mappedin/react-sdk/geojson/src/entities/geometry2d' {
|
|
|
10062
10886
|
disposed: boolean;
|
|
10063
10887
|
constructor(ui: MarkerComponent | LabelComponent, position: Vector3);
|
|
10064
10888
|
get position(): Vector3;
|
|
10889
|
+
setAltitude(z: number): void;
|
|
10065
10890
|
}
|
|
10066
10891
|
}
|
|
10067
10892
|
|
|
@@ -10076,17 +10901,44 @@ declare module '@mappedin/react-sdk/geojson/src/components/stack' {
|
|
|
10076
10901
|
|
|
10077
10902
|
declare module '@mappedin/react-sdk/geojson/src/components/interaction' {
|
|
10078
10903
|
export class InteractionComponent {
|
|
10079
|
-
hover: boolean;
|
|
10904
|
+
hover: boolean | 'user-interaction';
|
|
10080
10905
|
dirty: boolean;
|
|
10081
10906
|
}
|
|
10082
10907
|
}
|
|
10083
10908
|
|
|
10909
|
+
declare module '@mappedin/react-sdk/geojson/src/services/text3d/text3d' {
|
|
10910
|
+
import { type Text3DStyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles';
|
|
10911
|
+
import { Text, BatchedText } from 'troika-three-text';
|
|
10912
|
+
import type { RendererCore } from '@mappedin/react-sdk/geojson/src';
|
|
10913
|
+
import type { Text3DComponent } from '@mappedin/react-sdk/geojson/src/components/text3d';
|
|
10914
|
+
export function createTroikaText(entityId: string | number, text3DComponent: Text3DComponent, styleComponent: Text3DStyleComponent, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): Promise<{
|
|
10915
|
+
text: Text;
|
|
10916
|
+
} | undefined>;
|
|
10917
|
+
export { BatchedText, Text };
|
|
10918
|
+
/**
|
|
10919
|
+
* typeof module is forbiten in typescript. see: [@typescript-eslint/consistent-type-imports]
|
|
10920
|
+
*/
|
|
10921
|
+
export type ModuleType = {
|
|
10922
|
+
createTroikaText: typeof createTroikaText;
|
|
10923
|
+
preloadFont: typeof preloadFont;
|
|
10924
|
+
BatchedText: typeof BatchedText;
|
|
10925
|
+
};
|
|
10926
|
+
/**
|
|
10927
|
+
* Preloads a font from the given URL. Enable developer to preload font way before scene is ready
|
|
10928
|
+
*
|
|
10929
|
+
* @param fontUrl - The URL of the font to preload. When undefined, default font (Roboto) is loaded
|
|
10930
|
+
* @returns A promise that resolves when the font is successfully preloaded, or rejects with an error if the font cannot be loaded.
|
|
10931
|
+
*/
|
|
10932
|
+
export function preloadFont(fontUrl?: string): Promise<string>;
|
|
10933
|
+
}
|
|
10934
|
+
|
|
10084
10935
|
declare module '@mappedin/react-sdk/geojson/src/components/geometry-group-style' {
|
|
10085
10936
|
import { type Shading } from '@mappedin/react-sdk/geojson/src/types';
|
|
10086
10937
|
type GeometryGroupStyle = {
|
|
10087
10938
|
color: string;
|
|
10088
10939
|
topColor?: string;
|
|
10089
10940
|
opacity: number;
|
|
10941
|
+
height?: number;
|
|
10090
10942
|
shading?: Shading;
|
|
10091
10943
|
outline: boolean;
|
|
10092
10944
|
texture?: string;
|
|
@@ -10097,6 +10949,7 @@ declare module '@mappedin/react-sdk/geojson/src/components/geometry-group-style'
|
|
|
10097
10949
|
color: string;
|
|
10098
10950
|
topColor?: string;
|
|
10099
10951
|
opacity: number;
|
|
10952
|
+
height?: number;
|
|
10100
10953
|
outline: boolean;
|
|
10101
10954
|
texture?: string;
|
|
10102
10955
|
topTexture?: string;
|
|
@@ -10243,68 +11096,6 @@ declare module '@mappedin/react-sdk/geojson/src/components/image' {
|
|
|
10243
11096
|
}
|
|
10244
11097
|
}
|
|
10245
11098
|
|
|
10246
|
-
declare module '@mappedin/react-sdk/geojson/src/entities' {
|
|
10247
|
-
export { updateInteractivity } from '@mappedin/react-sdk/geojson/src/entities/utils';
|
|
10248
|
-
export { Geometry2D, Geometry2DComponents } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
|
|
10249
|
-
export { Geometry3D, Geometry3DComponents, type PathMesh, type PatMeshContainer, type PathMaterial, } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
10250
|
-
}
|
|
10251
|
-
|
|
10252
|
-
declare module '@mappedin/react-sdk/geojson/src/components/style' {
|
|
10253
|
-
import type { LineStyle } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10254
|
-
export const DEFAULT_COLOR = "#ffffff";
|
|
10255
|
-
export const DEFAULT_HEIGHT = 0.1;
|
|
10256
|
-
/**
|
|
10257
|
-
* Determines how a material is rendered, back face, front face or both (default)
|
|
10258
|
-
*/
|
|
10259
|
-
export type MaterialSide = 'back' | 'front' | 'double';
|
|
10260
|
-
type Style = {
|
|
10261
|
-
color: string;
|
|
10262
|
-
width: number;
|
|
10263
|
-
opacity: number;
|
|
10264
|
-
visible: boolean;
|
|
10265
|
-
height: number;
|
|
10266
|
-
altitude: number;
|
|
10267
|
-
join: LineStyle['join'];
|
|
10268
|
-
cap: LineStyle['cap'];
|
|
10269
|
-
topColor?: string;
|
|
10270
|
-
texture?: string;
|
|
10271
|
-
topTexture?: string;
|
|
10272
|
-
outline: boolean;
|
|
10273
|
-
showImage: boolean;
|
|
10274
|
-
showTextLabel: boolean;
|
|
10275
|
-
flipImageToFaceCamera: boolean;
|
|
10276
|
-
flipTextToFaceCamera: boolean;
|
|
10277
|
-
url?: string;
|
|
10278
|
-
side?: MaterialSide;
|
|
10279
|
-
};
|
|
10280
|
-
export class StyleComponent implements Style {
|
|
10281
|
-
initialColor: string;
|
|
10282
|
-
color: string;
|
|
10283
|
-
topColor?: string;
|
|
10284
|
-
topTexture?: string;
|
|
10285
|
-
texture?: string;
|
|
10286
|
-
hoverColor?: string;
|
|
10287
|
-
dirty: boolean;
|
|
10288
|
-
visible: boolean;
|
|
10289
|
-
opacity: number;
|
|
10290
|
-
width: number;
|
|
10291
|
-
height: number;
|
|
10292
|
-
initialHeight: number;
|
|
10293
|
-
altitude: number;
|
|
10294
|
-
join: LineStyle['join'];
|
|
10295
|
-
cap: LineStyle['cap'];
|
|
10296
|
-
outline: boolean;
|
|
10297
|
-
showImage: boolean;
|
|
10298
|
-
showTextLabel: boolean;
|
|
10299
|
-
flipImageToFaceCamera: boolean;
|
|
10300
|
-
flipTextToFaceCamera: boolean;
|
|
10301
|
-
url?: string;
|
|
10302
|
-
side: MaterialSide;
|
|
10303
|
-
constructor(style?: Partial<Style>);
|
|
10304
|
-
}
|
|
10305
|
-
export {};
|
|
10306
|
-
}
|
|
10307
|
-
|
|
10308
11099
|
declare module '@mappedin/react-sdk/geojson/src/types/options' {
|
|
10309
11100
|
import type { Position } from '@mappedin/react-sdk/geojson/src/types/geometry';
|
|
10310
11101
|
import type { Map as MapLibreMap } from '@mappedin/react-sdk/packages/outdoor-context-v4';
|
|
@@ -10433,38 +11224,71 @@ declare module '@mappedin/react-sdk/packages/common/pubsub' {
|
|
|
10433
11224
|
}
|
|
10434
11225
|
}
|
|
10435
11226
|
|
|
10436
|
-
declare module '@mappedin/react-sdk/geojson/src/
|
|
10437
|
-
|
|
10438
|
-
}
|
|
10439
|
-
|
|
10440
|
-
|
|
10441
|
-
|
|
10442
|
-
|
|
10443
|
-
import type { MarkerComponent } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
10444
|
-
import { MeshComponent } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
10445
|
-
type SomeEvent = {
|
|
10446
|
-
'invalidate:2d': undefined;
|
|
11227
|
+
declare module '@mappedin/react-sdk/geojson/src/services/renderer' {
|
|
11228
|
+
import type { Scene, Camera } from 'three';
|
|
11229
|
+
import { Color, WebGL1Renderer, WebGLRenderer } from 'three';
|
|
11230
|
+
export type TRendererOptions = {
|
|
11231
|
+
alpha: boolean;
|
|
11232
|
+
onWebGLRendererError: (e: Error) => void;
|
|
11233
|
+
xRayPath: boolean;
|
|
10447
11234
|
};
|
|
10448
|
-
export class
|
|
10449
|
-
|
|
10450
|
-
|
|
10451
|
-
|
|
10452
|
-
|
|
10453
|
-
|
|
10454
|
-
|
|
10455
|
-
|
|
11235
|
+
export class Renderer {
|
|
11236
|
+
backgroundAlpha: number;
|
|
11237
|
+
backgroundColor: Color;
|
|
11238
|
+
width: number;
|
|
11239
|
+
height: number;
|
|
11240
|
+
options: TRendererOptions;
|
|
11241
|
+
renderer?: WebGLRenderer | WebGL1Renderer;
|
|
11242
|
+
constructor(renderOptions: any, targetWebGLVersion?: number);
|
|
11243
|
+
/**
|
|
11244
|
+
* Dispose of the renderer and its buffers.
|
|
11245
|
+
*/
|
|
11246
|
+
destroy(): void;
|
|
11247
|
+
/**
|
|
11248
|
+
* Re-render the scene, depending on which parts of the scene have been
|
|
11249
|
+
* invalidated.
|
|
11250
|
+
*
|
|
11251
|
+
* @method render
|
|
11252
|
+
* @param renderTarget {null or WebGLRenderTarget}
|
|
11253
|
+
* @param scene {Scene}
|
|
11254
|
+
* @param sceneCamera {Camera}
|
|
11255
|
+
*/
|
|
11256
|
+
render(scene: Scene, sceneCamera: Camera): void;
|
|
11257
|
+
clear(): void;
|
|
11258
|
+
/**
|
|
11259
|
+
* Set the size of the renderer, composer, and all its internal buffers.
|
|
11260
|
+
*
|
|
11261
|
+
* @method setBufferSize
|
|
11262
|
+
* @param width {number}
|
|
11263
|
+
* @param height {number}
|
|
11264
|
+
*/
|
|
11265
|
+
setBufferSize(width: number, height: number): void;
|
|
11266
|
+
/**
|
|
11267
|
+
* Set the color and opacity that will be drawn behind the scene.
|
|
11268
|
+
*
|
|
11269
|
+
* @method setBackgroundColor
|
|
11270
|
+
* @param color {Color}
|
|
11271
|
+
* @param alpha {number}
|
|
11272
|
+
*/
|
|
11273
|
+
setBackgroundColor(color: any, alpha: any): void;
|
|
11274
|
+
domElement(): HTMLCanvasElement | undefined;
|
|
10456
11275
|
}
|
|
10457
|
-
|
|
11276
|
+
}
|
|
11277
|
+
|
|
11278
|
+
declare module '@mappedin/react-sdk/geojson/src/systems/interactions' {
|
|
11279
|
+
export { InteractionSystem } from '@mappedin/react-sdk/geojson/src/systems/interactions/system';
|
|
10458
11280
|
}
|
|
10459
11281
|
|
|
10460
11282
|
declare module '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimization/system' {
|
|
10461
11283
|
import type { BufferGeometry } from 'three';
|
|
10462
11284
|
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10463
11285
|
import { Geometry3D, Geometry3DObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
10464
|
-
import { type MeshComponentProperties } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
11286
|
+
import { MeshComponent, type MeshComponentProperties } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
11287
|
+
import { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles/style';
|
|
10465
11288
|
import type { Feature, LineString, MultiPolygon, Point, Polygon } from 'geojson';
|
|
10466
11289
|
import type { LineStyle, ModelProperties, ModelStyle, PaintStyle } from '@mappedin/react-sdk/geojson/src/types';
|
|
10467
11290
|
import type { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
|
|
11291
|
+
import type { ModelGeometry3D } from '@mappedin/react-sdk/geojson/src/entities';
|
|
10468
11292
|
import { PubSub } from '@packages/internal/common';
|
|
10469
11293
|
export class MeshCreationAndOptimizationSystem extends PubSub<{
|
|
10470
11294
|
'model-loaded': void;
|
|
@@ -10474,8 +11298,8 @@ declare module '@mappedin/react-sdk/geojson/src/systems/mesh-creation-and-optimi
|
|
|
10474
11298
|
loader?: GLTFLoader;
|
|
10475
11299
|
constructor(state: RendererState, convertTo3DMapPosition: any);
|
|
10476
11300
|
getGLTFLoader(): Promise<void>;
|
|
10477
|
-
createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: LineStyle | PaintStyle): Geometry3D
|
|
10478
|
-
createModelFromFeature(id: string | number, feature: Feature<Point, ModelProperties>, style?: ModelStyle):
|
|
11301
|
+
createEntityFromFeature(id: string | number, feature: Feature<Polygon | LineString | MultiPolygon, MeshComponentProperties>, style?: LineStyle | PaintStyle): Geometry3D<MeshComponent, StyleComponent, import("../../components/interaction").InteractionComponent, "geometry">;
|
|
11302
|
+
createModelFromFeature(id: string | number, feature: Feature<Point, ModelProperties>, style?: ModelStyle): ModelGeometry3D;
|
|
10479
11303
|
populateEntityMesh(entity: Geometry3D, geometry: BufferGeometry): void;
|
|
10480
11304
|
populateModelGroup(entities: Set<string | number>, url: string, tree: any): Promise<Geometry3DObject3D>;
|
|
10481
11305
|
populateEntityGroup(entities: Set<string | number>): Set<string | number>;
|
|
@@ -10559,9 +11383,9 @@ declare module '@mappedin/react-sdk/geojson/src/systems/2d-draw/system' {
|
|
|
10559
11383
|
declare module '@mappedin/react-sdk/geojson/src/systems/draw/system' {
|
|
10560
11384
|
import { PubSub } from '@packages/internal/common';
|
|
10561
11385
|
import { MeshComponent } from '@mappedin/react-sdk/geojson/src/components/mesh';
|
|
10562
|
-
import { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/style';
|
|
11386
|
+
import type { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/styles/style';
|
|
10563
11387
|
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10564
|
-
import { InteractionComponent } from '@mappedin/react-sdk/geojson/src/components/interaction';
|
|
11388
|
+
import type { InteractionComponent } from '@mappedin/react-sdk/geojson/src/components/interaction';
|
|
10565
11389
|
import type { GeometryGroupStyleComponent } from '@mappedin/react-sdk/geojson/src/components/geometry-group-style';
|
|
10566
11390
|
export class DrawSystem extends PubSub<{
|
|
10567
11391
|
'texture-loaded': void;
|
|
@@ -10608,7 +11432,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/render/system' {
|
|
|
10608
11432
|
constructor(renderer: Renderer, state: RendererState, mode: RendererCore['mode'], scene: Scene, cameraObject: PerspectiveCamera, viewCamera: Camera, systems: Systems);
|
|
10609
11433
|
twoDdirty: boolean;
|
|
10610
11434
|
threeDdirty: boolean;
|
|
10611
|
-
update: (sync?: boolean) =>
|
|
11435
|
+
update: (sync?: boolean) => Promise<any>;
|
|
10612
11436
|
destroy(): void;
|
|
10613
11437
|
}
|
|
10614
11438
|
}
|
|
@@ -10911,9 +11735,11 @@ declare module '@mappedin/react-sdk/geojson/src/systems/geometry-in-focus/system
|
|
|
10911
11735
|
declare module '@mappedin/react-sdk/geojson/src/systems/outdoor-layers/system' {
|
|
10912
11736
|
import type { Map } from '@packages/internal/outdoor-context-v4';
|
|
10913
11737
|
import type { Position } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
11738
|
+
import { type BBox } from 'geojson';
|
|
10914
11739
|
export class OutdoorLayers {
|
|
10915
11740
|
dirty: boolean;
|
|
10916
11741
|
hideLayersUnderPoint(point: Position, layers: string[]): void;
|
|
11742
|
+
hideLayersIntersectingPolygons(bbox: BBox, polygons: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>[], layers: string[]): void;
|
|
10917
11743
|
constructor(map?: Map);
|
|
10918
11744
|
destroy(): void;
|
|
10919
11745
|
}
|
|
@@ -10924,7 +11750,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/path' {
|
|
|
10924
11750
|
}
|
|
10925
11751
|
|
|
10926
11752
|
declare module '@mappedin/react-sdk/geojson/src/systems/mesh-detachment/system' {
|
|
10927
|
-
import { type
|
|
11753
|
+
import { type All3DTypes, type RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10928
11754
|
/**
|
|
10929
11755
|
* This system is responsible for updating the opacity of the mesh, which results in the mesh
|
|
10930
11756
|
* being detached from the parent's optimized geometry group and rendered as a separate mesh.
|
|
@@ -10934,16 +11760,13 @@ declare module '@mappedin/react-sdk/geojson/src/systems/mesh-detachment/system'
|
|
|
10934
11760
|
rendererState: RendererState;
|
|
10935
11761
|
dirty: boolean;
|
|
10936
11762
|
constructor(rendererState: RendererState);
|
|
10937
|
-
updateOne(geometry:
|
|
11763
|
+
updateOne(geometry: All3DTypes | undefined): void;
|
|
10938
11764
|
update(): void;
|
|
10939
11765
|
}
|
|
10940
11766
|
}
|
|
10941
11767
|
|
|
10942
11768
|
declare module '@mappedin/react-sdk/geojson/src/systems/mesh-modification/system' {
|
|
10943
|
-
import {
|
|
10944
|
-
import type { GeometryGroupObject3D } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
10945
|
-
import type { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
10946
|
-
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
11769
|
+
import type { EntityTypes, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
10947
11770
|
/**
|
|
10948
11771
|
* Any physical changes to geometry should go in here. This includes height changes, etc.
|
|
10949
11772
|
* This is to ensure that physical changes apply before any other systems need to do their work,
|
|
@@ -10956,7 +11779,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/mesh-modification/system
|
|
|
10956
11779
|
rendererState: RendererState;
|
|
10957
11780
|
dirty: boolean;
|
|
10958
11781
|
constructor(rendererState: RendererState);
|
|
10959
|
-
updateOne(entity
|
|
11782
|
+
updateOne(entity?: EntityTypes): void;
|
|
10960
11783
|
update(): void;
|
|
10961
11784
|
cleanup(): void;
|
|
10962
11785
|
}
|
|
@@ -10975,14 +11798,58 @@ declare module '@mappedin/react-sdk/geojson/src/systems/pre-render/system' {
|
|
|
10975
11798
|
}
|
|
10976
11799
|
}
|
|
10977
11800
|
|
|
10978
|
-
declare module '@mappedin/react-sdk/geojson/src/
|
|
10979
|
-
import type {
|
|
10980
|
-
|
|
10981
|
-
export const
|
|
10982
|
-
|
|
10983
|
-
|
|
10984
|
-
|
|
11801
|
+
declare module '@mappedin/react-sdk/geojson/src/components/styles/style' {
|
|
11802
|
+
import type { LineStyle } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
11803
|
+
export const DEFAULT_COLOR = "#ffffff";
|
|
11804
|
+
export const DEFAULT_HEIGHT = 0.1;
|
|
11805
|
+
/**
|
|
11806
|
+
* Determines how a material is rendered, back face, front face or both (default)
|
|
11807
|
+
*/
|
|
11808
|
+
export type MaterialSide = 'back' | 'front' | 'double';
|
|
11809
|
+
type Style = {
|
|
11810
|
+
color: string;
|
|
11811
|
+
width: number;
|
|
11812
|
+
opacity: number;
|
|
11813
|
+
visible: boolean;
|
|
11814
|
+
height: number;
|
|
11815
|
+
altitude: number;
|
|
11816
|
+
join: LineStyle['join'];
|
|
11817
|
+
cap: LineStyle['cap'];
|
|
11818
|
+
topColor?: string;
|
|
11819
|
+
texture?: string;
|
|
11820
|
+
topTexture?: string;
|
|
11821
|
+
outline: boolean;
|
|
11822
|
+
showImage: boolean;
|
|
11823
|
+
flipImageToFaceCamera: boolean;
|
|
11824
|
+
url?: string;
|
|
11825
|
+
side?: MaterialSide;
|
|
11826
|
+
renderOrder?: number;
|
|
11827
|
+
};
|
|
11828
|
+
export class StyleComponent implements Style {
|
|
11829
|
+
initialColor: string;
|
|
11830
|
+
color: string;
|
|
11831
|
+
topColor?: string;
|
|
11832
|
+
topTexture?: string;
|
|
11833
|
+
texture?: string;
|
|
11834
|
+
hoverColor?: string;
|
|
11835
|
+
dirty: boolean;
|
|
11836
|
+
visible: boolean;
|
|
11837
|
+
opacity: number;
|
|
11838
|
+
width: number;
|
|
11839
|
+
height: number;
|
|
11840
|
+
initialHeight: number;
|
|
11841
|
+
altitude: number;
|
|
11842
|
+
join: LineStyle['join'];
|
|
11843
|
+
cap: LineStyle['cap'];
|
|
11844
|
+
outline: boolean;
|
|
11845
|
+
showImage: boolean;
|
|
11846
|
+
flipImageToFaceCamera: boolean;
|
|
11847
|
+
url?: string;
|
|
11848
|
+
side: MaterialSide;
|
|
11849
|
+
renderOrder: number;
|
|
11850
|
+
constructor(style?: Partial<Style>);
|
|
10985
11851
|
}
|
|
11852
|
+
export {};
|
|
10986
11853
|
}
|
|
10987
11854
|
|
|
10988
11855
|
declare module '@mappedin/react-sdk/packages/geojson-navigator/src' {
|
|
@@ -11077,6 +11944,17 @@ declare module '@mappedin/react-sdk/geojson/src/utils/tranform-request' {
|
|
|
11077
11944
|
};
|
|
11078
11945
|
}
|
|
11079
11946
|
|
|
11947
|
+
declare module '@mappedin/react-sdk/geojson/src/utils/math' {
|
|
11948
|
+
export function normalizeAngle(angle: number): number;
|
|
11949
|
+
}
|
|
11950
|
+
|
|
11951
|
+
declare module '@mappedin/react-sdk/geojson/src/entities' {
|
|
11952
|
+
export { updateInteractivity } from '@mappedin/react-sdk/geojson/src/entities/utils';
|
|
11953
|
+
export { Geometry2D, Geometry2DComponents } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
|
|
11954
|
+
export { Geometry3D, Geometry3DComponents } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
11955
|
+
export type { PathMesh, PatMeshContainer, PathMaterial, Geometry3DTypes, ImageGeometry3D, TextGeometry3D, ModelGeometry3D, CustomGeometry3D, MeshGeometry3D, } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
11956
|
+
}
|
|
11957
|
+
|
|
11080
11958
|
declare module '@mappedin/react-sdk/geojson/src/systems/exporter/exporter' {
|
|
11081
11959
|
import type { RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
11082
11960
|
export type GLTFExportOptions = {
|
|
@@ -11107,6 +11985,155 @@ declare module '@mappedin/react-sdk/geojson/src/systems/exporter/exporter' {
|
|
|
11107
11985
|
}
|
|
11108
11986
|
}
|
|
11109
11987
|
|
|
11988
|
+
declare module '@mappedin/react-sdk/geojson/src/components/styles/text-style' {
|
|
11989
|
+
/**
|
|
11990
|
+
* avoid storying default values on the text style to save space
|
|
11991
|
+
*/
|
|
11992
|
+
export class Text3DStyleComponent implements Partial<Text3DStyle> {
|
|
11993
|
+
visible?: boolean;
|
|
11994
|
+
altitude?: number;
|
|
11995
|
+
color?: string;
|
|
11996
|
+
dirty: boolean;
|
|
11997
|
+
maxWidth?: number;
|
|
11998
|
+
maxHeight?: number;
|
|
11999
|
+
hoverByPolygon?: boolean;
|
|
12000
|
+
flipToFaceCamera?: boolean | undefined;
|
|
12001
|
+
font?: string;
|
|
12002
|
+
fillOpacity?: number;
|
|
12003
|
+
fontSize?: number;
|
|
12004
|
+
margin?: number;
|
|
12005
|
+
outlineWidth?: number;
|
|
12006
|
+
outlineBlur?: number | string;
|
|
12007
|
+
outlineOffsetX?: number;
|
|
12008
|
+
strokeColor?: string;
|
|
12009
|
+
strokeOpacity?: number;
|
|
12010
|
+
strokeWidth?: number;
|
|
12011
|
+
hoverColor?: string | undefined;
|
|
12012
|
+
outlineOffsetY?: number;
|
|
12013
|
+
outlineColor?: string;
|
|
12014
|
+
outlineOpacity?: number;
|
|
12015
|
+
constructor(initialState?: Partial<Text3DStyle>);
|
|
12016
|
+
/**
|
|
12017
|
+
* Put together a json ignore all the undefined fields.
|
|
12018
|
+
* This is helpful when we Object.assign(instance, json) to update the instance.
|
|
12019
|
+
*/
|
|
12020
|
+
getState(includeDirty?: boolean): Partial<Text3DStyle>;
|
|
12021
|
+
}
|
|
12022
|
+
/**
|
|
12023
|
+
* Not directly storing default values on the text style to save space
|
|
12024
|
+
* TODO: lookign at text style spec from maplibre. we can also support:
|
|
12025
|
+
* letterSpacing?: number;
|
|
12026
|
+
* lineHeight: number;
|
|
12027
|
+
* anchor: number; => .anchorX & .anchorY
|
|
12028
|
+
* justify: nubmer; => .textAlign
|
|
12029
|
+
* tarnsform: string;
|
|
12030
|
+
* offset: number;
|
|
12031
|
+
*/
|
|
12032
|
+
export const DEFAULT_TEXT_STYLE: Readonly<Text3DStyle>;
|
|
12033
|
+
export type Text3DStyle = {
|
|
12034
|
+
/**
|
|
12035
|
+
* Controls the visibility of the text element.
|
|
12036
|
+
* @default true
|
|
12037
|
+
*/
|
|
12038
|
+
visible: boolean;
|
|
12039
|
+
/**
|
|
12040
|
+
* The color of the text. Will change to hoverColor when the associated polygon is hovered.
|
|
12041
|
+
* Accepts any CSS color string.
|
|
12042
|
+
* @default 'black'
|
|
12043
|
+
*/
|
|
12044
|
+
color: string;
|
|
12045
|
+
/**
|
|
12046
|
+
* When true, the text will flip to face the camera while maintaining its position.
|
|
12047
|
+
* @default true
|
|
12048
|
+
*/
|
|
12049
|
+
flipToFaceCamera: boolean;
|
|
12050
|
+
/**
|
|
12051
|
+
* URL to a custom font file (.ttf, .otf, .woff).
|
|
12052
|
+
* Falls back to Roboto if undefined.
|
|
12053
|
+
*/
|
|
12054
|
+
font: string | undefined;
|
|
12055
|
+
/**
|
|
12056
|
+
* The size of the text in meters. Will be automatically adjusted if it exceeds
|
|
12057
|
+
* the text area bounds.
|
|
12058
|
+
*/
|
|
12059
|
+
fontSize: number;
|
|
12060
|
+
/**
|
|
12061
|
+
* Padding between the text and its bounding box, in meters.
|
|
12062
|
+
* Can be specified as either:
|
|
12063
|
+
* - A single number for uniform padding on all sides
|
|
12064
|
+
* - An array of 4 numbers [top, right, bottom, left] for individual side padding
|
|
12065
|
+
* @default [0.2, 1, 0.2, 1.5]
|
|
12066
|
+
*/
|
|
12067
|
+
margin: number | [number, number, number, number];
|
|
12068
|
+
/**
|
|
12069
|
+
* Color of the text outline.
|
|
12070
|
+
* Accepts any CSS color string.
|
|
12071
|
+
* @default 'black'
|
|
12072
|
+
*/
|
|
12073
|
+
outlineColor: string;
|
|
12074
|
+
/**
|
|
12075
|
+
* Opacity of the text outline.
|
|
12076
|
+
* Accepts values between 0 and 1.
|
|
12077
|
+
* @default 1
|
|
12078
|
+
*/
|
|
12079
|
+
outlineOpacity: number;
|
|
12080
|
+
/**
|
|
12081
|
+
* Blur radius for the text outline.
|
|
12082
|
+
* Can be a number in pixels or a string with units.
|
|
12083
|
+
*/
|
|
12084
|
+
outlineBlur: number | string;
|
|
12085
|
+
/**
|
|
12086
|
+
* Width of the text outline effect in pixels.
|
|
12087
|
+
*/
|
|
12088
|
+
outlineWidth: number;
|
|
12089
|
+
/**
|
|
12090
|
+
* Horizontal offset of the outline effect from the text, in pixels.
|
|
12091
|
+
*/
|
|
12092
|
+
outlineOffsetX: number;
|
|
12093
|
+
/**
|
|
12094
|
+
* Vertical offset of the outline effect from the text, in pixels.
|
|
12095
|
+
*/
|
|
12096
|
+
outlineOffsetY: number;
|
|
12097
|
+
/**
|
|
12098
|
+
* Width of the inner stroke of each text glyph.
|
|
12099
|
+
* @default 0
|
|
12100
|
+
*/
|
|
12101
|
+
strokeWidth: number;
|
|
12102
|
+
/**
|
|
12103
|
+
* Maximum width constraint for the text area in meters.
|
|
12104
|
+
* Overrides default text field constraints when set.
|
|
12105
|
+
*/
|
|
12106
|
+
maxWidth: number | undefined;
|
|
12107
|
+
/**
|
|
12108
|
+
* Maximum height constraint for the text area in meters.
|
|
12109
|
+
* Overrides default text field constraints when set.
|
|
12110
|
+
*/
|
|
12111
|
+
maxHeight: number | undefined;
|
|
12112
|
+
/**
|
|
12113
|
+
* Opacity of the text stroke when strokeWidth > 0.
|
|
12114
|
+
* @default 1
|
|
12115
|
+
*/
|
|
12116
|
+
strokeOpacity: number;
|
|
12117
|
+
/**
|
|
12118
|
+
* Color of the text stroke when strokeWidth > 0.
|
|
12119
|
+
* Accepts any CSS color string.
|
|
12120
|
+
* @default 'black'
|
|
12121
|
+
*/
|
|
12122
|
+
strokeColor: string;
|
|
12123
|
+
/**
|
|
12124
|
+
* Opacity of the text fill, independent of stroke and outline opacity.
|
|
12125
|
+
* Set to 0 to show only stroke/outline.
|
|
12126
|
+
* Accepts values between 0 and 1.
|
|
12127
|
+
*/
|
|
12128
|
+
fillOpacity: number;
|
|
12129
|
+
/**
|
|
12130
|
+
* Color to display when text is hovered.
|
|
12131
|
+
* Falls back to global hover color if undefined.
|
|
12132
|
+
*/
|
|
12133
|
+
hoverColor: string | undefined;
|
|
12134
|
+
};
|
|
12135
|
+
}
|
|
12136
|
+
|
|
11110
12137
|
declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
|
|
11111
12138
|
import type { Polygon, MultiPolygon, FloorProperties as MVFFloor, ParsedMVF, Feature } from '@mappedin/mvf';
|
|
11112
12139
|
import type { RendererCore } from '@mappedin/core-sdk';
|
|
@@ -11114,8 +12141,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object' {
|
|
|
11114
12141
|
import type { TShow3DMapOptions } from '@mappedin/react-sdk/mappedin-js/src';
|
|
11115
12142
|
class Layer {
|
|
11116
12143
|
containerId: string;
|
|
12144
|
+
labelIds: Set<string>;
|
|
11117
12145
|
layers: Map<string, string>;
|
|
11118
|
-
|
|
12146
|
+
renderer: RendererCore;
|
|
12147
|
+
constructor(renderer: RendererCore, containerId: string, layers?: Map<any, any>);
|
|
12148
|
+
show(): void;
|
|
12149
|
+
hide(): void;
|
|
11119
12150
|
}
|
|
11120
12151
|
export class FloorObject implements MVFFloor {
|
|
11121
12152
|
id: string;
|
|
@@ -11141,11 +12172,11 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
|
|
|
11141
12172
|
import { Coordinate, type MapObject, type Space } from '@mappedin/react-sdk/mappedin-js/src/map-data-objects';
|
|
11142
12173
|
import type { Position, EntranceCollection, LineString, Polygon, Point, SpaceProperties, ObstructionProperties, StyleCollection, PolygonStyle, LineStringStyle, Feature, ObstructionCollection, PointStyle } from '@mappedin/mvf';
|
|
11143
12174
|
import type { WithPolygonImage } from '@packages/internal/mvf-utils';
|
|
11144
|
-
import type { FeatureCollection, MultiLineString } from 'geojson';
|
|
12175
|
+
import type { BBox, FeatureCollection, MultiLineString } from 'geojson';
|
|
11145
12176
|
import type { LabelState, MarkerState, GeometryState, CollisionRankingTier, LineStyle, PaintStyle } from '@mappedin/core-sdk';
|
|
11146
12177
|
import { type TGeometryState, type TLabelState, type TDirectionInstructionAction, type TShow3DMapOptions, type Label, type Marker, type Model } from '@mappedin/react-sdk/mappedin-js/src';
|
|
11147
12178
|
import type { TDoorsState, TMarkerState, TWallsState } from '@mappedin/react-sdk/mappedin-js/src/types';
|
|
11148
|
-
import type { Image, Shape } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
12179
|
+
import type { Image, Shape, Text3D } from '@mappedin/react-sdk/mappedin-js/src/map-view-objects';
|
|
11149
12180
|
import type { GeoJsonApi } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/api';
|
|
11150
12181
|
import type { Tween } from '@tweenjs/tween.js';
|
|
11151
12182
|
export function convertCoordinateToPosition(coord: Coordinate): Position;
|
|
@@ -11172,10 +12203,12 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/utils' {
|
|
|
11172
12203
|
export type WithId<T> = T & {
|
|
11173
12204
|
id?: string;
|
|
11174
12205
|
};
|
|
11175
|
-
export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<
|
|
12206
|
+
export function groupGeometryByStyle(features: Feature<LineString | Polygon | Point, SpaceProperties | ObstructionProperties>[], styleMap: AggregatedStyleMap): Map<WithId<PolygonStyle> | WithId<LineStringStyle> | WithId<PointStyle>, Feature<Polygon | LineString | Point, WithPolygonImage<SpaceProperties> | WithPolygonImage<ObstructionProperties>>[]>;
|
|
11176
12207
|
export function translateToCoreStyle(style: PolygonStyle | LineStringStyle, userOptions?: TShow3DMapOptions): PaintStyle | LineStyle;
|
|
11177
|
-
export const getTargetID: <T extends Space | Shape | MapObject | Label | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
|
|
12208
|
+
export const getTargetID: <T extends Space | Shape | MapObject | Label | Text3D | Marker | Model | Image | string>(target: T, api: GeoJsonApi) => string | undefined;
|
|
11178
12209
|
export function tweenToPromise(tween: Tween): Promise<void>;
|
|
12210
|
+
export function getBoundingBox(geometry: GeoJSON.Feature<GeoJSON.Polygon | GeoJSON.MultiPolygon, any>): BBox;
|
|
12211
|
+
export function expandBbox(bbox: BBox, bboxToExpand: BBox): number[];
|
|
11179
12212
|
export function unique<T>(array: T[]): T[];
|
|
11180
12213
|
}
|
|
11181
12214
|
|
|
@@ -11183,7 +12216,7 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-obje
|
|
|
11183
12216
|
import type { RendererCore } from '@mappedin/core-sdk';
|
|
11184
12217
|
import type { FloorId, FloorStack as MVFFloorStack, Facade as MVFFacade } from '@mappedin/mvf';
|
|
11185
12218
|
import type { FloorObject } from '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-object';
|
|
11186
|
-
export class FloorStackObject implements Omit<MVFFloorStack, 'maps' | 'floors' | 'defaultFloor'> {
|
|
12219
|
+
export class FloorStackObject implements Omit<MVFFloorStack, 'maps' | 'floors' | 'defaultFloor' | 'footprint'> {
|
|
11187
12220
|
#private;
|
|
11188
12221
|
id: MVFFloorStack['id'];
|
|
11189
12222
|
externalId: MVFFloorStack['externalId'];
|
|
@@ -11195,7 +12228,6 @@ declare module '@mappedin/react-sdk/mappedin-js/src/api-geojson/floor-stack-obje
|
|
|
11195
12228
|
floorObjects: FloorObject[];
|
|
11196
12229
|
floorObjectsByElevation: Map<number, FloorObject>;
|
|
11197
12230
|
metadata?: MVFFloorStack['metadata'];
|
|
11198
|
-
footprint?: MVFFloorStack['footprint'];
|
|
11199
12231
|
containerId: string;
|
|
11200
12232
|
facade?: MVFFacade;
|
|
11201
12233
|
constructor(floorStack: MVFFloorStack, parentId: string, renderer: RendererCore, facade?: MVFFacade);
|
|
@@ -11213,7 +12245,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/collisions/collider-proc
|
|
|
11213
12245
|
import { Rectangle } from '@packages/internal/quad-tree';
|
|
11214
12246
|
export type TSerializedCollider = {
|
|
11215
12247
|
rank: number;
|
|
11216
|
-
|
|
12248
|
+
enabledAndVisible: boolean;
|
|
11217
12249
|
x: number;
|
|
11218
12250
|
y: number;
|
|
11219
12251
|
bboxes: {
|
|
@@ -11238,42 +12270,6 @@ declare module '@mappedin/react-sdk/geojson/src/systems/collisions/collider-proc
|
|
|
11238
12270
|
};
|
|
11239
12271
|
}
|
|
11240
12272
|
|
|
11241
|
-
declare module '@mappedin/react-sdk/geojson/src/entities/utils' {
|
|
11242
|
-
import type { CollisionRankingTier, GeometryState, LabelState, RendererCore } from '@mappedin/react-sdk/geojson/src';
|
|
11243
|
-
import { type MarkerState } from '@mappedin/react-sdk/geojson/src/components/marker';
|
|
11244
|
-
import type { PathUpdateState } from '@mappedin/react-sdk/geojson/src/components/path';
|
|
11245
|
-
import type { Geometry3DTypes, Position, RendererState } from '@mappedin/react-sdk/geojson/src/renderer';
|
|
11246
|
-
import { GeometryGroupObject3D, type GeometryGroupState } from '@mappedin/react-sdk/geojson/src/entities/geometry-group';
|
|
11247
|
-
import { GroupContainerObject3D } from '@mappedin/react-sdk/geojson/src/entities/group-container';
|
|
11248
|
-
import { Geometry3D } from '@mappedin/react-sdk/geojson/src/entities/geometry3d';
|
|
11249
|
-
import { Geometry2D } from '@mappedin/react-sdk/geojson/src/entities/geometry2d';
|
|
11250
|
-
import type { StyleComponent } from '@mappedin/react-sdk/geojson/src/components/style';
|
|
11251
|
-
import type { GeometryGroupStyleComponent } from '@mappedin/react-sdk/geojson/src/components/geometry-group-style';
|
|
11252
|
-
export function updateInteractivity(entity: Geometry3DTypes | Geometry2D, update: boolean | undefined, state: RendererState): boolean;
|
|
11253
|
-
export function updateGroupColor(entity: GeometryGroupObject3D, state: RendererState, update: Partial<Pick<GeometryGroupState, 'color' | 'topColor'>>): boolean | undefined;
|
|
11254
|
-
export function updateGroupShading(entity: GeometryGroupObject3D, update?: GeometryGroupState['shading']): boolean;
|
|
11255
|
-
export function updateImageProps(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
11256
|
-
export function updateHeight(entity: Geometry3D | GeometryGroupObject3D, state: RendererState, update?: number): boolean;
|
|
11257
|
-
export function updateColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Partial<GeometryState>): void;
|
|
11258
|
-
export function updatePosition(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Position | undefined, convertTo3DMapPosition: RendererCore['convertTo3DMapPosition']): void;
|
|
11259
|
-
export function updateParent(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: GroupContainerObject3D | undefined): boolean;
|
|
11260
|
-
export function updateEnabled(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: boolean | undefined): void;
|
|
11261
|
-
export function updateMarker(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<MarkerState> | undefined, state: RendererState): boolean;
|
|
11262
|
-
export function updateRank(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: CollisionRankingTier | undefined): boolean;
|
|
11263
|
-
export function updateLabel(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update: Partial<LabelState> | undefined, state: RendererState): void;
|
|
11264
|
-
export function updateHoverColor(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: string): void;
|
|
11265
|
-
export function updateFlipImageToFaceCamera(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: boolean): void;
|
|
11266
|
-
export function updateVisibility(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: boolean): boolean;
|
|
11267
|
-
export function updateOpacity(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, state: RendererState, update?: number): boolean;
|
|
11268
|
-
export function updateGroupTexture(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: Pick<GeometryGroupStyleComponent, 'texture' | 'topTexture'>): void;
|
|
11269
|
-
export function updateIndividualGeometryTexture(entity: Geometry3D, update?: Pick<StyleComponent, 'texture' | 'topTexture'>): boolean;
|
|
11270
|
-
export function updateIndividualGeometryOpacity(entity: Geometry3D, update?: number): boolean;
|
|
11271
|
-
export function updateAltitude(entity: Geometry3D | Geometry2D | GeometryGroupObject3D | GroupContainerObject3D, update?: number): boolean;
|
|
11272
|
-
export function updateOutline(entity: Geometry3DTypes, update?: boolean): boolean;
|
|
11273
|
-
export function handlePathUpdate(geometry: Geometry3D, update: PathUpdateState): void;
|
|
11274
|
-
export function pickPathOptions(update: PathUpdateState): Partial<PathUpdateState>;
|
|
11275
|
-
}
|
|
11276
|
-
|
|
11277
12273
|
declare module '@mappedin/react-sdk/geojson/src/systems/interactions/system' {
|
|
11278
12274
|
import type { PerspectiveCamera, Vector3, Object3D, Mesh } from 'three';
|
|
11279
12275
|
import { Raycaster } from 'three';
|
|
@@ -11681,13 +12677,13 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/system' {
|
|
|
11681
12677
|
* @param [curve] {Mappedin.Easing} The animation curve to use for the animation.
|
|
11682
12678
|
* @param [callback] {Function} A callback that will be executed when the animation is done.
|
|
11683
12679
|
* @param [options] {Object} An Options object
|
|
11684
|
-
* @param [options.
|
|
12680
|
+
* @param [options.interruptible=true] {Boolean} Determines if this animation must complete before any new animations start
|
|
11685
12681
|
it will cancel and omit any previous animations. Set to "chain" to chain instead
|
|
11686
12682
|
*
|
|
11687
12683
|
* @return {Mappedin.Tween} The tween being used, if you want to do anything to control it manually. Do not overide it's events.
|
|
11688
12684
|
*/
|
|
11689
12685
|
animateCamera: (target: AnimateCameraTarget, duration: number, curve?: (n: number) => number, callback?: (...args: any) => void, cancelledCallback?: (...args: any) => void, options?: {
|
|
11690
|
-
|
|
12686
|
+
interruptible?: boolean;
|
|
11691
12687
|
}) => Promise<void>;
|
|
11692
12688
|
/**
|
|
11693
12689
|
* Allows you to set any of the Camera's position, zoom, rotation and tilt at once, with one function.
|
|
@@ -11953,6 +12949,7 @@ declare module '@mappedin/react-sdk/geojson/src/systems/camera/types' {
|
|
|
11953
12949
|
boundingBox?: any;
|
|
11954
12950
|
callback?: () => void;
|
|
11955
12951
|
cancelledCallback?: () => void;
|
|
12952
|
+
interruptible?: boolean;
|
|
11956
12953
|
};
|
|
11957
12954
|
}
|
|
11958
12955
|
|