globe.gl 2.41.2 → 2.41.4

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/README.md CHANGED
@@ -67,7 +67,7 @@ import Globe from 'globe.gl';
67
67
  ```
68
68
  or using a *script* tag
69
69
  ```html
70
- <script src="//unpkg.com/globe.gl"></script>
70
+ <script src="//cdn.jsdelivr.net/npm/globe.gl"></script>
71
71
  ```
72
72
  then
73
73
  ```js
@@ -140,4 +140,5 @@ declare const Globe: {
140
140
  new(element: HTMLElement, configOptions?: ConfigOptions): GlobeInstance;
141
141
  }
142
142
 
143
- export { type ConfigOptions, type GlobeInstance, Globe as default };
143
+ export { Globe as default };
144
+ export type { ConfigOptions, GlobeInstance };
package/dist/globe.gl.js CHANGED
@@ -1,4 +1,4 @@
1
- // Version 2.41.2 globe.gl - https://github.com/vasturiano/globe.gl
1
+ // Version 2.41.4 globe.gl - https://github.com/vasturiano/globe.gl
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -51751,6 +51751,18 @@ void main() {
51751
51751
  return range;
51752
51752
  }
51753
51753
 
51754
+ function sum$1(values, valueof) {
51755
+ let sum = 0;
51756
+ {
51757
+ for (let value of values) {
51758
+ if (value = +value) {
51759
+ sum += value;
51760
+ }
51761
+ }
51762
+ }
51763
+ return sum;
51764
+ }
51765
+
51754
51766
  function initRange(domain, range) {
51755
51767
  switch (arguments.length) {
51756
51768
  case 0: break;
@@ -54467,7 +54479,7 @@ void main() {
54467
54479
  var coordinates = [null, null],
54468
54480
  object = {type: "LineString", coordinates: coordinates};
54469
54481
 
54470
- function geoDistance(a, b) {
54482
+ function geoDistance$1(a, b) {
54471
54483
  coordinates[0] = a;
54472
54484
  coordinates[1] = b;
54473
54485
  return length$1(object);
@@ -54526,16 +54538,16 @@ void main() {
54526
54538
  }
54527
54539
 
54528
54540
  function containsPoint(coordinates, point) {
54529
- return geoDistance(coordinates, point) === 0;
54541
+ return geoDistance$1(coordinates, point) === 0;
54530
54542
  }
54531
54543
 
54532
54544
  function containsLine(coordinates, point) {
54533
54545
  var ao, bo, ab;
54534
54546
  for (var i = 0, n = coordinates.length; i < n; i++) {
54535
- bo = geoDistance(coordinates[i], point);
54547
+ bo = geoDistance$1(coordinates[i], point);
54536
54548
  if (bo === 0) return true;
54537
54549
  if (i > 0) {
54538
- ab = geoDistance(coordinates[i], coordinates[i - 1]);
54550
+ ab = geoDistance$1(coordinates[i], coordinates[i - 1]);
54539
54551
  if (
54540
54552
  ab > 0 &&
54541
54553
  ao <= ab &&
@@ -56526,7 +56538,7 @@ void main() {
56526
56538
  var prevPnt = null;
56527
56539
  lineCoords.forEach(function (pnt) {
56528
56540
  if (prevPnt) {
56529
- var dist = geoDistance(pnt, prevPnt) * 180 / Math.PI;
56541
+ var dist = geoDistance$1(pnt, prevPnt) * 180 / Math.PI;
56530
56542
  if (dist > maxDegDistance) {
56531
56543
  var geoInterpol = geoInterpolate(prevPnt, pnt);
56532
56544
  var altInterpol = prevPnt.length > 2 || pnt.length > 2 ? interpolateNumber(prevPnt[2] || 0, pnt[2] || 0) : null;
@@ -61562,7 +61574,7 @@ void main() {
61562
61574
  }
61563
61575
  if (!v.delaunay) return false;
61564
61576
  const _distances = v.delaunay.edges.map((e) =>
61565
- geoDistance(v.points[e[0]], v.points[e[1]])
61577
+ geoDistance$1(v.points[e[0]], v.points[e[1]])
61566
61578
  ),
61567
61579
  _urquart = v.delaunay.urquhart(_distances);
61568
61580
  return {
@@ -61625,7 +61637,7 @@ void main() {
61625
61637
  v._found = undefined;
61626
61638
  v.find = function (x, y, radius) {
61627
61639
  v._found = v.delaunay.find(x, y, v._found);
61628
- if (!radius || geoDistance([x, y], v.points[v._found]) < radius)
61640
+ if (!radius || geoDistance$1([x, y], v.points[v._found]) < radius)
61629
61641
  return v._found;
61630
61642
  };
61631
61643
 
@@ -61878,7 +61890,7 @@ void main() {
61878
61890
  var prevPnt;
61879
61891
  coords.forEach(function (pnt) {
61880
61892
  if (prevPnt) {
61881
- var dist = geoDistance(pnt, prevPnt) * 180 / Math.PI;
61893
+ var dist = geoDistance$1(pnt, prevPnt) * 180 / Math.PI;
61882
61894
  if (dist > maxDistance) {
61883
61895
  var interpol = geoInterpolate(prevPnt, pnt);
61884
61896
  var tStep = 1 / Math.ceil(dist / maxDistance);
@@ -147683,7 +147695,7 @@ var<${access}> ${ name } : ${ structName };`;
147683
147695
  throw new TypeError("Private element is not present on this object");
147684
147696
  }
147685
147697
  function _assertThisInitialized$1(e) {
147686
- if (undefined === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
147698
+ if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
147687
147699
  return e;
147688
147700
  }
147689
147701
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
@@ -147707,7 +147719,7 @@ var<${access}> ${ name } : ${ structName };`;
147707
147719
  function _throw(n) {
147708
147720
  asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
147709
147721
  }
147710
- _next(undefined);
147722
+ _next(void 0);
147711
147723
  });
147712
147724
  };
147713
147725
  }
@@ -147868,7 +147880,7 @@ var<${access}> ${ name } : ${ structName };`;
147868
147880
  }
147869
147881
  function _possibleConstructorReturn(t, e) {
147870
147882
  if (e && ("object" == typeof e || "function" == typeof e)) return e;
147871
- if (undefined !== e) throw new TypeError("Derived constructors may only return object or undefined");
147883
+ if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
147872
147884
  return _assertThisInitialized$1(t);
147873
147885
  }
147874
147886
  function _regeneratorRuntime() {
@@ -148071,7 +148083,7 @@ var<${access}> ${ name } : ${ structName };`;
148071
148083
  }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
148072
148084
  return this;
148073
148085
  }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
148074
- undefined === i && (i = Promise);
148086
+ void 0 === i && (i = Promise);
148075
148087
  var a = new AsyncIterator(wrap(t, r, n, o), i);
148076
148088
  return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
148077
148089
  return t.done ? t.value : a.next();
@@ -148196,7 +148208,7 @@ var<${access}> ${ name } : ${ structName };`;
148196
148208
  function _toPrimitive$2(t, r) {
148197
148209
  if ("object" != typeof t || !t) return t;
148198
148210
  var e = t[Symbol.toPrimitive];
148199
- if (undefined !== e) {
148211
+ if (void 0 !== e) {
148200
148212
  var i = e.call(t, r);
148201
148213
  if ("object" != typeof i) return i;
148202
148214
  throw new TypeError("@@toPrimitive must return a primitive value.");
@@ -148211,7 +148223,7 @@ var<${access}> ${ name } : ${ structName };`;
148211
148223
  if (r) {
148212
148224
  if ("string" == typeof r) return _arrayLikeToArray$2(r, a);
148213
148225
  var t = {}.toString.call(r).slice(8, -1);
148214
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : undefined;
148226
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0;
148215
148227
  }
148216
148228
  }
148217
148229
 
@@ -148363,17 +148375,17 @@ var<${access}> ${ name } : ${ structName };`;
148363
148375
  var _this;
148364
148376
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
148365
148377
  _ref$color = _ref.color,
148366
- color = _ref$color === undefined ? 'gold' : _ref$color,
148378
+ color = _ref$color === void 0 ? 'gold' : _ref$color,
148367
148379
  _ref$size = _ref.size,
148368
- size = _ref$size === undefined ? 2 : _ref$size,
148380
+ size = _ref$size === void 0 ? 2 : _ref$size,
148369
148381
  _ref$coefficient = _ref.coefficient,
148370
- coefficient = _ref$coefficient === undefined ? 0.5 : _ref$coefficient,
148382
+ coefficient = _ref$coefficient === void 0 ? 0.5 : _ref$coefficient,
148371
148383
  _ref$power = _ref.power,
148372
- power = _ref$power === undefined ? 1 : _ref$power,
148384
+ power = _ref$power === void 0 ? 1 : _ref$power,
148373
148385
  _ref$hollowRadius = _ref.hollowRadius,
148374
- hollowRadius = _ref$hollowRadius === undefined ? 0 : _ref$hollowRadius,
148386
+ hollowRadius = _ref$hollowRadius === void 0 ? 0 : _ref$hollowRadius,
148375
148387
  _ref$backside = _ref.backside,
148376
- backside = _ref$backside === undefined ? true : _ref$backside;
148388
+ backside = _ref$backside === void 0 ? true : _ref$backside;
148377
148389
  _classCallCheck(this, GlowMesh);
148378
148390
  _this = _callSuper(this, GlowMesh);
148379
148391
  var glowGeometry = createGlowGeometry(geometry, size);
@@ -148643,17 +148655,17 @@ var<${access}> ${ name } : ${ structName };`;
148643
148655
  var _this;
148644
148656
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
148645
148657
  _ref$dataBindAttr = _ref.dataBindAttr,
148646
- dataBindAttr = _ref$dataBindAttr === undefined ? '__data' : _ref$dataBindAttr,
148658
+ dataBindAttr = _ref$dataBindAttr === void 0 ? '__data' : _ref$dataBindAttr,
148647
148659
  _ref$objBindAttr = _ref.objBindAttr,
148648
- objBindAttr = _ref$objBindAttr === undefined ? '__threeObj' : _ref$objBindAttr,
148660
+ objBindAttr = _ref$objBindAttr === void 0 ? '__threeObj' : _ref$objBindAttr,
148649
148661
  _ref$removeDelay = _ref.removeDelay,
148650
- removeDelay = _ref$removeDelay === undefined ? 0 : _ref$removeDelay;
148662
+ removeDelay = _ref$removeDelay === void 0 ? 0 : _ref$removeDelay;
148651
148663
  _classCallCheck(this, ThreeDigest);
148652
148664
  _this = _callSuper(this, ThreeDigest);
148653
- _defineProperty$2(_this, "scene", undefined);
148654
- _classPrivateFieldInitSpec(_this, _dataBindAttr, undefined);
148655
- _classPrivateFieldInitSpec(_this, _objBindAttr, undefined);
148656
- _classPrivateFieldInitSpec(_this, _removeDelay, undefined);
148665
+ _defineProperty$2(_this, "scene", void 0);
148666
+ _classPrivateFieldInitSpec(_this, _dataBindAttr, void 0);
148667
+ _classPrivateFieldInitSpec(_this, _objBindAttr, void 0);
148668
+ _classPrivateFieldInitSpec(_this, _removeDelay, void 0);
148657
148669
  _this.scene = scene;
148658
148670
  _classPrivateFieldSet2(_dataBindAttr, _this, dataBindAttr);
148659
148671
  _classPrivateFieldSet2(_objBindAttr, _this, objBindAttr);
@@ -149014,16 +149026,16 @@ var<${access}> ${ name } : ${ structName };`;
149014
149026
  methods: {
149015
149027
  pauseAnimation: function pauseAnimation(state) {
149016
149028
  var _state$ticker;
149017
- (_state$ticker = state.ticker) === null || _state$ticker === undefined || _state$ticker.pause();
149029
+ (_state$ticker = state.ticker) === null || _state$ticker === void 0 || _state$ticker.pause();
149018
149030
  },
149019
149031
  resumeAnimation: function resumeAnimation(state) {
149020
149032
  var _state$ticker2;
149021
- (_state$ticker2 = state.ticker) === null || _state$ticker2 === undefined || _state$ticker2.resume();
149033
+ (_state$ticker2 = state.ticker) === null || _state$ticker2 === void 0 || _state$ticker2.resume();
149022
149034
  },
149023
149035
  _destructor: function _destructor(state) {
149024
149036
  var _state$ticker3;
149025
149037
  state.sharedMaterial.dispose();
149026
- (_state$ticker3 = state.ticker) === null || _state$ticker3 === undefined || _state$ticker3.dispose();
149038
+ (_state$ticker3 = state.ticker) === null || _state$ticker3 === void 0 || _state$ticker3.dispose();
149027
149039
  }
149028
149040
  },
149029
149041
  stateInit: function stateInit(_ref) {
@@ -149195,7 +149207,7 @@ var<${access}> ${ name } : ${ structName };`;
149195
149207
  var altitude = alt;
149196
149208
  (altitude === null || altitude === undefined) && (
149197
149209
  // by default set altitude proportional to the great-arc distance
149198
- altitude = geoDistance(startPnt, endPnt) / 2 * altAutoScale);
149210
+ altitude = geoDistance$1(startPnt, endPnt) / 2 * altAutoScale);
149199
149211
  if (altitude) {
149200
149212
  var interpolate = geoInterpolate(startPnt, endPnt);
149201
149213
  var _map = [0.25, 0.75].map(function (t) {
@@ -149213,7 +149225,7 @@ var<${access}> ${ name } : ${ structName };`;
149213
149225
  } else {
149214
149226
  // ground line
149215
149227
  var _alt = 0.001; // slightly above the ground to prevent occlusion
149216
- return calcSphereArc.apply(undefined, _toConsumableArray$1([[].concat(startPnt, [_alt]), [].concat(endPnt, [_alt])].map(getVec)));
149228
+ return calcSphereArc.apply(void 0, _toConsumableArray$1([[].concat(startPnt, [_alt]), [].concat(endPnt, [_alt])].map(getVec)));
149217
149229
  }
149218
149230
 
149219
149231
  //
@@ -149524,13 +149536,64 @@ var<${access}> ${ name } : ${ structName };`;
149524
149536
  }
149525
149537
  });
149526
149538
 
149539
+ var sq = function sq(x) {
149540
+ return x * x;
149541
+ };
149527
149542
  var toRad = function toRad(x) {
149528
149543
  return x * Math.PI / 180;
149529
149544
  };
149545
+ function geoDistance(a, b) {
149546
+ // on sphere surface, in radians
149547
+ var sqrt = Math.sqrt;
149548
+ var cos = Math.cos;
149549
+ var hav = function hav(x) {
149550
+ return sq(Math.sin(x / 2));
149551
+ };
149552
+ var latA = toRad(a[1]);
149553
+ var latB = toRad(b[1]);
149554
+ var lngA = toRad(a[0]);
149555
+ var lngB = toRad(b[0]);
149556
+
149557
+ // Haversine formula
149558
+ return 2 * Math.asin(sqrt(hav(latB - latA) + cos(latA) * cos(latB) * hav(lngB - lngA)));
149559
+ }
149560
+ var sqrt2PI = Math.sqrt(2 * Math.PI);
149561
+ function gaussianKernel(x, bw) {
149562
+ return Math.exp(-sq(x / bw) / 2) / (bw * sqrt2PI);
149563
+ }
149564
+ var getGeoKDE = function getGeoKDE(_ref) {
149565
+ var _ref2 = _slicedToArray$2(_ref, 2),
149566
+ lng = _ref2[0],
149567
+ lat = _ref2[1];
149568
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
149569
+ var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
149570
+ _ref3$lngAccessor = _ref3.lngAccessor,
149571
+ lngAccessor = _ref3$lngAccessor === void 0 ? function (d) {
149572
+ return d[0];
149573
+ } : _ref3$lngAccessor,
149574
+ _ref3$latAccessor = _ref3.latAccessor,
149575
+ latAccessor = _ref3$latAccessor === void 0 ? function (d) {
149576
+ return d[1];
149577
+ } : _ref3$latAccessor,
149578
+ _ref3$weightAccessor = _ref3.weightAccessor,
149579
+ weightAccessor = _ref3$weightAccessor === void 0 ? function () {
149580
+ return 1;
149581
+ } : _ref3$weightAccessor,
149582
+ bandwidth = _ref3.bandwidth;
149583
+ var pnt = [lng, lat];
149584
+ var bwRad = bandwidth * Math.PI / 180;
149585
+ return sum$1(data.map(function (d) {
149586
+ var weight = weightAccessor(d);
149587
+ if (!weight) return 0;
149588
+ var dist = geoDistance(pnt, [lngAccessor(d), latAccessor(d)]);
149589
+ return gaussianKernel(dist, bwRad) * weight;
149590
+ }));
149591
+ };
149530
149592
 
149531
149593
  // use WebGPU to accelerate computation of kde vals per every coord pair
149532
149594
  var computeGeoKde = /*#__PURE__*/function () {
149533
149595
  var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(vertexGeoCoords) {
149596
+ var _navigator;
149534
149597
  var data,
149535
149598
  _ref5,
149536
149599
  _ref5$lngAccessor,
@@ -149575,13 +149638,27 @@ var<${access}> ${ name } : ${ structName };`;
149575
149638
  while (1) switch (_context.prev = _context.next) {
149576
149639
  case 0:
149577
149640
  data = _args.length > 1 && _args[1] !== undefined ? _args[1] : [];
149578
- _ref5 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref5$lngAccessor = _ref5.lngAccessor, lngAccessor = _ref5$lngAccessor === undefined ? function (d) {
149641
+ _ref5 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref5$lngAccessor = _ref5.lngAccessor, lngAccessor = _ref5$lngAccessor === void 0 ? function (d) {
149579
149642
  return d[0];
149580
- } : _ref5$lngAccessor, _ref5$latAccessor = _ref5.latAccessor, latAccessor = _ref5$latAccessor === undefined ? function (d) {
149643
+ } : _ref5$lngAccessor, _ref5$latAccessor = _ref5.latAccessor, latAccessor = _ref5$latAccessor === void 0 ? function (d) {
149581
149644
  return d[1];
149582
- } : _ref5$latAccessor, _ref5$weightAccessor = _ref5.weightAccessor, weightAccessor = _ref5$weightAccessor === undefined ? function () {
149645
+ } : _ref5$latAccessor, _ref5$weightAccessor = _ref5.weightAccessor, weightAccessor = _ref5$weightAccessor === void 0 ? function () {
149583
149646
  return 1;
149584
149647
  } : _ref5$weightAccessor, bandwidth = _ref5.bandwidth;
149648
+ if ((_navigator = navigator) !== null && _navigator !== void 0 && _navigator.gpu) {
149649
+ _context.next = 5;
149650
+ break;
149651
+ }
149652
+ console.warn('WebGPU not enabled in browser. Please consider enabling it to improve performance.');
149653
+ return _context.abrupt("return", vertexGeoCoords.map(function (coords) {
149654
+ return getGeoKDE(coords, data, {
149655
+ lngAccessor: lngAccessor,
149656
+ latAccessor: latAccessor,
149657
+ weightAccessor: weightAccessor,
149658
+ bandwidth: bandwidth
149659
+ });
149660
+ }));
149661
+ case 5:
149585
149662
  BW_RADIUS_INFLUENCE = 4; // multiplier of bandwidth to set max radius of point influence (exclude points to improve performance)
149586
149663
  Fn$1 = Fn, If$1 = If, uniform$1 = uniform, storage$1 = storage, _float = float, instanceIndex$1 = instanceIndex, Loop$1 = Loop, sqrt$1 = sqrt, sin$1 = sin, cos$1 = cos, asin$1 = asin, exp$1 = exp, negate$1 = negate;
149587
149664
  sCoords = storage$1(new StorageInstancedBufferAttribute(new Float32Array(vertexGeoCoords.flat().map(toRad)), 2), 'vec2', vertexGeoCoords.length);
@@ -149633,18 +149710,18 @@ var<${access}> ${ name } : ${ structName };`;
149633
149710
  });
149634
149711
  computeNode = computeShaderFn().compute(vertexGeoCoords.length);
149635
149712
  renderer = new WebGPURenderer();
149636
- _context.next = 22;
149713
+ _context.next = 25;
149637
149714
  return renderer.computeAsync(computeNode);
149638
- case 22:
149715
+ case 25:
149639
149716
  _context.t0 = Array;
149640
149717
  _context.t1 = Float32Array;
149641
- _context.next = 26;
149718
+ _context.next = 29;
149642
149719
  return renderer.getArrayBufferAsync(res);
149643
- case 26:
149720
+ case 29:
149644
149721
  _context.t2 = _context.sent;
149645
149722
  _context.t3 = new _context.t1(_context.t2);
149646
149723
  return _context.abrupt("return", _context.t0.from.call(_context.t0, _context.t3));
149647
- case 29:
149724
+ case 32:
149648
149725
  case "end":
149649
149726
  return _context.stop();
149650
149727
  }
@@ -150022,14 +150099,18 @@ var<${access}> ${ name } : ${ structName };`;
150022
150099
  // hide stroke if no color set
150023
150100
  var addStroke = !!strokeColor;
150024
150101
  strokeObj.visible = addStroke;
150102
+ var hasCap = !!(capColor || capMaterial);
150103
+ var hasSide = !!(sideColor || sideMaterial);
150025
150104
 
150026
150105
  // regenerate geometries if needed
150027
150106
  if (!objMatch(conicObj.geometry.parameters || {}, {
150028
150107
  polygonGeoJson: coords,
150029
- curvatureResolution: capCurvatureResolution
150108
+ curvatureResolution: capCurvatureResolution,
150109
+ closedTop: hasCap,
150110
+ includeSides: hasSide
150030
150111
  })) {
150031
150112
  conicObj.geometry && conicObj.geometry.dispose();
150032
- conicObj.geometry = new ConicPolygonGeometry(coords, 0, GLOBE_RADIUS, false, true, true, capCurvatureResolution);
150113
+ conicObj.geometry = new ConicPolygonGeometry(coords, 0, GLOBE_RADIUS, false, hasCap, hasSide, capCurvatureResolution);
150033
150114
  }
150034
150115
  if (addStroke && (!strokeObj.geometry.parameters || strokeObj.geometry.parameters.geoJson.coordinates !== coords || strokeObj.geometry.parameters.resolution !== capCurvatureResolution)) {
150035
150116
  strokeObj.geometry && strokeObj.geometry.dispose();
@@ -150038,14 +150119,19 @@ var<${access}> ${ name } : ${ structName };`;
150038
150119
  coordinates: coords
150039
150120
  }, GLOBE_RADIUS, capCurvatureResolution);
150040
150121
  }
150122
+ var sideIdx = hasSide ? 0 : -1;
150123
+ var capIdx = !hasCap ? -1 : hasSide ? 1 : 0;
150041
150124
 
150042
150125
  // replace side/cap materials if defined
150043
- conicObj.material[0] = sideMaterial || obj.__defaultSideMaterial;
150044
- conicObj.material[1] = capMaterial || obj.__defaultCapMaterial;
150126
+ sideIdx >= 0 && (conicObj.material[sideIdx] = sideMaterial || obj.__defaultSideMaterial);
150127
+ capIdx >= 0 && (conicObj.material[capIdx] = capMaterial || obj.__defaultCapMaterial);
150045
150128
 
150046
150129
  // update default material colors
150047
- [!sideMaterial && sideColor, !capMaterial && capColor].forEach(function (color, materialIdx) {
150048
- if (!color) return; // skip custom materials
150130
+ [[!sideMaterial && sideColor, sideIdx], [!capMaterial && capColor, capIdx]].forEach(function (_ref3) {
150131
+ var _ref4 = _slicedToArray$2(_ref3, 2),
150132
+ color = _ref4[0],
150133
+ materialIdx = _ref4[1];
150134
+ if (!color || materialIdx < 0) return; // skip custom or hidden materials
150049
150135
 
150050
150136
  // conic object
150051
150137
  var material = conicObj.material[materialIdx];
@@ -150097,10 +150183,10 @@ var<${access}> ${ name } : ${ structName };`;
150097
150183
  return a === b;
150098
150184
  };
150099
150185
  };
150100
- return Object.entries(attrs).every(function (_ref3) {
150101
- var _ref4 = _slicedToArray$2(_ref3, 2),
150102
- k = _ref4[0],
150103
- v = _ref4[1];
150186
+ return Object.entries(attrs).every(function (_ref5) {
150187
+ var _ref6 = _slicedToArray$2(_ref5, 2),
150188
+ k = _ref6[0],
150189
+ v = _ref6[1];
150104
150190
  return obj.hasOwnProperty(k) && compFn(k)(obj[k], v);
150105
150191
  });
150106
150192
  }
@@ -150318,7 +150404,7 @@ var<${access}> ${ name } : ${ structName };`;
150318
150404
  return [].concat(_toConsumableArray$1(arr), _toConsumableArray$1(Array(length - arr.length).fill(repeatItem)));
150319
150405
  };
150320
150406
  var arrLength = Math.max(fromPnts.length, toPnts.length);
150321
- var interpolator = interpolateArray.apply(undefined, _toConsumableArray$1([fromPnts, toPnts].map(function (pnts) {
150407
+ var interpolator = interpolateArray.apply(void 0, _toConsumableArray$1([fromPnts, toPnts].map(function (pnts) {
150322
150408
  return pnts.map(function (_ref) {
150323
150409
  var x = _ref.x,
150324
150410
  y = _ref.y,
@@ -150412,15 +150498,15 @@ var<${access}> ${ name } : ${ structName };`;
150412
150498
  methods: {
150413
150499
  pauseAnimation: function pauseAnimation(state) {
150414
150500
  var _state$ticker;
150415
- (_state$ticker = state.ticker) === null || _state$ticker === undefined || _state$ticker.pause();
150501
+ (_state$ticker = state.ticker) === null || _state$ticker === void 0 || _state$ticker.pause();
150416
150502
  },
150417
150503
  resumeAnimation: function resumeAnimation(state) {
150418
150504
  var _state$ticker2;
150419
- (_state$ticker2 = state.ticker) === null || _state$ticker2 === undefined || _state$ticker2.resume();
150505
+ (_state$ticker2 = state.ticker) === null || _state$ticker2 === void 0 || _state$ticker2.resume();
150420
150506
  },
150421
150507
  _destructor: function _destructor(state) {
150422
150508
  var _state$ticker3;
150423
- (_state$ticker3 = state.ticker) === null || _state$ticker3 === undefined || _state$ticker3.dispose();
150509
+ (_state$ticker3 = state.ticker) === null || _state$ticker3 === void 0 || _state$ticker3.dispose();
150424
150510
  }
150425
150511
  },
150426
150512
  stateInit: function stateInit(_ref) {
@@ -151054,15 +151140,15 @@ var<${access}> ${ name } : ${ structName };`;
151054
151140
  methods: {
151055
151141
  pauseAnimation: function pauseAnimation(state) {
151056
151142
  var _state$ticker;
151057
- (_state$ticker = state.ticker) === null || _state$ticker === undefined || _state$ticker.pause();
151143
+ (_state$ticker = state.ticker) === null || _state$ticker === void 0 || _state$ticker.pause();
151058
151144
  },
151059
151145
  resumeAnimation: function resumeAnimation(state) {
151060
151146
  var _state$ticker2;
151061
- (_state$ticker2 = state.ticker) === null || _state$ticker2 === undefined || _state$ticker2.resume();
151147
+ (_state$ticker2 = state.ticker) === null || _state$ticker2 === void 0 || _state$ticker2.resume();
151062
151148
  },
151063
151149
  _destructor: function _destructor(state) {
151064
151150
  var _state$ticker3;
151065
- (_state$ticker3 = state.ticker) === null || _state$ticker3 === undefined || _state$ticker3.dispose();
151151
+ (_state$ticker3 = state.ticker) === null || _state$ticker3 === void 0 || _state$ticker3.dispose();
151066
151152
  }
151067
151153
  },
151068
151154
  init: function init(threeObj, state, _ref) {
@@ -151744,13 +151830,13 @@ var<${access}> ${ name } : ${ structName };`;
151744
151830
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
151745
151831
  args[_key - 1] = arguments[_key];
151746
151832
  }
151747
- return polar2Cartesian.apply(undefined, args);
151833
+ return polar2Cartesian.apply(void 0, args);
151748
151834
  },
151749
151835
  toGeoCoords: function toGeoCoords(state) {
151750
151836
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
151751
151837
  args[_key2 - 1] = arguments[_key2];
151752
151838
  }
151753
- return cartesian2Polar.apply(undefined, args);
151839
+ return cartesian2Polar.apply(void 0, args);
151754
151840
  },
151755
151841
  setPointOfView: function setPointOfView(state, camera) {
151756
151842
  var globalPov = camera instanceof THREE$j.Camera ? camera.position : camera; // for backwards compatibility
@@ -151793,7 +151879,7 @@ var<${access}> ${ name } : ${ structName };`;
151793
151879
  }
151794
151880
  state.pausableLayers.forEach(function (l) {
151795
151881
  var _l$pauseAnimation;
151796
- return (_l$pauseAnimation = l.pauseAnimation) === null || _l$pauseAnimation === undefined ? undefined : _l$pauseAnimation.call(l);
151882
+ return (_l$pauseAnimation = l.pauseAnimation) === null || _l$pauseAnimation === void 0 ? void 0 : _l$pauseAnimation.call(l);
151797
151883
  });
151798
151884
  return this;
151799
151885
  },
@@ -151803,7 +151889,7 @@ var<${access}> ${ name } : ${ structName };`;
151803
151889
  }
151804
151890
  state.pausableLayers.forEach(function (l) {
151805
151891
  var _l$resumeAnimation;
151806
- return (_l$resumeAnimation = l.resumeAnimation) === null || _l$resumeAnimation === undefined ? undefined : _l$resumeAnimation.call(l);
151892
+ return (_l$resumeAnimation = l.resumeAnimation) === null || _l$resumeAnimation === void 0 ? void 0 : _l$resumeAnimation.call(l);
151807
151893
  });
151808
151894
  return this;
151809
151895
  },
@@ -151859,9 +151945,9 @@ var<${access}> ${ name } : ${ structName };`;
151859
151945
  },
151860
151946
  init: function init(threeObj, state, _ref17) {
151861
151947
  var _ref17$animateIn = _ref17.animateIn,
151862
- animateIn = _ref17$animateIn === undefined ? true : _ref17$animateIn,
151948
+ animateIn = _ref17$animateIn === void 0 ? true : _ref17$animateIn,
151863
151949
  _ref17$waitForGlobeRe = _ref17.waitForGlobeReady,
151864
- waitForGlobeReady = _ref17$waitForGlobeRe === undefined ? true : _ref17$waitForGlobeRe;
151950
+ waitForGlobeReady = _ref17$waitForGlobeRe === void 0 ? true : _ref17$waitForGlobeRe;
151865
151951
  // Clear the scene
151866
151952
  emptyObject(threeObj);
151867
151953
 
@@ -158716,7 +158802,7 @@ var<${access}> ${ name } : ${ structName };`;
158716
158802
  },
158717
158803
  toGlobeCoords: function toGlobeCoords(state, x, y) {
158718
158804
  var globeIntersects = state.renderObjs.intersectingObjects(x, y).find(function (d) {
158719
- return d.object.__globeObjType === 'globe';
158805
+ return (d.object.__globeObjType || d.object.parent.__globeObjType) === 'globe';
158720
158806
  });
158721
158807
  if (!globeIntersects) return null; // coords outside globe
158722
158808