Cesium3DTilePass.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import Cesium3DTilesetMostDetailedTraversal from "./Cesium3DTilesetMostDetailedTraversal.js";
  2. import Cesium3DTilesetTraversal from "./Cesium3DTilesetTraversal.js";
  3. /**
  4. * The pass in which a 3D Tileset is updated.
  5. *
  6. * @private
  7. */
  8. const Cesium3DTilePass = {
  9. RENDER: 0,
  10. PICK: 1,
  11. SHADOW: 2,
  12. PRELOAD: 3,
  13. PRELOAD_FLIGHT: 4,
  14. REQUEST_RENDER_MODE_DEFER_CHECK: 5,
  15. MOST_DETAILED_PRELOAD: 6,
  16. MOST_DETAILED_PICK: 7,
  17. NUMBER_OF_PASSES: 8,
  18. };
  19. const passOptions = new Array(Cesium3DTilePass.NUMBER_OF_PASSES);
  20. passOptions[Cesium3DTilePass.RENDER] = Object.freeze({
  21. traversal: Cesium3DTilesetTraversal,
  22. isRender: true,
  23. requestTiles: true,
  24. ignoreCommands: false,
  25. });
  26. passOptions[Cesium3DTilePass.PICK] = Object.freeze({
  27. traversal: Cesium3DTilesetTraversal,
  28. isRender: false,
  29. requestTiles: false,
  30. ignoreCommands: false,
  31. });
  32. passOptions[Cesium3DTilePass.SHADOW] = Object.freeze({
  33. traversal: Cesium3DTilesetTraversal,
  34. isRender: false,
  35. requestTiles: true,
  36. ignoreCommands: false,
  37. });
  38. passOptions[Cesium3DTilePass.PRELOAD] = Object.freeze({
  39. traversal: Cesium3DTilesetTraversal,
  40. isRender: false,
  41. requestTiles: true,
  42. ignoreCommands: true,
  43. });
  44. passOptions[Cesium3DTilePass.PRELOAD_FLIGHT] = Object.freeze({
  45. traversal: Cesium3DTilesetTraversal,
  46. isRender: false,
  47. requestTiles: true,
  48. ignoreCommands: true,
  49. });
  50. passOptions[Cesium3DTilePass.REQUEST_RENDER_MODE_DEFER_CHECK] = Object.freeze({
  51. traversal: Cesium3DTilesetTraversal,
  52. isRender: false,
  53. requestTiles: true,
  54. ignoreCommands: true,
  55. });
  56. passOptions[Cesium3DTilePass.MOST_DETAILED_PRELOAD] = Object.freeze({
  57. traversal: Cesium3DTilesetMostDetailedTraversal,
  58. isRender: false,
  59. requestTiles: true,
  60. ignoreCommands: true,
  61. });
  62. passOptions[Cesium3DTilePass.MOST_DETAILED_PICK] = Object.freeze({
  63. traversal: Cesium3DTilesetMostDetailedTraversal,
  64. isRender: false,
  65. requestTiles: false,
  66. ignoreCommands: false,
  67. });
  68. Cesium3DTilePass.getPassOptions = function (pass) {
  69. return passOptions[pass];
  70. };
  71. export default Object.freeze(Cesium3DTilePass);