@loaders.gl/i3s 4.0.0-alpha.5 → 4.0.0-alpha.6
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/dist/arcgis-webscene-loader.d.ts +7 -0
- package/dist/arcgis-webscene-loader.d.ts.map +1 -0
- package/dist/arcgis-webscene-loader.js +28 -0
- package/dist/bundle.js +2 -2
- package/dist/dist.min.js +8804 -8547
- package/dist/es5/arcgis-webscene-loader.js +40 -0
- package/dist/es5/arcgis-webscene-loader.js.map +1 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/i3s-attribute-loader.js +195 -0
- package/dist/es5/i3s-attribute-loader.js.map +1 -0
- package/dist/es5/i3s-building-scene-layer-loader.js +46 -0
- package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -0
- package/dist/es5/i3s-content-loader.js +57 -0
- package/dist/es5/i3s-content-loader.js.map +1 -0
- package/dist/es5/i3s-loader.js +193 -0
- package/dist/es5/i3s-loader.js.map +1 -0
- package/dist/es5/i3s-node-page-loader.js +39 -0
- package/dist/es5/i3s-node-page-loader.js.map +1 -0
- package/dist/es5/index.js +61 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +312 -0
- package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -0
- package/dist/es5/lib/parsers/constants.js +72 -0
- package/dist/es5/lib/parsers/constants.js.map +1 -0
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js +158 -0
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js.map +1 -0
- package/dist/es5/lib/parsers/parse-i3s-attribute.js +76 -0
- package/dist/es5/lib/parsers/parse-i3s-attribute.js.map +1 -0
- package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js +65 -0
- package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -0
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +510 -0
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -0
- package/dist/es5/lib/parsers/parse-i3s.js +116 -0
- package/dist/es5/lib/parsers/parse-i3s.js.map +1 -0
- package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js +17 -0
- package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -0
- package/dist/es5/lib/utils/customizeColors.js +159 -0
- package/dist/es5/lib/utils/customizeColors.js.map +1 -0
- package/dist/es5/lib/utils/url-utils.js +33 -0
- package/dist/es5/lib/utils/url-utils.js.map +1 -0
- package/dist/es5/types.js +26 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/es5/workers/i3s-content-nodejs-worker.js +7 -0
- package/dist/es5/workers/i3s-content-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/i3s-content-worker.js +6 -0
- package/dist/es5/workers/i3s-content-worker.js.map +1 -0
- package/dist/esm/arcgis-webscene-loader.js +16 -0
- package/dist/esm/arcgis-webscene-loader.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/i3s-attribute-loader.js +119 -0
- package/dist/esm/i3s-attribute-loader.js.map +1 -0
- package/dist/esm/i3s-building-scene-layer-loader.js +19 -0
- package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -0
- package/dist/esm/i3s-content-loader.js +31 -0
- package/dist/esm/i3s-content-loader.js.map +1 -0
- package/dist/esm/i3s-loader.js +87 -0
- package/dist/esm/i3s-loader.js.map +1 -0
- package/dist/esm/i3s-node-page-loader.js +15 -0
- package/dist/esm/i3s-node-page-loader.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +198 -0
- package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -0
- package/dist/esm/lib/parsers/constants.js +57 -0
- package/dist/esm/lib/parsers/constants.js.map +1 -0
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js +70 -0
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js.map +1 -0
- package/dist/esm/lib/parsers/parse-i3s-attribute.js +60 -0
- package/dist/esm/lib/parsers/parse-i3s-attribute.js.map +1 -0
- package/dist/esm/lib/parsers/parse-i3s-building-scene-layer.js +39 -0
- package/dist/esm/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -0
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +435 -0
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -0
- package/dist/esm/lib/parsers/parse-i3s.js +83 -0
- package/dist/esm/lib/parsers/parse-i3s.js.map +1 -0
- package/dist/esm/lib/utils/convert-i3s-obb-to-mbs.js +9 -0
- package/dist/esm/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -0
- package/dist/esm/lib/utils/customizeColors.js +92 -0
- package/dist/esm/lib/utils/customizeColors.js.map +1 -0
- package/dist/esm/lib/utils/url-utils.js +28 -0
- package/dist/esm/lib/utils/url-utils.js.map +1 -0
- package/dist/esm/types.js +18 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/workers/i3s-content-nodejs-worker.js +5 -0
- package/dist/esm/workers/i3s-content-nodejs-worker.js.map +1 -0
- package/dist/esm/workers/i3s-content-worker.js +4 -0
- package/dist/esm/workers/i3s-content-worker.js.map +1 -0
- package/dist/i3s-attribute-loader.d.ts +9 -2
- package/dist/i3s-attribute-loader.d.ts.map +1 -1
- package/dist/i3s-attribute-loader.js +155 -132
- package/dist/i3s-building-scene-layer-loader.js +23 -18
- package/dist/i3s-content-loader.d.ts.map +1 -1
- package/dist/i3s-content-loader.js +30 -22
- package/dist/i3s-content-nodejs-worker.js +198 -0
- package/dist/i3s-content-nodejs-worker.js.map +7 -0
- package/dist/i3s-content-worker.js +1119 -1100
- package/dist/i3s-loader.d.ts +5 -0
- package/dist/i3s-loader.d.ts.map +1 -1
- package/dist/i3s-loader.js +88 -83
- package/dist/i3s-node-page-loader.d.ts +3 -2
- package/dist/i3s-node-page-loader.d.ts.map +1 -1
- package/dist/i3s-node-page-loader.js +20 -20
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -6
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +1 -0
- package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.js +231 -228
- package/dist/lib/parsers/constants.js +85 -63
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts +7 -0
- package/dist/lib/parsers/parse-arcgis-webscene.d.ts.map +1 -0
- package/dist/lib/parsers/parse-arcgis-webscene.js +88 -0
- package/dist/lib/parsers/parse-i3s-attribute.d.ts +6 -4
- package/dist/lib/parsers/parse-i3s-attribute.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s-attribute.js +87 -62
- package/dist/lib/parsers/parse-i3s-building-scene-layer.js +41 -40
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts +2 -2
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s-tile-content.js +454 -454
- package/dist/lib/parsers/parse-i3s.d.ts +1 -1
- package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s.js +92 -88
- package/dist/lib/utils/convert-i3s-obb-to-mbs.js +19 -8
- package/dist/lib/utils/customizeColors.d.ts +14 -0
- package/dist/lib/utils/customizeColors.d.ts.map +1 -0
- package/dist/lib/utils/customizeColors.js +94 -0
- package/dist/lib/utils/url-utils.js +41 -28
- package/dist/types.d.ts +518 -97
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +18 -19
- package/dist/workers/i3s-content-nodejs-worker.d.ts +2 -0
- package/dist/workers/i3s-content-nodejs-worker.d.ts.map +1 -0
- package/dist/workers/i3s-content-nodejs-worker.js +6 -0
- package/dist/workers/i3s-content-worker.js +5 -4
- package/package.json +15 -15
- package/src/arcgis-webscene-loader.ts +31 -0
- package/src/i3s-attribute-loader.ts +9 -9
- package/src/i3s-content-loader.ts +19 -6
- package/src/i3s-loader.ts +22 -13
- package/src/i3s-node-page-loader.ts +6 -10
- package/src/index.ts +22 -5
- package/src/lib/helpers/i3s-nodepages-tiles.ts +14 -3
- package/src/lib/parsers/constants.ts +1 -1
- package/src/lib/parsers/parse-arcgis-webscene.ts +102 -0
- package/src/lib/parsers/parse-i3s-attribute.ts +21 -14
- package/src/lib/parsers/parse-i3s-tile-content.ts +99 -76
- package/src/lib/parsers/parse-i3s.ts +8 -3
- package/src/lib/utils/customizeColors.ts +134 -0
- package/src/types.ts +482 -33
- package/src/workers/i3s-content-nodejs-worker.ts +5 -0
- package/dist/bundle.js.map +0 -1
- package/dist/i3s-attribute-loader.js.map +0 -1
- package/dist/i3s-building-scene-layer-loader.js.map +0 -1
- package/dist/i3s-content-loader.js.map +0 -1
- package/dist/i3s-loader.js.map +0 -1
- package/dist/i3s-node-page-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/helpers/i3s-nodepages-tiles.js.map +0 -1
- package/dist/lib/parsers/constants.js.map +0 -1
- package/dist/lib/parsers/parse-i3s-attribute.js.map +0 -1
- package/dist/lib/parsers/parse-i3s-building-scene-layer.js.map +0 -1
- package/dist/lib/parsers/parse-i3s-tile-content.js.map +0 -1
- package/dist/lib/parsers/parse-i3s.js.map +0 -1
- package/dist/lib/utils/convert-i3s-obb-to-mbs.js.map +0 -1
- package/dist/lib/utils/url-utils.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/workers/i3s-content-worker.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { GLTFMaterial } from '@loaders.gl/gltf';
|
|
2
1
|
import type { Matrix4, Quaternion, Vector3 } from '@math.gl/core';
|
|
3
2
|
import type { TypedArray, MeshAttribute, TextureLevel } from '@loaders.gl/schema';
|
|
3
|
+
import { Tile3D, Tileset3D } from '@loaders.gl/tiles';
|
|
4
4
|
export declare enum DATA_TYPE {
|
|
5
5
|
UInt8 = "UInt8",
|
|
6
6
|
UInt16 = "UInt16",
|
|
@@ -12,6 +12,7 @@ export declare enum DATA_TYPE {
|
|
|
12
12
|
Float32 = "Float32",
|
|
13
13
|
Float64 = "Float64"
|
|
14
14
|
}
|
|
15
|
+
export type COLOR = [number, number, number, number];
|
|
15
16
|
/**
|
|
16
17
|
* spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/3DSceneLayer.cmn.md
|
|
17
18
|
*/
|
|
@@ -21,14 +22,14 @@ export interface I3STilesetHeader extends SceneLayer3D {
|
|
|
21
22
|
[key: string]: any;
|
|
22
23
|
}
|
|
23
24
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePage.cmn.md */
|
|
24
|
-
export
|
|
25
|
+
export type NodePage = {
|
|
25
26
|
/** Array of nodes. */
|
|
26
27
|
nodes: NodeInPage[];
|
|
27
28
|
};
|
|
28
29
|
/**
|
|
29
30
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/mesh.cmn.md
|
|
30
31
|
*/
|
|
31
|
-
|
|
32
|
+
type NodeMesh = {
|
|
32
33
|
/**
|
|
33
34
|
* The material definition.
|
|
34
35
|
*/
|
|
@@ -39,7 +40,7 @@ declare type NodeMesh = {
|
|
|
39
40
|
attribute: meshAttribute;
|
|
40
41
|
};
|
|
41
42
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshMaterial.cmn.md */
|
|
42
|
-
export
|
|
43
|
+
export type MeshMaterial = {
|
|
43
44
|
/** The index in layer.materialDefinitions array. */
|
|
44
45
|
definition: number;
|
|
45
46
|
/** Resource id for the material textures. i.e: layers/0/nodes/{material.resource}/textures/{tex_name}. Is required if material declares any textures. */
|
|
@@ -48,7 +49,7 @@ export declare type MeshMaterial = {
|
|
|
48
49
|
texelCountHint?: number;
|
|
49
50
|
};
|
|
50
51
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshGeometry.cmn.md */
|
|
51
|
-
export
|
|
52
|
+
export type MeshGeometry = {
|
|
52
53
|
/** The index in layer.geometryDefinitions array */
|
|
53
54
|
definition: number;
|
|
54
55
|
/** The resource locator to be used to query geometry resources: layers/0/nodes/{this.resource}/geometries/{layer.geometryDefinitions[this.definition].geometryBuffers[0 or 1]}. */
|
|
@@ -59,12 +60,12 @@ export declare type MeshGeometry = {
|
|
|
59
60
|
featureCount?: number;
|
|
60
61
|
};
|
|
61
62
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshAttribute.cmn.md */
|
|
62
|
-
|
|
63
|
+
type meshAttribute = {
|
|
63
64
|
/** The resource identifier to be used to locate attribute resources of this mesh. i.e. layers/0/nodes/<resource id>/attributes/... */
|
|
64
65
|
resource: number;
|
|
65
66
|
};
|
|
66
|
-
export
|
|
67
|
-
export
|
|
67
|
+
export type I3STextureFormat = 'jpg' | 'png' | 'ktx-etc2' | 'dds' | 'ktx2';
|
|
68
|
+
export type I3STileHeader = {
|
|
68
69
|
isDracoGeometry: boolean;
|
|
69
70
|
textureUrl?: string;
|
|
70
71
|
url?: string;
|
|
@@ -76,7 +77,57 @@ export declare type I3STileHeader = {
|
|
|
76
77
|
lodSelection?: LodSelection[];
|
|
77
78
|
[key: string]: any;
|
|
78
79
|
};
|
|
79
|
-
export
|
|
80
|
+
export type I3SParseOptions = {
|
|
81
|
+
/** ArcGIS access token */
|
|
82
|
+
token?: string;
|
|
83
|
+
/** Is 3DSceneLayer json expected in response */
|
|
84
|
+
isTileset?: string;
|
|
85
|
+
/** Is 3DNodeIndexDocument json expected in response */
|
|
86
|
+
isTileHeader?: string;
|
|
87
|
+
/** Tile3D instance. This property used only to load tile content */
|
|
88
|
+
/** Tile-specific options */
|
|
89
|
+
_tileOptions?: I3STileOptions;
|
|
90
|
+
/** Tileset-specific options */
|
|
91
|
+
_tilesetOptions?: I3STilesetOptions;
|
|
92
|
+
/** Load Draco Compressed geometry if available */
|
|
93
|
+
useDracoGeometry?: boolean;
|
|
94
|
+
/** Load compressed textures if available */
|
|
95
|
+
useCompressedTextures?: boolean;
|
|
96
|
+
/** Set false if don't need to parse textures */
|
|
97
|
+
decodeTextures?: boolean;
|
|
98
|
+
/** deck.gl compatible coordinate system.
|
|
99
|
+
* https://github.com/visgl/deck.gl/blob/master/docs/developer-guide/coordinate-systems.md
|
|
100
|
+
* Supported coordinate systems: METER_OFFSETS, LNGLAT_OFFSETS
|
|
101
|
+
*/
|
|
102
|
+
coordinateSystem?: number;
|
|
103
|
+
colorsByAttribute?: {
|
|
104
|
+
attributeName: string;
|
|
105
|
+
minValue: number;
|
|
106
|
+
maxValue: number;
|
|
107
|
+
minColor: COLOR;
|
|
108
|
+
maxColor: COLOR;
|
|
109
|
+
};
|
|
110
|
+
/** @deprecated */
|
|
111
|
+
tile?: Tile3D | I3STileOptions;
|
|
112
|
+
/** Tileset3D instance. This property used only to load tile content */
|
|
113
|
+
/** @deprecated */
|
|
114
|
+
tileset?: Tileset3D | I3STilesetOptions;
|
|
115
|
+
};
|
|
116
|
+
export type I3STileOptions = {
|
|
117
|
+
isDracoGeometry: boolean;
|
|
118
|
+
textureUrl?: string;
|
|
119
|
+
textureFormat?: I3STextureFormat;
|
|
120
|
+
textureLoaderOptions?: any;
|
|
121
|
+
materialDefinition?: I3SMaterialDefinition;
|
|
122
|
+
attributeUrls: string[];
|
|
123
|
+
mbs: Mbs;
|
|
124
|
+
};
|
|
125
|
+
export type I3STilesetOptions = {
|
|
126
|
+
store: Store;
|
|
127
|
+
attributeStorageInfo: AttributeStorageInfo[];
|
|
128
|
+
fields: Field[];
|
|
129
|
+
};
|
|
130
|
+
export type I3STileContent = {
|
|
80
131
|
attributes: I3SMeshAttributes;
|
|
81
132
|
indices: TypedArray | null;
|
|
82
133
|
featureIds: number[] | TypedArray;
|
|
@@ -87,25 +138,25 @@ export declare type I3STileContent = {
|
|
|
87
138
|
texture: TileContentTexture;
|
|
88
139
|
[key: string]: any;
|
|
89
140
|
};
|
|
90
|
-
export
|
|
141
|
+
export type TileContentTexture = ArrayBuffer | {
|
|
91
142
|
compressed: boolean;
|
|
92
143
|
mipmaps: boolean;
|
|
93
144
|
width: number;
|
|
94
145
|
height: number;
|
|
95
146
|
data: TextureLevel[];
|
|
96
147
|
} | null;
|
|
97
|
-
export
|
|
148
|
+
export type BoundingVolumes = {
|
|
98
149
|
mbs: Mbs;
|
|
99
150
|
obb: Obb;
|
|
100
151
|
};
|
|
101
|
-
export
|
|
152
|
+
export type Obb = {
|
|
102
153
|
center: number[] | Vector3;
|
|
103
154
|
halfSize: number[] | Vector3;
|
|
104
|
-
quaternion: Quaternion;
|
|
155
|
+
quaternion: number[] | Quaternion;
|
|
105
156
|
};
|
|
106
|
-
export
|
|
157
|
+
export type Mbs = [number, number, number, number];
|
|
107
158
|
/** SceneLayer3D based on I3S specification - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/3DSceneLayer.cmn.md */
|
|
108
|
-
export
|
|
159
|
+
export type SceneLayer3D = {
|
|
109
160
|
/** Unique numeric ID of the layer. */
|
|
110
161
|
id: number;
|
|
111
162
|
/** The relative URL to the 3DSceneLayerResource. Only present as part of the SceneServiceInfo resource. */
|
|
@@ -168,19 +219,19 @@ export declare type SceneLayer3D = {
|
|
|
168
219
|
fullExtent?: FullExtent;
|
|
169
220
|
};
|
|
170
221
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/cachedDrawingInfo.cmn.md */
|
|
171
|
-
export
|
|
222
|
+
export type CachedDrawingInfo = {
|
|
172
223
|
/** If true, the drawingInfo is captured as part of the binary scene layer representation. */
|
|
173
224
|
color: boolean;
|
|
174
225
|
};
|
|
175
226
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/drawingInfo.cmn.md */
|
|
176
|
-
export
|
|
227
|
+
export type DrawingInfo = {
|
|
177
228
|
/** An object defining the symbology for the layer. See more information about supported renderer types in ArcGIS clients. */
|
|
178
229
|
renderer: any;
|
|
179
230
|
/** Scale symbols for the layer. */
|
|
180
231
|
scaleSymbols: boolean;
|
|
181
232
|
};
|
|
182
233
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/elevationInfo.cmn.md */
|
|
183
|
-
export
|
|
234
|
+
export type ElevationInfo = {
|
|
184
235
|
mode: 'relativeToGround' | 'absoluteHeight' | 'onTheGround' | 'relativeToScene';
|
|
185
236
|
/** Offset is always added to the result of the above logic except for onTheGround where offset is ignored. */
|
|
186
237
|
offset: number;
|
|
@@ -188,7 +239,7 @@ export declare type ElevationInfo = {
|
|
|
188
239
|
unit: string;
|
|
189
240
|
};
|
|
190
241
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/statisticsInfo.cmn.md */
|
|
191
|
-
export
|
|
242
|
+
export type StatisticsInfo = {
|
|
192
243
|
/** Key indicating the resource of the statistics. */
|
|
193
244
|
key: string;
|
|
194
245
|
/** Name of the field of the statistical information. */
|
|
@@ -197,7 +248,7 @@ export declare type StatisticsInfo = {
|
|
|
197
248
|
href: string;
|
|
198
249
|
};
|
|
199
250
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePageDefinition.cmn.md */
|
|
200
|
-
export
|
|
251
|
+
export type NodePageDefinition = {
|
|
201
252
|
/** Number of nodes per page for this layer. Must be a power-of-two less than 4096 */
|
|
202
253
|
nodesPerPage: number;
|
|
203
254
|
/** Index of the root node. Default = 0. */
|
|
@@ -206,41 +257,41 @@ export declare type NodePageDefinition = {
|
|
|
206
257
|
lodSelectionMetricType: 'maxScreenThresholdSQ';
|
|
207
258
|
};
|
|
208
259
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitions.cmn.md */
|
|
209
|
-
export
|
|
260
|
+
export type I3SMaterialDefinition = {
|
|
210
261
|
/** A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology. When not specified, all the default values of pbrMetallicRoughness apply. */
|
|
211
262
|
pbrMetallicRoughness: I3SPbrMetallicRoughness;
|
|
212
263
|
/** The normal texture map. */
|
|
213
|
-
normalTexture
|
|
264
|
+
normalTexture?: I3SMaterialTexture;
|
|
214
265
|
/** The occlusion texture map. */
|
|
215
|
-
occlusionTexture
|
|
266
|
+
occlusionTexture?: I3SMaterialTexture;
|
|
216
267
|
/** The emissive texture map. */
|
|
217
|
-
emissiveTexture
|
|
268
|
+
emissiveTexture?: I3SMaterialTexture;
|
|
218
269
|
/** The emissive color of the material. */
|
|
219
|
-
emissiveFactor
|
|
270
|
+
emissiveFactor?: [number, number, number];
|
|
220
271
|
/** Defines the meaning of the alpha-channel/alpha-mask. */
|
|
221
272
|
alphaMode: 'opaque' | 'mask' | 'blend';
|
|
222
273
|
/** The alpha cutoff value of the material. */
|
|
223
|
-
alphaCutoff
|
|
274
|
+
alphaCutoff?: number;
|
|
224
275
|
/** Specifies whether the material is double sided. */
|
|
225
|
-
doubleSided
|
|
276
|
+
doubleSided?: boolean;
|
|
226
277
|
/** Winding order is counterclockwise. */
|
|
227
|
-
cullFace
|
|
278
|
+
cullFace?: 'none' | 'front' | 'back';
|
|
228
279
|
};
|
|
229
280
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/pbrMetallicRoughness.cmn.md */
|
|
230
|
-
export
|
|
281
|
+
export type I3SPbrMetallicRoughness = {
|
|
231
282
|
/** The material's base color factor. default=[1,1,1,1] */
|
|
232
|
-
baseColorFactor
|
|
283
|
+
baseColorFactor?: [number, number, number, number];
|
|
233
284
|
/** The base color texture. */
|
|
234
|
-
baseColorTexture
|
|
285
|
+
baseColorTexture?: I3SMaterialTexture;
|
|
235
286
|
/** the metalness of the material. default=1.0 */
|
|
236
287
|
metallicFactor: number;
|
|
237
288
|
/** the roughness of the material. default=1.0 */
|
|
238
289
|
roughnessFactor: number;
|
|
239
290
|
/** the metallic-roughness texture. */
|
|
240
|
-
metallicRoughnessTexture
|
|
291
|
+
metallicRoughnessTexture?: I3SMaterialTexture;
|
|
241
292
|
};
|
|
242
293
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialTexture.cmn.md */
|
|
243
|
-
export
|
|
294
|
+
export type I3SMaterialTexture = {
|
|
244
295
|
/** The index in layer.textureSetDefinitions. */
|
|
245
296
|
textureSetDefinitionId: number;
|
|
246
297
|
/** The set index of texture's TEXCOORD attribute used for texture coordinate mapping. Default is 0. Deprecated. */
|
|
@@ -249,7 +300,7 @@ export declare type I3SMaterialTexture = {
|
|
|
249
300
|
factor?: number;
|
|
250
301
|
};
|
|
251
302
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/attributeStorageInfo.cmn.md */
|
|
252
|
-
export
|
|
303
|
+
export type AttributeStorageInfo = {
|
|
253
304
|
key: string;
|
|
254
305
|
name: string;
|
|
255
306
|
header: {
|
|
@@ -262,15 +313,15 @@ export declare type AttributeStorageInfo = {
|
|
|
262
313
|
objectIds?: AttributeValue;
|
|
263
314
|
};
|
|
264
315
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/field.cmn.md */
|
|
265
|
-
export
|
|
316
|
+
export type Field = {
|
|
266
317
|
name: string;
|
|
267
318
|
type: ESRIField;
|
|
268
319
|
alias?: string;
|
|
269
320
|
domain?: Domain;
|
|
270
321
|
};
|
|
271
|
-
export
|
|
322
|
+
export type ESRIField = 'esriFieldTypeDate' | 'esriFieldTypeSingle' | 'esriFieldTypeDouble' | 'esriFieldTypeGUID' | 'esriFieldTypeGlobalID' | 'esriFieldTypeInteger' | 'esriFieldTypeOID' | 'esriFieldTypeSmallInteger' | 'esriFieldTypeString';
|
|
272
323
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/popupInfo.cmn.md */
|
|
273
|
-
export
|
|
324
|
+
export type PopupInfo = {
|
|
274
325
|
title?: string;
|
|
275
326
|
description?: string;
|
|
276
327
|
expressionInfos?: any[];
|
|
@@ -285,10 +336,9 @@ export declare type PopupInfo = {
|
|
|
285
336
|
/**
|
|
286
337
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md
|
|
287
338
|
*/
|
|
288
|
-
export
|
|
339
|
+
export type Node3DIndexDocument = {
|
|
289
340
|
id: string;
|
|
290
341
|
version?: string;
|
|
291
|
-
path?: string;
|
|
292
342
|
level?: number;
|
|
293
343
|
mbs?: Mbs;
|
|
294
344
|
obb?: Obb;
|
|
@@ -307,7 +357,7 @@ export declare type Node3DIndexDocument = {
|
|
|
307
357
|
/**
|
|
308
358
|
* Minimal I3S node data is needed for loading
|
|
309
359
|
*/
|
|
310
|
-
export
|
|
360
|
+
export type I3SMinimalNodeData = {
|
|
311
361
|
id: string;
|
|
312
362
|
url?: string;
|
|
313
363
|
transform?: number[];
|
|
@@ -325,18 +375,18 @@ export declare type I3SMinimalNodeData = {
|
|
|
325
375
|
children?: NodeReference[];
|
|
326
376
|
isDracoGeometry: boolean;
|
|
327
377
|
};
|
|
328
|
-
export
|
|
378
|
+
export type LodSelection = {
|
|
329
379
|
metricType?: string;
|
|
330
380
|
maxError: number;
|
|
331
381
|
};
|
|
332
|
-
export
|
|
382
|
+
export type NodeReference = {
|
|
333
383
|
id: string;
|
|
334
384
|
version?: string;
|
|
335
385
|
mbs?: Mbs;
|
|
336
386
|
obb?: Obb;
|
|
337
387
|
href?: string;
|
|
338
388
|
};
|
|
339
|
-
export
|
|
389
|
+
export type Resource = {
|
|
340
390
|
href: string;
|
|
341
391
|
layerContent?: string[];
|
|
342
392
|
featureRange?: number[];
|
|
@@ -345,11 +395,11 @@ export declare type Resource = {
|
|
|
345
395
|
faceElements?: number[];
|
|
346
396
|
nodePath?: string;
|
|
347
397
|
};
|
|
348
|
-
export
|
|
398
|
+
export type MaxScreenThresholdSQ = {
|
|
349
399
|
maxError: number;
|
|
350
400
|
};
|
|
351
401
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/node.cmn.md */
|
|
352
|
-
export
|
|
402
|
+
export type NodeInPage = {
|
|
353
403
|
/**
|
|
354
404
|
* The index in the node array. May be different than material, geometry and attribute resource id. See mesh for more information.
|
|
355
405
|
*/
|
|
@@ -375,38 +425,97 @@ export declare type NodeInPage = {
|
|
|
375
425
|
*/
|
|
376
426
|
mesh?: NodeMesh;
|
|
377
427
|
};
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
428
|
+
/**
|
|
429
|
+
* https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitionInfo.cmn.md
|
|
430
|
+
*/
|
|
431
|
+
export type MaterialDefinitionInfo = {
|
|
432
|
+
/** A name for the material as assigned in the creating application. */
|
|
433
|
+
name?: string;
|
|
434
|
+
/** Indicates the material type, chosen from the supported values. */
|
|
435
|
+
type?: 'standard' | 'water' | 'billboard' | 'leafcard' | 'reference';
|
|
436
|
+
/** The href that resolves to the shared resource bundle in which the material definition is contained. */
|
|
437
|
+
$ref?: string;
|
|
438
|
+
/** Parameter defined for the material.
|
|
439
|
+
* https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialParams.cmn.md
|
|
440
|
+
*/
|
|
441
|
+
params: {
|
|
442
|
+
/** Indicates transparency of this material; 0 = opaque, 1 = fully transparent. */
|
|
443
|
+
transparency?: number;
|
|
444
|
+
/** Indicates reflectivity of this material. */
|
|
445
|
+
reflectivity?: number;
|
|
446
|
+
/** Indicates shininess of this material. */
|
|
447
|
+
shininess?: number;
|
|
448
|
+
/** Ambient color of this material. Ambient color is the color of an object where it is in shadow.
|
|
449
|
+
* This color is what the object reflects when illuminated by ambient light rather than direct light. */
|
|
450
|
+
ambient?: number[];
|
|
451
|
+
/** Diffuse color of this material. Diffuse color is the most instinctive meaning of the color of an object.
|
|
452
|
+
* It is that essential color that the object reveals under pure white light. It is perceived as the color
|
|
453
|
+
* of the object itself rather than a reflection of the light. */
|
|
454
|
+
diffuse?: number[];
|
|
455
|
+
/** Specular color of this material. Specular color is the color of the light of a specular reflection
|
|
456
|
+
* (specular reflection is the type of reflection that is characteristic of light reflected from a shiny
|
|
457
|
+
* surface). */
|
|
458
|
+
specular?: number[];
|
|
459
|
+
/** Rendering mode. */
|
|
460
|
+
renderMode: 'textured' | 'solid' | 'untextured' | 'wireframe';
|
|
461
|
+
/** TRUE if features with this material should cast shadows. */
|
|
462
|
+
castShadows?: boolean;
|
|
463
|
+
/** TRUE if features with this material should receive shadows */
|
|
464
|
+
receiveShadows?: boolean;
|
|
465
|
+
/** Indicates the material culling options {back, front, none}. */
|
|
466
|
+
cullFace?: string;
|
|
467
|
+
/** This flag indicates that the vertex color attribute of the geometry should be used to color the geometry
|
|
468
|
+
* for rendering. If texture is present, the vertex colors are multiplied by this color.
|
|
469
|
+
* e.g. pixel_color = [interpolated]vertex_color * texel_color. Default is false. */
|
|
470
|
+
vertexColors?: boolean;
|
|
471
|
+
/** This flag indicates that the geometry has uv region vertex attributes. These are used for adressing
|
|
472
|
+
* subtextures in a texture atlas. The uv coordinates are relative to this subtexture in this case.
|
|
473
|
+
* This is mostly useful for repeated textures in a texture atlas. Default is false. */
|
|
474
|
+
vertexRegions?: boolean;
|
|
475
|
+
/** Indicates whether Vertex Colors also contain a transparency channel. Default is false. */
|
|
476
|
+
useVertexColorAlpha?: boolean;
|
|
477
|
+
};
|
|
382
478
|
};
|
|
383
|
-
|
|
479
|
+
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/sharedResource.cmn.md */
|
|
480
|
+
export type SharedResources = {
|
|
481
|
+
/** Materials describe how a Feature or a set of Features is to be rendered. */
|
|
482
|
+
materialDefinitions?: {
|
|
483
|
+
[key: string]: MaterialDefinitionInfo;
|
|
484
|
+
};
|
|
485
|
+
/** A Texture is a set of images, with some parameters specific to the texture/uv mapping to geometries. */
|
|
486
|
+
textureDefinitions?: {
|
|
487
|
+
[key: string]: TextureDefinitionInfo;
|
|
488
|
+
};
|
|
489
|
+
};
|
|
490
|
+
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/image.cmn.md */
|
|
491
|
+
type TextureImage = {
|
|
492
|
+
/** A unique ID for each image. Generated using the BuildID function. */
|
|
384
493
|
id: string;
|
|
494
|
+
/** width of this image, in pixels. */
|
|
385
495
|
size?: number;
|
|
496
|
+
/** The maximum size of a single pixel in world units.
|
|
497
|
+
* This property is used by the client to pick the image to load and render. */
|
|
386
498
|
pixelInWorldUnits?: number;
|
|
499
|
+
/** The href to the image(s), one per encoding, in the same order as the encodings. */
|
|
387
500
|
href?: string[];
|
|
501
|
+
/** The byte offset of this image's encodings. There is one per encoding,
|
|
502
|
+
* in the same order as the encodings, in the block in which this texture image resides. */
|
|
388
503
|
byteOffset?: string[];
|
|
504
|
+
/** The length in bytes of this image's encodings. There is one per encoding,
|
|
505
|
+
* in the same order as the encodings. */
|
|
389
506
|
length?: number[];
|
|
390
|
-
mimeType?: string;
|
|
391
|
-
bufferView?: {
|
|
392
|
-
data: ArrayBuffer;
|
|
393
|
-
};
|
|
394
|
-
image?: {
|
|
395
|
-
height: number;
|
|
396
|
-
width: number;
|
|
397
|
-
};
|
|
398
507
|
};
|
|
399
|
-
export
|
|
400
|
-
export
|
|
401
|
-
export
|
|
508
|
+
export type Attribute = 'OBJECTID' | 'string' | 'double' | 'Int32' | string;
|
|
509
|
+
export type Extent = [number, number, number, number];
|
|
510
|
+
export type FeatureAttribute = {
|
|
402
511
|
id: AttributeValue;
|
|
403
512
|
faceRange: AttributeValue;
|
|
404
513
|
};
|
|
405
|
-
export
|
|
514
|
+
export type BuildingSceneLayerTileset = {
|
|
406
515
|
header: BuildingSceneLayer;
|
|
407
516
|
sublayers: BuildingSceneSublayer[];
|
|
408
517
|
};
|
|
409
|
-
export
|
|
518
|
+
export type BuildingSceneLayer = {
|
|
410
519
|
id: number;
|
|
411
520
|
name: string;
|
|
412
521
|
version: string;
|
|
@@ -422,7 +531,7 @@ export declare type BuildingSceneLayer = {
|
|
|
422
531
|
activeFilterID?: string;
|
|
423
532
|
statisticsHRef?: string;
|
|
424
533
|
};
|
|
425
|
-
export
|
|
534
|
+
export type BuildingSceneSublayer = {
|
|
426
535
|
id: number;
|
|
427
536
|
name: string;
|
|
428
537
|
alias?: string;
|
|
@@ -434,7 +543,7 @@ export declare type BuildingSceneSublayer = {
|
|
|
434
543
|
isEmpty?: boolean;
|
|
435
544
|
url?: string;
|
|
436
545
|
};
|
|
437
|
-
|
|
546
|
+
type Filter = {
|
|
438
547
|
id: string;
|
|
439
548
|
name: string;
|
|
440
549
|
description: string;
|
|
@@ -443,38 +552,38 @@ declare type Filter = {
|
|
|
443
552
|
filterBlocks: FilterBlock[];
|
|
444
553
|
filterAuthoringInfo?: FilterAuthoringInfo;
|
|
445
554
|
};
|
|
446
|
-
|
|
555
|
+
type FilterAuthoringInfo = {
|
|
447
556
|
type: string;
|
|
448
557
|
filterBlocks: FilterBlockAuthoringInfo[];
|
|
449
558
|
};
|
|
450
|
-
|
|
559
|
+
type FilterBlockAuthoringInfo = {
|
|
451
560
|
filterTypes: FilterType[];
|
|
452
561
|
};
|
|
453
|
-
|
|
562
|
+
type FilterType = {
|
|
454
563
|
filterType: string;
|
|
455
564
|
filterValues: string[];
|
|
456
565
|
};
|
|
457
|
-
|
|
566
|
+
type FilterBlock = {
|
|
458
567
|
title: string;
|
|
459
568
|
filterMode: FilterModeSolid | FilterModeWireFrame;
|
|
460
569
|
filterExpression: string;
|
|
461
570
|
};
|
|
462
|
-
|
|
571
|
+
type Edges = {
|
|
463
572
|
type: string;
|
|
464
573
|
color: number[];
|
|
465
574
|
size: number;
|
|
466
575
|
transparency: number;
|
|
467
576
|
extensionLength: number;
|
|
468
577
|
};
|
|
469
|
-
|
|
578
|
+
type FilterModeSolid = {
|
|
470
579
|
type: 'solid';
|
|
471
580
|
};
|
|
472
|
-
|
|
581
|
+
type FilterModeWireFrame = {
|
|
473
582
|
type: 'wireFrame';
|
|
474
583
|
edges: Edges;
|
|
475
584
|
};
|
|
476
585
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/spatialReference.cmn.md */
|
|
477
|
-
export
|
|
586
|
+
export type SpatialReference = {
|
|
478
587
|
/** The current WKID value of the vertical coordinate system. */
|
|
479
588
|
latestVcsWkid: number;
|
|
480
589
|
/** dentifies the current WKID value associated with the same spatial reference. */
|
|
@@ -487,31 +596,40 @@ export declare type SpatialReference = {
|
|
|
487
596
|
wkt?: string;
|
|
488
597
|
};
|
|
489
598
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/fullExtent.cmn.md */
|
|
490
|
-
|
|
491
|
-
/** left */
|
|
599
|
+
export type FullExtent = {
|
|
600
|
+
/** left longitude in decimal degrees */
|
|
492
601
|
xmin: number;
|
|
493
|
-
/** right */
|
|
602
|
+
/** right longitude in decimal degrees */
|
|
494
603
|
xmax: number;
|
|
495
|
-
/** bottom */
|
|
604
|
+
/** bottom latitude in decimal degrees*/
|
|
496
605
|
ymin: number;
|
|
497
|
-
/** top */
|
|
606
|
+
/** top latitude in decimal degrees*/
|
|
498
607
|
ymax: number;
|
|
499
|
-
/** lowest elevation */
|
|
608
|
+
/** lowest elevation in meters */
|
|
500
609
|
zmin: number;
|
|
501
|
-
/** highest elevation */
|
|
610
|
+
/** highest elevation in meters */
|
|
502
611
|
zmax: number;
|
|
503
612
|
spatialReference?: SpatialReference;
|
|
504
613
|
};
|
|
505
|
-
|
|
506
|
-
|
|
614
|
+
/**
|
|
615
|
+
* https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureDefinitionInfo.cmn.md
|
|
616
|
+
*/
|
|
617
|
+
export type TextureDefinitionInfo = {
|
|
618
|
+
/** MIMEtype - The encoding/content type that is used by all images in this map */
|
|
619
|
+
encoding?: string[];
|
|
620
|
+
/** UV wrapping modes, from {none, repeat, mirror}. */
|
|
507
621
|
wrap?: string[];
|
|
622
|
+
/** TRUE if the Map represents a texture atlas. */
|
|
508
623
|
atlas?: boolean;
|
|
624
|
+
/** The name of the UV set to be used as texture coordinates. */
|
|
509
625
|
uvSet?: string;
|
|
626
|
+
/** Indicates channels description. */
|
|
510
627
|
channels?: 'rbg' | 'rgba' | string;
|
|
628
|
+
/** An image is a binary resource, containing a single raster that can be used to texture a feature or symbol. */
|
|
511
629
|
images: TextureImage[];
|
|
512
630
|
};
|
|
513
631
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/domain.cmn.md */
|
|
514
|
-
|
|
632
|
+
type Domain = {
|
|
515
633
|
type: string;
|
|
516
634
|
name: string;
|
|
517
635
|
description?: string;
|
|
@@ -527,7 +645,7 @@ declare type Domain = {
|
|
|
527
645
|
/**
|
|
528
646
|
* spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/store.cmn.md
|
|
529
647
|
*/
|
|
530
|
-
|
|
648
|
+
type Store = {
|
|
531
649
|
id: string | number;
|
|
532
650
|
profile: string;
|
|
533
651
|
version: number | string;
|
|
@@ -546,7 +664,7 @@ declare type Store = {
|
|
|
546
664
|
/**
|
|
547
665
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md
|
|
548
666
|
*/
|
|
549
|
-
|
|
667
|
+
type DefaultGeometrySchema = {
|
|
550
668
|
geometryType?: 'triangles';
|
|
551
669
|
topology: 'PerAttributeArray' | 'Indexed';
|
|
552
670
|
header: HeaderAttribute[];
|
|
@@ -560,7 +678,7 @@ declare type DefaultGeometrySchema = {
|
|
|
560
678
|
/**
|
|
561
679
|
* spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/headerAttribute.cmn.md
|
|
562
680
|
*/
|
|
563
|
-
export
|
|
681
|
+
export type HeaderAttribute = {
|
|
564
682
|
property: HeaderAttributeProperty.vertexCount | HeaderAttributeProperty.featureCount | string;
|
|
565
683
|
type: DATA_TYPE.UInt8 | DATA_TYPE.UInt16 | DATA_TYPE.UInt32 | DATA_TYPE.UInt64 | DATA_TYPE.Int16 | DATA_TYPE.Int32 | DATA_TYPE.Int64 | DATA_TYPE.Float32 | DATA_TYPE.Float64;
|
|
566
684
|
};
|
|
@@ -568,19 +686,19 @@ export declare enum HeaderAttributeProperty {
|
|
|
568
686
|
vertexCount = "vertexCount",
|
|
569
687
|
featureCount = "featureCount"
|
|
570
688
|
}
|
|
571
|
-
export
|
|
689
|
+
export type VertexAttribute = {
|
|
572
690
|
position: GeometryAttribute;
|
|
573
691
|
normal: GeometryAttribute;
|
|
574
692
|
uv0: GeometryAttribute;
|
|
575
693
|
color: GeometryAttribute;
|
|
576
694
|
region?: GeometryAttribute;
|
|
577
695
|
};
|
|
578
|
-
export
|
|
696
|
+
export type GeometryAttribute = {
|
|
579
697
|
byteOffset?: number;
|
|
580
698
|
valueType: DATA_TYPE.UInt8 | DATA_TYPE.UInt16 | DATA_TYPE.Int16 | DATA_TYPE.Int32 | DATA_TYPE.Int64 | DATA_TYPE.Float32 | DATA_TYPE.Float64;
|
|
581
699
|
valuesPerElement: number;
|
|
582
700
|
};
|
|
583
|
-
export
|
|
701
|
+
export type I3SMeshAttributes = {
|
|
584
702
|
[key: string]: I3SMeshAttribute;
|
|
585
703
|
};
|
|
586
704
|
export interface I3SMeshAttribute extends MeshAttribute {
|
|
@@ -588,27 +706,27 @@ export interface I3SMeshAttribute extends MeshAttribute {
|
|
|
588
706
|
metadata?: any;
|
|
589
707
|
}
|
|
590
708
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/heightModelInfo.cmn.md */
|
|
591
|
-
|
|
709
|
+
type HeightModelInfo = {
|
|
592
710
|
heightModel: 'gravity_related_height' | 'ellipsoidal';
|
|
593
711
|
vertCRS: string;
|
|
594
712
|
heightUnit: 'meter' | 'us-foot' | 'foot' | 'clarke-foot' | 'clarke-yard' | 'clarke-link' | 'sears-yard' | 'sears-foot' | 'sears-chain' | 'benoit-1895-b-chain' | 'indian-yard' | 'indian-1937-yard' | 'gold-coast-foot' | 'sears-1922-truncated-chain' | 'us-inch' | 'us-mile' | 'us-yard' | 'millimeter' | 'decimeter' | 'centimeter' | 'kilometer';
|
|
595
713
|
};
|
|
596
|
-
export
|
|
714
|
+
export type TextureSetDefinitionFormats = {
|
|
597
715
|
name: string;
|
|
598
716
|
format: I3STextureFormat;
|
|
599
717
|
}[];
|
|
600
718
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinition.cmn.md */
|
|
601
|
-
|
|
719
|
+
type TextureSetDefinition = {
|
|
602
720
|
formats: TextureSetDefinitionFormats;
|
|
603
721
|
atlas?: boolean;
|
|
604
722
|
};
|
|
605
723
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryDefinition.cmn.md */
|
|
606
|
-
|
|
724
|
+
type GeometryDefinition = {
|
|
607
725
|
topology: 'triangle' | string;
|
|
608
726
|
geometryBuffers: GeometryBuffer[];
|
|
609
727
|
};
|
|
610
728
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryBuffer.cmn.md */
|
|
611
|
-
|
|
729
|
+
type GeometryBuffer = {
|
|
612
730
|
offset?: number;
|
|
613
731
|
position?: GeometryBufferItem;
|
|
614
732
|
normal?: GeometryBufferItem;
|
|
@@ -622,22 +740,325 @@ declare type GeometryBuffer = {
|
|
|
622
740
|
attributes: string[];
|
|
623
741
|
};
|
|
624
742
|
};
|
|
625
|
-
|
|
743
|
+
type GeometryBufferItem = {
|
|
626
744
|
type: string;
|
|
627
745
|
component: number;
|
|
628
746
|
encoding?: string;
|
|
629
747
|
binding: string;
|
|
630
748
|
};
|
|
631
|
-
|
|
749
|
+
type AttributeValue = {
|
|
632
750
|
valueType: string;
|
|
633
751
|
encoding?: string;
|
|
634
752
|
valuesPerElement?: number;
|
|
635
753
|
};
|
|
636
|
-
export
|
|
754
|
+
export type FieldInfo = {
|
|
637
755
|
fieldName: string;
|
|
638
756
|
visible: boolean;
|
|
639
757
|
isEditable: boolean;
|
|
640
758
|
label: string;
|
|
641
759
|
};
|
|
760
|
+
export type ArcGisWebSceneData = {
|
|
761
|
+
header: ArcGisWebScene;
|
|
762
|
+
layers: OperationalLayer[];
|
|
763
|
+
unsupportedLayers: OperationalLayer[];
|
|
764
|
+
};
|
|
765
|
+
/**
|
|
766
|
+
* ArcGis WebScene spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/
|
|
767
|
+
*/
|
|
768
|
+
export type ArcGisWebScene = {
|
|
769
|
+
/**
|
|
770
|
+
* @todo add type.
|
|
771
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/applicationProperties/
|
|
772
|
+
* Configuration of application and UI elements.
|
|
773
|
+
*/
|
|
774
|
+
applicationProperties?: any;
|
|
775
|
+
/**
|
|
776
|
+
* Operational layers contain business data which are used to make thematic scenes.
|
|
777
|
+
*/
|
|
778
|
+
operationalLayers: OperationalLayer[];
|
|
779
|
+
/**
|
|
780
|
+
* Basemaps give the web scene a geographic context.
|
|
781
|
+
*/
|
|
782
|
+
baseMap: BaseMap;
|
|
783
|
+
/**
|
|
784
|
+
* Ground defines the main surface of the web scene, based on elevation layers.
|
|
785
|
+
*/
|
|
786
|
+
ground: Ground;
|
|
787
|
+
/**
|
|
788
|
+
* An object that defines the characteristics of the vertical coordinate system used by the web scene.
|
|
789
|
+
*/
|
|
790
|
+
heightModelInfo: HeightModelInfo;
|
|
791
|
+
/**
|
|
792
|
+
* Root element in the web scene specifying a string value indicating the web scene version.
|
|
793
|
+
* Valid values: 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26, 1.27
|
|
794
|
+
*/
|
|
795
|
+
version: string;
|
|
796
|
+
/**
|
|
797
|
+
* String value indicating the application which authored the webmap
|
|
798
|
+
*/
|
|
799
|
+
authoringApp: string;
|
|
800
|
+
/**
|
|
801
|
+
* String value indicating the authoring App's version number.
|
|
802
|
+
*/
|
|
803
|
+
authoringAppVersion: string;
|
|
804
|
+
/**
|
|
805
|
+
* A presentation consists of multiple slides, where each slide is a specific view into the web scene.
|
|
806
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/presentation/
|
|
807
|
+
* @todo Add presentation type.
|
|
808
|
+
*/
|
|
809
|
+
presentation: ArcGisPresentation;
|
|
810
|
+
/**
|
|
811
|
+
* An object that provides information about the initial environment settings and viewpoint of the web scene.
|
|
812
|
+
*/
|
|
813
|
+
initialState: InitialState;
|
|
814
|
+
/**
|
|
815
|
+
* An object used to specify the spatial reference of the given geometry.
|
|
816
|
+
*/
|
|
817
|
+
spatialReference: SpatialReference;
|
|
818
|
+
viewingMode: 'global' | 'local';
|
|
819
|
+
/**
|
|
820
|
+
* @todo add type.
|
|
821
|
+
* Defines area to be clipped for display.
|
|
822
|
+
*/
|
|
823
|
+
clippingArea?: any;
|
|
824
|
+
/**
|
|
825
|
+
* @todo add type.
|
|
826
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/mapFloorInfo/
|
|
827
|
+
* Contains floor-awareness information for the web scene.
|
|
828
|
+
*/
|
|
829
|
+
mapFloorInfo?: any;
|
|
830
|
+
/**
|
|
831
|
+
* @todo add type.
|
|
832
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/mapRangeInfo/
|
|
833
|
+
* Map Range Information
|
|
834
|
+
*/
|
|
835
|
+
mapRangeInfo?: any;
|
|
836
|
+
/**
|
|
837
|
+
* @todo add type.
|
|
838
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/table/
|
|
839
|
+
* An array of table objects.
|
|
840
|
+
*/
|
|
841
|
+
tables?: any;
|
|
842
|
+
/**
|
|
843
|
+
* @todo add type.
|
|
844
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/transportationNetwork/
|
|
845
|
+
* Used to specify the transportation networks of the scene.
|
|
846
|
+
*/
|
|
847
|
+
transportationNetworks?: any;
|
|
848
|
+
/**
|
|
849
|
+
* @todo add type.
|
|
850
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/widgets/
|
|
851
|
+
* The widgets object contains widgets that should be exposed to the user.
|
|
852
|
+
*/
|
|
853
|
+
widgets?: any;
|
|
854
|
+
};
|
|
855
|
+
/**
|
|
856
|
+
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-webscene-Presentation.html
|
|
857
|
+
*/
|
|
858
|
+
type ArcGisPresentation = {
|
|
859
|
+
slides: Slide[];
|
|
860
|
+
};
|
|
861
|
+
/**
|
|
862
|
+
* A slide stores a snapshot of several pre-set properties of the WebScene and SceneView,
|
|
863
|
+
* such as the basemap, viewpoint and visible layers.
|
|
864
|
+
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-webscene-Slide.html
|
|
865
|
+
*/
|
|
866
|
+
type Slide = {
|
|
867
|
+
id: string;
|
|
868
|
+
title: {
|
|
869
|
+
text: string;
|
|
870
|
+
};
|
|
871
|
+
thumbnail: {
|
|
872
|
+
url: string;
|
|
873
|
+
};
|
|
874
|
+
description: {
|
|
875
|
+
text: string;
|
|
876
|
+
};
|
|
877
|
+
ground: {
|
|
878
|
+
transparency: number;
|
|
879
|
+
};
|
|
880
|
+
baseMap: ArcGisBaseMap;
|
|
881
|
+
visibleLayers: ArcGisVisibleLayer[];
|
|
882
|
+
viewpoint: ArcGisViewPoint;
|
|
883
|
+
};
|
|
884
|
+
/**
|
|
885
|
+
* The basemap of the scene. Only the base and reference layers of the basemap are stored in a slide.
|
|
886
|
+
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html
|
|
887
|
+
*/
|
|
888
|
+
type ArcGisBaseMap = {
|
|
889
|
+
id: string;
|
|
890
|
+
title: string;
|
|
891
|
+
baseMapLayers: ArcGisBaseMapLayer[];
|
|
892
|
+
};
|
|
893
|
+
/**
|
|
894
|
+
* The visible layers of the scene.
|
|
895
|
+
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-webscene-Slide.html#visibleLayers
|
|
896
|
+
*/
|
|
897
|
+
type ArcGisVisibleLayer = {
|
|
898
|
+
id: string;
|
|
899
|
+
sublayerIds: number[];
|
|
900
|
+
};
|
|
901
|
+
/**
|
|
902
|
+
* The basemap of the scene.
|
|
903
|
+
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html
|
|
904
|
+
*/
|
|
905
|
+
type ArcGisBaseMapLayer = {
|
|
906
|
+
id: string;
|
|
907
|
+
title: string;
|
|
908
|
+
url: string;
|
|
909
|
+
layerType: string;
|
|
910
|
+
visibility: boolean;
|
|
911
|
+
};
|
|
912
|
+
/**
|
|
913
|
+
* The viewpoint of the slide. This acts like a bookmark, saving a predefined location or point of view from which to view the scene.
|
|
914
|
+
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Viewpoint.html
|
|
915
|
+
*/
|
|
916
|
+
type ArcGisViewPoint = {
|
|
917
|
+
scale: number;
|
|
918
|
+
rotation?: number;
|
|
919
|
+
/**
|
|
920
|
+
* Spec - https://developers.arcgis.com/web-scene-specification/objects/viewpoint/
|
|
921
|
+
*/
|
|
922
|
+
targetGeometry: any;
|
|
923
|
+
camera: ArcGisCamera;
|
|
924
|
+
};
|
|
925
|
+
/**
|
|
926
|
+
* The camera defines the position, tilt, and heading of the point from which the SceneView's visible extent is observed.
|
|
927
|
+
* It is not associated with device hardware. This class only applies to 3D SceneViews.
|
|
928
|
+
* Spec - https://developers.arcgis.com/javascript/latest/api-reference/esri-Camera.html
|
|
929
|
+
*/
|
|
930
|
+
export type ArcGisCamera = {
|
|
931
|
+
position: {
|
|
932
|
+
x: number;
|
|
933
|
+
y: number;
|
|
934
|
+
z: number;
|
|
935
|
+
};
|
|
936
|
+
spatialReference: {
|
|
937
|
+
wkid: number;
|
|
938
|
+
latestWkid: number;
|
|
939
|
+
};
|
|
940
|
+
heading: number;
|
|
941
|
+
tilt: number;
|
|
942
|
+
};
|
|
943
|
+
/**
|
|
944
|
+
* Operational layers contain your data. Usually, a basemap sits beneath your operational layers to give them geographic context.
|
|
945
|
+
* Spec- https://developers.arcgis.com/web-scene-specification/objects/operationalLayers/
|
|
946
|
+
*/
|
|
947
|
+
export type OperationalLayer = {
|
|
948
|
+
id: string;
|
|
949
|
+
opacity: number;
|
|
950
|
+
title: string;
|
|
951
|
+
url: string;
|
|
952
|
+
visibility: boolean;
|
|
953
|
+
itemId: string;
|
|
954
|
+
layerType: string;
|
|
955
|
+
LayerDefinition: LayerDefinition;
|
|
956
|
+
screenSizePerspective: boolean;
|
|
957
|
+
showLabels?: boolean;
|
|
958
|
+
disablePopup?: boolean;
|
|
959
|
+
showLegend?: boolean;
|
|
960
|
+
layers?: OperationalLayer[];
|
|
961
|
+
};
|
|
962
|
+
type LayerDefinition = {
|
|
963
|
+
elevationInfo: ElevationInfo;
|
|
964
|
+
drawingInfo: DrawingInfo;
|
|
965
|
+
};
|
|
966
|
+
type BaseMap = {
|
|
967
|
+
id: string;
|
|
968
|
+
title: string;
|
|
969
|
+
baseMapLayers: BaseMapLayer[];
|
|
970
|
+
elevationLayers: ElevationLayer[];
|
|
971
|
+
};
|
|
972
|
+
type BaseMapLayer = {
|
|
973
|
+
id: string;
|
|
974
|
+
opacity: number;
|
|
975
|
+
title: string;
|
|
976
|
+
url: string;
|
|
977
|
+
visibility: boolean;
|
|
978
|
+
layerType: string;
|
|
979
|
+
};
|
|
980
|
+
type ElevationLayer = {
|
|
981
|
+
id: string;
|
|
982
|
+
listMode: string;
|
|
983
|
+
title: string;
|
|
984
|
+
url: string;
|
|
985
|
+
visibility: boolean;
|
|
986
|
+
layerType: string;
|
|
987
|
+
};
|
|
988
|
+
type Ground = {
|
|
989
|
+
layers: ElevationLayer[];
|
|
990
|
+
transparency: number;
|
|
991
|
+
navigationConstraint: NavigationConstraint;
|
|
992
|
+
};
|
|
993
|
+
type NavigationConstraint = {
|
|
994
|
+
type: string;
|
|
995
|
+
};
|
|
996
|
+
type InitialState = {
|
|
997
|
+
environment: Enviroment;
|
|
998
|
+
viewpoint: ViewPoint;
|
|
999
|
+
};
|
|
1000
|
+
type Enviroment = {
|
|
1001
|
+
lighting: Lighting;
|
|
1002
|
+
atmosphereEnabled?: string;
|
|
1003
|
+
starsEnabled?: string;
|
|
1004
|
+
};
|
|
1005
|
+
type Lighting = {
|
|
1006
|
+
datetime?: number;
|
|
1007
|
+
displayUTCOffset?: number;
|
|
1008
|
+
};
|
|
1009
|
+
type ViewPoint = {
|
|
1010
|
+
camera: Camera;
|
|
1011
|
+
};
|
|
1012
|
+
type Camera = {
|
|
1013
|
+
position: CameraPosition;
|
|
1014
|
+
heading: number;
|
|
1015
|
+
tilt: number;
|
|
1016
|
+
};
|
|
1017
|
+
type CameraPosition = {
|
|
1018
|
+
spatialReference: SpatialReference;
|
|
1019
|
+
x: number;
|
|
1020
|
+
y: number;
|
|
1021
|
+
z: number;
|
|
1022
|
+
};
|
|
1023
|
+
/**
|
|
1024
|
+
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/statsInfo.cmn.md
|
|
1025
|
+
*/
|
|
1026
|
+
export type StatsInfo = {
|
|
1027
|
+
/** Represents the count of the value. */
|
|
1028
|
+
totalValuesCount?: number;
|
|
1029
|
+
/** Minimum attribute value for the entire layer. */
|
|
1030
|
+
min?: number;
|
|
1031
|
+
/** Maximum attribute value for the entire layer. */
|
|
1032
|
+
max?: number;
|
|
1033
|
+
/** Count for the entire layer. */
|
|
1034
|
+
count?: number;
|
|
1035
|
+
/** Sum of the attribute values over the entire layer. */
|
|
1036
|
+
sum?: number;
|
|
1037
|
+
/** Representing average or mean value. For example, sum/count. */
|
|
1038
|
+
avg?: number;
|
|
1039
|
+
/** Representing the standard deviation. */
|
|
1040
|
+
stddev?: number;
|
|
1041
|
+
/** Representing variance. For example, stats.stddev *stats.stddev. */
|
|
1042
|
+
variance?: number;
|
|
1043
|
+
/** Represents the histogram. */
|
|
1044
|
+
histogram?: Histogram;
|
|
1045
|
+
/** An array of most frequently used values within the point cloud scene layer. */
|
|
1046
|
+
mostFrequentValues?: ValueCount[];
|
|
1047
|
+
};
|
|
1048
|
+
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/histogram.cmn.md */
|
|
1049
|
+
export type Histogram = {
|
|
1050
|
+
/** Minimum attribute value for the entire layer. */
|
|
1051
|
+
minimum: number;
|
|
1052
|
+
/** Maximum attribute value for the entire layer. Maximum array size for stats.histo.counts is 256. */
|
|
1053
|
+
maximum: number;
|
|
1054
|
+
/** Count for the entire layer. */
|
|
1055
|
+
counts: number[];
|
|
1056
|
+
};
|
|
1057
|
+
export type ValueCount = {
|
|
1058
|
+
/** Type of the attribute values after decompression, if applicable. Please note that string is not supported for point cloud scene layer attributes. */
|
|
1059
|
+
value: number | string;
|
|
1060
|
+
/** Count of the number of values. May exceed 32 bits. */
|
|
1061
|
+
count: number;
|
|
1062
|
+
};
|
|
642
1063
|
export {};
|
|
643
1064
|
//# sourceMappingURL=types.d.ts.map
|