globe.gl 2.30.0 → 2.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/globe.gl.d.ts +3 -1
- package/dist/globe.gl.js +89 -48
- package/dist/globe.gl.js.map +1 -1
- package/dist/globe.gl.min.js +2 -2
- package/dist/globe.gl.mjs +5 -6
- package/example/hexed-polygons/index.html +2 -1
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -247,8 +247,8 @@ Globe({ configOptions })(<domElement>)
|
|
|
247
247
|
| <b>heatmapBandwidth</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Heatmap object accessor function, attribute or a numeric constant for the heatmap bandwidth, in angular degrees. The bandwidth is an internal parameter of the [Gaussian kernel function](https://en.wikipedia.org/wiki/Gaussian_function) and defines how localized is the influence of a point on distant locations. A narrow bandwidth leads to a more spiky representation, while a broad one has smoother curves. | 4 |
|
|
248
248
|
| <b>heatmapColorFn</b>([<i>str</i> or <i>fn</i>]) | Heatmap object accessor function or attribute for the color interpolator function to represent density in the heatmap. This function should receive a number between `0` and `1` (or potentially higher if saturation > 1), and return a color string. | [Turbo colormap](https://blog.research.google/2019/08/turbo-improved-rainbow-colormap-for.html) interpolator with fading opacity |
|
|
249
249
|
| <b>heatmapColorSaturation</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Heatmap object accessor function, attribute or a numeric constant for the color scale saturation. The saturation is a multiplier of the normalized density value (`[0,1]`) before passing it to the color interpolation function. It can be used to dampen outlier peaks in density and bring the data floor into view. | 1.5 |
|
|
250
|
-
| <b>heatmapBaseAltitude</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Heatmap
|
|
251
|
-
| <b>heatmapTopAltitude</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Heatmap
|
|
250
|
+
| <b>heatmapBaseAltitude</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Heatmap object accessor function, attribute or a numeric constant for the heatmap base floor altitude in terms of globe radius units (`0` = 0 altitude, `1` = globe radius). | 0.01 |
|
|
251
|
+
| <b>heatmapTopAltitude</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Heatmap object accessor function, attribute or a numeric constant for the heatmap top peak altitude in terms of globe radius units (`0` = 0 altitude, `1` = globe radius). An equal value to the base altitude will yield a surface flat heatmap. If a top altitude is set, the variations in density will be used to define the altitude curves between base and top. | - |
|
|
252
252
|
| <b>heatmapsTransitionDuration</b>([<i>num</i>]) | Getter/setter for duration (ms) of the transition to animate heatmap changes. A value of `0` will set the heatmap colors/altitudes immediately in their final position. New heatmaps are animated by rising them from the ground up and gently fading in through the color scale. | 0 |
|
|
253
253
|
| <b>onHeatmapClick</b>(<i>fn</i>) | Callback function for heatmap (left-button) clicks. The heatmap object, the event object and the clicked coordinates are included as arguments: `onHeatmapClick(heatmap, event, { lat, lng, altitude })`. | - |
|
|
254
254
|
| <b>onHeatmapRightClick</b>(<i>fn</i>) | Callback function for heatmap right-clicks. The heatmap object, the event object and the clicked coordinates are included as arguments: `onHeatmapRightClick(heatmap, event, { lat, lng, altitude })`. | - |
|
|
@@ -294,7 +294,9 @@ Globe({ configOptions })(<domElement>)
|
|
|
294
294
|
| <b>hexPolygonAltitude</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Hexed polygon object accessor function, attribute or a numeric constant for the polygon's hexagons altitude in terms of globe radius units (`0` = 0 altitude, `1` = globe radius). | 0.001 |
|
|
295
295
|
| <b>hexPolygonResolution</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Hexed polygon object accessor function, attribute or a numeric constant for the geographic binning resolution as defined by [H3](https://uber.github.io/h3/#/documentation/core-library/resolution-table). Determines the area of the hexagons that tesselate the globe's surface. Accepts values between `0` and `15`. Level 0 partitions the earth in 122 (mostly) hexagonal cells. Each subsequent level sub-divides the previous in roughly 7 hexagons. | 3 |
|
|
296
296
|
| <b>hexPolygonMargin</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Hexed polygon object accessor function, attribute or a numeric constant for the radial margin of each hexagon. Margins above `0` will create gaps between adjacent hexagons within a polygon. The margin is specified in terms of fraction of the hexagon's surface diameter. Values below `0` or above `1` are disadvised. | 0.2 |
|
|
297
|
+
| <b>hexPolygonUseDots</b>([<i>boolean</i>, <i>str</i> or <i>fn</i>]) | Hexed polygon object accessor function, attribute or a boolean constant for whether to represent each polygon point as a circular dot instead of an hexagon. | `false` |
|
|
297
298
|
| <b>hexPolygonCurvatureResolution</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Hexed polygon object accessor function, attribute or a numeric constant for the resolution (in angular degrees) of each hexed polygon surface curvature. The finer the resolution, the more the polygon hexes are fragmented into smaller faces to approximate the spheric surface, at the cost of performance. | 5 |
|
|
299
|
+
| <b>hexPolygonDotResolution</b>([<i>num</i>, <i>str</i> or <i>fn</i>]) | Hexed polygon object accessor function, attribute or a numeric constant for the resolution of each circular dot, expressed in how many slice segments to divide the circumference. Higher values yield smoother circles, at the cost of performance. This is only applicable in dot representation mode. | 12 |
|
|
298
300
|
| <b>hexPolygonsTransitionDuration</b>([<i>num</i>]) | Getter/setter for duration (ms) of the transition to animate hexed polygons altitude and margin changes. A value of `0` will move the hexagons immediately to their final state. New hexed polygons are animated by sizing each hexagon from `0` radius. | 0 |
|
|
299
301
|
| <b>onHexPolygonClick</b>(<i>fn</i>) | Callback function for hexed polygon (left-button) clicks. The polygon object, the event object and the clicked coordinates are included as arguments: `onHexPolygonClick(polygon, event, { lat, lng, altitude })`. | - |
|
|
300
302
|
| <b>onHexPolygonRightClick</b>(<i>fn</i>) | Callback function for hexed polygon right-clicks. The polygon object, the event object and the clicked coordinates are included as arguments: `onHexPolygonRightClick(polygon, event, { lat, lng, altitude })`. | - |
|
|
@@ -430,6 +432,7 @@ Globe({ configOptions })(<domElement>)
|
|
|
430
432
|
| <b>pointerEventsFilter</b>([<i>fn</i>]) | Getter/setter for the filter function which defines whether a particular object can be the target of pointer interactions. In general, objects that are closer to the camera get precedence in capturing pointer events. This function allows having ignored object layers so that pointer events can be passed through to deeper objects in the various globe layers. The ThreeJS object and its associated data (if any) are passed as arguments: `pointerEventsFilter(obj, data)`. The function should return a boolean value. | `() => true` |
|
|
431
433
|
| <b>lineHoverPrecision</b>([<i>num</i>]) | Getter/setter for the precision to use when detecting hover events over [Line](https://threejs.org/docs/#api/objects/Line) objects, such as arcs and paths. | 0.2 |
|
|
432
434
|
| <b>onZoom</b>(<i>fn</i>) | Callback function for point-of-view changes by zooming or rotating the globe using the orbit controls. The current point of view (with the syntax `{ lat, lng, altitude }`) is included as sole argument. | |
|
|
435
|
+
| <b>lights</b>([<i>array</i>]) | Getter/setter for the list of lights to use in the scene. Each item should be an instance of [Light](https://threejs.org/docs/#api/en/lights/Light). | [AmbientLight](https://threejs.org/docs/?q=ambient#api/en/lights/AmbientLight) + [DirectionalLight](https://threejs.org/docs/#api/en/lights/DirectionalLight) (from above) |
|
|
433
436
|
| <b>scene</b>() | Access the internal ThreeJS [Scene](https://threejs.org/docs/#api/scenes/Scene). Can be used to extend the current scene with additional objects not related to globe.gl. | |
|
|
434
437
|
| <b>camera</b>() | Access the internal ThreeJS [Camera](https://threejs.org/docs/#api/cameras/PerspectiveCamera). | |
|
|
435
438
|
| <b>renderer</b>() | Access the internal ThreeJS [WebGL renderer](https://threejs.org/docs/#api/renderers/WebGLRenderer). ||
|
package/dist/globe.gl.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WebGLRendererParameters, Scene, Camera, WebGLRenderer, Object3D } from 'three';
|
|
1
|
+
import { WebGLRendererParameters, Light, Scene, Camera, WebGLRenderer, Object3D } from 'three';
|
|
2
2
|
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
|
|
3
3
|
import { EffectComposer } from 'three/examples/jsm/postprocessing/EffectComposer.js';
|
|
4
4
|
import { ConfigOptions as ConfigOptions$1, ThreeGlobeGeneric } from 'three-globe';
|
|
@@ -112,6 +112,8 @@ interface GlobeGenericInstance<ChainableInstance>
|
|
|
112
112
|
lineHoverPrecision(): number;
|
|
113
113
|
lineHoverPrecision(precision: number): ChainableInstance;
|
|
114
114
|
onZoom(callback: (pov: GeoCoords) => void): ChainableInstance;
|
|
115
|
+
lights(): Light[];
|
|
116
|
+
lights(lights: Light[]): ChainableInstance;
|
|
115
117
|
scene(): Scene;
|
|
116
118
|
camera(): Camera;
|
|
117
119
|
renderer(): WebGLRenderer;
|
package/dist/globe.gl.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Version 2.
|
|
1
|
+
// Version 2.32.0 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) :
|
|
@@ -67340,7 +67340,7 @@
|
|
|
67340
67340
|
var bwRad = bandwidth * Math.PI / 180;
|
|
67341
67341
|
return sum$1(data.map(function (d) {
|
|
67342
67342
|
var weight = weightAccessor(d);
|
|
67343
|
-
if (weight
|
|
67343
|
+
if (!weight) return 0;
|
|
67344
67344
|
var dist = geoDistance(pnt, [lngAccessor(d), latAccessor(d)]);
|
|
67345
67345
|
return gaussianKernel(dist, bwRad) * weight;
|
|
67346
67346
|
}));
|
|
@@ -67554,7 +67554,7 @@
|
|
|
67554
67554
|
kdeVals = _obj$__currentTargetD.kdeVals,
|
|
67555
67555
|
topAlt = _obj$__currentTargetD.topAlt,
|
|
67556
67556
|
saturation = _obj$__currentTargetD.saturation;
|
|
67557
|
-
var maxVal = max$1(kdeVals) || 1e-15;
|
|
67557
|
+
var maxVal = max$1(kdeVals.map(Math.abs)) || 1e-15;
|
|
67558
67558
|
|
|
67559
67559
|
// Set vertex colors
|
|
67560
67560
|
obj.geometry.setAttribute('color', array2BufferAttr(
|
|
@@ -67569,7 +67569,7 @@
|
|
|
67569
67569
|
var _vertexGeoCoords$idx = _slicedToArray$1(vertexGeoCoords[idx], 2),
|
|
67570
67570
|
lng = _vertexGeoCoords$idx[0],
|
|
67571
67571
|
lat = _vertexGeoCoords$idx[1];
|
|
67572
|
-
var alt = altScale(val);
|
|
67572
|
+
var alt = altScale(Math.abs(val));
|
|
67573
67573
|
var p = polar2Cartesian(lat, lng, alt);
|
|
67574
67574
|
return [p.x, p.y, p.z];
|
|
67575
67575
|
}), 3));
|
|
@@ -67826,9 +67826,11 @@
|
|
|
67826
67826
|
var THREE$9 = window.THREE ? window.THREE // Prefer consumption from global THREE, if exists
|
|
67827
67827
|
: {
|
|
67828
67828
|
BufferGeometry: BufferGeometry,
|
|
67829
|
+
CircleGeometry: CircleGeometry,
|
|
67829
67830
|
DoubleSide: DoubleSide,
|
|
67830
67831
|
Mesh: Mesh,
|
|
67831
|
-
MeshLambertMaterial: MeshLambertMaterial
|
|
67832
|
+
MeshLambertMaterial: MeshLambertMaterial,
|
|
67833
|
+
Vector3: Vector3
|
|
67832
67834
|
};
|
|
67833
67835
|
var bfg = Object.assign({}, _bfg);
|
|
67834
67836
|
var BufferGeometryUtils = bfg.BufferGeometryUtils || bfg;
|
|
@@ -67860,10 +67862,18 @@
|
|
|
67860
67862
|
"default": 0.2
|
|
67861
67863
|
},
|
|
67862
67864
|
// in fraction of hex diameter
|
|
67865
|
+
hexPolygonUseDots: {
|
|
67866
|
+
"default": false
|
|
67867
|
+
},
|
|
67868
|
+
// if points should be circular instead of hexagonal
|
|
67863
67869
|
hexPolygonCurvatureResolution: {
|
|
67864
67870
|
"default": 5
|
|
67865
67871
|
},
|
|
67866
|
-
// in angular degrees
|
|
67872
|
+
// in angular degrees, only relevant for hex tops
|
|
67873
|
+
hexPolygonDotResolution: {
|
|
67874
|
+
"default": 12
|
|
67875
|
+
},
|
|
67876
|
+
// how many slice segments in the dot circle's circumference
|
|
67867
67877
|
hexPolygonsTransitionDuration: {
|
|
67868
67878
|
"default": 0,
|
|
67869
67879
|
triggerUpdate: false
|
|
@@ -67883,7 +67893,9 @@
|
|
|
67883
67893
|
var altitudeAccessor = index$1(state.hexPolygonAltitude);
|
|
67884
67894
|
var resolutionAccessor = index$1(state.hexPolygonResolution);
|
|
67885
67895
|
var marginAccessor = index$1(state.hexPolygonMargin);
|
|
67896
|
+
var useDotsAccessor = index$1(state.hexPolygonUseDots);
|
|
67886
67897
|
var curvatureResolutionAccessor = index$1(state.hexPolygonCurvatureResolution);
|
|
67898
|
+
var dotResolutionAccessor = index$1(state.hexPolygonDotResolution);
|
|
67887
67899
|
threeDigest(state.hexPolygonsData, state.scene, {
|
|
67888
67900
|
createObj: function createObj(d) {
|
|
67889
67901
|
var obj = new THREE$9.Mesh(undefined, new THREE$9.MeshLambertMaterial({
|
|
@@ -67898,7 +67910,9 @@
|
|
|
67898
67910
|
var h3Res = resolutionAccessor(d);
|
|
67899
67911
|
var alt = altitudeAccessor(d);
|
|
67900
67912
|
var margin = Math.max(0, Math.min(1, +marginAccessor(d)));
|
|
67913
|
+
var useDots = useDotsAccessor(d);
|
|
67901
67914
|
var curvatureResolution = curvatureResolutionAccessor(d);
|
|
67915
|
+
var dotResolution = dotResolutionAccessor(d);
|
|
67902
67916
|
|
|
67903
67917
|
// update material
|
|
67904
67918
|
var color = colorAccessor(d);
|
|
@@ -67965,25 +67979,37 @@
|
|
|
67965
67979
|
curvatureResolution = _obj$__currentTargetD.curvatureResolution;
|
|
67966
67980
|
obj.geometry && obj.geometry.dispose();
|
|
67967
67981
|
obj.geometry = !hexBins.length ? new THREE$9.BufferGeometry() : (BufferGeometryUtils.mergeGeometries || BufferGeometryUtils.mergeBufferGeometries)(hexBins.map(function (h) {
|
|
67968
|
-
// compute new geojson with relative margin
|
|
67969
|
-
var relNum = function relNum(st, end, rat) {
|
|
67970
|
-
return st - (st - end) * rat;
|
|
67971
|
-
};
|
|
67972
67982
|
var _h$hexCenter = _slicedToArray$1(h.hexCenter, 2),
|
|
67973
67983
|
clat = _h$hexCenter[0],
|
|
67974
67984
|
clng = _h$hexCenter[1];
|
|
67975
|
-
|
|
67976
|
-
var
|
|
67977
|
-
|
|
67978
|
-
|
|
67979
|
-
|
|
67980
|
-
|
|
67981
|
-
|
|
67982
|
-
|
|
67983
|
-
|
|
67985
|
+
if (useDots) {
|
|
67986
|
+
var centerPos = polar2Cartesian(clat, clng, alt);
|
|
67987
|
+
var edgePos = polar2Cartesian(h.hexGeoJson[0][1], h.hexGeoJson[0][0], alt);
|
|
67988
|
+
var r = 0.85 * (1 - margin) * new THREE$9.Vector3(centerPos.x, centerPos.y, centerPos.z).distanceTo(new THREE$9.Vector3(edgePos.x, edgePos.y, edgePos.z));
|
|
67989
|
+
var geometry = new CircleGeometry(r, dotResolution);
|
|
67990
|
+
geometry.rotateX(deg2Rad$1(-clat));
|
|
67991
|
+
geometry.rotateY(deg2Rad$1(clng));
|
|
67992
|
+
geometry.translate(centerPos.x, centerPos.y, centerPos.z);
|
|
67993
|
+
return geometry;
|
|
67994
|
+
} else {
|
|
67995
|
+
var relNum = function relNum(st, end, rat) {
|
|
67996
|
+
return st - (st - end) * rat;
|
|
67997
|
+
};
|
|
67998
|
+
|
|
67999
|
+
// compute new geojson with relative margin
|
|
68000
|
+
var _geoJson = margin === 0 ? h.hexGeoJson : h.hexGeoJson.map(function (_ref) {
|
|
68001
|
+
var _ref2 = _slicedToArray$1(_ref, 2),
|
|
68002
|
+
elng = _ref2[0],
|
|
68003
|
+
elat = _ref2[1];
|
|
68004
|
+
return [[elng, clng], [elat, clat]].map(function (_ref3) {
|
|
68005
|
+
var _ref4 = _slicedToArray$1(_ref3, 2),
|
|
68006
|
+
st = _ref4[0],
|
|
68007
|
+
end = _ref4[1];
|
|
68008
|
+
return relNum(st, end, margin);
|
|
68009
|
+
});
|
|
67984
68010
|
});
|
|
67985
|
-
|
|
67986
|
-
|
|
68011
|
+
return new ConicPolygonBufferGeometry([_geoJson], GLOBE_RADIUS, GLOBE_RADIUS * (1 + alt), false, true, false, curvatureResolution);
|
|
68012
|
+
}
|
|
67987
68013
|
}));
|
|
67988
68014
|
};
|
|
67989
68015
|
if (!state.hexPolygonsTransitionDuration || state.hexPolygonsTransitionDuration < 0) {
|
|
@@ -69252,7 +69278,7 @@
|
|
|
69252
69278
|
return _defineProperty$1({}, p, bindHeatmapsLayer.linkProp(p));
|
|
69253
69279
|
})));
|
|
69254
69280
|
var bindHexedPolygonsLayer = linkKapsule$1('hexedPolygonsLayer', HexedPolygonsLayerKapsule);
|
|
69255
|
-
var linkedHexedPolygonsLayerProps = Object.assign.apply(Object, _toConsumableArray$1(['hexPolygonsData', 'hexPolygonGeoJsonGeometry', 'hexPolygonColor', 'hexPolygonAltitude', 'hexPolygonResolution', 'hexPolygonMargin', 'hexPolygonCurvatureResolution', 'hexPolygonsTransitionDuration'].map(function (p) {
|
|
69281
|
+
var linkedHexedPolygonsLayerProps = Object.assign.apply(Object, _toConsumableArray$1(['hexPolygonsData', 'hexPolygonGeoJsonGeometry', 'hexPolygonColor', 'hexPolygonAltitude', 'hexPolygonResolution', 'hexPolygonMargin', 'hexPolygonUseDots', 'hexPolygonCurvatureResolution', 'hexPolygonDotResolution', 'hexPolygonsTransitionDuration'].map(function (p) {
|
|
69256
69282
|
return _defineProperty$1({}, p, bindHexedPolygonsLayer.linkProp(p));
|
|
69257
69283
|
})));
|
|
69258
69284
|
var bindPolygonsLayer = linkKapsule$1('polygonsLayer', PolygonsLayerKapsule);
|
|
@@ -72634,7 +72660,11 @@
|
|
|
72634
72660
|
}
|
|
72635
72661
|
|
|
72636
72662
|
function _isNativeFunction(fn) {
|
|
72637
|
-
|
|
72663
|
+
try {
|
|
72664
|
+
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
72665
|
+
} catch (e) {
|
|
72666
|
+
return typeof fn === "function";
|
|
72667
|
+
}
|
|
72638
72668
|
}
|
|
72639
72669
|
|
|
72640
72670
|
function _isNativeReflectConstruct() {
|
|
@@ -73372,31 +73402,31 @@
|
|
|
73372
73402
|
var css_248z = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n top: 0;\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n user-select: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}";
|
|
73373
73403
|
styleInject(css_248z);
|
|
73374
73404
|
|
|
73375
|
-
function _iterableToArrayLimit(
|
|
73376
|
-
var
|
|
73377
|
-
if (null !=
|
|
73378
|
-
var
|
|
73379
|
-
|
|
73380
|
-
|
|
73381
|
-
|
|
73382
|
-
|
|
73383
|
-
|
|
73384
|
-
|
|
73405
|
+
function _iterableToArrayLimit(r, l) {
|
|
73406
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
73407
|
+
if (null != t) {
|
|
73408
|
+
var e,
|
|
73409
|
+
n,
|
|
73410
|
+
i,
|
|
73411
|
+
u,
|
|
73412
|
+
a = [],
|
|
73413
|
+
f = !0,
|
|
73414
|
+
o = !1;
|
|
73385
73415
|
try {
|
|
73386
|
-
if (
|
|
73387
|
-
if (Object(
|
|
73388
|
-
|
|
73389
|
-
} else for (; !(
|
|
73390
|
-
} catch (
|
|
73391
|
-
|
|
73416
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
73417
|
+
if (Object(t) !== t) return;
|
|
73418
|
+
f = !1;
|
|
73419
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
73420
|
+
} catch (r) {
|
|
73421
|
+
o = !0, n = r;
|
|
73392
73422
|
} finally {
|
|
73393
73423
|
try {
|
|
73394
|
-
if (!
|
|
73424
|
+
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
73395
73425
|
} finally {
|
|
73396
|
-
if (
|
|
73426
|
+
if (o) throw n;
|
|
73397
73427
|
}
|
|
73398
73428
|
}
|
|
73399
|
-
return
|
|
73429
|
+
return a;
|
|
73400
73430
|
}
|
|
73401
73431
|
}
|
|
73402
73432
|
function _defineProperty(obj, key, value) {
|
|
@@ -73512,6 +73542,9 @@
|
|
|
73512
73542
|
objects: {
|
|
73513
73543
|
"default": []
|
|
73514
73544
|
},
|
|
73545
|
+
lights: {
|
|
73546
|
+
"default": []
|
|
73547
|
+
},
|
|
73515
73548
|
enablePointerInteraction: {
|
|
73516
73549
|
"default": true,
|
|
73517
73550
|
onChange: function onChange(_, state) {
|
|
@@ -73972,6 +74005,15 @@
|
|
|
73972
74005
|
}
|
|
73973
74006
|
}
|
|
73974
74007
|
changedProps.hasOwnProperty('showNavInfo') && (state.navInfo.style.display = state.showNavInfo ? null : 'none');
|
|
74008
|
+
if (changedProps.hasOwnProperty('lights')) {
|
|
74009
|
+
(changedProps.lights || []).forEach(function (light) {
|
|
74010
|
+
return state.scene.remove(light);
|
|
74011
|
+
}); // Clear the place
|
|
74012
|
+
state.lights.forEach(function (light) {
|
|
74013
|
+
return state.scene.add(light);
|
|
74014
|
+
}); // Add to scene
|
|
74015
|
+
}
|
|
74016
|
+
|
|
73975
74017
|
if (changedProps.hasOwnProperty('objects')) {
|
|
73976
74018
|
(changedProps.objects || []).forEach(function (obj) {
|
|
73977
74019
|
return state.scene.remove(obj);
|
|
@@ -74032,7 +74074,7 @@
|
|
|
74032
74074
|
|
|
74033
74075
|
// Expose config from ThreeGlobe
|
|
74034
74076
|
var bindGlobe = linkKapsule('globe', threeGlobe);
|
|
74035
|
-
var linkedGlobeProps = Object.assign.apply(Object, _toConsumableArray$5(['globeImageUrl', 'bumpImageUrl', 'showGlobe', 'showGraticules', 'showAtmosphere', 'atmosphereColor', 'atmosphereAltitude', 'onGlobeReady', 'pointsData', 'pointLat', 'pointLng', 'pointColor', 'pointAltitude', 'pointRadius', 'pointResolution', 'pointsMerge', 'pointsTransitionDuration', 'arcsData', 'arcStartLat', 'arcStartLng', 'arcEndLat', 'arcEndLng', 'arcColor', 'arcAltitude', 'arcAltitudeAutoScale', 'arcStroke', 'arcCurveResolution', 'arcCircularResolution', 'arcDashLength', 'arcDashGap', 'arcDashInitialGap', 'arcDashAnimateTime', 'arcsTransitionDuration', 'polygonsData', 'polygonGeoJsonGeometry', 'polygonCapColor', 'polygonCapMaterial', 'polygonSideColor', 'polygonSideMaterial', 'polygonStrokeColor', 'polygonAltitude', 'polygonCapCurvatureResolution', 'polygonsTransitionDuration', 'pathsData', 'pathPoints', 'pathPointLat', 'pathPointLng', 'pathPointAlt', 'pathResolution', 'pathColor', 'pathStroke', 'pathDashLength', 'pathDashGap', 'pathDashInitialGap', 'pathDashAnimateTime', 'pathTransitionDuration', 'heatmapsData', 'heatmapPoints', 'heatmapPointLat', 'heatmapPointLng', 'heatmapPointWeight', 'heatmapBandwidth', 'heatmapColorFn', 'heatmapColorSaturation', 'heatmapBaseAltitude', 'heatmapTopAltitude', 'heatmapsTransitionDuration', 'hexBinPointsData', 'hexBinPointLat', 'hexBinPointLng', 'hexBinPointWeight', 'hexBinResolution', 'hexMargin', 'hexTopCurvatureResolution', 'hexTopColor', 'hexSideColor', 'hexAltitude', 'hexBinMerge', 'hexTransitionDuration', 'hexPolygonsData', 'hexPolygonGeoJsonGeometry', 'hexPolygonColor', 'hexPolygonAltitude', 'hexPolygonResolution', 'hexPolygonMargin', 'hexPolygonCurvatureResolution', 'hexPolygonsTransitionDuration', 'tilesData', 'tileLat', 'tileLng', 'tileAltitude', 'tileWidth', 'tileHeight', 'tileUseGlobeProjection', 'tileMaterial', 'tileCurvatureResolution', 'tilesTransitionDuration', 'ringsData', 'ringLat', 'ringLng', 'ringAltitude', 'ringColor', 'ringResolution', 'ringMaxRadius', 'ringPropagationSpeed', 'ringRepeatPeriod', 'labelsData', 'labelLat', 'labelLng', 'labelAltitude', 'labelRotation', 'labelText', 'labelSize', 'labelTypeFace', 'labelColor', 'labelResolution', 'labelIncludeDot', 'labelDotRadius', 'labelDotOrientation', 'labelsTransitionDuration', 'htmlElementsData', 'htmlLat', 'htmlLng', 'htmlAltitude', 'htmlElement', 'htmlTransitionDuration', 'objectsData', 'objectLat', 'objectLng', 'objectAltitude', 'objectRotation', 'objectFacesSurface', 'objectThreeObject', 'customLayerData', 'customThreeObject', 'customThreeObjectUpdate'].map(function (p) {
|
|
74077
|
+
var linkedGlobeProps = Object.assign.apply(Object, _toConsumableArray$5(['globeImageUrl', 'bumpImageUrl', 'showGlobe', 'showGraticules', 'showAtmosphere', 'atmosphereColor', 'atmosphereAltitude', 'onGlobeReady', 'pointsData', 'pointLat', 'pointLng', 'pointColor', 'pointAltitude', 'pointRadius', 'pointResolution', 'pointsMerge', 'pointsTransitionDuration', 'arcsData', 'arcStartLat', 'arcStartLng', 'arcEndLat', 'arcEndLng', 'arcColor', 'arcAltitude', 'arcAltitudeAutoScale', 'arcStroke', 'arcCurveResolution', 'arcCircularResolution', 'arcDashLength', 'arcDashGap', 'arcDashInitialGap', 'arcDashAnimateTime', 'arcsTransitionDuration', 'polygonsData', 'polygonGeoJsonGeometry', 'polygonCapColor', 'polygonCapMaterial', 'polygonSideColor', 'polygonSideMaterial', 'polygonStrokeColor', 'polygonAltitude', 'polygonCapCurvatureResolution', 'polygonsTransitionDuration', 'pathsData', 'pathPoints', 'pathPointLat', 'pathPointLng', 'pathPointAlt', 'pathResolution', 'pathColor', 'pathStroke', 'pathDashLength', 'pathDashGap', 'pathDashInitialGap', 'pathDashAnimateTime', 'pathTransitionDuration', 'heatmapsData', 'heatmapPoints', 'heatmapPointLat', 'heatmapPointLng', 'heatmapPointWeight', 'heatmapBandwidth', 'heatmapColorFn', 'heatmapColorSaturation', 'heatmapBaseAltitude', 'heatmapTopAltitude', 'heatmapsTransitionDuration', 'hexBinPointsData', 'hexBinPointLat', 'hexBinPointLng', 'hexBinPointWeight', 'hexBinResolution', 'hexMargin', 'hexTopCurvatureResolution', 'hexTopColor', 'hexSideColor', 'hexAltitude', 'hexBinMerge', 'hexTransitionDuration', 'hexPolygonsData', 'hexPolygonGeoJsonGeometry', 'hexPolygonColor', 'hexPolygonAltitude', 'hexPolygonResolution', 'hexPolygonMargin', 'hexPolygonUseDots', 'hexPolygonCurvatureResolution', 'hexPolygonDotResolution', 'hexPolygonsTransitionDuration', 'tilesData', 'tileLat', 'tileLng', 'tileAltitude', 'tileWidth', 'tileHeight', 'tileUseGlobeProjection', 'tileMaterial', 'tileCurvatureResolution', 'tilesTransitionDuration', 'ringsData', 'ringLat', 'ringLng', 'ringAltitude', 'ringColor', 'ringResolution', 'ringMaxRadius', 'ringPropagationSpeed', 'ringRepeatPeriod', 'labelsData', 'labelLat', 'labelLng', 'labelAltitude', 'labelRotation', 'labelText', 'labelSize', 'labelTypeFace', 'labelColor', 'labelResolution', 'labelIncludeDot', 'labelDotRadius', 'labelDotOrientation', 'labelsTransitionDuration', 'htmlElementsData', 'htmlLat', 'htmlLng', 'htmlAltitude', 'htmlElement', 'htmlTransitionDuration', 'objectsData', 'objectLat', 'objectLng', 'objectAltitude', 'objectRotation', 'objectFacesSurface', 'objectThreeObject', 'customLayerData', 'customThreeObject', 'customThreeObjectUpdate'].map(function (p) {
|
|
74036
74078
|
return _defineProperty$3({}, p, bindGlobe.linkProp(p));
|
|
74037
74079
|
})));
|
|
74038
74080
|
var linkedGlobeMethods = Object.assign.apply(Object, _toConsumableArray$5(['globeMaterial', 'getGlobeRadius', 'getCoords', 'toGeoCoords'].map(function (p) {
|
|
@@ -74044,7 +74086,7 @@
|
|
|
74044
74086
|
var linkedRenderObjsProps = Object.assign.apply(Object, _toConsumableArray$5(['width', 'height', 'backgroundColor', 'backgroundImageUrl', 'enablePointerInteraction'].map(function (p) {
|
|
74045
74087
|
return _defineProperty$3({}, p, bindRenderObjs.linkProp(p));
|
|
74046
74088
|
})));
|
|
74047
|
-
var linkedRenderObjsMethods = Object.assign.apply(Object, _toConsumableArray$5(['postProcessingComposer'].map(function (p) {
|
|
74089
|
+
var linkedRenderObjsMethods = Object.assign.apply(Object, _toConsumableArray$5(['lights', 'postProcessingComposer'].map(function (p) {
|
|
74048
74090
|
return _defineProperty$3({}, p, bindRenderObjs.linkMethod(p));
|
|
74049
74091
|
})));
|
|
74050
74092
|
|
|
@@ -74348,7 +74390,8 @@
|
|
|
74348
74390
|
rendererConfig: rendererConfig,
|
|
74349
74391
|
waitForLoadComplete: waitForGlobeReady,
|
|
74350
74392
|
extraRenderers: [new THREE.CSS2DRenderer()] // Used in HTML elements layer
|
|
74351
|
-
}).skyRadius(globe.getGlobeRadius() * 500).showNavInfo(false)
|
|
74393
|
+
}).skyRadius(globe.getGlobeRadius() * 500).showNavInfo(false).objects([globe]) // Populate scene
|
|
74394
|
+
.lights([new THREE.AmbientLight(0xcccccc, Math.PI), new THREE.DirectionalLight(0xffffff, 0.6 * Math.PI)])
|
|
74352
74395
|
};
|
|
74353
74396
|
},
|
|
74354
74397
|
init: function init(domNode, state) {
|
|
@@ -74439,9 +74482,7 @@
|
|
|
74439
74482
|
}
|
|
74440
74483
|
};
|
|
74441
74484
|
state.renderObjs.renderer().useLegacyLights = false; // force behavior of three < 155
|
|
74442
|
-
state.renderObjs.
|
|
74443
|
-
// Populate scene
|
|
74444
|
-
new THREE.AmbientLight(0xcccccc, Math.PI), new THREE.DirectionalLight(0xffffff, 0.6 * Math.PI), state.globe]).hoverOrderComparator(function (a, b) {
|
|
74485
|
+
state.renderObjs.hoverOrderComparator(function (a, b) {
|
|
74445
74486
|
var aObj = getGlobeObj(a);
|
|
74446
74487
|
var bObj = getGlobeObj(b);
|
|
74447
74488
|
|