5#include <CesiumQuantizedMeshTerrain/AvailabilityRectangle.h>
6#include <CesiumQuantizedMeshTerrain/Library.h>
7#include <CesiumUtility/ExtensibleObject.h>
23 static constexpr const char* TypeName =
"Layer";
36 std::vector<std::vector<CesiumQuantizedMeshTerrain::AvailabilityRectangle>>
43 std::vector<double> bounds = {-180, -90, 180, 90};
58 std::string format =
"quantized-mesh-1.0";
63 int64_t maxzoom = int64_t();
79 std::string name =
"Terrain";
90 std::string projection =
"EPSG:4326";
95 std::string scheme =
"tms";
105 std::string version =
"1.0.0";
118 accum += int64_t(this->attribution.capacity() *
sizeof(
char));
120 sizeof(std::vector<CesiumQuantizedMeshTerrain::AvailabilityRectangle>) *
121 this->available.capacity());
122 for (
const std::vector<CesiumQuantizedMeshTerrain::AvailabilityRectangle>&
123 valueOuter : this->available) {
126 valueOuter.capacity());
130 value.getSizeBytes() -
134 accum += int64_t(
sizeof(
double) * this->bounds.capacity());
135 accum += int64_t(this->description.capacity() *
sizeof(
char));
136 accum += int64_t(
sizeof(std::string) * this->extensionsProperty.capacity());
137 accum += int64_t(this->format.capacity() *
sizeof(
char));
138 accum += int64_t(this->name.capacity() *
sizeof(
char));
139 if (this->parentUrl) {
140 accum += int64_t(this->parentUrl->capacity() *
sizeof(
char));
142 accum += int64_t(this->projection.capacity() *
sizeof(
char));
143 accum += int64_t(this->scheme.capacity() *
sizeof(
char));
144 accum += int64_t(
sizeof(std::string) * this->tiles.capacity());
145 accum += int64_t(this->version.capacity() *
sizeof(
char));
Classes for accessing terrain based on layer.json and quantized-mesh-1.0.
A rectangle of tile availability.
A quantized-mesh terrain layer.json.
std::optional< std::string > parentUrl
The URL of the parent layer.json that this one is layered on top of.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
std::vector< std::string > extensionsProperty
The extensions available for this tileset.
std::vector< std::string > tiles
The URL templates from which to obtain tiles.
std::vector< std::vector< CesiumQuantizedMeshTerrain::AvailabilityRectangle > > available
The tile availability information. The outer array is indexed by tile level. The inner array is a lis...
LayerSpec()=default
This class is not meant to be instantiated directly. Use Layer instead.
std::string description
The description of this terrain tileset.
std::optional< int64_t > metadataAvailability
The levels at metadata is found in tiles. For example, if this value is 10, then metadata is found at...
std::string attribution
The attribution (credit) string for the terrain.
A quantized-mesh terrain layer.json.
The base class for objects that have extensions and extras.
int64_t getSizeBytes() const
Calculates the size in bytes of this ExtensibleObject, including all of its extras but NOT including ...