isard 1.5.0 → 1.7.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/CHANGELOG.md +213 -1
- package/README.md +3 -2
- package/dist/basemap/furniture.d.ts +26 -0
- package/dist/basemap/furniture.js +95 -0
- package/dist/basemap/furniture.js.map +1 -0
- package/dist/basemap/meshes.d.ts +21 -0
- package/dist/basemap/meshes.js +159 -0
- package/dist/basemap/meshes.js.map +1 -0
- package/dist/basemap/placed.d.ts +13 -0
- package/dist/basemap/placed.js +14 -0
- package/dist/basemap/placed.js.map +1 -0
- package/dist/basemap/trees.d.ts +25 -8
- package/dist/basemap/trees.js +77 -105
- package/dist/basemap/trees.js.map +1 -1
- package/dist/basemap/vectorstyle.d.ts +9 -3
- package/dist/basemap/vectorstyle.js +5 -6
- package/dist/basemap/vectorstyle.js.map +1 -1
- package/dist/basemap/vectortiles/context.d.ts +7 -2
- package/dist/basemap/vectortiles/context.js.map +1 -1
- package/dist/basemap/vectortiles/extrusions.d.ts +4 -0
- package/dist/basemap/vectortiles/extrusions.js +9 -3
- package/dist/basemap/vectortiles/extrusions.js.map +1 -1
- package/dist/basemap/vectortiles/furniture.d.ts +19 -0
- package/dist/basemap/vectortiles/furniture.js +29 -0
- package/dist/basemap/vectortiles/furniture.js.map +1 -0
- package/dist/basemap/vectortiles/labels.d.ts +3 -0
- package/dist/basemap/vectortiles/labels.js +50 -18
- package/dist/basemap/vectortiles/labels.js.map +1 -1
- package/dist/basemap/vectortiles/lamps.d.ts +23 -0
- package/dist/basemap/vectortiles/lamps.js +25 -0
- package/dist/basemap/vectortiles/lamps.js.map +1 -0
- package/dist/basemap/vectortiles/placed.d.ts +38 -0
- package/dist/basemap/vectortiles/placed.js +143 -0
- package/dist/basemap/vectortiles/placed.js.map +1 -0
- package/dist/basemap/vectortiles/requests.d.ts +4 -0
- package/dist/basemap/vectortiles/requests.js +15 -2
- package/dist/basemap/vectortiles/requests.js.map +1 -1
- package/dist/basemap/vectortiles/street-wind.js +4 -6
- package/dist/basemap/vectortiles/street-wind.js.map +1 -1
- package/dist/basemap/vectortiles/trees.d.ts +2 -0
- package/dist/basemap/vectortiles/trees.js +40 -86
- package/dist/basemap/vectortiles/trees.js.map +1 -1
- package/dist/basemap/vectortiles/vectors.d.ts +16 -0
- package/dist/basemap/vectortiles/vectors.js +76 -11
- package/dist/basemap/vectortiles/vectors.js.map +1 -1
- package/dist/basemap/vectortiles.d.ts +37 -7
- package/dist/basemap/vectortiles.js +78 -17
- package/dist/basemap/vectortiles.js.map +1 -1
- package/dist/basemap/wmts.js +2 -2
- package/dist/basemap/wmts.js.map +1 -1
- package/dist/basemap.worker.js +2 -2
- package/dist/basemap.worker.js.map +19 -13
- package/dist/bind/layers.js +1 -0
- package/dist/bind/layers.js.map +1 -1
- package/dist/data/collada.d.ts +19 -0
- package/dist/data/collada.js +305 -0
- package/dist/data/collada.js.map +1 -0
- package/dist/data/crs.js +1 -1
- package/dist/data/crs.js.map +1 -1
- package/dist/data/ifc.d.ts +100 -0
- package/dist/data/ifc.js +371 -0
- package/dist/data/ifc.js.map +1 -0
- package/dist/decoder.worker.js +5 -5
- package/dist/decoder.worker.js.map +3 -3
- package/dist/formats.d.ts +7 -2
- package/dist/formats.js +7 -2
- package/dist/formats.js.map +1 -1
- package/dist/geoplateforme.d.ts +14 -2
- package/dist/geoplateforme.js +24 -2
- package/dist/geoplateforme.js.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/isard_bg.wasm +0 -0
- package/dist/isard_core_bg.wasm +0 -0
- package/dist/isard_grid_bg.wasm +0 -0
- package/dist/isard_tess_bg.wasm +0 -0
- package/dist/layers/extrusions.d.ts +10 -0
- package/dist/layers/extrusions.js +33 -6
- package/dist/layers/extrusions.js.map +1 -1
- package/dist/layers/features.d.ts +0 -2
- package/dist/layers/features.js +5 -6
- package/dist/layers/features.js.map +1 -1
- package/dist/layers/layers.d.ts +14 -0
- package/dist/layers/layers.js +55 -1
- package/dist/layers/layers.js.map +1 -1
- package/dist/layers/panoramas.d.ts +32 -10
- package/dist/layers/panoramas.js +55 -28
- package/dist/layers/panoramas.js.map +1 -1
- package/dist/layers/photos.d.ts +48 -0
- package/dist/layers/photos.js +139 -0
- package/dist/layers/photos.js.map +1 -0
- package/dist/layers/symbols.d.ts +5 -1
- package/dist/layers/symbols.js +111 -32
- package/dist/layers/symbols.js.map +1 -1
- package/dist/layers/trees.d.ts +28 -0
- package/dist/layers/trees.js +51 -0
- package/dist/layers/trees.js.map +1 -0
- package/dist/layers/vectors.d.ts +29 -2
- package/dist/layers/vectors.js +98 -9
- package/dist/layers/vectors.js.map +1 -1
- package/dist/map/frame-loop.d.ts +2 -0
- package/dist/map/frame-loop.js +3 -3
- package/dist/map/frame-loop.js.map +1 -1
- package/dist/map/layer-spec.d.ts +3 -0
- package/dist/map/layer-spec.js +2 -0
- package/dist/map/layer-spec.js.map +1 -1
- package/dist/map.d.ts +8 -0
- package/dist/map.js +32 -2
- package/dist/map.js.map +1 -1
- package/dist/panoramax.d.ts +55 -0
- package/dist/panoramax.js +97 -0
- package/dist/panoramax.js.map +1 -0
- package/dist/react/Layer.d.ts +1 -0
- package/dist/react/Layer.js.map +1 -1
- package/dist/react/VectorGeometry.d.ts +22 -8
- package/dist/react/VectorGeometry.js +36 -14
- package/dist/react/VectorGeometry.js.map +1 -1
- package/dist/react/VectorTiles.d.ts +65 -0
- package/dist/react/VectorTiles.js +112 -0
- package/dist/react/VectorTiles.js.map +1 -0
- package/dist/react/context.d.ts +9 -0
- package/dist/react/context.js +32 -0
- package/dist/react/context.js.map +1 -1
- package/dist/react/index.d.ts +7 -1
- package/dist/react/index.js +7 -1
- package/dist/react/index.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.js.map +1 -1
- package/dist/util/geo.d.ts +8 -0
- package/dist/util/geo.js +8 -0
- package/dist/util/geo.js.map +1 -1
- package/dist/util/gltf.d.ts +26 -0
- package/dist/util/gltf.js +52 -0
- package/dist/util/gltf.js.map +1 -0
- package/dist/util/roofs.d.ts +18 -0
- package/dist/util/roofs.js +44 -0
- package/dist/util/roofs.js.map +1 -0
- package/dist/util/style-floats.d.ts +33 -0
- package/dist/util/style-floats.js +34 -0
- package/dist/util/style-floats.js.map +1 -0
- package/dist/util/sun.js +1 -1
- package/dist/util/sun.js.map +1 -1
- package/dist/wasm/isard.d.ts +56 -17
- package/dist/wasm/isard.js +128 -18
- package/dist/wasm/isard_core.d.ts +44 -17
- package/dist/wasm/isard_core.js +104 -18
- package/dist/wasm/isard_tess.d.ts +6 -3
- package/dist/wasm/isard_tess.js +27 -4
- package/dist/workers/basemap/furniture.d.ts +13 -0
- package/dist/workers/basemap/geometry.d.ts +35 -22
- package/dist/workers/basemap/labels.d.ts +18 -2
- package/dist/workers/basemap/lamps.d.ts +10 -0
- package/dist/workers/basemap/tiles.d.ts +2 -0
- package/dist/workers/basemap/trees.d.ts +6 -1
- package/dist/workers/basemap.worker.d.ts +58 -2
- package/dist/workers/basemap.worker.js +26 -3
- package/dist/workers/basemap.worker.js.map +1 -1
- package/package.json +1 -1
package/dist/wasm/isard.d.ts
CHANGED
|
@@ -598,14 +598,18 @@ export class Engine {
|
|
|
598
598
|
setExtrusionAnchors(id: number, key: number, anchors: Float32Array): void;
|
|
599
599
|
/**
|
|
600
600
|
* Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the
|
|
601
|
-
* feature style gives each its height and base height as its two sizes, metres)
|
|
601
|
+
* feature style gives each its height and base height as its two sizes, metres), each polygon's roof (`Roofs`)
|
|
602
602
|
*
|
|
603
603
|
* # Errors
|
|
604
604
|
*
|
|
605
605
|
* Throws (to JavaScript) when a WebGL buffer or vertex array of the batch cannot be created, or when
|
|
606
606
|
* `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`
|
|
607
607
|
*/
|
|
608
|
-
setExtrusionBatch(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number): void;
|
|
608
|
+
setExtrusionBatch(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number, roofs: Uint8Array, roof_heights: Float32Array, metres: number): void;
|
|
609
|
+
/**
|
|
610
|
+
* Whether the buildings of an extrusion layer, or of a vector tiles layer, show their windows on their walls
|
|
611
|
+
*/
|
|
612
|
+
setFacades(id: number, on: boolean): void;
|
|
609
613
|
/**
|
|
610
614
|
* Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it
|
|
611
615
|
* shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all
|
|
@@ -755,6 +759,16 @@ export class Engine {
|
|
|
755
759
|
* Highest pitch the camera accepts, degrees (up to 85)
|
|
756
760
|
*/
|
|
757
761
|
setMaxPitch(max: number): void;
|
|
762
|
+
/**
|
|
763
|
+
* Lights at night the part of a model layer's model from `from` metres up (a street lamp's head) in `r, g, b`;
|
|
764
|
+
* `from` not a number: none
|
|
765
|
+
*/
|
|
766
|
+
setModelGlow(id: number, from: number, r: number, g: number, b: number): void;
|
|
767
|
+
/**
|
|
768
|
+
* Highlights the feature `feature` of a model layer's model (an IFC model's element) in `r, g, b`; `feature` not a
|
|
769
|
+
* number: none
|
|
770
|
+
*/
|
|
771
|
+
setModelHighlight(id: number, feature: number, r: number, g: number, b: number): void;
|
|
758
772
|
/**
|
|
759
773
|
* Replaces the instances of a model layer (as for `addModels`) and the reference of their altitudes
|
|
760
774
|
*/
|
|
@@ -838,20 +852,21 @@ export class Engine {
|
|
|
838
852
|
setSwipe(x: number, right: boolean, layers: Uint32Array, others: Uint32Array): void;
|
|
839
853
|
/**
|
|
840
854
|
* Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),
|
|
841
|
-
* zoom range, visibility
|
|
855
|
+
* zoom range, visibility, hidden by the buildings
|
|
842
856
|
*/
|
|
843
|
-
setSymbolLayer(id: number, size: Float32Array, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean): void;
|
|
857
|
+
setSymbolLayer(id: number, size: Float32Array, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean, occluded: boolean): void;
|
|
844
858
|
/**
|
|
845
859
|
* Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), their texts' boxes (min x, min y,
|
|
846
|
-
* max x, max y, CSS pixels from the anchor), styles (
|
|
847
|
-
* (11 floats each, see `QUAD_FLOATS`)
|
|
860
|
+
* max x, max y, CSS pixels from the anchor), styles (37 floats each, see `LABEL_FLOATS`), glyph and icon quads
|
|
861
|
+
* (11 floats each, see `QUAD_FLOATS`) and the lines their curved texts follow (`paths`: for each label, its number
|
|
862
|
+
* of points, the index of its anchor among them, then the points, Mercator; 0, 0 and none for the others)
|
|
848
863
|
*
|
|
849
864
|
* # Errors
|
|
850
865
|
*
|
|
851
866
|
* Throws (to JavaScript) when the labels need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or
|
|
852
867
|
* when it cannot be created; the layer then keeps its labels
|
|
853
868
|
*/
|
|
854
|
-
setSymbols(id: number, anchors: Float64Array, boxes: Float32Array, styles: Float32Array, quads: Float32Array): void;
|
|
869
|
+
setSymbols(id: number, anchors: Float64Array, boxes: Float32Array, styles: Float32Array, quads: Float32Array, paths: Float64Array): void;
|
|
855
870
|
/**
|
|
856
871
|
* Relief under the raster layers, from raw altitudes (`image/x-bil;bits=32`, 256 × 256, or the same followed by
|
|
857
872
|
* the validity mask of an `ArcGIS` raw grid): `url` is a template with `{bbox}` (WMS `GetMap` in EPSG:3857, or in
|
|
@@ -879,13 +894,17 @@ export class Engine {
|
|
|
879
894
|
*/
|
|
880
895
|
setTiles3dStyle(id: number, max_error: number, opacity: number, point_size: number | null | undefined, color: Float32Array): void;
|
|
881
896
|
/**
|
|
882
|
-
* The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion
|
|
897
|
+
* The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion, 3
|
|
898
|
+
* circle), its zoom range
|
|
883
899
|
* (two numbers: shown from the first, included, to the second, excluded), whether it shows (0 or 1), its dashes
|
|
884
900
|
* (four numbers: dash, gap, dash, gap, in line widths; 0: solid), its opacity as zoom stops (four zooms then four
|
|
885
901
|
* values; missing: opaque), the caps of its lines' ends (0 butt, 1 round, 2 square; missing: round), whether its
|
|
886
|
-
* lines glow at night (streets; 0 or 1)
|
|
902
|
+
* lines glow at night (streets; 0 or 1), the joins of its lines (two numbers: 0 round, 1 miter, 2 bevel, then the
|
|
903
|
+
* miter limit in line widths; missing: round), the translation of its fills or lines (three numbers: x and y in CSS
|
|
904
|
+
* pixels, x right and y down, then 0 if it turns with the map, 1 if it stays on the screen; missing: none), whether its
|
|
905
|
+
* fills have patterns (0 or 1)
|
|
887
906
|
*/
|
|
888
|
-
setVectorSublayers(id: number, kinds: Uint8Array, zooms: Float64Array, visible: Uint8Array, dashes: Float32Array, opacities: Float32Array, caps: Uint8Array, lit: Uint8Array): void;
|
|
907
|
+
setVectorSublayers(id: number, kinds: Uint8Array, zooms: Float64Array, visible: Uint8Array, dashes: Float32Array, opacities: Float32Array, caps: Uint8Array, lit: Uint8Array, joins: Float32Array, translates: Float32Array, patterned: Uint8Array): void;
|
|
889
908
|
/**
|
|
890
909
|
* Adds or replaces tile `key` of a vector tile layer ready for the GPU, as the basemap workers make it (the
|
|
891
910
|
* tessellation module): its polygons as for `setVectorTile` (picked here; their prisms built here if drawn in
|
|
@@ -902,20 +921,30 @@ export class Engine {
|
|
|
902
921
|
* created, or when its features or lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`
|
|
903
922
|
*/
|
|
904
923
|
setVectorTileMesh(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, vertices: Uint8Array, indices: Uint32Array, fill_ranges: Uint32Array, prism: boolean, pieces: Uint8Array, line_table: Float32Array, line_ranges: Uint32Array, blocks: Uint8Array, block_indices: Uint32Array, block_ranges: Uint32Array, bounds: Float64Array, feature_count: number): void;
|
|
924
|
+
/**
|
|
925
|
+
* The points of tile `key` of a vector tile layer, after the tile itself (`setVectorTile`, `setVectorTileMesh`):
|
|
926
|
+
* Mercator, interleaved, each with its feature (styled as a circle's: a color, a radius and a stroke width, then the
|
|
927
|
+
* stroke's color), `start` the first point of each sublayer and the end; the circle sublayers draw theirs
|
|
928
|
+
*/
|
|
929
|
+
setVectorTilePoints(id: number, key: number, points: Float64Array, feature: Uint32Array, start: Uint32Array): void;
|
|
905
930
|
/**
|
|
906
931
|
* Adds or replaces tile `key` of a vector tile layer: its polygons as for `addFills` (`fill_start`: the first
|
|
907
932
|
* polygon of each sublayer, and the end; those of an extrusion sublayer raised into blocks), its lines as for
|
|
908
933
|
* `addLines` (`line_start`: the first line of each sublayer, and the end), `feature_count` features, styled as an
|
|
909
934
|
* extrusion layer's (`setFeatureStyle` with the key: a color, then a line's width or a block's height and base);
|
|
910
935
|
* `tile`: the corners of the tile they are cut to (west, north, east, south; empty: none), along whose edges no
|
|
911
|
-
* wall of a block rises
|
|
936
|
+
* wall of a block rises; `roofs` and `roof_heights`: per polygon, the shape and height of its block's roof
|
|
937
|
+
* (`shapes::Roofs`: 0 flat, 1 to 5 `RoofShape::number`, 255 generated from its outline; metres, not a number: as
|
|
938
|
+
* its slopes make it; empty: flat), the whole outlines of the buildings the tile cuts (`roof_outlines`, interleaved
|
|
939
|
+
* Mercator points, `roof_outline_start`: where each polygon's starts, and the end), `roof_metres` the metres per
|
|
940
|
+
* Mercator unit at the tile
|
|
912
941
|
*
|
|
913
942
|
* # Errors
|
|
914
943
|
*
|
|
915
944
|
* Throws (to JavaScript) when a WebGL object of the tile cannot be created, or when its features or lines need a
|
|
916
945
|
* table texture past the GPU's `MAX_TEXTURE_SIZE`
|
|
917
946
|
*/
|
|
918
|
-
setVectorTile(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, line_points: Float64Array, line_first: Uint32Array, line_feature: Uint32Array, line_start: Uint32Array, feature_count: number, tile: Float64Array): void;
|
|
947
|
+
setVectorTile(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, line_points: Float64Array, line_first: Uint32Array, line_feature: Uint32Array, line_start: Uint32Array, feature_count: number, tile: Float64Array, roofs: Uint8Array, roof_heights: Float32Array, roof_outlines: Float64Array, roof_outline_start: Uint32Array, roof_metres: number): void;
|
|
919
948
|
/**
|
|
920
949
|
* Shows what can be seen from points, each within its range: `observers` holds 8 numbers per observer
|
|
921
950
|
* (16 at most): longitude, latitude (degrees), metres above the ground, range (metres), then to look one way
|
|
@@ -989,6 +1018,11 @@ export class Engine {
|
|
|
989
1018
|
* A region of the icon atlas: `width` × `height` RGBA texels (premultiplied) at (`x`, `y`)
|
|
990
1019
|
*/
|
|
991
1020
|
updateIconAtlas(x: number, y: number, width: number, height: number, data: Uint8Array): void;
|
|
1021
|
+
/**
|
|
1022
|
+
* Uploads a part more of the blocks of tile `key` of a vector tile layer (a large tile's, a part at a time over
|
|
1023
|
+
* several frames); whether some are left. Its blocks are drawn once they are all there
|
|
1024
|
+
*/
|
|
1025
|
+
uploadVectorTile(id: number, key: number): boolean;
|
|
992
1026
|
/**
|
|
993
1027
|
* Vector tiles (512 CSS pixels across at their level, as `MapLibre`'s) for the view of the last frame (else the
|
|
994
1028
|
* camera's), levels `min_z` to `max_z`, three numbers per tile (z, x, y), the nearest to the eye first: what a
|
|
@@ -1078,7 +1112,8 @@ export interface InitOutput {
|
|
|
1078
1112
|
readonly engine_setCircleAlignment: (a: number, b: number, c: number) => void;
|
|
1079
1113
|
readonly engine_setCircles: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1080
1114
|
readonly engine_setExtrusionAnchors: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1081
|
-
readonly engine_setExtrusionBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
|
|
1115
|
+
readonly engine_setExtrusionBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => [number, number];
|
|
1116
|
+
readonly engine_setFacades: (a: number, b: number, c: number) => void;
|
|
1082
1117
|
readonly engine_setFeatureLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1083
1118
|
readonly engine_setFeatureMask: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
1084
1119
|
readonly engine_setFeatureRamp: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
@@ -1104,6 +1139,8 @@ export interface InitOutput {
|
|
|
1104
1139
|
readonly engine_setLineDash: (a: number, b: number, c: number, d: number) => void;
|
|
1105
1140
|
readonly engine_setLines: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
|
|
1106
1141
|
readonly engine_setMaxPitch: (a: number, b: number) => void;
|
|
1142
|
+
readonly engine_setModelGlow: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1143
|
+
readonly engine_setModelHighlight: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
1107
1144
|
readonly engine_setModelInstances: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
1108
1145
|
readonly engine_setNetworkCosts: (a: number, b: number, c: number, d: number) => void;
|
|
1109
1146
|
readonly engine_setNetworkRamp: (a: number, b: number, c: number, d: number) => void;
|
|
@@ -1118,14 +1155,15 @@ export interface InitOutput {
|
|
|
1118
1155
|
readonly engine_setSky: (a: number, b: number) => void;
|
|
1119
1156
|
readonly engine_setSun: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
1120
1157
|
readonly engine_setSwipe: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1121
|
-
readonly engine_setSymbolLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
1122
|
-
readonly engine_setSymbols: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
1158
|
+
readonly engine_setSymbolLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
1159
|
+
readonly engine_setSymbols: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
|
|
1123
1160
|
readonly engine_setTerrain: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
1124
1161
|
readonly engine_setTileLoader: (a: number, b: any) => void;
|
|
1125
1162
|
readonly engine_setTiles3dStyle: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
1126
|
-
readonly engine_setVectorSublayers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void;
|
|
1127
|
-
readonly engine_setVectorTile: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number) => [number, number];
|
|
1163
|
+
readonly engine_setVectorSublayers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number) => void;
|
|
1164
|
+
readonly engine_setVectorTile: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number) => [number, number];
|
|
1128
1165
|
readonly engine_setVectorTileMesh: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number) => [number, number];
|
|
1166
|
+
readonly engine_setVectorTilePoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
1129
1167
|
readonly engine_setViewshed: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
1130
1168
|
readonly engine_setZoomRange: (a: number, b: number, c: number) => void;
|
|
1131
1169
|
readonly engine_stats: (a: number) => any;
|
|
@@ -1139,6 +1177,7 @@ export interface InitOutput {
|
|
|
1139
1177
|
readonly engine_updateGlyphPage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
1140
1178
|
readonly engine_updateGroundTexture: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number];
|
|
1141
1179
|
readonly engine_updateIconAtlas: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
1180
|
+
readonly engine_uploadVectorTile: (a: number, b: number, c: number) => number;
|
|
1142
1181
|
readonly engine_vectorTilesInView: (a: number, b: number, c: number) => [number, number];
|
|
1143
1182
|
readonly engine_wantedTiles: (a: number, b: number) => [number, number];
|
|
1144
1183
|
readonly engine_zoomAt: (a: number, b: number, c: number, d: number) => void;
|
package/dist/wasm/isard.js
CHANGED
|
@@ -737,7 +737,7 @@ export class Engine {
|
|
|
737
737
|
}
|
|
738
738
|
/**
|
|
739
739
|
* Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the
|
|
740
|
-
* feature style gives each its height and base height as its two sizes, metres)
|
|
740
|
+
* feature style gives each its height and base height as its two sizes, metres), each polygon's roof (`Roofs`)
|
|
741
741
|
*
|
|
742
742
|
* # Errors
|
|
743
743
|
*
|
|
@@ -750,8 +750,11 @@ export class Engine {
|
|
|
750
750
|
* @param {Uint32Array} polygon_start
|
|
751
751
|
* @param {Uint32Array} feature
|
|
752
752
|
* @param {number} feature_count
|
|
753
|
+
* @param {Uint8Array} roofs
|
|
754
|
+
* @param {Float32Array} roof_heights
|
|
755
|
+
* @param {number} metres
|
|
753
756
|
*/
|
|
754
|
-
setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count) {
|
|
757
|
+
setExtrusionBatch(id, key, points, ring_start, polygon_start, feature, feature_count, roofs, roof_heights, metres) {
|
|
755
758
|
const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);
|
|
756
759
|
const len0 = WASM_VECTOR_LEN;
|
|
757
760
|
const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);
|
|
@@ -760,11 +763,23 @@ export class Engine {
|
|
|
760
763
|
const len2 = WASM_VECTOR_LEN;
|
|
761
764
|
const ptr3 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);
|
|
762
765
|
const len3 = WASM_VECTOR_LEN;
|
|
763
|
-
const
|
|
766
|
+
const ptr4 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);
|
|
767
|
+
const len4 = WASM_VECTOR_LEN;
|
|
768
|
+
const ptr5 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);
|
|
769
|
+
const len5 = WASM_VECTOR_LEN;
|
|
770
|
+
const ret = wasm.engine_setExtrusionBatch(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, feature_count, ptr4, len4, ptr5, len5, metres);
|
|
764
771
|
if (ret[1]) {
|
|
765
772
|
throw takeFromExternrefTable0(ret[0]);
|
|
766
773
|
}
|
|
767
774
|
}
|
|
775
|
+
/**
|
|
776
|
+
* Whether the buildings of an extrusion layer, or of a vector tiles layer, show their windows on their walls
|
|
777
|
+
* @param {number} id
|
|
778
|
+
* @param {boolean} on
|
|
779
|
+
*/
|
|
780
|
+
setFacades(id, on) {
|
|
781
|
+
wasm.engine_setFacades(this.__wbg_ptr, id, on);
|
|
782
|
+
}
|
|
768
783
|
/**
|
|
769
784
|
* Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it
|
|
770
785
|
* shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all
|
|
@@ -1122,6 +1137,30 @@ export class Engine {
|
|
|
1122
1137
|
setMaxPitch(max) {
|
|
1123
1138
|
wasm.engine_setMaxPitch(this.__wbg_ptr, max);
|
|
1124
1139
|
}
|
|
1140
|
+
/**
|
|
1141
|
+
* Lights at night the part of a model layer's model from `from` metres up (a street lamp's head) in `r, g, b`;
|
|
1142
|
+
* `from` not a number: none
|
|
1143
|
+
* @param {number} id
|
|
1144
|
+
* @param {number} from
|
|
1145
|
+
* @param {number} r
|
|
1146
|
+
* @param {number} g
|
|
1147
|
+
* @param {number} b
|
|
1148
|
+
*/
|
|
1149
|
+
setModelGlow(id, from, r, g, b) {
|
|
1150
|
+
wasm.engine_setModelGlow(this.__wbg_ptr, id, from, r, g, b);
|
|
1151
|
+
}
|
|
1152
|
+
/**
|
|
1153
|
+
* Highlights the feature `feature` of a model layer's model (an IFC model's element) in `r, g, b`; `feature` not a
|
|
1154
|
+
* number: none
|
|
1155
|
+
* @param {number} id
|
|
1156
|
+
* @param {number} feature
|
|
1157
|
+
* @param {number} r
|
|
1158
|
+
* @param {number} g
|
|
1159
|
+
* @param {number} b
|
|
1160
|
+
*/
|
|
1161
|
+
setModelHighlight(id, feature, r, g, b) {
|
|
1162
|
+
wasm.engine_setModelHighlight(this.__wbg_ptr, id, feature, r, g, b);
|
|
1163
|
+
}
|
|
1125
1164
|
/**
|
|
1126
1165
|
* Replaces the instances of a model layer (as for `addModels`) and the reference of their altitudes
|
|
1127
1166
|
* @param {number} id
|
|
@@ -1315,25 +1354,27 @@ export class Engine {
|
|
|
1315
1354
|
}
|
|
1316
1355
|
/**
|
|
1317
1356
|
* Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),
|
|
1318
|
-
* zoom range, visibility
|
|
1357
|
+
* zoom range, visibility, hidden by the buildings
|
|
1319
1358
|
* @param {number} id
|
|
1320
1359
|
* @param {Float32Array} size
|
|
1321
1360
|
* @param {Float32Array} opacity
|
|
1322
1361
|
* @param {number} min_zoom
|
|
1323
1362
|
* @param {number} max_zoom
|
|
1324
1363
|
* @param {boolean} visible
|
|
1364
|
+
* @param {boolean} occluded
|
|
1325
1365
|
*/
|
|
1326
|
-
setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible) {
|
|
1366
|
+
setSymbolLayer(id, size, opacity, min_zoom, max_zoom, visible, occluded) {
|
|
1327
1367
|
const ptr0 = passArrayF32ToWasm0(size, wasm.__wbindgen_malloc);
|
|
1328
1368
|
const len0 = WASM_VECTOR_LEN;
|
|
1329
1369
|
const ptr1 = passArrayF32ToWasm0(opacity, wasm.__wbindgen_malloc);
|
|
1330
1370
|
const len1 = WASM_VECTOR_LEN;
|
|
1331
|
-
wasm.engine_setSymbolLayer(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, min_zoom, max_zoom, visible);
|
|
1371
|
+
wasm.engine_setSymbolLayer(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, min_zoom, max_zoom, visible, occluded);
|
|
1332
1372
|
}
|
|
1333
1373
|
/**
|
|
1334
1374
|
* Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), their texts' boxes (min x, min y,
|
|
1335
|
-
* max x, max y, CSS pixels from the anchor), styles (
|
|
1336
|
-
* (11 floats each, see `QUAD_FLOATS`)
|
|
1375
|
+
* max x, max y, CSS pixels from the anchor), styles (37 floats each, see `LABEL_FLOATS`), glyph and icon quads
|
|
1376
|
+
* (11 floats each, see `QUAD_FLOATS`) and the lines their curved texts follow (`paths`: for each label, its number
|
|
1377
|
+
* of points, the index of its anchor among them, then the points, Mercator; 0, 0 and none for the others)
|
|
1337
1378
|
*
|
|
1338
1379
|
* # Errors
|
|
1339
1380
|
*
|
|
@@ -1344,8 +1385,9 @@ export class Engine {
|
|
|
1344
1385
|
* @param {Float32Array} boxes
|
|
1345
1386
|
* @param {Float32Array} styles
|
|
1346
1387
|
* @param {Float32Array} quads
|
|
1388
|
+
* @param {Float64Array} paths
|
|
1347
1389
|
*/
|
|
1348
|
-
setSymbols(id, anchors, boxes, styles, quads) {
|
|
1390
|
+
setSymbols(id, anchors, boxes, styles, quads, paths) {
|
|
1349
1391
|
const ptr0 = passArrayF64ToWasm0(anchors, wasm.__wbindgen_malloc);
|
|
1350
1392
|
const len0 = WASM_VECTOR_LEN;
|
|
1351
1393
|
const ptr1 = passArrayF32ToWasm0(boxes, wasm.__wbindgen_malloc);
|
|
@@ -1354,7 +1396,9 @@ export class Engine {
|
|
|
1354
1396
|
const len2 = WASM_VECTOR_LEN;
|
|
1355
1397
|
const ptr3 = passArrayF32ToWasm0(quads, wasm.__wbindgen_malloc);
|
|
1356
1398
|
const len3 = WASM_VECTOR_LEN;
|
|
1357
|
-
const
|
|
1399
|
+
const ptr4 = passArrayF64ToWasm0(paths, wasm.__wbindgen_malloc);
|
|
1400
|
+
const len4 = WASM_VECTOR_LEN;
|
|
1401
|
+
const ret = wasm.engine_setSymbols(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
|
|
1358
1402
|
if (ret[1]) {
|
|
1359
1403
|
throw takeFromExternrefTable0(ret[0]);
|
|
1360
1404
|
}
|
|
@@ -1410,11 +1454,15 @@ export class Engine {
|
|
|
1410
1454
|
wasm.engine_setTiles3dStyle(this.__wbg_ptr, id, max_error, opacity, !isLikeNone(point_size), isLikeNone(point_size) ? 0 : point_size, ptr0, len0);
|
|
1411
1455
|
}
|
|
1412
1456
|
/**
|
|
1413
|
-
* The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion
|
|
1457
|
+
* The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion, 3
|
|
1458
|
+
* circle), its zoom range
|
|
1414
1459
|
* (two numbers: shown from the first, included, to the second, excluded), whether it shows (0 or 1), its dashes
|
|
1415
1460
|
* (four numbers: dash, gap, dash, gap, in line widths; 0: solid), its opacity as zoom stops (four zooms then four
|
|
1416
1461
|
* values; missing: opaque), the caps of its lines' ends (0 butt, 1 round, 2 square; missing: round), whether its
|
|
1417
|
-
* lines glow at night (streets; 0 or 1)
|
|
1462
|
+
* lines glow at night (streets; 0 or 1), the joins of its lines (two numbers: 0 round, 1 miter, 2 bevel, then the
|
|
1463
|
+
* miter limit in line widths; missing: round), the translation of its fills or lines (three numbers: x and y in CSS
|
|
1464
|
+
* pixels, x right and y down, then 0 if it turns with the map, 1 if it stays on the screen; missing: none), whether its
|
|
1465
|
+
* fills have patterns (0 or 1)
|
|
1418
1466
|
* @param {number} id
|
|
1419
1467
|
* @param {Uint8Array} kinds
|
|
1420
1468
|
* @param {Float64Array} zooms
|
|
@@ -1423,8 +1471,11 @@ export class Engine {
|
|
|
1423
1471
|
* @param {Float32Array} opacities
|
|
1424
1472
|
* @param {Uint8Array} caps
|
|
1425
1473
|
* @param {Uint8Array} lit
|
|
1474
|
+
* @param {Float32Array} joins
|
|
1475
|
+
* @param {Float32Array} translates
|
|
1476
|
+
* @param {Uint8Array} patterned
|
|
1426
1477
|
*/
|
|
1427
|
-
setVectorSublayers(id, kinds, zooms, visible, dashes, opacities, caps, lit) {
|
|
1478
|
+
setVectorSublayers(id, kinds, zooms, visible, dashes, opacities, caps, lit, joins, translates, patterned) {
|
|
1428
1479
|
const ptr0 = passArray8ToWasm0(kinds, wasm.__wbindgen_malloc);
|
|
1429
1480
|
const len0 = WASM_VECTOR_LEN;
|
|
1430
1481
|
const ptr1 = passArrayF64ToWasm0(zooms, wasm.__wbindgen_malloc);
|
|
@@ -1439,7 +1490,13 @@ export class Engine {
|
|
|
1439
1490
|
const len5 = WASM_VECTOR_LEN;
|
|
1440
1491
|
const ptr6 = passArray8ToWasm0(lit, wasm.__wbindgen_malloc);
|
|
1441
1492
|
const len6 = WASM_VECTOR_LEN;
|
|
1442
|
-
|
|
1493
|
+
const ptr7 = passArrayF32ToWasm0(joins, wasm.__wbindgen_malloc);
|
|
1494
|
+
const len7 = WASM_VECTOR_LEN;
|
|
1495
|
+
const ptr8 = passArrayF32ToWasm0(translates, wasm.__wbindgen_malloc);
|
|
1496
|
+
const len8 = WASM_VECTOR_LEN;
|
|
1497
|
+
const ptr9 = passArray8ToWasm0(patterned, wasm.__wbindgen_malloc);
|
|
1498
|
+
const len9 = WASM_VECTOR_LEN;
|
|
1499
|
+
wasm.engine_setVectorSublayers(this.__wbg_ptr, id, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9);
|
|
1443
1500
|
}
|
|
1444
1501
|
/**
|
|
1445
1502
|
* Adds or replaces tile `key` of a vector tile layer ready for the GPU, as the basemap workers make it (the
|
|
@@ -1511,13 +1568,36 @@ export class Engine {
|
|
|
1511
1568
|
throw takeFromExternrefTable0(ret[0]);
|
|
1512
1569
|
}
|
|
1513
1570
|
}
|
|
1571
|
+
/**
|
|
1572
|
+
* The points of tile `key` of a vector tile layer, after the tile itself (`setVectorTile`, `setVectorTileMesh`):
|
|
1573
|
+
* Mercator, interleaved, each with its feature (styled as a circle's: a color, a radius and a stroke width, then the
|
|
1574
|
+
* stroke's color), `start` the first point of each sublayer and the end; the circle sublayers draw theirs
|
|
1575
|
+
* @param {number} id
|
|
1576
|
+
* @param {number} key
|
|
1577
|
+
* @param {Float64Array} points
|
|
1578
|
+
* @param {Uint32Array} feature
|
|
1579
|
+
* @param {Uint32Array} start
|
|
1580
|
+
*/
|
|
1581
|
+
setVectorTilePoints(id, key, points, feature, start) {
|
|
1582
|
+
const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);
|
|
1583
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1584
|
+
const ptr1 = passArray32ToWasm0(feature, wasm.__wbindgen_malloc);
|
|
1585
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1586
|
+
const ptr2 = passArray32ToWasm0(start, wasm.__wbindgen_malloc);
|
|
1587
|
+
const len2 = WASM_VECTOR_LEN;
|
|
1588
|
+
wasm.engine_setVectorTilePoints(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2);
|
|
1589
|
+
}
|
|
1514
1590
|
/**
|
|
1515
1591
|
* Adds or replaces tile `key` of a vector tile layer: its polygons as for `addFills` (`fill_start`: the first
|
|
1516
1592
|
* polygon of each sublayer, and the end; those of an extrusion sublayer raised into blocks), its lines as for
|
|
1517
1593
|
* `addLines` (`line_start`: the first line of each sublayer, and the end), `feature_count` features, styled as an
|
|
1518
1594
|
* extrusion layer's (`setFeatureStyle` with the key: a color, then a line's width or a block's height and base);
|
|
1519
1595
|
* `tile`: the corners of the tile they are cut to (west, north, east, south; empty: none), along whose edges no
|
|
1520
|
-
* wall of a block rises
|
|
1596
|
+
* wall of a block rises; `roofs` and `roof_heights`: per polygon, the shape and height of its block's roof
|
|
1597
|
+
* (`shapes::Roofs`: 0 flat, 1 to 5 `RoofShape::number`, 255 generated from its outline; metres, not a number: as
|
|
1598
|
+
* its slopes make it; empty: flat), the whole outlines of the buildings the tile cuts (`roof_outlines`, interleaved
|
|
1599
|
+
* Mercator points, `roof_outline_start`: where each polygon's starts, and the end), `roof_metres` the metres per
|
|
1600
|
+
* Mercator unit at the tile
|
|
1521
1601
|
*
|
|
1522
1602
|
* # Errors
|
|
1523
1603
|
*
|
|
@@ -1536,8 +1616,13 @@ export class Engine {
|
|
|
1536
1616
|
* @param {Uint32Array} line_start
|
|
1537
1617
|
* @param {number} feature_count
|
|
1538
1618
|
* @param {Float64Array} tile
|
|
1619
|
+
* @param {Uint8Array} roofs
|
|
1620
|
+
* @param {Float32Array} roof_heights
|
|
1621
|
+
* @param {Float64Array} roof_outlines
|
|
1622
|
+
* @param {Uint32Array} roof_outline_start
|
|
1623
|
+
* @param {number} roof_metres
|
|
1539
1624
|
*/
|
|
1540
|
-
setVectorTile(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, line_points, line_first, line_feature, line_start, feature_count, tile) {
|
|
1625
|
+
setVectorTile(id, key, points, ring_start, polygon_start, polygon_feature, fill_start, line_points, line_first, line_feature, line_start, feature_count, tile, roofs, roof_heights, roof_outlines, roof_outline_start, roof_metres) {
|
|
1541
1626
|
const ptr0 = passArrayF64ToWasm0(points, wasm.__wbindgen_malloc);
|
|
1542
1627
|
const len0 = WASM_VECTOR_LEN;
|
|
1543
1628
|
const ptr1 = passArray32ToWasm0(ring_start, wasm.__wbindgen_malloc);
|
|
@@ -1558,7 +1643,15 @@ export class Engine {
|
|
|
1558
1643
|
const len8 = WASM_VECTOR_LEN;
|
|
1559
1644
|
const ptr9 = passArrayF64ToWasm0(tile, wasm.__wbindgen_malloc);
|
|
1560
1645
|
const len9 = WASM_VECTOR_LEN;
|
|
1561
|
-
const
|
|
1646
|
+
const ptr10 = passArray8ToWasm0(roofs, wasm.__wbindgen_malloc);
|
|
1647
|
+
const len10 = WASM_VECTOR_LEN;
|
|
1648
|
+
const ptr11 = passArrayF32ToWasm0(roof_heights, wasm.__wbindgen_malloc);
|
|
1649
|
+
const len11 = WASM_VECTOR_LEN;
|
|
1650
|
+
const ptr12 = passArrayF64ToWasm0(roof_outlines, wasm.__wbindgen_malloc);
|
|
1651
|
+
const len12 = WASM_VECTOR_LEN;
|
|
1652
|
+
const ptr13 = passArray32ToWasm0(roof_outline_start, wasm.__wbindgen_malloc);
|
|
1653
|
+
const len13 = WASM_VECTOR_LEN;
|
|
1654
|
+
const ret = wasm.engine_setVectorTile(this.__wbg_ptr, id, key, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, feature_count, ptr9, len9, ptr10, len10, ptr11, len11, ptr12, len12, ptr13, len13, roof_metres);
|
|
1562
1655
|
if (ret[1]) {
|
|
1563
1656
|
throw takeFromExternrefTable0(ret[0]);
|
|
1564
1657
|
}
|
|
@@ -1740,6 +1833,17 @@ export class Engine {
|
|
|
1740
1833
|
const len0 = WASM_VECTOR_LEN;
|
|
1741
1834
|
wasm.engine_updateIconAtlas(this.__wbg_ptr, x, y, width, height, ptr0, len0);
|
|
1742
1835
|
}
|
|
1836
|
+
/**
|
|
1837
|
+
* Uploads a part more of the blocks of tile `key` of a vector tile layer (a large tile's, a part at a time over
|
|
1838
|
+
* several frames); whether some are left. Its blocks are drawn once they are all there
|
|
1839
|
+
* @param {number} id
|
|
1840
|
+
* @param {number} key
|
|
1841
|
+
* @returns {boolean}
|
|
1842
|
+
*/
|
|
1843
|
+
uploadVectorTile(id, key) {
|
|
1844
|
+
const ret = wasm.engine_uploadVectorTile(this.__wbg_ptr, id, key);
|
|
1845
|
+
return ret !== 0;
|
|
1846
|
+
}
|
|
1743
1847
|
/**
|
|
1744
1848
|
* Vector tiles (512 CSS pixels across at their level, as `MapLibre`'s) for the view of the last frame (else the
|
|
1745
1849
|
* camera's), levels `min_z` to `max_z`, three numbers per tile (z, x, y), the nearest to the eye first: what a
|
|
@@ -1963,6 +2067,12 @@ function __wbg_get_imports() {
|
|
|
1963
2067
|
__wbg_bufferData_bad7ce562b6a9eac: function(arg0, arg1, arg2, arg3) {
|
|
1964
2068
|
arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0);
|
|
1965
2069
|
},
|
|
2070
|
+
__wbg_bufferSubData_22c4c420e0f67cda: function(arg0, arg1, arg2, arg3) {
|
|
2071
|
+
arg0.bufferSubData(arg1 >>> 0, arg2, arg3);
|
|
2072
|
+
},
|
|
2073
|
+
__wbg_bufferSubData_8609cd8a2c013181: function(arg0, arg1, arg2, arg3) {
|
|
2074
|
+
arg0.bufferSubData(arg1 >>> 0, arg2, arg3);
|
|
2075
|
+
},
|
|
1966
2076
|
__wbg_byteLength_141bda7c7c28aa72: function(arg0) {
|
|
1967
2077
|
const ret = arg0.byteLength;
|
|
1968
2078
|
return ret;
|
|
@@ -3019,7 +3129,7 @@ function __wbg_get_imports() {
|
|
|
3019
3129
|
return ret;
|
|
3020
3130
|
},
|
|
3021
3131
|
__wbindgen_generic_0000000000000001: function(arg0, arg1) {
|
|
3022
|
-
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx:
|
|
3132
|
+
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 225, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
|
3023
3133
|
const ret = makeMutClosure(arg0, arg1, wasm_bindgen_2e566c63402fe7fa___convert__closures_____invoke___wasm_bindgen_2e566c63402fe7fa___JsValue__core_37ee0ce0c4cd57d5___result__Result_____wasm_bindgen_2e566c63402fe7fa___JsError___true_);
|
|
3024
3134
|
return ret;
|
|
3025
3135
|
},
|
|
@@ -344,14 +344,18 @@ export class Engine {
|
|
|
344
344
|
setExtrusionAnchors(id: number, key: number, anchors: Float32Array): void;
|
|
345
345
|
/**
|
|
346
346
|
* Adds or replaces batch `key` of an extrusion layer: polygons as for `addFills`, `feature_count` features (the
|
|
347
|
-
* feature style gives each its height and base height as its two sizes, metres)
|
|
347
|
+
* feature style gives each its height and base height as its two sizes, metres), each polygon's roof (`Roofs`)
|
|
348
348
|
*
|
|
349
349
|
* # Errors
|
|
350
350
|
*
|
|
351
351
|
* Throws (to JavaScript) when a WebGL buffer or vertex array of the batch cannot be created, or when
|
|
352
352
|
* `feature_count` features need a table texture past the GPU's `MAX_TEXTURE_SIZE`
|
|
353
353
|
*/
|
|
354
|
-
setExtrusionBatch(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number): void;
|
|
354
|
+
setExtrusionBatch(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, feature: Uint32Array, feature_count: number, roofs: Uint8Array, roof_heights: Float32Array, metres: number): void;
|
|
355
|
+
/**
|
|
356
|
+
* Whether the buildings of an extrusion layer, or of a vector tiles layer, show their windows on their walls
|
|
357
|
+
*/
|
|
358
|
+
setFacades(id: number, on: boolean): void;
|
|
355
359
|
/**
|
|
356
360
|
* Layer-wide style of a feature layer: opacity as zoom stops (four zooms then four values), the zoom range it
|
|
357
361
|
* shows in (`min_zoom` included, `max_zoom` excluded), whether it shows at all
|
|
@@ -554,20 +558,21 @@ export class Engine {
|
|
|
554
558
|
setSwipe(x: number, right: boolean, layers: Uint32Array, others: Uint32Array): void;
|
|
555
559
|
/**
|
|
556
560
|
* Layer-wide style of a symbol layer: size scale and opacity as zoom stops (four zooms then four values each),
|
|
557
|
-
* zoom range, visibility
|
|
561
|
+
* zoom range, visibility, hidden by the buildings
|
|
558
562
|
*/
|
|
559
|
-
setSymbolLayer(id: number, size: Float32Array, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean): void;
|
|
563
|
+
setSymbolLayer(id: number, size: Float32Array, opacity: Float32Array, min_zoom: number, max_zoom: number, visible: boolean, occluded: boolean): void;
|
|
560
564
|
/**
|
|
561
565
|
* Labels of a symbol layer, shaped by the page: anchors (Mercator, interleaved), their texts' boxes (min x, min y,
|
|
562
|
-
* max x, max y, CSS pixels from the anchor), styles (
|
|
563
|
-
* (11 floats each, see `QUAD_FLOATS`)
|
|
566
|
+
* max x, max y, CSS pixels from the anchor), styles (37 floats each, see `LABEL_FLOATS`), glyph and icon quads
|
|
567
|
+
* (11 floats each, see `QUAD_FLOATS`) and the lines their curved texts follow (`paths`: for each label, its number
|
|
568
|
+
* of points, the index of its anchor among them, then the points, Mercator; 0, 0 and none for the others)
|
|
564
569
|
*
|
|
565
570
|
* # Errors
|
|
566
571
|
*
|
|
567
572
|
* Throws (to JavaScript) when the labels need a table texture past the GPU's `MAX_TEXTURE_SIZE`, or
|
|
568
573
|
* when it cannot be created; the layer then keeps its labels
|
|
569
574
|
*/
|
|
570
|
-
setSymbols(id: number, anchors: Float64Array, boxes: Float32Array, styles: Float32Array, quads: Float32Array): void;
|
|
575
|
+
setSymbols(id: number, anchors: Float64Array, boxes: Float32Array, styles: Float32Array, quads: Float32Array, paths: Float64Array): void;
|
|
571
576
|
/**
|
|
572
577
|
* Relief under the raster layers, from raw altitudes (`image/x-bil;bits=32`, 256 × 256, or the same followed by
|
|
573
578
|
* the validity mask of an `ArcGIS` raw grid): `url` is a template with `{bbox}` (WMS `GetMap` in EPSG:3857, or in
|
|
@@ -584,13 +589,17 @@ export class Engine {
|
|
|
584
589
|
*/
|
|
585
590
|
setTerrain(url: string | null | undefined, exaggeration: number, max_z: number | null | undefined, geoid: boolean | null | undefined, loader: ((z: number, x: number, y: number, signal: AbortSignal) => Promise<Float32Array | null>) | undefined): void;
|
|
586
591
|
/**
|
|
587
|
-
* The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion
|
|
592
|
+
* The style layers of a vector tile layer, in drawing order: per layer, its kind (0 fill, 1 line, 2 extrusion, 3
|
|
593
|
+
* circle), its zoom range
|
|
588
594
|
* (two numbers: shown from the first, included, to the second, excluded), whether it shows (0 or 1), its dashes
|
|
589
595
|
* (four numbers: dash, gap, dash, gap, in line widths; 0: solid), its opacity as zoom stops (four zooms then four
|
|
590
596
|
* values; missing: opaque), the caps of its lines' ends (0 butt, 1 round, 2 square; missing: round), whether its
|
|
591
|
-
* lines glow at night (streets; 0 or 1)
|
|
597
|
+
* lines glow at night (streets; 0 or 1), the joins of its lines (two numbers: 0 round, 1 miter, 2 bevel, then the
|
|
598
|
+
* miter limit in line widths; missing: round), the translation of its fills or lines (three numbers: x and y in CSS
|
|
599
|
+
* pixels, x right and y down, then 0 if it turns with the map, 1 if it stays on the screen; missing: none), whether its
|
|
600
|
+
* fills have patterns (0 or 1)
|
|
592
601
|
*/
|
|
593
|
-
setVectorSublayers(id: number, kinds: Uint8Array, zooms: Float64Array, visible: Uint8Array, dashes: Float32Array, opacities: Float32Array, caps: Uint8Array, lit: Uint8Array): void;
|
|
602
|
+
setVectorSublayers(id: number, kinds: Uint8Array, zooms: Float64Array, visible: Uint8Array, dashes: Float32Array, opacities: Float32Array, caps: Uint8Array, lit: Uint8Array, joins: Float32Array, translates: Float32Array, patterned: Uint8Array): void;
|
|
594
603
|
/**
|
|
595
604
|
* Adds or replaces tile `key` of a vector tile layer ready for the GPU, as the basemap workers make it (the
|
|
596
605
|
* tessellation module): its polygons as for `setVectorTile` (picked here; their prisms built here if drawn in
|
|
@@ -607,20 +616,30 @@ export class Engine {
|
|
|
607
616
|
* created, or when its features or lines need a table texture past the GPU's `MAX_TEXTURE_SIZE`
|
|
608
617
|
*/
|
|
609
618
|
setVectorTileMesh(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, vertices: Uint8Array, indices: Uint32Array, fill_ranges: Uint32Array, prism: boolean, pieces: Uint8Array, line_table: Float32Array, line_ranges: Uint32Array, blocks: Uint8Array, block_indices: Uint32Array, block_ranges: Uint32Array, bounds: Float64Array, feature_count: number): void;
|
|
619
|
+
/**
|
|
620
|
+
* The points of tile `key` of a vector tile layer, after the tile itself (`setVectorTile`, `setVectorTileMesh`):
|
|
621
|
+
* Mercator, interleaved, each with its feature (styled as a circle's: a color, a radius and a stroke width, then the
|
|
622
|
+
* stroke's color), `start` the first point of each sublayer and the end; the circle sublayers draw theirs
|
|
623
|
+
*/
|
|
624
|
+
setVectorTilePoints(id: number, key: number, points: Float64Array, feature: Uint32Array, start: Uint32Array): void;
|
|
610
625
|
/**
|
|
611
626
|
* Adds or replaces tile `key` of a vector tile layer: its polygons as for `addFills` (`fill_start`: the first
|
|
612
627
|
* polygon of each sublayer, and the end; those of an extrusion sublayer raised into blocks), its lines as for
|
|
613
628
|
* `addLines` (`line_start`: the first line of each sublayer, and the end), `feature_count` features, styled as an
|
|
614
629
|
* extrusion layer's (`setFeatureStyle` with the key: a color, then a line's width or a block's height and base);
|
|
615
630
|
* `tile`: the corners of the tile they are cut to (west, north, east, south; empty: none), along whose edges no
|
|
616
|
-
* wall of a block rises
|
|
631
|
+
* wall of a block rises; `roofs` and `roof_heights`: per polygon, the shape and height of its block's roof
|
|
632
|
+
* (`shapes::Roofs`: 0 flat, 1 to 5 `RoofShape::number`, 255 generated from its outline; metres, not a number: as
|
|
633
|
+
* its slopes make it; empty: flat), the whole outlines of the buildings the tile cuts (`roof_outlines`, interleaved
|
|
634
|
+
* Mercator points, `roof_outline_start`: where each polygon's starts, and the end), `roof_metres` the metres per
|
|
635
|
+
* Mercator unit at the tile
|
|
617
636
|
*
|
|
618
637
|
* # Errors
|
|
619
638
|
*
|
|
620
639
|
* Throws (to JavaScript) when a WebGL object of the tile cannot be created, or when its features or lines need a
|
|
621
640
|
* table texture past the GPU's `MAX_TEXTURE_SIZE`
|
|
622
641
|
*/
|
|
623
|
-
setVectorTile(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, line_points: Float64Array, line_first: Uint32Array, line_feature: Uint32Array, line_start: Uint32Array, feature_count: number, tile: Float64Array): void;
|
|
642
|
+
setVectorTile(id: number, key: number, points: Float64Array, ring_start: Uint32Array, polygon_start: Uint32Array, polygon_feature: Uint32Array, fill_start: Uint32Array, line_points: Float64Array, line_first: Uint32Array, line_feature: Uint32Array, line_start: Uint32Array, feature_count: number, tile: Float64Array, roofs: Uint8Array, roof_heights: Float32Array, roof_outlines: Float64Array, roof_outline_start: Uint32Array, roof_metres: number): void;
|
|
624
643
|
/**
|
|
625
644
|
* Shows what can be seen from points, each within its range: `observers` holds 8 numbers per observer
|
|
626
645
|
* (16 at most): longitude, latitude (degrees), metres above the ground, range (metres), then to look one way
|
|
@@ -680,6 +699,11 @@ export class Engine {
|
|
|
680
699
|
* A region of the icon atlas: `width` × `height` RGBA texels (premultiplied) at (`x`, `y`)
|
|
681
700
|
*/
|
|
682
701
|
updateIconAtlas(x: number, y: number, width: number, height: number, data: Uint8Array): void;
|
|
702
|
+
/**
|
|
703
|
+
* Uploads a part more of the blocks of tile `key` of a vector tile layer (a large tile's, a part at a time over
|
|
704
|
+
* several frames); whether some are left. Its blocks are drawn once they are all there
|
|
705
|
+
*/
|
|
706
|
+
uploadVectorTile(id: number, key: number): boolean;
|
|
683
707
|
/**
|
|
684
708
|
* Vector tiles (512 CSS pixels across at their level, as `MapLibre`'s) for the view of the last frame (else the
|
|
685
709
|
* camera's), levels `min_z` to `max_z`, three numbers per tile (z, x, y), the nearest to the eye first: what a
|
|
@@ -746,7 +770,8 @@ export interface InitOutput {
|
|
|
746
770
|
readonly engine_setCircleAlignment: (a: number, b: number, c: number) => void;
|
|
747
771
|
readonly engine_setCircles: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
748
772
|
readonly engine_setExtrusionAnchors: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
749
|
-
readonly engine_setExtrusionBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
|
|
773
|
+
readonly engine_setExtrusionBatch: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number) => [number, number];
|
|
774
|
+
readonly engine_setFacades: (a: number, b: number, c: number) => void;
|
|
750
775
|
readonly engine_setFeatureLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
751
776
|
readonly engine_setFeatureMask: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
752
777
|
readonly engine_setFeatureRamp: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
@@ -782,12 +807,13 @@ export interface InitOutput {
|
|
|
782
807
|
readonly engine_setSky: (a: number, b: number) => void;
|
|
783
808
|
readonly engine_setSun: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
784
809
|
readonly engine_setSwipe: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
785
|
-
readonly engine_setSymbolLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
786
|
-
readonly engine_setSymbols: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
810
|
+
readonly engine_setSymbolLayer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
811
|
+
readonly engine_setSymbols: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
|
|
787
812
|
readonly engine_setTerrain: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number];
|
|
788
|
-
readonly engine_setVectorSublayers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number) => void;
|
|
789
|
-
readonly engine_setVectorTile: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number) => [number, number];
|
|
813
|
+
readonly engine_setVectorSublayers: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number) => void;
|
|
814
|
+
readonly engine_setVectorTile: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number) => [number, number];
|
|
790
815
|
readonly engine_setVectorTileMesh: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number) => [number, number];
|
|
816
|
+
readonly engine_setVectorTilePoints: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
|
|
791
817
|
readonly engine_setViewshed: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
|
|
792
818
|
readonly engine_setZoomRange: (a: number, b: number, c: number) => void;
|
|
793
819
|
readonly engine_stats: (a: number) => any;
|
|
@@ -798,6 +824,7 @@ export interface InitOutput {
|
|
|
798
824
|
readonly engine_updateGlyphPage: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
799
825
|
readonly engine_updateGroundTexture: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number];
|
|
800
826
|
readonly engine_updateIconAtlas: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
827
|
+
readonly engine_uploadVectorTile: (a: number, b: number, c: number) => number;
|
|
801
828
|
readonly engine_vectorTilesInView: (a: number, b: number, c: number) => [number, number];
|
|
802
829
|
readonly engine_wantedTiles: (a: number, b: number) => [number, number];
|
|
803
830
|
readonly engine_zoomAt: (a: number, b: number, c: number, d: number) => void;
|