createWorldTerrain.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import CesiumTerrainProvider from "./CesiumTerrainProvider.js";
  2. import defaultValue from "./defaultValue.js";
  3. import IonResource from "./IonResource.js";
  4. /**
  5. * Creates a {@link CesiumTerrainProvider} instance for the {@link https://cesium.com/content/#cesium-world-terrain|Cesium World Terrain}.
  6. *
  7. * @function
  8. *
  9. * @param {Object} [options] Object with the following properties:
  10. * @param {Boolean} [options.requestVertexNormals=false] Flag that indicates if the client should request additional lighting information from the server if available.
  11. * @param {Boolean} [options.requestWaterMask=false] Flag that indicates if the client should request per tile water masks from the server if available.
  12. * @returns {CesiumTerrainProvider}
  13. *
  14. * @see Ion
  15. *
  16. * @example
  17. * // Create Cesium World Terrain with default settings
  18. * const viewer = new Cesium.Viewer('cesiumContainer', {
  19. * terrainProvider : Cesium.createWorldTerrain();
  20. * });
  21. *
  22. * @example
  23. * // Create Cesium World Terrain with water and normals.
  24. * const viewer1 = new Cesium.Viewer('cesiumContainer', {
  25. * terrainProvider : Cesium.createWorldTerrain({
  26. * requestWaterMask : true,
  27. * requestVertexNormals : true
  28. * });
  29. * });
  30. *
  31. */
  32. function createWorldTerrain(options) {
  33. options = defaultValue(options, defaultValue.EMPTY_OBJECT);
  34. return new CesiumTerrainProvider({
  35. url: IonResource.fromAssetId(1),
  36. requestVertexNormals: defaultValue(options.requestVertexNormals, false),
  37. requestWaterMask: defaultValue(options.requestWaterMask, false),
  38. });
  39. }
  40. export default createWorldTerrain;