@loaders.gl/i3s 3.1.1 → 3.1.5

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.
@@ -24,7 +24,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
24
24
 
25
25
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
26
 
27
- var VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
27
+ var VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
28
28
  var EMPTY_VALUE = '';
29
29
  var REJECTED_STATUS = 'rejected';
30
30
  var I3SAttributeLoader = {
@@ -13,7 +13,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
13
13
 
14
14
  var _parseI3sBuildingSceneLayer = require("./lib/parsers/parse-i3s-building-scene-layer");
15
15
 
16
- var VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
16
+ var VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
17
17
  var I3SBuildingSceneLayerLoader = {
18
18
  name: 'I3S Building Scene Layer',
19
19
  id: 'i3s-building-scene-layer',
@@ -13,7 +13,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
13
13
 
14
14
  var _parseI3sTileContent = require("./lib/parsers/parse-i3s-tile-content");
15
15
 
16
- var VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
16
+ var VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
17
17
  var I3SContentLoader = {
18
18
  name: 'I3S Content (Indexed Scene Layers)',
19
19
  id: 'i3s-content',
@@ -21,7 +21,7 @@ var _parseI3s = require("./lib/parsers/parse-i3s");
21
21
 
22
22
  var _constants = require("./lib/parsers/constants");
23
23
 
24
- var VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
24
+ var VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
25
25
  var TILESET_REGEX = /layers\/[0-9]+$/;
26
26
  var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
27
27
  var SLPK_HEX = '504b0304';
@@ -11,7 +11,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
11
11
 
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
 
14
- var VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
14
+ var VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
15
15
 
16
16
  function parseNodePage(_x) {
17
17
  return _parseNodePage.apply(this, arguments);
@@ -126,13 +126,13 @@ function _normalizeTilesetData() {
126
126
  case 8:
127
127
  rootNodeUrl = (0, _urlUtils.getUrlWithToken)("".concat(tileset.url, "/nodes/root"), (_options$i3s = options.i3s) === null || _options$i3s === void 0 ? void 0 : _options$i3s.token);
128
128
  _context.next = 11;
129
- return (0, _core.load)(rootNodeUrl, tileset.loader, {
130
- i3s: {
129
+ return (0, _core.load)(rootNodeUrl, tileset.loader, _objectSpread(_objectSpread({}, options), {}, {
130
+ i3s: _objectSpread(_objectSpread({}, options.i3s), {}, {
131
131
  loadContent: false,
132
132
  isTileHeader: true,
133
133
  isTileset: false
134
- }
135
- });
134
+ })
135
+ }));
136
136
 
137
137
  case 11:
138
138
  tileset.root = _context.sent;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"names":["normalizeTileData","tile","options","context","url","contentUrl","geometryData","href","textureUrl","textureData","attributeUrls","attributeData","normalizeTileNonUrlData","isDracoGeometry","boundingVolume","mbs","sphere","Ellipsoid","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","OrientedBoundingBox","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","transformMatrix","transform","type","TILE_TYPE","MESH","refine","TILE_REFINEMENT","REPLACE","normalizeTilesetData","tileset","nodePages","nodePagesTile","I3SNodePagesTiles","formTileFromNodePages","root","rootNodeUrl","i3s","token","loader","loadContent","isTileHeader","isTileset","basePath","TILESET_TYPE","I3S"],"mappings":"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","sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, options : LoaderOptions, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n return normalizeTileNonUrlData({\n ...tile,\n url,\n contentUrl,\n textureUrl,\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const transformMatrix = tile.transform;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, transformMatrix, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : I3STilesetHeader, options : LoaderOptions, context: LoaderContext) {\n tileset.url = context.url;\n\n if (tileset.nodePages) {\n tileset.nodePagesTile = new I3SNodePagesTiles(tileset, options);\n tileset.root = await tileset.nodePagesTile.formTileFromNodePages(0);\n } else {\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n tileset.root = await load(rootNodeUrl, tileset.loader, {\n i3s: {loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n // base path that non-absolute paths in tileset are relative to.\n tileset.basePath = tileset.url;\n tileset.type = TILESET_TYPE.I3S;\n\n // populate from root node\n tileset.lodMetricType = tileset.root.lodMetricType;\n tileset.lodMetricValue = tileset.root.lodMetricValue;\n}\n"],"file":"parse-i3s.js"}
1
+ {"version":3,"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"names":["normalizeTileData","tile","options","context","url","contentUrl","geometryData","href","textureUrl","textureData","attributeUrls","attributeData","normalizeTileNonUrlData","isDracoGeometry","boundingVolume","mbs","sphere","Ellipsoid","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","OrientedBoundingBox","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","transformMatrix","transform","type","TILE_TYPE","MESH","refine","TILE_REFINEMENT","REPLACE","normalizeTilesetData","tileset","nodePages","nodePagesTile","I3SNodePagesTiles","formTileFromNodePages","root","rootNodeUrl","i3s","token","loader","loadContent","isTileHeader","isTileset","basePath","TILESET_TYPE","I3S"],"mappings":"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","sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, options : LoaderOptions, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n return normalizeTileNonUrlData({\n ...tile,\n url,\n contentUrl,\n textureUrl,\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const transformMatrix = tile.transform;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, transformMatrix, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : I3STilesetHeader, options : LoaderOptions, context: LoaderContext) {\n tileset.url = context.url;\n\n if (tileset.nodePages) {\n tileset.nodePagesTile = new I3SNodePagesTiles(tileset, options);\n tileset.root = await tileset.nodePagesTile.formTileFromNodePages(0);\n } else {\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n tileset.root = await load(rootNodeUrl, tileset.loader, {\n ...options,\n i3s: {\n ...options.i3s,\n loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n // base path that non-absolute paths in tileset are relative to.\n tileset.basePath = tileset.url;\n tileset.type = TILESET_TYPE.I3S;\n\n // populate from root node\n tileset.lodMetricType = tileset.root.lodMetricType;\n tileset.lodMetricValue = tileset.root.lodMetricValue;\n}\n"],"file":"parse-i3s.js"}
@@ -1,7 +1,7 @@
1
1
  import { load } from '@loaders.gl/core';
2
2
  import { parseI3STileAttribute } from './lib/parsers/parse-i3s-attribute';
3
3
  import { getUrlWithToken } from './lib/utils/url-utils';
4
- const VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
4
+ const VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
5
5
  const EMPTY_VALUE = '';
6
6
  const REJECTED_STATUS = 'rejected';
7
7
  export const I3SAttributeLoader = {
@@ -1,5 +1,5 @@
1
1
  import { parseBuildingSceneLayer } from './lib/parsers/parse-i3s-building-scene-layer';
2
- const VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
2
+ const VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
3
3
  export const I3SBuildingSceneLayerLoader = {
4
4
  name: 'I3S Building Scene Layer',
5
5
  id: 'i3s-building-scene-layer',
@@ -1,5 +1,5 @@
1
1
  import { parseI3STileContent } from './lib/parsers/parse-i3s-tile-content';
2
- const VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
2
+ const VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
3
3
  export const I3SContentLoader = {
4
4
  name: 'I3S Content (Indexed Scene Layers)',
5
5
  id: 'i3s-content',
@@ -2,7 +2,7 @@ import { load, parse } from '@loaders.gl/core';
2
2
  import { I3SContentLoader } from './i3s-content-loader';
3
3
  import { normalizeTileData, normalizeTilesetData } from './lib/parsers/parse-i3s';
4
4
  import { COORDINATE_SYSTEM } from './lib/parsers/constants';
5
- const VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
5
+ const VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
6
6
  const TILESET_REGEX = /layers\/[0-9]+$/;
7
7
  const TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
8
8
  const SLPK_HEX = '504b0304';
@@ -1,4 +1,4 @@
1
- const VERSION = typeof "3.1.1" !== 'undefined' ? "3.1.1" : 'latest';
1
+ const VERSION = typeof "3.1.5" !== 'undefined' ? "3.1.5" : 'latest';
2
2
 
3
3
  async function parseNodePage(data) {
4
4
  return JSON.parse(new TextDecoder().decode(data));
@@ -74,8 +74,8 @@ export async function normalizeTilesetData(tileset, options, context) {
74
74
  var _options$i3s;
75
75
 
76
76
  const rootNodeUrl = getUrlWithToken("".concat(tileset.url, "/nodes/root"), (_options$i3s = options.i3s) === null || _options$i3s === void 0 ? void 0 : _options$i3s.token);
77
- tileset.root = await load(rootNodeUrl, tileset.loader, {
78
- i3s: {
77
+ tileset.root = await load(rootNodeUrl, tileset.loader, { ...options,
78
+ i3s: { ...options.i3s,
79
79
  loadContent: false,
80
80
  isTileHeader: true,
81
81
  isTileset: false
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"names":["OrientedBoundingBox","Ellipsoid","load","TILE_TYPE","TILE_REFINEMENT","TILESET_TYPE","I3SNodePagesTiles","generateTileAttributeUrls","getUrlWithToken","normalizeTileData","tile","options","context","url","contentUrl","geometryData","href","textureUrl","textureData","attributeUrls","attributeData","normalizeTileNonUrlData","isDracoGeometry","boundingVolume","mbs","sphere","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","transformMatrix","transform","type","MESH","refine","REPLACE","normalizeTilesetData","tileset","nodePages","nodePagesTile","root","formTileFromNodePages","rootNodeUrl","i3s","token","loader","loadContent","isTileHeader","isTileset","basePath","I3S"],"mappings":"AAAA,SAAQA,mBAAR,QAAkC,kBAAlC;AACA,SAAQC,SAAR,QAAwB,qBAAxB;AACA,SAAQC,IAAR,QAAmB,kBAAnB;AACA,SAAQC,SAAR,EAAmBC,eAAnB,EAAoCC,YAApC,QAAuD,mBAAvD;AACA,OAAOC,iBAAP,MAA8B,gCAA9B;AACA,SAAQC,yBAAR,EAAmCC,eAAnC,QAAyD,oBAAzD;AAUA,OAAO,SAASC,iBAAT,CAA2BC,IAA3B,EAAuDC,OAAvD,EAAgFC,OAAhF,EAAuH;AAC5H,QAAMC,GAAW,GAAGD,OAAO,CAACC,GAAR,IAAe,EAAnC;AACA,MAAIC,UAAJ;;AACA,MAAIJ,IAAI,CAACK,YAAT,EAAuB;AACrBD,IAAAA,UAAU,aAAMD,GAAN,cAAaH,IAAI,CAACK,YAAL,CAAkB,CAAlB,EAAqBC,IAAlC,CAAV;AACD;;AAED,MAAIC,UAAJ;;AACA,MAAIP,IAAI,CAACQ,WAAT,EAAsB;AACpBD,IAAAA,UAAU,aAAMJ,GAAN,cAAaH,IAAI,CAACQ,WAAL,CAAiB,CAAjB,EAAoBF,IAAjC,CAAV;AACD;;AAED,MAAIG,aAAJ;;AACA,MAAIT,IAAI,CAACU,aAAT,EAAwB;AACtBD,IAAAA,aAAa,GAAGZ,yBAAyB,CAACM,GAAD,EAAMH,IAAN,CAAzC;AACD;;AAED,SAAOW,uBAAuB,CAAC,EAC7B,GAAGX,IAD0B;AAE7BG,IAAAA,GAF6B;AAG7BC,IAAAA,UAH6B;AAI7BG,IAAAA,UAJ6B;AAK7BE,IAAAA,aAL6B;AAM7BG,IAAAA,eAAe,EAAE;AANY,GAAD,CAA9B;AAQD;AAED,OAAO,SAASD,uBAAT,CAAiCX,IAAjC,EAA2E;AAAA;;AAChF,QAAMa,cAAmD,GAAG,EAA5D;AACA,MAAIC,GAAQ,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAAf;;AACA,MAAId,IAAI,CAACc,GAAT,EAAc;AACZA,IAAAA,GAAG,GAAGd,IAAI,CAACc,GAAX;AACAD,IAAAA,cAAc,CAACE,MAAf,GAAwB,CACtB,GAAGxB,SAAS,CAACyB,KAAV,CAAgBC,uBAAhB,CAAwCjB,IAAI,CAACc,GAAL,CAASI,KAAT,CAAe,CAAf,EAAkB,CAAlB,CAAxC,CADmB,EAEtBlB,IAAI,CAACc,GAAL,CAAS,CAAT,CAFsB,CAAxB;AAID,GAND,MAMO,IAAId,IAAI,CAACmB,GAAT,EAAc;AACnBN,IAAAA,cAAc,CAACO,GAAf,GAAqB,CACnB,GAAG7B,SAAS,CAACyB,KAAV,CAAgBC,uBAAhB,CAAwCjB,IAAI,CAACmB,GAAL,CAASE,MAAjD,CADgB,EAEnB,GAAGrB,IAAI,CAACmB,GAAL,CAASG,QAFO,EAGnB,GAAGtB,IAAI,CAACmB,GAAL,CAASI,UAHO,CAArB;AAKA,UAAMJ,GAAG,GAAG,IAAI7B,mBAAJ,GAA0BkC,4BAA1B,CACVX,cAAc,CAACO,GAAf,CAAmBF,KAAnB,CAAyB,CAAzB,EAA4B,CAA5B,CADU,EAEVlB,IAAI,CAACmB,GAAL,CAASG,QAFC,EAGVtB,IAAI,CAACmB,GAAL,CAASI,UAHC,CAAZ;AAKA,UAAME,cAAc,GAAGN,GAAG,CAACO,iBAAJ,EAAvB;AACAb,IAAAA,cAAc,CAACE,MAAf,GAAwB,CAAC,GAAGU,cAAc,CAACJ,MAAnB,EAA4BI,cAAc,CAACE,MAA3C,CAAxB;AACAb,IAAAA,GAAG,GAAG,CAAC,GAAGd,IAAI,CAACmB,GAAL,CAASE,MAAb,EAAqBI,cAAc,CAACE,MAApC,CAAN;AACD;;AAED,QAAMC,aAAa,yBAAG5B,IAAI,CAAC6B,YAAR,uDAAG,mBAAoB,CAApB,EAAuBC,UAA7C;AACA,QAAMC,cAAc,0BAAG/B,IAAI,CAAC6B,YAAR,wDAAG,oBAAoB,CAApB,EAAuBG,QAA9C;AACA,QAAMC,eAAe,GAAGjC,IAAI,CAACkC,SAA7B;AACA,QAAMC,IAAI,GAAG1C,SAAS,CAAC2C,IAAvB;AAIA,QAAMC,MAAM,GAAG3C,eAAe,CAAC4C,OAA/B;AAEA,SAAO,EAAC,GAAGtC,IAAJ;AAAUc,IAAAA,GAAV;AAAeD,IAAAA,cAAf;AAA+Be,IAAAA,aAA/B;AAA8CG,IAAAA,cAA9C;AAA8DE,IAAAA,eAA9D;AAA+EE,IAAAA,IAA/E;AAAqFE,IAAAA;AAArF,GAAP;AACD;AAED,OAAO,eAAeE,oBAAf,CAAoCC,OAApC,EAAgEvC,OAAhE,EAAyFC,OAAzF,EAAiH;AACtHsC,EAAAA,OAAO,CAACrC,GAAR,GAAcD,OAAO,CAACC,GAAtB;;AAEA,MAAIqC,OAAO,CAACC,SAAZ,EAAuB;AACrBD,IAAAA,OAAO,CAACE,aAAR,GAAwB,IAAI9C,iBAAJ,CAAsB4C,OAAtB,EAA+BvC,OAA/B,CAAxB;AACAuC,IAAAA,OAAO,CAACG,IAAR,GAAe,MAAMH,OAAO,CAACE,aAAR,CAAsBE,qBAAtB,CAA4C,CAA5C,CAArB;AACD,GAHD,MAGO;AAAA;;AACL,UAAMC,WAAW,GAAG/C,eAAe,WAAI0C,OAAO,CAACrC,GAAZ,kCAA8BF,OAAO,CAAC6C,GAAtC,iDAA8B,aAAaC,KAA3C,CAAnC;AAEAP,IAAAA,OAAO,CAACG,IAAR,GAAe,MAAMnD,IAAI,CAACqD,WAAD,EAAcL,OAAO,CAACQ,MAAtB,EAA8B;AACrDF,MAAAA,GAAG,EAAE;AAACG,QAAAA,WAAW,EAAE,KAAd;AAAqBC,QAAAA,YAAY,EAAE,IAAnC;AAAyCC,QAAAA,SAAS,EAAE;AAApD;AADgD,KAA9B,CAAzB;AAGD;;AAGDX,EAAAA,OAAO,CAACY,QAAR,GAAmBZ,OAAO,CAACrC,GAA3B;AACAqC,EAAAA,OAAO,CAACL,IAAR,GAAexC,YAAY,CAAC0D,GAA5B;AAGAb,EAAAA,OAAO,CAACZ,aAAR,GAAwBY,OAAO,CAACG,IAAR,CAAaf,aAArC;AACAY,EAAAA,OAAO,CAACT,cAAR,GAAyBS,OAAO,CAACG,IAAR,CAAaZ,cAAtC;AACD","sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, options : LoaderOptions, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n return normalizeTileNonUrlData({\n ...tile,\n url,\n contentUrl,\n textureUrl,\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const transformMatrix = tile.transform;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, transformMatrix, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : I3STilesetHeader, options : LoaderOptions, context: LoaderContext) {\n tileset.url = context.url;\n\n if (tileset.nodePages) {\n tileset.nodePagesTile = new I3SNodePagesTiles(tileset, options);\n tileset.root = await tileset.nodePagesTile.formTileFromNodePages(0);\n } else {\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n tileset.root = await load(rootNodeUrl, tileset.loader, {\n i3s: {loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n // base path that non-absolute paths in tileset are relative to.\n tileset.basePath = tileset.url;\n tileset.type = TILESET_TYPE.I3S;\n\n // populate from root node\n tileset.lodMetricType = tileset.root.lodMetricType;\n tileset.lodMetricValue = tileset.root.lodMetricValue;\n}\n"],"file":"parse-i3s.js"}
1
+ {"version":3,"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"names":["OrientedBoundingBox","Ellipsoid","load","TILE_TYPE","TILE_REFINEMENT","TILESET_TYPE","I3SNodePagesTiles","generateTileAttributeUrls","getUrlWithToken","normalizeTileData","tile","options","context","url","contentUrl","geometryData","href","textureUrl","textureData","attributeUrls","attributeData","normalizeTileNonUrlData","isDracoGeometry","boundingVolume","mbs","sphere","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","transformMatrix","transform","type","MESH","refine","REPLACE","normalizeTilesetData","tileset","nodePages","nodePagesTile","root","formTileFromNodePages","rootNodeUrl","i3s","token","loader","loadContent","isTileHeader","isTileset","basePath","I3S"],"mappings":"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","sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, options : LoaderOptions, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n return normalizeTileNonUrlData({\n ...tile,\n url,\n contentUrl,\n textureUrl,\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const transformMatrix = tile.transform;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, transformMatrix, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : I3STilesetHeader, options : LoaderOptions, context: LoaderContext) {\n tileset.url = context.url;\n\n if (tileset.nodePages) {\n tileset.nodePagesTile = new I3SNodePagesTiles(tileset, options);\n tileset.root = await tileset.nodePagesTile.formTileFromNodePages(0);\n } else {\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n tileset.root = await load(rootNodeUrl, tileset.loader, {\n ...options,\n i3s: {\n ...options.i3s,\n loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n // base path that non-absolute paths in tileset are relative to.\n tileset.basePath = tileset.url;\n tileset.type = TILESET_TYPE.I3S;\n\n // populate from root node\n tileset.lodMetricType = tileset.root.lodMetricType;\n tileset.lodMetricValue = tileset.root.lodMetricValue;\n}\n"],"file":"parse-i3s.js"}
@@ -55,9 +55,8 @@
55
55
  var nodeVersion = matches && parseFloat(matches[1]) || 0;
56
56
 
57
57
  // ../worker-utils/src/lib/env-utils/version.ts
58
- var DEFAULT_VERSION = "latest";
59
- var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
60
- if (typeof __VERSION__ === "undefined") {
58
+ var VERSION = true ? "3.1.5" : DEFAULT_VERSION;
59
+ if (false) {
61
60
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
62
61
  }
63
62
 
@@ -1002,7 +1001,7 @@
1002
1001
  var process_ = globals3.process || {};
1003
1002
 
1004
1003
  // ../../node_modules/probe.gl/dist/esm/utils/globals.js
1005
- var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
1004
+ var VERSION3 = true ? "3.1.5" : "untranspiled source";
1006
1005
  var isBrowser4 = isBrowser3();
1007
1006
 
1008
1007
  // ../../node_modules/probe.gl/dist/esm/utils/local-storage.js
@@ -4305,7 +4304,7 @@
4305
4304
  };
4306
4305
 
4307
4306
  // ../images/src/lib/utils/version.ts
4308
- var VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
4307
+ var VERSION4 = true ? "3.1.5" : "latest";
4309
4308
 
4310
4309
  // ../images/src/lib/category-api/image-type.ts
4311
4310
  var { _parseImageNode } = globalThis;
@@ -4653,7 +4652,7 @@
4653
4652
  };
4654
4653
 
4655
4654
  // ../draco/src/lib/utils/version.ts
4656
- var VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
4655
+ var VERSION5 = true ? "3.1.5" : "latest";
4657
4656
 
4658
4657
  // ../draco/src/draco-loader.ts
4659
4658
  var DEFAULT_DRACO_OPTIONS = {
@@ -5637,10 +5636,10 @@
5637
5636
  }
5638
5637
 
5639
5638
  // ../textures/src/lib/utils/version.ts
5640
- var VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
5639
+ var VERSION6 = true ? "3.1.5" : "latest";
5641
5640
 
5642
5641
  // ../textures/src/lib/parsers/basis-module-loader.ts
5643
- var VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
5642
+ var VERSION7 = true ? "3.1.5" : "latest";
5644
5643
  var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION7}/dist/libs/basis_encoder.wasm`;
5645
5644
  var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION7}/dist/libs/basis_encoder.js`;
5646
5645
  var loadBasisTranscoderPromise;
@@ -7643,7 +7642,7 @@
7643
7642
  }
7644
7643
 
7645
7644
  // src/i3s-content-loader.ts
7646
- var VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
7645
+ var VERSION8 = true ? "3.1.5" : "latest";
7647
7646
  var I3SContentLoader = {
7648
7647
  name: "I3S Content (Indexed Scene Layers)",
7649
7648
  id: "i3s-content",
@@ -1 +1 @@
1
- {"version":3,"file":"parse-i3s.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAG,mBAAmB,EAAE,OAAO,EAAG,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,CAyB5H;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAG,kBAAkB,GAAG,aAAa,CAmChF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAG,gBAAgB,EAAE,OAAO,EAAG,aAAa,EAAE,OAAO,EAAE,aAAa,iBAqBrH"}
1
+ {"version":3,"file":"parse-i3s.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAG,mBAAmB,EAAE,OAAO,EAAG,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,CAyB5H;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAG,kBAAkB,GAAG,aAAa,CAmChF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAG,gBAAgB,EAAE,OAAO,EAAG,aAAa,EAAE,OAAO,EAAE,aAAa,iBAwBrH"}
@@ -76,7 +76,11 @@ async function normalizeTilesetData(tileset, options, context) {
76
76
  const rootNodeUrl = (0, url_utils_1.getUrlWithToken)(`${tileset.url}/nodes/root`, options.i3s?.token);
77
77
  // eslint-disable-next-line no-use-before-define
78
78
  tileset.root = await (0, core_1.load)(rootNodeUrl, tileset.loader, {
79
- i3s: { loadContent: false, isTileHeader: true, isTileset: false }
79
+ ...options,
80
+ i3s: {
81
+ ...options.i3s,
82
+ loadContent: false, isTileHeader: true, isTileset: false
83
+ }
80
84
  });
81
85
  }
82
86
  // base path that non-absolute paths in tileset are relative to.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/i3s",
3
- "version": "3.1.1",
3
+ "version": "3.1.5",
4
4
  "description": "i3s .",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -28,16 +28,16 @@
28
28
  ],
29
29
  "scripts": {
30
30
  "pre-build": "npm run build-bundle && npm run build-worker",
31
- "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/bundle.js",
32
- "build-worker": "esbuild src/workers/i3s-content-worker.ts --bundle --outfile=dist/i3s-content-worker.js"
31
+ "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js",
32
+ "build-worker": "esbuild src/workers/i3s-content-worker.ts --bundle --outfile=dist/i3s-content-worker.js --define:__VERSION__=\\\"$npm_package_version\\\""
33
33
  },
34
34
  "dependencies": {
35
- "@loaders.gl/draco": "3.1.1",
36
- "@loaders.gl/images": "3.1.1",
37
- "@loaders.gl/loader-utils": "3.1.1",
38
- "@loaders.gl/schema": "3.1.1",
39
- "@loaders.gl/textures": "3.1.1",
40
- "@loaders.gl/tiles": "3.1.1",
35
+ "@loaders.gl/draco": "3.1.5",
36
+ "@loaders.gl/images": "3.1.5",
37
+ "@loaders.gl/loader-utils": "3.1.5",
38
+ "@loaders.gl/schema": "3.1.5",
39
+ "@loaders.gl/textures": "3.1.5",
40
+ "@loaders.gl/tiles": "3.1.5",
41
41
  "@luma.gl/constants": "^8.5.4",
42
42
  "@math.gl/core": "^3.5.1",
43
43
  "@math.gl/culling": "^3.5.1",
@@ -47,5 +47,5 @@
47
47
  "peerDependencies": {
48
48
  "@loaders.gl/core": "3.1.0"
49
49
  },
50
- "gitHead": "ed3c238bcb68ab5a2d4ddc64319f6f4c02a20df7"
50
+ "gitHead": "c9ddd753c8353ac15a8ab31b29b0e5f927de43a9"
51
51
  }
@@ -87,7 +87,10 @@ export async function normalizeTilesetData(tileset : I3STilesetHeader, options :
87
87
  const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);
88
88
  // eslint-disable-next-line no-use-before-define
89
89
  tileset.root = await load(rootNodeUrl, tileset.loader, {
90
- i3s: {loadContent: false, isTileHeader: true, isTileset: false}
90
+ ...options,
91
+ i3s: {
92
+ ...options.i3s,
93
+ loadContent: false, isTileHeader: true, isTileset: false}
91
94
  });
92
95
  }
93
96