5#include <Cesium3DTiles/Asset.h>
6#include <Cesium3DTiles/GroupMetadata.h>
7#include <Cesium3DTiles/Library.h>
8#include <Cesium3DTiles/MetadataEntity.h>
9#include <Cesium3DTiles/Properties.h>
10#include <Cesium3DTiles/Schema.h>
11#include <Cesium3DTiles/Statistics.h>
12#include <Cesium3DTiles/Tile.h>
13#include <CesiumUtility/ExtensibleObject.h>
17#include <unordered_map>
29 static constexpr const char* TypeName =
"Tileset";
39 std::unordered_map<std::string, Cesium3DTiles::Properties>
properties;
45 std::optional<Cesium3DTiles::Schema>
schema;
63 std::vector<Cesium3DTiles::GroupMetadata>
groups;
68 std::optional<Cesium3DTiles::MetadataEntity>
metadata;
75 double geometricError = double();
101 accum += int64_t(
sizeof(
Tileset));
106 this->properties.bucket_count() *
108 for (
const auto& [k, v] : this->properties) {
109 accum += int64_t(k.capacity() *
sizeof(
char) -
sizeof(std::string));
116 if (this->schemaUri) {
117 accum += int64_t(this->schemaUri->capacity() *
sizeof(
char));
119 if (this->statistics) {
120 accum += this->statistics->getSizeBytes() -
129 if (this->metadata) {
130 accum += this->metadata->getSizeBytes() -
134 accum += int64_t(
sizeof(std::string) * this->extensionsUsed.capacity());
135 accum += int64_t(
sizeof(std::string) * this->extensionsRequired.capacity());
Classes for using 3D Tiles.
Metadata about the entire tileset.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
A dictionary object of metadata about per-feature properties.
An object defining classes and enums.
Statistics about entities.
A tile in a 3D Tiles tileset.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
Cesium3DTiles::Tile root
The root tile.
std::optional< Cesium3DTiles::MetadataEntity > metadata
A metadata entity that is associated with this tileset.
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
std::vector< std::string > extensionsRequired
Names of 3D Tiles extensions required to properly load this tileset. Each element of this array shall...
std::optional< Cesium3DTiles::Statistics > statistics
An object containing statistics about metadata entities.
std::vector< std::string > extensionsUsed
Names of 3D Tiles extensions used somewhere in this tileset.
std::unordered_map< std::string, Cesium3DTiles::Properties > properties
A dictionary object of metadata about per-feature properties.
std::vector< Cesium3DTiles::GroupMetadata > groups
An array of groups that tile content may belong to. Each element of this array is a metadata entity t...
Cesium3DTiles::Asset asset
Metadata about the entire tileset.
std::optional< std::string > schemaUri
The URI (or IRI) of the external schema file. When this is defined, then schema shall be undefined.
std::optional< Cesium3DTiles::Schema > schema
An object defining the structure of metadata classes and enums. When this is defined,...
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 ...