5#include <Cesium3DTiles/BoundingVolume.h>
6#include <Cesium3DTiles/Content.h>
7#include <Cesium3DTiles/ImplicitTiling.h>
8#include <Cesium3DTiles/Library.h>
9#include <Cesium3DTiles/MetadataEntity.h>
10#include <CesiumUtility/ExtensibleObject.h>
24 static constexpr const char*
TypeName =
"Tile";
34 inline static const std::string
ADD =
"ADD";
37 inline static const std::string
REPLACE =
"REPLACE";
82 {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1};
89 std::optional<Cesium3DTiles::Content>
content;
100 std::optional<Cesium3DTiles::MetadataEntity>
metadata;
123 accum += int64_t(
sizeof(
Tile));
128 if (this->viewerRequestVolume) {
129 accum += this->viewerRequestVolume->getSizeBytes() -
132 accum += int64_t(
sizeof(
double) * this->transform.capacity());
134 accum += this->content->getSizeBytes() -
142 if (this->metadata) {
143 accum += this->metadata->getSizeBytes() -
146 if (this->implicitTiling) {
147 accum += this->implicitTiling->getSizeBytes() -
Classes for using 3D Tiles.
A bounding volume that encloses a tile or its content. At least one bounding volume property is requi...
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
Metadata about the tile's content and a link to the content.
This object allows a tile to be implicitly subdivided. Tile and content availability and metadata is ...
Known values for Specifies if additive or replacement refinement is used when traversing the tileset ...
static const std::string REPLACE
REPLACE
static const std::string ADD
ADD
A tile in a 3D Tiles tileset.
std::optional< Cesium3DTiles::MetadataEntity > metadata
A metadata entity that is associated with this tile.
std::vector< Cesium3DTiles::Content > contents
An array of contents. When this is defined, then content shall be undefined.
std::optional< Cesium3DTiles::ImplicitTiling > implicitTiling
An object that describes the implicit subdivision of this tile.
std::optional< std::string > refine
Specifies if additive or replacement refinement is used when traversing the tileset for rendering....
std::optional< Cesium3DTiles::BoundingVolume > viewerRequestVolume
Optional bounding volume that defines the volume the viewer shall be inside of before the tile's cont...
double geometricError
The error, in meters, introduced if this tile is rendered and its children are not....
std::vector< Cesium3DTiles::Tile > children
An array of objects that define child tiles. Each child tile content is fully enclosed by its parent ...
Cesium3DTiles::BoundingVolume boundingVolume
The bounding volume that encloses the tile.
std::vector< double > transform
A floating-point 4x4 affine transformation matrix, stored in column-major order, that transforms the ...
int64_t getSizeBytes() const
Calculates the size in bytes of this object, including the contents of all collections,...
std::optional< Cesium3DTiles::Content > content
Metadata about the tile's content and a link to the content. When this is omitted the tile is just us...
static constexpr const char * TypeName
The original name of this type.
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 ...