@loaders.gl/i3s 3.3.0-alpha.7 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +111 -141
- package/dist/es5/arcgis-webscene-loader.js +1 -1
- package/dist/es5/arcgis-webscene-loader.js.map +1 -1
- package/dist/es5/i3s-attribute-loader.js +1 -1
- package/dist/es5/i3s-attribute-loader.js.map +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/es5/i3s-content-loader.js +1 -1
- package/dist/es5/i3s-content-loader.js.map +1 -1
- package/dist/es5/i3s-loader.js +11 -4
- package/dist/es5/i3s-loader.js.map +1 -1
- package/dist/es5/i3s-node-page-loader.js +1 -1
- package/dist/es5/i3s-node-page-loader.js.map +1 -1
- package/dist/es5/lib/parsers/constants.js +1 -1
- package/dist/es5/lib/parsers/constants.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/esm/arcgis-webscene-loader.js +1 -1
- package/dist/esm/arcgis-webscene-loader.js.map +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js.map +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js.map +1 -1
- package/dist/esm/i3s-loader.js +5 -1
- package/dist/esm/i3s-loader.js.map +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -1
- package/dist/esm/i3s-node-page-loader.js.map +1 -1
- package/dist/esm/lib/parsers/constants.js +1 -1
- package/dist/esm/lib/parsers/constants.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/i3s-content-nodejs-worker.js +58 -58
- package/dist/i3s-content-nodejs-worker.js.map +3 -3
- package/dist/i3s-content-worker.js +58 -60
- package/dist/i3s-loader.d.ts +1 -1
- package/dist/i3s-loader.d.ts.map +1 -1
- package/dist/i3s-loader.js +4 -0
- package/dist/lib/parsers/constants.js +1 -1
- package/dist/lib/parsers/parse-i3s-tile-content.js +1 -1
- package/dist/types.d.ts +178 -91
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -10
- package/src/i3s-loader.ts +5 -0
- package/src/lib/parsers/constants.ts +1 -1
- package/src/lib/parsers/parse-i3s-tile-content.ts +1 -1
- package/src/types.ts +95 -2
package/dist/types.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare enum DATA_TYPE {
|
|
|
12
12
|
Float32 = "Float32",
|
|
13
13
|
Float64 = "Float64"
|
|
14
14
|
}
|
|
15
|
-
export
|
|
15
|
+
export type COLOR = [number, number, number, number];
|
|
16
16
|
/**
|
|
17
17
|
* spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/3DSceneLayer.cmn.md
|
|
18
18
|
*/
|
|
@@ -22,14 +22,14 @@ export interface I3STilesetHeader extends SceneLayer3D {
|
|
|
22
22
|
[key: string]: any;
|
|
23
23
|
}
|
|
24
24
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePage.cmn.md */
|
|
25
|
-
export
|
|
25
|
+
export type NodePage = {
|
|
26
26
|
/** Array of nodes. */
|
|
27
27
|
nodes: NodeInPage[];
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
30
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/mesh.cmn.md
|
|
31
31
|
*/
|
|
32
|
-
|
|
32
|
+
type NodeMesh = {
|
|
33
33
|
/**
|
|
34
34
|
* The material definition.
|
|
35
35
|
*/
|
|
@@ -40,7 +40,7 @@ declare type NodeMesh = {
|
|
|
40
40
|
attribute: meshAttribute;
|
|
41
41
|
};
|
|
42
42
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshMaterial.cmn.md */
|
|
43
|
-
export
|
|
43
|
+
export type MeshMaterial = {
|
|
44
44
|
/** The index in layer.materialDefinitions array. */
|
|
45
45
|
definition: number;
|
|
46
46
|
/** Resource id for the material textures. i.e: layers/0/nodes/{material.resource}/textures/{tex_name}. Is required if material declares any textures. */
|
|
@@ -49,7 +49,7 @@ export declare type MeshMaterial = {
|
|
|
49
49
|
texelCountHint?: number;
|
|
50
50
|
};
|
|
51
51
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshGeometry.cmn.md */
|
|
52
|
-
export
|
|
52
|
+
export type MeshGeometry = {
|
|
53
53
|
/** The index in layer.geometryDefinitions array */
|
|
54
54
|
definition: number;
|
|
55
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]}. */
|
|
@@ -60,12 +60,12 @@ export declare type MeshGeometry = {
|
|
|
60
60
|
featureCount?: number;
|
|
61
61
|
};
|
|
62
62
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/meshAttribute.cmn.md */
|
|
63
|
-
|
|
63
|
+
type meshAttribute = {
|
|
64
64
|
/** The resource identifier to be used to locate attribute resources of this mesh. i.e. layers/0/nodes/<resource id>/attributes/... */
|
|
65
65
|
resource: number;
|
|
66
66
|
};
|
|
67
|
-
export
|
|
68
|
-
export
|
|
67
|
+
export type I3STextureFormat = 'jpg' | 'png' | 'ktx-etc2' | 'dds' | 'ktx2';
|
|
68
|
+
export type I3STileHeader = {
|
|
69
69
|
isDracoGeometry: boolean;
|
|
70
70
|
textureUrl?: string;
|
|
71
71
|
url?: string;
|
|
@@ -77,7 +77,7 @@ export declare type I3STileHeader = {
|
|
|
77
77
|
lodSelection?: LodSelection[];
|
|
78
78
|
[key: string]: any;
|
|
79
79
|
};
|
|
80
|
-
export
|
|
80
|
+
export type I3SParseOptions = {
|
|
81
81
|
/** ArcGIS access token */
|
|
82
82
|
token?: string;
|
|
83
83
|
/** Is 3DSceneLayer json expected in response */
|
|
@@ -113,7 +113,7 @@ export declare type I3SParseOptions = {
|
|
|
113
113
|
maxColor: COLOR;
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
|
-
export
|
|
116
|
+
export type I3STileOptions = {
|
|
117
117
|
isDracoGeometry: boolean;
|
|
118
118
|
textureUrl?: string;
|
|
119
119
|
textureFormat?: I3STextureFormat;
|
|
@@ -122,12 +122,12 @@ export declare type I3STileOptions = {
|
|
|
122
122
|
attributeUrls: string[];
|
|
123
123
|
mbs: Mbs;
|
|
124
124
|
};
|
|
125
|
-
export
|
|
125
|
+
export type I3STilesetOptions = {
|
|
126
126
|
store: Store;
|
|
127
127
|
attributeStorageInfo: AttributeStorageInfo[];
|
|
128
128
|
fields: Field[];
|
|
129
129
|
};
|
|
130
|
-
export
|
|
130
|
+
export type I3STileContent = {
|
|
131
131
|
attributes: I3SMeshAttributes;
|
|
132
132
|
indices: TypedArray | null;
|
|
133
133
|
featureIds: number[] | TypedArray;
|
|
@@ -138,25 +138,25 @@ export declare type I3STileContent = {
|
|
|
138
138
|
texture: TileContentTexture;
|
|
139
139
|
[key: string]: any;
|
|
140
140
|
};
|
|
141
|
-
export
|
|
141
|
+
export type TileContentTexture = ArrayBuffer | {
|
|
142
142
|
compressed: boolean;
|
|
143
143
|
mipmaps: boolean;
|
|
144
144
|
width: number;
|
|
145
145
|
height: number;
|
|
146
146
|
data: TextureLevel[];
|
|
147
147
|
} | null;
|
|
148
|
-
export
|
|
148
|
+
export type BoundingVolumes = {
|
|
149
149
|
mbs: Mbs;
|
|
150
150
|
obb: Obb;
|
|
151
151
|
};
|
|
152
|
-
export
|
|
152
|
+
export type Obb = {
|
|
153
153
|
center: number[] | Vector3;
|
|
154
154
|
halfSize: number[] | Vector3;
|
|
155
155
|
quaternion: number[] | Quaternion;
|
|
156
156
|
};
|
|
157
|
-
export
|
|
157
|
+
export type Mbs = [number, number, number, number];
|
|
158
158
|
/** SceneLayer3D based on I3S specification - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/3DSceneLayer.cmn.md */
|
|
159
|
-
export
|
|
159
|
+
export type SceneLayer3D = {
|
|
160
160
|
/** Unique numeric ID of the layer. */
|
|
161
161
|
id: number;
|
|
162
162
|
/** The relative URL to the 3DSceneLayerResource. Only present as part of the SceneServiceInfo resource. */
|
|
@@ -219,19 +219,19 @@ export declare type SceneLayer3D = {
|
|
|
219
219
|
fullExtent?: FullExtent;
|
|
220
220
|
};
|
|
221
221
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/cachedDrawingInfo.cmn.md */
|
|
222
|
-
export
|
|
222
|
+
export type CachedDrawingInfo = {
|
|
223
223
|
/** If true, the drawingInfo is captured as part of the binary scene layer representation. */
|
|
224
224
|
color: boolean;
|
|
225
225
|
};
|
|
226
226
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/drawingInfo.cmn.md */
|
|
227
|
-
export
|
|
227
|
+
export type DrawingInfo = {
|
|
228
228
|
/** An object defining the symbology for the layer. See more information about supported renderer types in ArcGIS clients. */
|
|
229
229
|
renderer: any;
|
|
230
230
|
/** Scale symbols for the layer. */
|
|
231
231
|
scaleSymbols: boolean;
|
|
232
232
|
};
|
|
233
233
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/elevationInfo.cmn.md */
|
|
234
|
-
export
|
|
234
|
+
export type ElevationInfo = {
|
|
235
235
|
mode: 'relativeToGround' | 'absoluteHeight' | 'onTheGround' | 'relativeToScene';
|
|
236
236
|
/** Offset is always added to the result of the above logic except for onTheGround where offset is ignored. */
|
|
237
237
|
offset: number;
|
|
@@ -239,7 +239,7 @@ export declare type ElevationInfo = {
|
|
|
239
239
|
unit: string;
|
|
240
240
|
};
|
|
241
241
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/statisticsInfo.cmn.md */
|
|
242
|
-
export
|
|
242
|
+
export type StatisticsInfo = {
|
|
243
243
|
/** Key indicating the resource of the statistics. */
|
|
244
244
|
key: string;
|
|
245
245
|
/** Name of the field of the statistical information. */
|
|
@@ -248,7 +248,7 @@ export declare type StatisticsInfo = {
|
|
|
248
248
|
href: string;
|
|
249
249
|
};
|
|
250
250
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/nodePageDefinition.cmn.md */
|
|
251
|
-
export
|
|
251
|
+
export type NodePageDefinition = {
|
|
252
252
|
/** Number of nodes per page for this layer. Must be a power-of-two less than 4096 */
|
|
253
253
|
nodesPerPage: number;
|
|
254
254
|
/** Index of the root node. Default = 0. */
|
|
@@ -257,7 +257,7 @@ export declare type NodePageDefinition = {
|
|
|
257
257
|
lodSelectionMetricType: 'maxScreenThresholdSQ';
|
|
258
258
|
};
|
|
259
259
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitions.cmn.md */
|
|
260
|
-
export
|
|
260
|
+
export type I3SMaterialDefinition = {
|
|
261
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. */
|
|
262
262
|
pbrMetallicRoughness: I3SPbrMetallicRoughness;
|
|
263
263
|
/** The normal texture map. */
|
|
@@ -278,7 +278,7 @@ export declare type I3SMaterialDefinition = {
|
|
|
278
278
|
cullFace?: 'none' | 'front' | 'back';
|
|
279
279
|
};
|
|
280
280
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/pbrMetallicRoughness.cmn.md */
|
|
281
|
-
export
|
|
281
|
+
export type I3SPbrMetallicRoughness = {
|
|
282
282
|
/** The material's base color factor. default=[1,1,1,1] */
|
|
283
283
|
baseColorFactor?: [number, number, number, number];
|
|
284
284
|
/** The base color texture. */
|
|
@@ -291,7 +291,7 @@ export declare type I3SPbrMetallicRoughness = {
|
|
|
291
291
|
metallicRoughnessTexture?: I3SMaterialTexture;
|
|
292
292
|
};
|
|
293
293
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialTexture.cmn.md */
|
|
294
|
-
export
|
|
294
|
+
export type I3SMaterialTexture = {
|
|
295
295
|
/** The index in layer.textureSetDefinitions. */
|
|
296
296
|
textureSetDefinitionId: number;
|
|
297
297
|
/** The set index of texture's TEXCOORD attribute used for texture coordinate mapping. Default is 0. Deprecated. */
|
|
@@ -300,7 +300,7 @@ export declare type I3SMaterialTexture = {
|
|
|
300
300
|
factor?: number;
|
|
301
301
|
};
|
|
302
302
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/attributeStorageInfo.cmn.md */
|
|
303
|
-
export
|
|
303
|
+
export type AttributeStorageInfo = {
|
|
304
304
|
key: string;
|
|
305
305
|
name: string;
|
|
306
306
|
header: {
|
|
@@ -313,15 +313,15 @@ export declare type AttributeStorageInfo = {
|
|
|
313
313
|
objectIds?: AttributeValue;
|
|
314
314
|
};
|
|
315
315
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/field.cmn.md */
|
|
316
|
-
export
|
|
316
|
+
export type Field = {
|
|
317
317
|
name: string;
|
|
318
318
|
type: ESRIField;
|
|
319
319
|
alias?: string;
|
|
320
320
|
domain?: Domain;
|
|
321
321
|
};
|
|
322
|
-
export
|
|
322
|
+
export type ESRIField = 'esriFieldTypeDate' | 'esriFieldTypeSingle' | 'esriFieldTypeDouble' | 'esriFieldTypeGUID' | 'esriFieldTypeGlobalID' | 'esriFieldTypeInteger' | 'esriFieldTypeOID' | 'esriFieldTypeSmallInteger' | 'esriFieldTypeString';
|
|
323
323
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/popupInfo.cmn.md */
|
|
324
|
-
export
|
|
324
|
+
export type PopupInfo = {
|
|
325
325
|
title?: string;
|
|
326
326
|
description?: string;
|
|
327
327
|
expressionInfos?: any[];
|
|
@@ -336,10 +336,9 @@ export declare type PopupInfo = {
|
|
|
336
336
|
/**
|
|
337
337
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.7/3DNodeIndexDocument.cmn.md
|
|
338
338
|
*/
|
|
339
|
-
export
|
|
339
|
+
export type Node3DIndexDocument = {
|
|
340
340
|
id: string;
|
|
341
341
|
version?: string;
|
|
342
|
-
path?: string;
|
|
343
342
|
level?: number;
|
|
344
343
|
mbs?: Mbs;
|
|
345
344
|
obb?: Obb;
|
|
@@ -358,7 +357,7 @@ export declare type Node3DIndexDocument = {
|
|
|
358
357
|
/**
|
|
359
358
|
* Minimal I3S node data is needed for loading
|
|
360
359
|
*/
|
|
361
|
-
export
|
|
360
|
+
export type I3SMinimalNodeData = {
|
|
362
361
|
id: string;
|
|
363
362
|
url?: string;
|
|
364
363
|
transform?: number[];
|
|
@@ -376,18 +375,18 @@ export declare type I3SMinimalNodeData = {
|
|
|
376
375
|
children?: NodeReference[];
|
|
377
376
|
isDracoGeometry: boolean;
|
|
378
377
|
};
|
|
379
|
-
export
|
|
378
|
+
export type LodSelection = {
|
|
380
379
|
metricType?: string;
|
|
381
380
|
maxError: number;
|
|
382
381
|
};
|
|
383
|
-
export
|
|
382
|
+
export type NodeReference = {
|
|
384
383
|
id: string;
|
|
385
384
|
version?: string;
|
|
386
385
|
mbs?: Mbs;
|
|
387
386
|
obb?: Obb;
|
|
388
387
|
href?: string;
|
|
389
388
|
};
|
|
390
|
-
export
|
|
389
|
+
export type Resource = {
|
|
391
390
|
href: string;
|
|
392
391
|
layerContent?: string[];
|
|
393
392
|
featureRange?: number[];
|
|
@@ -396,11 +395,11 @@ export declare type Resource = {
|
|
|
396
395
|
faceElements?: number[];
|
|
397
396
|
nodePath?: string;
|
|
398
397
|
};
|
|
399
|
-
export
|
|
398
|
+
export type MaxScreenThresholdSQ = {
|
|
400
399
|
maxError: number;
|
|
401
400
|
};
|
|
402
401
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/node.cmn.md */
|
|
403
|
-
export
|
|
402
|
+
export type NodeInPage = {
|
|
404
403
|
/**
|
|
405
404
|
* The index in the node array. May be different than material, geometry and attribute resource id. See mesh for more information.
|
|
406
405
|
*/
|
|
@@ -429,7 +428,7 @@ export declare type NodeInPage = {
|
|
|
429
428
|
/**
|
|
430
429
|
* https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitionInfo.cmn.md
|
|
431
430
|
*/
|
|
432
|
-
export
|
|
431
|
+
export type MaterialDefinitionInfo = {
|
|
433
432
|
/** A name for the material as assigned in the creating application. */
|
|
434
433
|
name?: string;
|
|
435
434
|
/** Indicates the material type, chosen from the supported values. */
|
|
@@ -478,7 +477,7 @@ export declare type MaterialDefinitionInfo = {
|
|
|
478
477
|
};
|
|
479
478
|
};
|
|
480
479
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/sharedResource.cmn.md */
|
|
481
|
-
export
|
|
480
|
+
export type SharedResources = {
|
|
482
481
|
/** Materials describe how a Feature or a set of Features is to be rendered. */
|
|
483
482
|
materialDefinitions?: {
|
|
484
483
|
[key: string]: MaterialDefinitionInfo;
|
|
@@ -489,7 +488,7 @@ export declare type SharedResources = {
|
|
|
489
488
|
};
|
|
490
489
|
};
|
|
491
490
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/image.cmn.md */
|
|
492
|
-
|
|
491
|
+
type TextureImage = {
|
|
493
492
|
/** A unique ID for each image. Generated using the BuildID function. */
|
|
494
493
|
id: string;
|
|
495
494
|
/** width of this image, in pixels. */
|
|
@@ -506,17 +505,17 @@ declare type TextureImage = {
|
|
|
506
505
|
* in the same order as the encodings. */
|
|
507
506
|
length?: number[];
|
|
508
507
|
};
|
|
509
|
-
export
|
|
510
|
-
export
|
|
511
|
-
export
|
|
508
|
+
export type Attribute = 'OBJECTID' | 'string' | 'double' | 'Int32' | string;
|
|
509
|
+
export type Extent = [number, number, number, number];
|
|
510
|
+
export type FeatureAttribute = {
|
|
512
511
|
id: AttributeValue;
|
|
513
512
|
faceRange: AttributeValue;
|
|
514
513
|
};
|
|
515
|
-
export
|
|
514
|
+
export type BuildingSceneLayerTileset = {
|
|
516
515
|
header: BuildingSceneLayer;
|
|
517
516
|
sublayers: BuildingSceneSublayer[];
|
|
518
517
|
};
|
|
519
|
-
export
|
|
518
|
+
export type BuildingSceneLayer = {
|
|
520
519
|
id: number;
|
|
521
520
|
name: string;
|
|
522
521
|
version: string;
|
|
@@ -532,7 +531,7 @@ export declare type BuildingSceneLayer = {
|
|
|
532
531
|
activeFilterID?: string;
|
|
533
532
|
statisticsHRef?: string;
|
|
534
533
|
};
|
|
535
|
-
export
|
|
534
|
+
export type BuildingSceneSublayer = {
|
|
536
535
|
id: number;
|
|
537
536
|
name: string;
|
|
538
537
|
alias?: string;
|
|
@@ -544,7 +543,7 @@ export declare type BuildingSceneSublayer = {
|
|
|
544
543
|
isEmpty?: boolean;
|
|
545
544
|
url?: string;
|
|
546
545
|
};
|
|
547
|
-
|
|
546
|
+
type Filter = {
|
|
548
547
|
id: string;
|
|
549
548
|
name: string;
|
|
550
549
|
description: string;
|
|
@@ -553,38 +552,38 @@ declare type Filter = {
|
|
|
553
552
|
filterBlocks: FilterBlock[];
|
|
554
553
|
filterAuthoringInfo?: FilterAuthoringInfo;
|
|
555
554
|
};
|
|
556
|
-
|
|
555
|
+
type FilterAuthoringInfo = {
|
|
557
556
|
type: string;
|
|
558
557
|
filterBlocks: FilterBlockAuthoringInfo[];
|
|
559
558
|
};
|
|
560
|
-
|
|
559
|
+
type FilterBlockAuthoringInfo = {
|
|
561
560
|
filterTypes: FilterType[];
|
|
562
561
|
};
|
|
563
|
-
|
|
562
|
+
type FilterType = {
|
|
564
563
|
filterType: string;
|
|
565
564
|
filterValues: string[];
|
|
566
565
|
};
|
|
567
|
-
|
|
566
|
+
type FilterBlock = {
|
|
568
567
|
title: string;
|
|
569
568
|
filterMode: FilterModeSolid | FilterModeWireFrame;
|
|
570
569
|
filterExpression: string;
|
|
571
570
|
};
|
|
572
|
-
|
|
571
|
+
type Edges = {
|
|
573
572
|
type: string;
|
|
574
573
|
color: number[];
|
|
575
574
|
size: number;
|
|
576
575
|
transparency: number;
|
|
577
576
|
extensionLength: number;
|
|
578
577
|
};
|
|
579
|
-
|
|
578
|
+
type FilterModeSolid = {
|
|
580
579
|
type: 'solid';
|
|
581
580
|
};
|
|
582
|
-
|
|
581
|
+
type FilterModeWireFrame = {
|
|
583
582
|
type: 'wireFrame';
|
|
584
583
|
edges: Edges;
|
|
585
584
|
};
|
|
586
585
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/spatialReference.cmn.md */
|
|
587
|
-
export
|
|
586
|
+
export type SpatialReference = {
|
|
588
587
|
/** The current WKID value of the vertical coordinate system. */
|
|
589
588
|
latestVcsWkid: number;
|
|
590
589
|
/** dentifies the current WKID value associated with the same spatial reference. */
|
|
@@ -597,7 +596,7 @@ export declare type SpatialReference = {
|
|
|
597
596
|
wkt?: string;
|
|
598
597
|
};
|
|
599
598
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/fullExtent.cmn.md */
|
|
600
|
-
export
|
|
599
|
+
export type FullExtent = {
|
|
601
600
|
/** left longitude in decimal degrees */
|
|
602
601
|
xmin: number;
|
|
603
602
|
/** right longitude in decimal degrees */
|
|
@@ -615,7 +614,7 @@ export declare type FullExtent = {
|
|
|
615
614
|
/**
|
|
616
615
|
* https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureDefinitionInfo.cmn.md
|
|
617
616
|
*/
|
|
618
|
-
export
|
|
617
|
+
export type TextureDefinitionInfo = {
|
|
619
618
|
/** MIMEtype - The encoding/content type that is used by all images in this map */
|
|
620
619
|
encoding?: string[];
|
|
621
620
|
/** UV wrapping modes, from {none, repeat, mirror}. */
|
|
@@ -630,7 +629,7 @@ export declare type TextureDefinitionInfo = {
|
|
|
630
629
|
images: TextureImage[];
|
|
631
630
|
};
|
|
632
631
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/domain.cmn.md */
|
|
633
|
-
|
|
632
|
+
type Domain = {
|
|
634
633
|
type: string;
|
|
635
634
|
name: string;
|
|
636
635
|
description?: string;
|
|
@@ -646,7 +645,7 @@ declare type Domain = {
|
|
|
646
645
|
/**
|
|
647
646
|
* spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/store.cmn.md
|
|
648
647
|
*/
|
|
649
|
-
|
|
648
|
+
type Store = {
|
|
650
649
|
id: string | number;
|
|
651
650
|
profile: string;
|
|
652
651
|
version: number | string;
|
|
@@ -665,7 +664,7 @@ declare type Store = {
|
|
|
665
664
|
/**
|
|
666
665
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md
|
|
667
666
|
*/
|
|
668
|
-
|
|
667
|
+
type DefaultGeometrySchema = {
|
|
669
668
|
geometryType?: 'triangles';
|
|
670
669
|
topology: 'PerAttributeArray' | 'Indexed';
|
|
671
670
|
header: HeaderAttribute[];
|
|
@@ -679,7 +678,7 @@ declare type DefaultGeometrySchema = {
|
|
|
679
678
|
/**
|
|
680
679
|
* spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/headerAttribute.cmn.md
|
|
681
680
|
*/
|
|
682
|
-
export
|
|
681
|
+
export type HeaderAttribute = {
|
|
683
682
|
property: HeaderAttributeProperty.vertexCount | HeaderAttributeProperty.featureCount | string;
|
|
684
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;
|
|
685
684
|
};
|
|
@@ -687,19 +686,19 @@ export declare enum HeaderAttributeProperty {
|
|
|
687
686
|
vertexCount = "vertexCount",
|
|
688
687
|
featureCount = "featureCount"
|
|
689
688
|
}
|
|
690
|
-
export
|
|
689
|
+
export type VertexAttribute = {
|
|
691
690
|
position: GeometryAttribute;
|
|
692
691
|
normal: GeometryAttribute;
|
|
693
692
|
uv0: GeometryAttribute;
|
|
694
693
|
color: GeometryAttribute;
|
|
695
694
|
region?: GeometryAttribute;
|
|
696
695
|
};
|
|
697
|
-
export
|
|
696
|
+
export type GeometryAttribute = {
|
|
698
697
|
byteOffset?: number;
|
|
699
698
|
valueType: DATA_TYPE.UInt8 | DATA_TYPE.UInt16 | DATA_TYPE.Int16 | DATA_TYPE.Int32 | DATA_TYPE.Int64 | DATA_TYPE.Float32 | DATA_TYPE.Float64;
|
|
700
699
|
valuesPerElement: number;
|
|
701
700
|
};
|
|
702
|
-
export
|
|
701
|
+
export type I3SMeshAttributes = {
|
|
703
702
|
[key: string]: I3SMeshAttribute;
|
|
704
703
|
};
|
|
705
704
|
export interface I3SMeshAttribute extends MeshAttribute {
|
|
@@ -707,27 +706,27 @@ export interface I3SMeshAttribute extends MeshAttribute {
|
|
|
707
706
|
metadata?: any;
|
|
708
707
|
}
|
|
709
708
|
/** https://github.com/Esri/i3s-spec/blob/master/docs/1.8/heightModelInfo.cmn.md */
|
|
710
|
-
|
|
709
|
+
type HeightModelInfo = {
|
|
711
710
|
heightModel: 'gravity_related_height' | 'ellipsoidal';
|
|
712
711
|
vertCRS: string;
|
|
713
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';
|
|
714
713
|
};
|
|
715
|
-
export
|
|
714
|
+
export type TextureSetDefinitionFormats = {
|
|
716
715
|
name: string;
|
|
717
716
|
format: I3STextureFormat;
|
|
718
717
|
}[];
|
|
719
718
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinition.cmn.md */
|
|
720
|
-
|
|
719
|
+
type TextureSetDefinition = {
|
|
721
720
|
formats: TextureSetDefinitionFormats;
|
|
722
721
|
atlas?: boolean;
|
|
723
722
|
};
|
|
724
723
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryDefinition.cmn.md */
|
|
725
|
-
|
|
724
|
+
type GeometryDefinition = {
|
|
726
725
|
topology: 'triangle' | string;
|
|
727
726
|
geometryBuffers: GeometryBuffer[];
|
|
728
727
|
};
|
|
729
728
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/geometryBuffer.cmn.md */
|
|
730
|
-
|
|
729
|
+
type GeometryBuffer = {
|
|
731
730
|
offset?: number;
|
|
732
731
|
position?: GeometryBufferItem;
|
|
733
732
|
normal?: GeometryBufferItem;
|
|
@@ -741,24 +740,24 @@ declare type GeometryBuffer = {
|
|
|
741
740
|
attributes: string[];
|
|
742
741
|
};
|
|
743
742
|
};
|
|
744
|
-
|
|
743
|
+
type GeometryBufferItem = {
|
|
745
744
|
type: string;
|
|
746
745
|
component: number;
|
|
747
746
|
encoding?: string;
|
|
748
747
|
binding: string;
|
|
749
748
|
};
|
|
750
|
-
|
|
749
|
+
type AttributeValue = {
|
|
751
750
|
valueType: string;
|
|
752
751
|
encoding?: string;
|
|
753
752
|
valuesPerElement?: number;
|
|
754
753
|
};
|
|
755
|
-
export
|
|
754
|
+
export type FieldInfo = {
|
|
756
755
|
fieldName: string;
|
|
757
756
|
visible: boolean;
|
|
758
757
|
isEditable: boolean;
|
|
759
758
|
label: string;
|
|
760
759
|
};
|
|
761
|
-
export
|
|
760
|
+
export type ArcGisWebSceneData = {
|
|
762
761
|
header: ArcGisWebScene;
|
|
763
762
|
layers: OperationalLayer[];
|
|
764
763
|
unsupportedLayers: OperationalLayer[];
|
|
@@ -766,7 +765,7 @@ export declare type ArcGisWebSceneData = {
|
|
|
766
765
|
/**
|
|
767
766
|
* ArcGis WebScene spec - https://developers.arcgis.com/web-scene-specification/objects/webscene/
|
|
768
767
|
*/
|
|
769
|
-
export
|
|
768
|
+
export type ArcGisWebScene = {
|
|
770
769
|
/**
|
|
771
770
|
* @todo add type.
|
|
772
771
|
* Spec - https://developers.arcgis.com/web-scene-specification/objects/applicationProperties/
|
|
@@ -807,7 +806,7 @@ export declare type ArcGisWebScene = {
|
|
|
807
806
|
* Spec - https://developers.arcgis.com/web-scene-specification/objects/presentation/
|
|
808
807
|
* @todo Add presentation type.
|
|
809
808
|
*/
|
|
810
|
-
presentation:
|
|
809
|
+
presentation: ArcGisPresentation;
|
|
811
810
|
/**
|
|
812
811
|
* An object that provides information about the initial environment settings and viewpoint of the web scene.
|
|
813
812
|
*/
|
|
@@ -853,11 +852,99 @@ export declare type ArcGisWebScene = {
|
|
|
853
852
|
*/
|
|
854
853
|
widgets?: any;
|
|
855
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
|
+
};
|
|
856
943
|
/**
|
|
857
944
|
* Operational layers contain your data. Usually, a basemap sits beneath your operational layers to give them geographic context.
|
|
858
945
|
* Spec- https://developers.arcgis.com/web-scene-specification/objects/operationalLayers/
|
|
859
946
|
*/
|
|
860
|
-
export
|
|
947
|
+
export type OperationalLayer = {
|
|
861
948
|
id: string;
|
|
862
949
|
opacity: number;
|
|
863
950
|
title: string;
|
|
@@ -872,17 +959,17 @@ export declare type OperationalLayer = {
|
|
|
872
959
|
showLegend?: boolean;
|
|
873
960
|
layers?: OperationalLayer[];
|
|
874
961
|
};
|
|
875
|
-
|
|
962
|
+
type LayerDefinition = {
|
|
876
963
|
elevationInfo: ElevationInfo;
|
|
877
964
|
drawingInfo: DrawingInfo;
|
|
878
965
|
};
|
|
879
|
-
|
|
966
|
+
type BaseMap = {
|
|
880
967
|
id: string;
|
|
881
968
|
title: string;
|
|
882
969
|
baseMapLayers: BaseMapLayer[];
|
|
883
970
|
elevationLayers: ElevationLayer[];
|
|
884
971
|
};
|
|
885
|
-
|
|
972
|
+
type BaseMapLayer = {
|
|
886
973
|
id: string;
|
|
887
974
|
opacity: number;
|
|
888
975
|
title: string;
|
|
@@ -890,7 +977,7 @@ declare type BaseMapLayer = {
|
|
|
890
977
|
visibility: boolean;
|
|
891
978
|
layerType: string;
|
|
892
979
|
};
|
|
893
|
-
|
|
980
|
+
type ElevationLayer = {
|
|
894
981
|
id: string;
|
|
895
982
|
listMode: string;
|
|
896
983
|
title: string;
|
|
@@ -898,36 +985,36 @@ declare type ElevationLayer = {
|
|
|
898
985
|
visibility: boolean;
|
|
899
986
|
layerType: string;
|
|
900
987
|
};
|
|
901
|
-
|
|
988
|
+
type Ground = {
|
|
902
989
|
layers: ElevationLayer[];
|
|
903
990
|
transparency: number;
|
|
904
991
|
navigationConstraint: NavigationConstraint;
|
|
905
992
|
};
|
|
906
|
-
|
|
993
|
+
type NavigationConstraint = {
|
|
907
994
|
type: string;
|
|
908
995
|
};
|
|
909
|
-
|
|
996
|
+
type InitialState = {
|
|
910
997
|
environment: Enviroment;
|
|
911
998
|
viewpoint: ViewPoint;
|
|
912
999
|
};
|
|
913
|
-
|
|
1000
|
+
type Enviroment = {
|
|
914
1001
|
lighting: Lighting;
|
|
915
1002
|
atmosphereEnabled?: string;
|
|
916
1003
|
starsEnabled?: string;
|
|
917
1004
|
};
|
|
918
|
-
|
|
1005
|
+
type Lighting = {
|
|
919
1006
|
datetime?: number;
|
|
920
1007
|
displayUTCOffset?: number;
|
|
921
1008
|
};
|
|
922
|
-
|
|
1009
|
+
type ViewPoint = {
|
|
923
1010
|
camera: Camera;
|
|
924
1011
|
};
|
|
925
|
-
|
|
1012
|
+
type Camera = {
|
|
926
1013
|
position: CameraPosition;
|
|
927
1014
|
heading: number;
|
|
928
1015
|
tilt: number;
|
|
929
1016
|
};
|
|
930
|
-
|
|
1017
|
+
type CameraPosition = {
|
|
931
1018
|
spatialReference: SpatialReference;
|
|
932
1019
|
x: number;
|
|
933
1020
|
y: number;
|
|
@@ -936,7 +1023,7 @@ declare type CameraPosition = {
|
|
|
936
1023
|
/**
|
|
937
1024
|
* Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/statsInfo.cmn.md
|
|
938
1025
|
*/
|
|
939
|
-
export
|
|
1026
|
+
export type StatsInfo = {
|
|
940
1027
|
/** Represents the count of the value. */
|
|
941
1028
|
totalValuesCount?: number;
|
|
942
1029
|
/** Minimum attribute value for the entire layer. */
|
|
@@ -959,7 +1046,7 @@ export declare type StatsInfo = {
|
|
|
959
1046
|
mostFrequentValues?: ValueCount[];
|
|
960
1047
|
};
|
|
961
1048
|
/** Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/histogram.cmn.md */
|
|
962
|
-
export
|
|
1049
|
+
export type Histogram = {
|
|
963
1050
|
/** Minimum attribute value for the entire layer. */
|
|
964
1051
|
minimum: number;
|
|
965
1052
|
/** Maximum attribute value for the entire layer. Maximum array size for stats.histo.counts is 256. */
|
|
@@ -967,7 +1054,7 @@ export declare type Histogram = {
|
|
|
967
1054
|
/** Count for the entire layer. */
|
|
968
1055
|
counts: number[];
|
|
969
1056
|
};
|
|
970
|
-
export
|
|
1057
|
+
export type ValueCount = {
|
|
971
1058
|
/** Type of the attribute values after decompression, if applicable. Please note that string is not supported for point cloud scene layer attributes. */
|
|
972
1059
|
value: number | string;
|
|
973
1060
|
/** Count of the number of values. May exceed 32 bits. */
|