Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | 1x 948x 43x 77x 15x 46x 128x 179x 5x 41x 40x 40x 40x 40x 40x 40x 7x 33x 148x 148x 16x | import Composite3DTileContent from "./Composite3DTileContent.js";
import Geometry3DTileContent from "./Geometry3DTileContent.js";
import Implicit3DTileContent from "./Implicit3DTileContent.js";
import Model3DTileContent from "./Model/Model3DTileContent.js";
import Tileset3DTileContent from "./Tileset3DTileContent.js";
import Vector3DTileContent from "./Vector3DTileContent.js";
import GaussianSplat3DTileContent from "./GaussianSplat3DTileContent.js";
import RuntimeError from "../Core/RuntimeError.js";
/**
* Maps a tile's magic field in its header to a new content object for the tile's payload.
*
* @private
*/
const Cesium3DTileContentFactory = {
b3dm: function (tileset, tile, resource, arrayBuffer, byteOffset) {
return Model3DTileContent.fromB3dm(
tileset,
tile,
resource,
arrayBuffer,
byteOffset,
);
},
pnts: function (tileset, tile, resource, arrayBuffer, byteOffset) {
return Model3DTileContent.fromPnts(
tileset,
tile,
resource,
arrayBuffer,
byteOffset,
);
},
i3dm: function (tileset, tile, resource, arrayBuffer, byteOffset) {
return Model3DTileContent.fromI3dm(
tileset,
tile,
resource,
arrayBuffer,
byteOffset,
);
},
cmpt: function (tileset, tile, resource, arrayBuffer, byteOffset) {
// Send in the factory in order to avoid a cyclical dependency
return Composite3DTileContent.fromTileType(
tileset,
tile,
resource,
arrayBuffer,
byteOffset,
Cesium3DTileContentFactory,
);
},
externalTileset: function (tileset, tile, resource, json) {
return Tileset3DTileContent.fromJson(tileset, tile, resource, json);
},
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,
);
},
subt: function (tileset, tile, resource, arrayBuffer, byteOffset) {
return Implicit3DTileContent.fromSubtreeJson(
tileset,
tile,
resource,
undefined,
arrayBuffer,
byteOffset,
);
},
subtreeJson: function (tileset, tile, resource, json) {
return Implicit3DTileContent.fromSubtreeJson(tileset, tile, resource, json);
},
glb: function (tileset, tile, resource, arrayBuffer, byteOffset) {
const arrayBufferByteLength = arrayBuffer.byteLength;
Iif (arrayBufferByteLength < 12) {
throw new RuntimeError("Invalid glb content");
}
const dataView = new DataView(arrayBuffer, byteOffset);
const byteLength = dataView.getUint32(8, true);
const glb = new Uint8Array(arrayBuffer, byteOffset, byteLength);
if (
GaussianSplat3DTileContent.tilesetRequiresGaussianSplattingExt(tileset)
) {
return GaussianSplat3DTileContent.fromGltf(tileset, tile, resource, glb);
}
return Model3DTileContent.fromGltf(tileset, tile, resource, glb);
},
gltf: function (tileset, tile, resource, json) {
Iif (
GaussianSplat3DTileContent.tilesetRequiresGaussianSplattingExt(tileset)
) {
return GaussianSplat3DTileContent.fromGltf(tileset, tile, resource, json);
}
return Model3DTileContent.fromGltf(tileset, tile, resource, json);
},
geoJson: function (tileset, tile, resource, json) {
return Model3DTileContent.fromGeoJson(tileset, tile, resource, json);
},
};
export default Cesium3DTileContentFactory;
|