itowns 2.44.2-next.5 → 2.44.2
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 +27 -0
- package/dist/itowns.js +1 -1
- package/dist/itowns.js.map +1 -1
- package/lib/Controls/FirstPersonControls.js +0 -1
- package/lib/Controls/FlyControls.js +0 -1
- package/lib/Controls/GlobeControls.js +5 -5
- package/lib/Controls/StreetControls.js +1 -2
- package/lib/Converter/Feature2Mesh.js +2 -2
- package/lib/Core/3DTiles/C3DTBatchTable.js +1 -1
- package/lib/Core/3DTiles/C3DTBatchTableHierarchyExtension.js +0 -1
- package/lib/Core/3DTiles/C3DTBoundingVolume.js +1 -2
- package/lib/Core/3DTiles/C3DTExtensions.js +3 -3
- package/lib/Core/3DTiles/C3DTileset.js +1 -1
- package/lib/Core/Feature.js +5 -5
- package/lib/Core/Geographic/Coordinates.js +15 -15
- package/lib/Core/Geographic/Extent.js +3 -0
- package/lib/Core/Geographic/GeoidGrid.js +19 -19
- package/lib/Core/Prefab/Globe/Atmosphere.js +1 -2
- package/lib/Core/Prefab/Globe/GlobeLayer.js +0 -1
- package/lib/Core/Prefab/GlobeView.js +2 -3
- package/lib/Core/Prefab/Planar/PlanarLayer.js +0 -1
- package/lib/Core/Prefab/PlanarView.js +2 -3
- package/lib/Core/Style.js +11 -20
- package/lib/Core/TileMesh.js +0 -1
- package/lib/Core/View.js +6 -8
- package/lib/Layer/C3DTilesLayer.js +3 -4
- package/lib/Layer/ColorLayer.js +2 -3
- package/lib/Layer/CopcLayer.js +0 -1
- package/lib/Layer/ElevationLayer.js +0 -1
- package/lib/Layer/EntwinePointTileLayer.js +0 -1
- package/lib/Layer/FeatureGeometryLayer.js +0 -1
- package/lib/Layer/GeometryLayer.js +3 -5
- package/lib/Layer/LabelLayer.js +0 -1
- package/lib/Layer/Layer.js +6 -6
- package/lib/Layer/OGC3DTilesLayer.js +0 -2
- package/lib/Layer/OrientedImageLayer.js +3 -3
- package/lib/Layer/PointCloudLayer.js +0 -1
- package/lib/Layer/Potree2Layer.js +0 -1
- package/lib/Layer/PotreeLayer.js +0 -1
- package/lib/Layer/TiledGeometryLayer.js +0 -1
- package/lib/Main.js +1 -1
- package/lib/Parser/GDFParser.js +2 -2
- package/lib/Parser/GTXParser.js +3 -3
- package/lib/Parser/GeoJsonParser.js +2 -2
- package/lib/Parser/GpxParser.js +2 -4
- package/lib/Parser/ISGParser.js +2 -2
- package/lib/Parser/KMLParser.js +2 -4
- package/lib/Parser/ShapefileParser.js +3 -4
- package/lib/Parser/VectorTileParser.js +3 -3
- package/lib/Parser/iGLTFLoader.js +0 -1
- package/lib/Provider/Fetcher.js +22 -21
- package/lib/Renderer/OBB.js +4 -3
- package/lib/Renderer/OrientedImageCamera.js +1 -2
- package/lib/Renderer/OrientedImageMaterial.js +4 -5
- package/lib/Renderer/PointsMaterial.js +6 -7
- package/lib/Renderer/RasterTile.js +1 -1
- package/lib/Source/C3DTilesGoogleSource.js +0 -2
- package/lib/Source/C3DTilesIonSource.js +0 -2
- package/lib/Source/C3DTilesSource.js +0 -2
- package/lib/Source/CopcSource.js +2 -5
- package/lib/Source/EntwinePointTileSource.js +0 -3
- package/lib/Source/FileSource.js +0 -3
- package/lib/Source/OGC3DTilesGoogleSource.js +0 -3
- package/lib/Source/OGC3DTilesIonSource.js +0 -3
- package/lib/Source/OGC3DTilesSource.js +0 -3
- package/lib/Source/OrientedImageSource.js +3 -3
- package/lib/Source/Potree2Source.js +0 -5
- package/lib/Source/PotreeSource.js +0 -5
- package/lib/Source/Source.js +10 -11
- package/lib/Source/TMSSource.js +5 -8
- package/lib/Source/VectorTilesSource.js +0 -2
- package/lib/Source/WFSSource.js +1 -4
- package/lib/Source/WMSSource.js +3 -6
- package/lib/Source/WMTSSource.js +1 -4
- package/lib/Utils/OrientationUtils.js +10 -11
- package/package.json +1 -1
package/lib/Layer/LabelLayer.js
CHANGED
package/lib/Layer/Layer.js
CHANGED
|
@@ -19,7 +19,8 @@ import Style from "../Core/Style.js";
|
|
|
19
19
|
* @property {Promise} whenReady - this promise is resolved when the layer is added and all initializations are done.
|
|
20
20
|
* This promise is resolved with this layer.
|
|
21
21
|
* This promise is returned by [View#addLayer]{@link View}.
|
|
22
|
-
* @property {object} [zoom] - This property is used only the layer is attached
|
|
22
|
+
* @property {object} [zoom] - This property is used only the layer is attached
|
|
23
|
+
* to {@link TiledGeometryLayer}.
|
|
23
24
|
* By example,
|
|
24
25
|
* The layer checks the tile zoom level to determine if the layer is visible in this tile.
|
|
25
26
|
*
|
|
@@ -38,7 +39,6 @@ class Layer extends THREE.EventDispatcher {
|
|
|
38
39
|
* another available type of Layer, implement a new one inheriting from this
|
|
39
40
|
* one or use [View#addLayer]{@link View}.
|
|
40
41
|
*
|
|
41
|
-
* @constructor
|
|
42
42
|
* @protected
|
|
43
43
|
*
|
|
44
44
|
* @param {string} id - The id of the layer, that should be unique. It is
|
|
@@ -52,17 +52,17 @@ class Layer extends THREE.EventDispatcher {
|
|
|
52
52
|
* @param {Source|boolean} config.source - instantiated Source specifies data source to display.
|
|
53
53
|
* if config.source is a boolean, it can only be false. if config.source is false,
|
|
54
54
|
* the layer doesn't need Source (like debug Layer or procedural layer).
|
|
55
|
-
* @param {StyleOptions
|
|
55
|
+
* @param {StyleOptions} [config.style] - an object that contain any properties
|
|
56
56
|
* (order, zoom, fill, stroke, point, text or/and icon)
|
|
57
57
|
* and sub properties of a Style (@see {@link StyleOptions}). Or directly a {@link Style} .<br/>
|
|
58
58
|
* When entering a StyleOptions the missing style properties will be look for in the data (if any)
|
|
59
59
|
* what won't be done when you use a Style.
|
|
60
60
|
* @param {number} [config.cacheLifeTime=Infinity] - set life time value in cache.
|
|
61
|
-
* This value is used for
|
|
62
|
-
* @param {(boolean|Object)} [config.addLabelLayer
|
|
61
|
+
* This value is used for cache expiration mechanism.
|
|
62
|
+
* @param {(boolean|Object)} [config.addLabelLayer] - Used to tell if this layer has
|
|
63
63
|
* labels to display from its data. For example, it needs to be set to `true`
|
|
64
64
|
* for a layer with vector tiles. If it's `true` a new `LabelLayer` is added and attached to this `Layer`.
|
|
65
|
-
* You can also configure it with
|
|
65
|
+
* You can also configure it with {@link LabelLayer} options described below such as: `addLabelLayer: { performance: true }`.
|
|
66
66
|
* @param {boolean} [config.addLabelLayer.performance=false] - In case label layer adding, so remove labels that have no chance of being visible.
|
|
67
67
|
* Indeed, even in the best case, labels will never be displayed. By example, if there's many labels.
|
|
68
68
|
* @param {boolean} [config.addLabelLayer.forceClampToTerrain=false] - use elevation layer to clamp label on terrain.
|
|
@@ -97,8 +97,6 @@ class OGC3DTilesLayer extends GeometryLayer {
|
|
|
97
97
|
* Layer for [3D Tiles](https://www.ogc.org/standard/3dtiles/) datasets.
|
|
98
98
|
* @extends Layer
|
|
99
99
|
*
|
|
100
|
-
* @constructor
|
|
101
|
-
*
|
|
102
100
|
* @param {String} id - unique layer id.
|
|
103
101
|
* @param {Object} config - layer specific configuration
|
|
104
102
|
* @param {OGC3DTilesSource} config.source - data source configuration
|
|
@@ -72,7 +72,7 @@ function createBackground(radius) {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
|
-
*
|
|
75
|
+
* OrientedImageLayer loads oriented images, and project these textures on the scene.
|
|
76
76
|
* It is design to create an immersive view. </br>
|
|
77
77
|
* It loads a set of panoramic position and orientation,
|
|
78
78
|
* a set of camera calibration file (it's the same set of camera for each panoramic),
|
|
@@ -82,7 +82,6 @@ function createBackground(radius) {
|
|
|
82
82
|
*/
|
|
83
83
|
class OrientedImageLayer extends GeometryLayer {
|
|
84
84
|
/**
|
|
85
|
-
* @constructor
|
|
86
85
|
* @param { string } id - The id of the layer, a unique name.
|
|
87
86
|
* @param { Object } config - configuration of the layer
|
|
88
87
|
* @param { number } config.backgroundDistance - Radius in meter of the sphere used as a background
|
|
@@ -90,7 +89,8 @@ class OrientedImageLayer extends GeometryLayer {
|
|
|
90
89
|
* @param { string } config.crs - crs projection of the view
|
|
91
90
|
* @param { string } config.orientation - Json object, using GeoJSon format to represent points,
|
|
92
91
|
* it's a set of panoramic position and orientation.
|
|
93
|
-
* @param { string } config.calibrations - Json object, representing a set of camera.
|
|
92
|
+
* @param { string } config.calibrations - Json object, representing a set of camera.
|
|
93
|
+
* see {@link CameraCalibrationParser}
|
|
94
94
|
* @param { OrientedImageSource } config.source - Source used to build url of texture for each oriented image,
|
|
95
95
|
* a tecture is need for each camera, for each panoramic.
|
|
96
96
|
*/
|
|
@@ -120,7 +120,6 @@ class PointCloudLayer extends GeometryLayer {
|
|
|
120
120
|
* Constructs a new instance of a Point Cloud Layer. This should not be used
|
|
121
121
|
* directly, but rather implemented using `extends`.
|
|
122
122
|
*
|
|
123
|
-
* @constructor
|
|
124
123
|
* @extends GeometryLayer
|
|
125
124
|
*
|
|
126
125
|
* @param {string} id - The id of the layer, that should be unique. It is
|
package/lib/Layer/PotreeLayer.js
CHANGED
|
@@ -38,7 +38,6 @@ class TiledGeometryLayer extends GeometryLayer {
|
|
|
38
38
|
* It corresponds at meters by pixel. If the projection tile exceeds a certain pixel size (on screen)
|
|
39
39
|
* then it is subdivided into 4 tiles with a zoom greater than 1.
|
|
40
40
|
*
|
|
41
|
-
* @constructor
|
|
42
41
|
* @extends GeometryLayer
|
|
43
42
|
*
|
|
44
43
|
* @param {string} id - The id of the layer, that should be unique. It is
|
package/lib/Main.js
CHANGED
package/lib/Parser/GDFParser.js
CHANGED
|
@@ -16,7 +16,7 @@ export function getHeaderAttribute(header, attributeName) {
|
|
|
16
16
|
*/
|
|
17
17
|
export default {
|
|
18
18
|
/**
|
|
19
|
-
* Parses a GDF file content and returns a corresponding
|
|
19
|
+
* Parses a GDF file content and returns a corresponding {@link GeoidGrid}.
|
|
20
20
|
*
|
|
21
21
|
* @param {string} gdf The content of the GDF file to parse.
|
|
22
22
|
* @param {Object} options An object gathering the optional parameters to pass to
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
* It must be a geographic CRS, and must be given as an EPSG
|
|
27
27
|
* code.
|
|
28
28
|
*
|
|
29
|
-
* @returns {Promise<GeoidGrid>} A promise resolving with a
|
|
29
|
+
* @returns {Promise<GeoidGrid>} A promise resolving with a {@link GeoidGrid}, which contains all the necessary
|
|
30
30
|
* attributes and methods to access GDF file data.
|
|
31
31
|
*/
|
|
32
32
|
parse(gdf) {
|
package/lib/Parser/GTXParser.js
CHANGED
|
@@ -6,14 +6,14 @@ export const BYTES_PER_FLOAT = 4;
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* The `GTXParser` module provides a `[parse]{@link module:GTXParser.parse}` method. This method takes the content of a
|
|
9
|
-
* GTX file in, and returns a
|
|
9
|
+
* GTX file in, and returns a {@link GeoidGrid}. The {@link GeoidGrid} contains all the necessary attributes and
|
|
10
10
|
* methods to access the GTX data in iTowns.
|
|
11
11
|
*
|
|
12
12
|
* @module GTXParser
|
|
13
13
|
*/
|
|
14
14
|
export default {
|
|
15
15
|
/**
|
|
16
|
-
* Parses a GTX file content and returns a corresponding
|
|
16
|
+
* Parses a GTX file content and returns a corresponding {@link GeoidGrid}.
|
|
17
17
|
*
|
|
18
18
|
* @param {ArrayBuffer} gtx The content of the GTX file to parse.
|
|
19
19
|
* @param {Object} options An object gathering the optional parameters to pass to
|
|
@@ -25,7 +25,7 @@ export default {
|
|
|
25
25
|
* @param {string} [options.in.dataType='float'] The encoding of geoid height data within the GTX file.
|
|
26
26
|
* Must be `'float'` or `'double'`.
|
|
27
27
|
*
|
|
28
|
-
* @returns {Promise<GeoidGrid>} A promise resolving with a
|
|
28
|
+
* @returns {Promise<GeoidGrid>} A promise resolving with a {@link GeoidGrid}, which contains all the necessary
|
|
29
29
|
* attributes and methods to access GTX file data.
|
|
30
30
|
*/
|
|
31
31
|
parse(gtx) {
|
|
@@ -177,11 +177,11 @@ function jsonFeaturesToFeatures(crsIn, jsonFeatures, options) {
|
|
|
177
177
|
*/
|
|
178
178
|
export default {
|
|
179
179
|
/**
|
|
180
|
-
* Parse a GeoJSON file content and return a
|
|
180
|
+
* Parse a GeoJSON file content and return a {@link FeatureCollection}.
|
|
181
181
|
*
|
|
182
182
|
* @param {string} json - The GeoJSON file content to parse.
|
|
183
183
|
* @param {ParsingOptions} options - Options controlling the parsing.
|
|
184
|
-
* @return {Promise} A promise resolving with a
|
|
184
|
+
* @return {Promise} A promise resolving with a {@link FeatureCollection}.
|
|
185
185
|
*/
|
|
186
186
|
parse(json) {
|
|
187
187
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
package/lib/Parser/GpxParser.js
CHANGED
|
@@ -11,14 +11,12 @@ import { deprecatedParsingOptionsToNewOne } from "../Core/Deprecated/Undeprecato
|
|
|
11
11
|
*/
|
|
12
12
|
export default {
|
|
13
13
|
/**
|
|
14
|
-
* Parse a GPX file content and return a
|
|
15
|
-
* module:GeoJsonParser~FeatureCollection}.
|
|
14
|
+
* Parse a GPX file content and return a {@link FeatureCollection}.
|
|
16
15
|
*
|
|
17
16
|
* @param {XMLDocument} gpxFile - The GPX file content to parse.
|
|
18
17
|
* @param {ParsingOptions} options - Options controlling the parsing.
|
|
19
18
|
*
|
|
20
|
-
* @return {Promise} A promise resolving with a
|
|
21
|
-
* module:GeoJsonParser~FeatureCollection}.
|
|
19
|
+
* @return {Promise} A promise resolving with a {@link FeatureCollection}.
|
|
22
20
|
*/
|
|
23
21
|
parse(gpxFile, options) {
|
|
24
22
|
options = deprecatedParsingOptionsToNewOne(options);
|
package/lib/Parser/ISGParser.js
CHANGED
|
@@ -13,7 +13,7 @@ import { BYTES_PER_DOUBLE } from "./GTXParser.js";
|
|
|
13
13
|
*/
|
|
14
14
|
export default {
|
|
15
15
|
/**
|
|
16
|
-
* Parses an ISG file content and returns a corresponding
|
|
16
|
+
* Parses an ISG file content and returns a corresponding {@link GeoidGrid}.
|
|
17
17
|
*
|
|
18
18
|
* @param {string} isg The content of the ISG file to parse.
|
|
19
19
|
* @param {Object} options An object gathering the optional parameters to pass to
|
|
@@ -23,7 +23,7 @@ export default {
|
|
|
23
23
|
* It must be a geographic CRS, and must be given as an EPSG
|
|
24
24
|
* code.
|
|
25
25
|
*
|
|
26
|
-
* @returns {Promise<GeoidGrid>} A promise resolving with a
|
|
26
|
+
* @returns {Promise<GeoidGrid>} A promise resolving with a {@link GeoidGrid}, which contains all the necessary
|
|
27
27
|
* attributes and methods to access ISG file data.
|
|
28
28
|
*/
|
|
29
29
|
parse(isg) {
|
package/lib/Parser/KMLParser.js
CHANGED
|
@@ -11,14 +11,12 @@ import { deprecatedParsingOptionsToNewOne } from "../Core/Deprecated/Undeprecato
|
|
|
11
11
|
*/
|
|
12
12
|
export default {
|
|
13
13
|
/**
|
|
14
|
-
* Parse a KML file content and return a
|
|
15
|
-
* module:GeoJsonParser~FeatureCollection}.
|
|
14
|
+
* Parse a KML file content and return a {@link FeatureCollection}.
|
|
16
15
|
*
|
|
17
16
|
* @param {XMLDocument} kmlFile - The KML file content to parse.
|
|
18
17
|
* @param {ParsingOptions} options - Options controlling the parsing.
|
|
19
18
|
*
|
|
20
|
-
* @return {Promise} A promise resolving with a
|
|
21
|
-
* module:GeoJsonParser~FeatureCollection}.
|
|
19
|
+
* @return {Promise} A promise resolving with a {@link FeatureCollection}.
|
|
22
20
|
*/
|
|
23
21
|
parse(kmlFile, options) {
|
|
24
22
|
options = deprecatedParsingOptionsToNewOne(options);
|
|
@@ -9,7 +9,7 @@ import { deprecatedParsingOptionsToNewOne } from "../Core/Deprecated/Undeprecato
|
|
|
9
9
|
* a shapefile in and gives an object formateted for iTowns, containing all
|
|
10
10
|
* necessary informations to display this shapefile.
|
|
11
11
|
*
|
|
12
|
-
* It uses the [shpjs]
|
|
12
|
+
* It uses the [shpjs](https://www.npmjs.com/package/shpjs) library to
|
|
13
13
|
* parse all the files.
|
|
14
14
|
*
|
|
15
15
|
* @example
|
|
@@ -45,8 +45,7 @@ import { deprecatedParsingOptionsToNewOne } from "../Core/Deprecated/Undeprecato
|
|
|
45
45
|
*/
|
|
46
46
|
export default {
|
|
47
47
|
/**
|
|
48
|
-
* Parse a bunch of Shapefile files and return a
|
|
49
|
-
* module:GeoJsonParser~FeatureCollection}.
|
|
48
|
+
* Parse a bunch of Shapefile files and return a {@link FeatureCollection}.
|
|
50
49
|
*
|
|
51
50
|
* @param {Object} data - All the data that can be specified in a shapefile.
|
|
52
51
|
* @param {ArrayBuffer} data.shp - Data from the shapefile itself,
|
|
@@ -54,7 +53,7 @@ export default {
|
|
|
54
53
|
* @param {ArrayBuffer} data.shx - A positional index of the feature
|
|
55
54
|
* geometry.
|
|
56
55
|
* @param {ArrayBuffer} data.dbf - Columnar attributes for each shape, in
|
|
57
|
-
* [dBase]
|
|
56
|
+
* [dBase](https://en.wikipedia.org/wiki/DBase) IV format.
|
|
58
57
|
* @param {string} [data.prj] - The coordinate system and crs projection
|
|
59
58
|
* information.
|
|
60
59
|
* @param {ParsingOptions} [options]
|
|
@@ -175,13 +175,13 @@ export default {
|
|
|
175
175
|
* Parse a vector tile file and return a [Feature]{@link module:GeoJsonParser.Feature}
|
|
176
176
|
* or an array of Features. While multiple formats of vector tile are
|
|
177
177
|
* available, the only one supported for the moment is the
|
|
178
|
-
* [Mapbox Vector Tile]
|
|
178
|
+
* [Mapbox Vector Tile](https://www.mapbox.com/vector-tiles/specification/).
|
|
179
179
|
*
|
|
180
180
|
* @param {ArrayBuffer} file - The vector tile file to parse.
|
|
181
181
|
*
|
|
182
|
-
* @param {
|
|
182
|
+
* @param {Object} options - Options controlling the parsing {@link ParsingOptions}.
|
|
183
183
|
*
|
|
184
|
-
* @param {
|
|
184
|
+
* @param {Object} options.in - Object containing all styles,
|
|
185
185
|
* layers and informations data, see {@link InformationsData}.
|
|
186
186
|
*
|
|
187
187
|
* @param {Object} options.in.styles - Object containing subobject with
|
|
@@ -12,7 +12,6 @@ class iGLTFLoader extends THREE.Loader {
|
|
|
12
12
|
* loaded model to transform from y-up to z-up. Note that you can also use Coordinates.geodesicNormal to get the normal
|
|
13
13
|
* to a position on the globe (i.e. in GlobeView) to correctly orient a model on a GlobeView.
|
|
14
14
|
*
|
|
15
|
-
* @constructor
|
|
16
15
|
* @param {THREE.LoadingManager} [manager] - The loadingManager for the loader to use. Default is THREE.DefaultLoadingManager.
|
|
17
16
|
*/
|
|
18
17
|
constructor(manager) {
|
package/lib/Provider/Fetcher.js
CHANGED
|
@@ -23,8 +23,8 @@ function getTextureFloat(buffer) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* Utilitary to fetch resources from a server using the [fetch API]
|
|
27
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch
|
|
26
|
+
* Utilitary to fetch resources from a server using the [fetch API](
|
|
27
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch).
|
|
28
28
|
*
|
|
29
29
|
* @module Fetcher
|
|
30
30
|
*/
|
|
@@ -34,8 +34,8 @@ export default {
|
|
|
34
34
|
*
|
|
35
35
|
* @param {string} url - The URL of the resources to fetch.
|
|
36
36
|
* @param {Object} options - Fetch options (passed directly to `fetch()`),
|
|
37
|
-
* see [the syntax for more information]
|
|
38
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
37
|
+
* see [the syntax for more information](
|
|
38
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
39
39
|
*
|
|
40
40
|
* @return {Promise<string>} Promise containing the text.
|
|
41
41
|
*/
|
|
@@ -51,8 +51,8 @@ export default {
|
|
|
51
51
|
*
|
|
52
52
|
* @param {string} url - The URL of the resources to fetch.
|
|
53
53
|
* @param {Object} options - Fetch options (passed directly to `fetch()`),
|
|
54
|
-
* see [the syntax for more information]
|
|
55
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
54
|
+
* see [the syntax for more information](
|
|
55
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
56
56
|
*
|
|
57
57
|
* @return {Promise<Object>} Promise containing the JSON object.
|
|
58
58
|
*/
|
|
@@ -68,8 +68,8 @@ export default {
|
|
|
68
68
|
*
|
|
69
69
|
* @param {string} url - The URL of the resources to fetch.
|
|
70
70
|
* @param {Object} options - Fetch options (passed directly to `fetch()`),
|
|
71
|
-
* see [the syntax for more information]
|
|
72
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
71
|
+
* see [the syntax for more information](
|
|
72
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
73
73
|
*
|
|
74
74
|
* @return {Promise<Document>} Promise containing the XML Document.
|
|
75
75
|
*/
|
|
@@ -81,17 +81,17 @@ export default {
|
|
|
81
81
|
}).then(text => new window.DOMParser().parseFromString(text, 'text/xml'));
|
|
82
82
|
},
|
|
83
83
|
/**
|
|
84
|
-
* Wrapper around
|
|
84
|
+
* Wrapper around [THREE.TextureLoader](https://threejs.org/docs/#api/en/loaders/TextureLoader).
|
|
85
85
|
*
|
|
86
86
|
* @param {string} url - The URL of the resources to fetch.
|
|
87
87
|
* @param {Object} options - Fetch options (passed directly to `fetch()`),
|
|
88
|
-
* see [the syntax for more information]
|
|
89
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
88
|
+
* see [the syntax for more information](
|
|
89
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
90
90
|
* Note that THREE.js docs mentions `withCredentials`, but it is not
|
|
91
|
-
* actually used in
|
|
91
|
+
* actually used in [THREE.TextureLoader](https://threejs.org/docs/#api/en/loaders/TextureLoader).
|
|
92
92
|
*
|
|
93
|
-
* @return {Promise<THREE.Texture>} Promise containing the
|
|
94
|
-
* THREE.Texture
|
|
93
|
+
* @return {Promise<THREE.Texture>} Promise containing the
|
|
94
|
+
* [THREE.Texture](https://threejs.org/docs/api/en/textures/Texture.html).
|
|
95
95
|
*/
|
|
96
96
|
texture(url) {
|
|
97
97
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -110,19 +110,20 @@ export default {
|
|
|
110
110
|
*
|
|
111
111
|
* @param {string} url - The URL of the resources to fetch.
|
|
112
112
|
* @param {Object} options - Fetch options (passed directly to `fetch()`),
|
|
113
|
-
* see [the syntax for more information]
|
|
114
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
113
|
+
* see [the syntax for more information](
|
|
114
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
115
115
|
*
|
|
116
116
|
* @return {Promise<ArrayBuffer>} Promise containing the ArrayBuffer.
|
|
117
117
|
*/
|
|
118
118
|
arrayBuffer,
|
|
119
119
|
/**
|
|
120
|
-
* Wrapper over fetch to get some
|
|
120
|
+
* Wrapper over fetch to get some
|
|
121
|
+
* [THREE.DataTexture](https://threejs.org/docs/#api/en/textures/DataTexture).
|
|
121
122
|
*
|
|
122
123
|
* @param {string} url - The URL of the resources to fetch.
|
|
123
124
|
* @param {Object} options - Fetch options (passed directly to `fetch()`),
|
|
124
|
-
* see [the syntax for more information]
|
|
125
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
125
|
+
* see [the syntax for more information](
|
|
126
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
126
127
|
*
|
|
127
128
|
* @return {Promise<THREE.DataTexture>} Promise containing the DataTexture.
|
|
128
129
|
*/
|
|
@@ -144,8 +145,8 @@ export default {
|
|
|
144
145
|
* even `arrayBuffer`. The arrays contains the extensions to append after
|
|
145
146
|
* the `baseUrl` (see example below).
|
|
146
147
|
* @param {Object} options - Fetch options (passed directly to `fetch()`),
|
|
147
|
-
* see [the syntax for more information]
|
|
148
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
148
|
+
* see [the syntax for more information](
|
|
149
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
149
150
|
*
|
|
150
151
|
* @return {Promise[]} An array of promises, containing all the files,
|
|
151
152
|
* organized by their extensions (see the example below).
|
package/lib/Renderer/OBB.js
CHANGED
|
@@ -16,11 +16,12 @@ const coord = new Coordinates('EPSG:4326', 0, 0, 0);
|
|
|
16
16
|
let obb;
|
|
17
17
|
|
|
18
18
|
// it could be considered to remove THREE.Object3D extend.
|
|
19
|
+
/**
|
|
20
|
+
* Oriented bounding box
|
|
21
|
+
* @extends THREE.Object3D
|
|
22
|
+
*/
|
|
19
23
|
class OBB extends THREE.Object3D {
|
|
20
24
|
/**
|
|
21
|
-
* Oriented bounding box
|
|
22
|
-
* @constructor
|
|
23
|
-
* @extends THREE.Object3D
|
|
24
25
|
* @param {THREE.Vector3} min representing the lower (x, y, z) boundary of the box. Default is ( + Infinity, + Infinity, + Infinity ).
|
|
25
26
|
* @param {THREE.Vector3} max representing the lower upper (x, y, z) boundary of the box. Default is ( - Infinity, - Infinity, - Infinity ).
|
|
26
27
|
*/
|
|
@@ -30,12 +30,11 @@ class Distortion {
|
|
|
30
30
|
const zoom = new THREE.Vector3();
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* OrientedImageCamera is a ThreeJs camera adapted to photogrammetric description.
|
|
34
34
|
* So we can build a ThreeJs perspective camera from size and focal information.
|
|
35
35
|
*/
|
|
36
36
|
class OrientedImageCamera extends THREE.PerspectiveCamera {
|
|
37
37
|
/**
|
|
38
|
-
* @constructor
|
|
39
38
|
* @param {number|Vector2} size - image size in pixels (default: x=1024, y=x)
|
|
40
39
|
* @param {number|Vector2} focal - focal length in pixels (default: x=1024, y=x)
|
|
41
40
|
* @param {Vector2} center - principal point in pixels (default: size/2)
|
|
@@ -11,7 +11,7 @@ noMask.needsUpdate = true;
|
|
|
11
11
|
const noTexture = new THREE.Texture();
|
|
12
12
|
const shaderMaterial = new THREE.ShaderMaterial();
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* OrientedImageMaterial is a custom shader material used to do projective texture mapping.<br/>
|
|
15
15
|
*
|
|
16
16
|
* This Material is designed to project many textures simultaneously.
|
|
17
17
|
* Each projected texture setting is stored as an {@link OrientedImageCamera}.<br/>
|
|
@@ -22,15 +22,14 @@ const shaderMaterial = new THREE.ShaderMaterial();
|
|
|
22
22
|
* <br/>
|
|
23
23
|
* The current implementation supports the following distortion models : <br/>
|
|
24
24
|
* - no distortion (polynom==vec3(0),l1l2==vec2(0))<br/>
|
|
25
|
-
* - radial distortion (polynom!=vec3(0),l1l2==vec2(0)) (see <b>15.2.2 Radial Model</b> in [MicMac doc]
|
|
26
|
-
* - equilinear fish eye distortion (polynom!=vec3(0),l1l2 != vec2(0)) (see <b>15.3.4 Fish eye models</b> in [MicMac doc]
|
|
25
|
+
* - radial distortion (polynom!=vec3(0),l1l2==vec2(0)) (see <b>15.2.2 Radial Model</b> in [MicMac doc](https://github.com/micmacIGN/Documentation/blob/master/DocMicMac.pdf)) </br>
|
|
26
|
+
* - equilinear fish eye distortion (polynom!=vec3(0),l1l2 != vec2(0)) (see <b>15.3.4 Fish eye models</b> in [MicMac doc](https://github.com/micmacIGN/Documentation/blob/master/DocMicMac.pdf)) </br>
|
|
27
27
|
* (Note: radial decentric parameters P1 are P2 not supported and assumed to be 0).<br/>
|
|
28
28
|
* <br/>
|
|
29
29
|
* To get a more comprehensive support of camera Micmac models, you can consider using [three-photogrammetric-camera]{@link https://github.com/mbredif/three-photogrammetric-camera} instead.
|
|
30
30
|
*/
|
|
31
31
|
class OrientedImageMaterial extends THREE.ShaderMaterial {
|
|
32
32
|
/**
|
|
33
|
-
* @constructor
|
|
34
33
|
* @param { OrientedImageCamera[]} cameras - Array of {@link OrientedImageCamera}. Each camera will project a texture.
|
|
35
34
|
* [CameraCalibrationParser]{@link module:CameraCalibrationParser.parse} can used to create this array of camera from a configuration file.
|
|
36
35
|
* @param {Object} [options={}] - Object with one or more properties defining the material's appearance.
|
|
@@ -117,9 +116,9 @@ class OrientedImageMaterial extends THREE.ShaderMaterial {
|
|
|
117
116
|
* Set new textures and new position/orientation of the camera set.
|
|
118
117
|
* @param {THREE.Texture} textures - Array of [THREE.Texture]{@link https://threejs.org/docs/#api/en/textures/Texture}.
|
|
119
118
|
* @param {Object} feature - New position / orientation of the set of cameras
|
|
120
|
-
* @param {Array} camerasNames - camera names of panoramic feature
|
|
121
119
|
* @param {THREE.Vector3} feature.position - New position.
|
|
122
120
|
* @param {THREE.Quaternion} feature.quaternion - New orientation.
|
|
121
|
+
* @param {Array} camerasNames - camera names of panoramic feature
|
|
123
122
|
*/
|
|
124
123
|
setTextures(textures, feature, camerasNames) {
|
|
125
124
|
if (!textures) {
|
|
@@ -34,14 +34,13 @@ const white = new THREE.Color(1.0, 1.0, 1.0);
|
|
|
34
34
|
* top of canopy, and water. The different classes are defined using numeric
|
|
35
35
|
* integer codes in the files.
|
|
36
36
|
*
|
|
37
|
-
* @
|
|
38
|
-
* @property {boolean}
|
|
39
|
-
* @property {string}
|
|
40
|
-
* @property {THREE.Color}
|
|
41
|
-
* @property {number}
|
|
37
|
+
* @typedef {Object} Classification
|
|
38
|
+
* @property {boolean} visible - category visibility,
|
|
39
|
+
* @property {string} name - category name,
|
|
40
|
+
* @property {THREE.Color} color - category color,
|
|
41
|
+
* @property {number} opacity - category opacity,
|
|
42
42
|
*/
|
|
43
|
-
|
|
44
|
-
class /* istanbul ignore next */Classification {}
|
|
43
|
+
|
|
45
44
|
export const ClassificationScheme = {
|
|
46
45
|
DEFAULT: {
|
|
47
46
|
0: {
|
|
@@ -15,7 +15,7 @@ function getIndiceWithPitch(i, pitch, w) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* A `RasterTile` is part of raster
|
|
18
|
+
* A `RasterTile` is part of raster {@link Layer} data.
|
|
19
19
|
* This part is a spatial subdivision of the extent of a layer.
|
|
20
20
|
* In the `RasterTile`, The data are converted on three.js textures.
|
|
21
21
|
* This `RasterTile` textures are assigned to a `LayeredMaterial`.
|
|
@@ -19,7 +19,6 @@ function findSessionId(tile) {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* @classdesc
|
|
23
22
|
* An object defining the source connection to a 3DTiles asset from a [Google api](https://tile.googleapis.com).
|
|
24
23
|
*
|
|
25
24
|
* @extends C3DTilesSource
|
|
@@ -33,7 +32,6 @@ class C3DTilesGoogleSource extends C3DTilesSource {
|
|
|
33
32
|
/**
|
|
34
33
|
* Create a new Source for 3D Tiles data from Google api (experimental).
|
|
35
34
|
*
|
|
36
|
-
* @constructor
|
|
37
35
|
* @extends C3DTilesSource
|
|
38
36
|
*
|
|
39
37
|
* @property {boolean} isC3DTilesGoogleSource - Used to checkout whether this source is a C3DTilesGoogleSource. Default is
|
|
@@ -2,7 +2,6 @@ import Fetcher from "../Provider/Fetcher.js";
|
|
|
2
2
|
import C3DTilesSource from "./C3DTilesSource.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* @classdesc
|
|
6
5
|
* An object defining the source connection to a 3DTiles asset of a [Cesium ion server](https://cesium.com/learn/ion/).
|
|
7
6
|
*
|
|
8
7
|
* @extends Source
|
|
@@ -18,7 +17,6 @@ class C3DTilesIonSource extends C3DTilesSource {
|
|
|
18
17
|
/**
|
|
19
18
|
* Create a new Source for 3D Tiles data from Cesium ion.
|
|
20
19
|
*
|
|
21
|
-
* @constructor
|
|
22
20
|
* @extends Source
|
|
23
21
|
*
|
|
24
22
|
* @param {Object} source An object that can contain all properties of a C3DTilesIonSource and {@link Source}.
|
|
@@ -2,7 +2,6 @@ import Source from "./Source.js";
|
|
|
2
2
|
import Fetcher from "../Provider/Fetcher.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* @classdesc
|
|
6
5
|
* An object defining the source connection to a 3DTiles dataset from a web server.
|
|
7
6
|
*
|
|
8
7
|
* @extends Source
|
|
@@ -16,7 +15,6 @@ class C3DTilesSource extends Source {
|
|
|
16
15
|
/**
|
|
17
16
|
* Create a new Source for 3D Tiles data from a web server.
|
|
18
17
|
*
|
|
19
|
-
* @constructor
|
|
20
18
|
* @extends Source
|
|
21
19
|
*
|
|
22
20
|
* @param {Object} source An object that can contain all properties of {@link Source}.
|
package/lib/Source/CopcSource.js
CHANGED
|
@@ -38,7 +38,6 @@ async function getHeaders(fetcher) {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
|
-
* @classdesc
|
|
42
41
|
* A source for [Cloud Optimised Point Cloud](https://copc.io/) (COPC) data.
|
|
43
42
|
* Such data consists of a [LAZ 1.4](https://www.ogc.org/standard/las/) file
|
|
44
43
|
* that stores compressed points data organized in a clustered octree.
|
|
@@ -82,11 +81,9 @@ class CopcSource extends Source {
|
|
|
82
81
|
* @param {string} [config.crs='EPSG:4326'] - Native CRS of the COPC
|
|
83
82
|
* ressource. Note that this is not for now inferred from the COPC header.
|
|
84
83
|
* @param {RequestInit} [config.networkOptions] - Fetch options (passed
|
|
85
|
-
* directly to `fetch()`), see [the syntax for more information]
|
|
86
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax
|
|
84
|
+
* directly to `fetch()`), see [the syntax for more information](
|
|
85
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax).
|
|
87
86
|
* @param {Object} [config.attribution] - Attribution of the data.
|
|
88
|
-
*
|
|
89
|
-
* @constructor
|
|
90
87
|
*/
|
|
91
88
|
constructor(config) {
|
|
92
89
|
super(config);
|
|
@@ -5,7 +5,6 @@ import Fetcher from "../Provider/Fetcher.js";
|
|
|
5
5
|
import Source from "./Source.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* @classdesc
|
|
9
8
|
* An object defining the source of Entwine Point Tile data. It fetches and
|
|
10
9
|
* parses the main configuration file of Entwine Point Tile format,
|
|
11
10
|
* [`ept.json`](https://entwine.io/entwine-point-tile.html#ept-json).
|
|
@@ -20,8 +19,6 @@ import Source from "./Source.js";
|
|
|
20
19
|
*/
|
|
21
20
|
class EntwinePointTileSource extends Source {
|
|
22
21
|
/**
|
|
23
|
-
* @constructor
|
|
24
|
-
*
|
|
25
22
|
* @param {Object} config - The configuration, see {@link Source} for
|
|
26
23
|
* available values.
|
|
27
24
|
* @param {number|string} [config.colorDepth='auto'] - Does the color
|
package/lib/Source/FileSource.js
CHANGED
|
@@ -3,7 +3,6 @@ import Cache from "../Core/Scheduler/Cache.js";
|
|
|
3
3
|
import CRS from "../Core/Geographic/Crs.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* @classdesc
|
|
7
6
|
* An object defining the source of a single resource to get from a direct
|
|
8
7
|
* access. It inherits from {@link Source}. There is multiple ways of adding a
|
|
9
8
|
* resource here:
|
|
@@ -103,8 +102,6 @@ class FileSource extends Source {
|
|
|
103
102
|
* @param {Object} source - An object that can contain all properties of a
|
|
104
103
|
* FileSource and {@link Source}. Only `crs` is mandatory, but if it
|
|
105
104
|
* presents in `features` under the property `crs`, it is fine.
|
|
106
|
-
*
|
|
107
|
-
* @constructor
|
|
108
105
|
*/
|
|
109
106
|
constructor(source) {
|
|
110
107
|
/* istanbul ignore next */
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import OGC3DTilesSource from "./OGC3DTilesSource.js";
|
|
2
2
|
class OGC3DTilesGoogleSource extends OGC3DTilesSource {
|
|
3
3
|
/**
|
|
4
|
-
* @classdesc
|
|
5
4
|
* An object defining the source connection to a 3D Tiles asset from [Google Tiles API](https://tile.googleapis.com).
|
|
6
5
|
*
|
|
7
6
|
* @extends OGC3DTilesSource
|
|
@@ -11,8 +10,6 @@ class OGC3DTilesGoogleSource extends OGC3DTilesSource {
|
|
|
11
10
|
* @property {string} url - The URL to the tileset json.
|
|
12
11
|
* @property {string} baseUrl - The base URL to access tiles.
|
|
13
12
|
*
|
|
14
|
-
* @constructor
|
|
15
|
-
*
|
|
16
13
|
* @property {boolean} isOGC3DTilesGoogleSource - Used to check if this source is an OGC3DTilesGoogleSource. Set to
|
|
17
14
|
* true. You should not change this, as it is used internally for optimisation.
|
|
18
15
|
* @param {Object} source An object that can contain all properties of an OGC3DTilesGoogleSource and {@link Source}.
|