Cesium3DTileContentFactory.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import Batched3DModel3DTileContent from "./Batched3DModel3DTileContent.js";
  2. import Composite3DTileContent from "./Composite3DTileContent.js";
  3. import Geometry3DTileContent from "./Geometry3DTileContent.js";
  4. import Instanced3DModel3DTileContent from "./Instanced3DModel3DTileContent.js";
  5. import PointCloud3DTileContent from "./PointCloud3DTileContent.js";
  6. import Tileset3DTileContent from "./Tileset3DTileContent.js";
  7. import Vector3DTileContent from "./Vector3DTileContent.js";
  8. /**
  9. * Maps a tile's magic field in its header to a new content object for the tile's payload.
  10. *
  11. * @private
  12. */
  13. var Cesium3DTileContentFactory = {
  14. b3dm: function (tileset, tile, resource, arrayBuffer, byteOffset) {
  15. return new Batched3DModel3DTileContent(
  16. tileset,
  17. tile,
  18. resource,
  19. arrayBuffer,
  20. byteOffset
  21. );
  22. },
  23. pnts: function (tileset, tile, resource, arrayBuffer, byteOffset) {
  24. return new PointCloud3DTileContent(
  25. tileset,
  26. tile,
  27. resource,
  28. arrayBuffer,
  29. byteOffset
  30. );
  31. },
  32. i3dm: function (tileset, tile, resource, arrayBuffer, byteOffset) {
  33. return new Instanced3DModel3DTileContent(
  34. tileset,
  35. tile,
  36. resource,
  37. arrayBuffer,
  38. byteOffset
  39. );
  40. },
  41. cmpt: function (tileset, tile, resource, arrayBuffer, byteOffset) {
  42. // Send in the factory in order to avoid a cyclical dependency
  43. return new Composite3DTileContent(
  44. tileset,
  45. tile,
  46. resource,
  47. arrayBuffer,
  48. byteOffset,
  49. Cesium3DTileContentFactory
  50. );
  51. },
  52. json: function (tileset, tile, resource, arrayBuffer, byteOffset) {
  53. return new Tileset3DTileContent(
  54. tileset,
  55. tile,
  56. resource,
  57. arrayBuffer,
  58. byteOffset
  59. );
  60. },
  61. geom: function (tileset, tile, resource, arrayBuffer, byteOffset) {
  62. return new Geometry3DTileContent(
  63. tileset,
  64. tile,
  65. resource,
  66. arrayBuffer,
  67. byteOffset
  68. );
  69. },
  70. vctr: function (tileset, tile, resource, arrayBuffer, byteOffset) {
  71. return new Vector3DTileContent(
  72. tileset,
  73. tile,
  74. resource,
  75. arrayBuffer,
  76. byteOffset
  77. );
  78. },
  79. };
  80. export default Cesium3DTileContentFactory;