61 lines
1.7 KiB
JavaScript
61 lines
1.7 KiB
JavaScript
define([
|
|
'Core/defaultValue',
|
|
'Core/defineProperties',
|
|
'Core/Ellipsoid',
|
|
'Core/Event'
|
|
], function(
|
|
defaultValue,
|
|
defineProperties,
|
|
Ellipsoid,
|
|
Event) {
|
|
'use strict';
|
|
|
|
function createGlobe(ellipsoid) {
|
|
ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
|
|
|
|
var globe = {
|
|
callback : undefined,
|
|
removedCallback : false,
|
|
ellipsoid : ellipsoid,
|
|
beginFrame: function() {},
|
|
endFrame: function() {},
|
|
update : function() {},
|
|
render : function() {},
|
|
getHeight : function() {
|
|
return 0.0;
|
|
},
|
|
_surface : {},
|
|
tileLoadedEvent : new Event(),
|
|
imageryLayersUpdatedEvent : new Event(),
|
|
_terrainProvider : undefined,
|
|
terrainProviderChanged : new Event(),
|
|
destroy : function() {}
|
|
};
|
|
|
|
globe._surface.updateHeight = function(position, callback) {
|
|
globe.callback = callback;
|
|
return function() {
|
|
globe.removedCallback = true;
|
|
globe.callback = undefined;
|
|
};
|
|
};
|
|
|
|
globe.terrainProviderChanged = new Event();
|
|
defineProperties(globe, {
|
|
terrainProvider : {
|
|
get : function() {
|
|
return this._terrainProvider;
|
|
},
|
|
set : function(value) {
|
|
this._terrainProvider = value;
|
|
this.terrainProviderChanged.raiseEvent(value);
|
|
}
|
|
}
|
|
});
|
|
|
|
return globe;
|
|
}
|
|
|
|
return createGlobe;
|
|
});
|