cesium
Version:
CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.
39 lines (37 loc) • 2.1 kB
JavaScript
import Batched3DModel3DTileContent from './Batched3DModel3DTileContent.js';
import Composite3DTileContent from './Composite3DTileContent.js';
import Geometry3DTileContent from './Geometry3DTileContent.js';
import Instanced3DModel3DTileContent from './Instanced3DModel3DTileContent.js';
import PointCloud3DTileContent from './PointCloud3DTileContent.js';
import Tileset3DTileContent from './Tileset3DTileContent.js';
import Vector3DTileContent from './Vector3DTileContent.js';
/**
* Maps a tile's magic field in its header to a new content object for the tile's payload.
*
* @private
*/
var Cesium3DTileContentFactory = {
b3dm : function(tileset, tile, resource, arrayBuffer, byteOffset) {
return new Batched3DModel3DTileContent(tileset, tile, resource, arrayBuffer, byteOffset);
},
pnts : function(tileset, tile, resource, arrayBuffer, byteOffset) {
return new PointCloud3DTileContent(tileset, tile, resource, arrayBuffer, byteOffset);
},
i3dm : function(tileset, tile, resource, arrayBuffer, byteOffset) {
return new Instanced3DModel3DTileContent(tileset, tile, resource, arrayBuffer, byteOffset);
},
cmpt : function(tileset, tile, resource, arrayBuffer, byteOffset) {
// Send in the factory in order to avoid a cyclical dependency
return new Composite3DTileContent(tileset, tile, resource, arrayBuffer, byteOffset, Cesium3DTileContentFactory);
},
json : function(tileset, tile, resource, arrayBuffer, byteOffset) {
return new Tileset3DTileContent(tileset, tile, resource, arrayBuffer, byteOffset);
},
geom : function(tileset, tile, resource, arrayBuffer, byteOffset) {
return new Geometry3DTileContent(tileset, tile, resource, arrayBuffer, byteOffset);
},
vctr : function(tileset, tile, resource, arrayBuffer, byteOffset) {
return new Vector3DTileContent(tileset, tile, resource, arrayBuffer, byteOffset);
}
};
export default Cesium3DTileContentFactory;