cesium-native 0.43.0
Loading...
Searching...
No Matches
Cesium3DTiles::Tile Struct Referencefinal

A tile in a 3D Tiles tileset. More...

#include <Cesium3DTiles/Tile.h>

Inheritance diagram for Cesium3DTiles::Tile:
CesiumUtility::ExtensibleObject

Classes

struct  Refine
 Known values for Specifies if additive or replacement refinement is used when traversing the tileset for rendering. This property is required for the root tile of a tileset; it is optional for all other tiles. The default is to inherit from the parent tile. More...
 

Public Member Functions

int64_t getSizeBytes () const
 Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. This will NOT include the size of any extensions attached to the object. Calling this method may be slow as it requires traversing the object's entire structure.
 
- Public Member Functions inherited from CesiumUtility::ExtensibleObject
template<typename T >
bool hasExtension () const noexcept
 Checks if an extension exists given its static type.
 
template<typename T >
const T * getExtension () const noexcept
 Gets an extension given its static type.
 
template<typename T >
T * getExtension () noexcept
 Gets an extension given its static type.
 
const JsonValuegetGenericExtension (const std::string &extensionName) const noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue.
 
JsonValuegetGenericExtension (const std::string &extensionName) noexcept
 Gets a generic extension with the given name as a CesiumUtility::JsonValue.
 
template<typename T , typename... ConstructorArgumentTypes>
T & addExtension (ConstructorArgumentTypes &&... constructorArguments)
 Adds a statically-typed extension to this object.
 
template<typename T >
void removeExtension ()
 Removes a statically-typed extension from this object.
 
int64_t getSizeBytes () const
 Calculates the size in bytes of this ExtensibleObject, including all of its extras but NOT including its extensions. Calling this method may be slow as it requires traversing the entire object.
 

Public Attributes

Cesium3DTiles::BoundingVolume boundingVolume
 The bounding volume that encloses the tile.
 
std::optional< Cesium3DTiles::BoundingVolumeviewerRequestVolume
 Optional bounding volume that defines the volume the viewer shall be inside of before the tile's content will be requested and before the tile will be refined based on geometricError.
 
double geometricError = double()
 The error, in meters, introduced if this tile is rendered and its children are not. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.
 
std::optional< std::string > refine
 Specifies if additive or replacement refinement is used when traversing the tileset for rendering. This property is required for the root tile of a tileset; it is optional for all other tiles. The default is to inherit from the parent tile.
 
std::vector< double > transform
 A floating-point 4x4 affine transformation matrix, stored in column-major order, that transforms the tile's content–i.e., its features as well as content.boundingVolume, boundingVolume, and viewerRequestVolume–from the tile's local coordinate system to the parent tile's coordinate system, or, in the case of a root tile, from the tile's local coordinate system to the tileset's coordinate system. transform does not apply to any volume property when the volume is a region, defined in EPSG:4979 coordinates. transform scales the geometricError by the maximum scaling factor from the matrix.
 
std::optional< Cesium3DTiles::Contentcontent
 Metadata about the tile's content and a link to the content. When this is omitted the tile is just used for culling. When this is defined, then contents shall be undefined.
 
std::vector< Cesium3DTiles::Contentcontents
 An array of contents. When this is defined, then content shall be undefined.
 
std::optional< Cesium3DTiles::MetadataEntitymetadata
 A metadata entity that is associated with this tile.
 
std::optional< Cesium3DTiles::ImplicitTilingimplicitTiling
 An object that describes the implicit subdivision of this tile.
 
std::vector< Cesium3DTiles::Tilechildren
 An array of objects that define child tiles. Each child tile content is fully enclosed by its parent tile's bounding volume and, generally, has a geometricError less than its parent tile's geometricError. For leaf tiles, there are no children, and this property may not be defined.
 
- Public Attributes inherited from CesiumUtility::ExtensibleObject
std::unordered_map< std::string, std::any > extensions
 The extensions attached to this object.
 
JsonValue::Object extras
 Application-specific data.
 
JsonValue::Object unknownProperties
 Unknown properties that exist on this object but do not have any representation in the statically-typed classes.
 

Static Public Attributes

static constexpr const char * TypeName = "Tile"
 The original name of this type.
 

Detailed Description

A tile in a 3D Tiles tileset.

Definition at line 20 of file Tile.h.

Member Function Documentation

◆ getSizeBytes()

int64_t Cesium3DTiles::Tile::getSizeBytes ( ) const
inline

Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. This will NOT include the size of any extensions attached to the object. Calling this method may be slow as it requires traversing the object's entire structure.

Definition at line 121 of file Tile.h.

Member Data Documentation

◆ boundingVolume

Cesium3DTiles::BoundingVolume Cesium3DTiles::Tile::boundingVolume

The bounding volume that encloses the tile.

Definition at line 43 of file Tile.h.

◆ children

std::vector<Cesium3DTiles::Tile> Cesium3DTiles::Tile::children

An array of objects that define child tiles. Each child tile content is fully enclosed by its parent tile's bounding volume and, generally, has a geometricError less than its parent tile's geometricError. For leaf tiles, there are no children, and this property may not be defined.

Definition at line 113 of file Tile.h.

◆ content

std::optional<Cesium3DTiles::Content> Cesium3DTiles::Tile::content

Metadata about the tile's content and a link to the content. When this is omitted the tile is just used for culling. When this is defined, then contents shall be undefined.

Definition at line 89 of file Tile.h.

◆ contents

std::vector<Cesium3DTiles::Content> Cesium3DTiles::Tile::contents

An array of contents. When this is defined, then content shall be undefined.

Definition at line 95 of file Tile.h.

◆ geometricError

double Cesium3DTiles::Tile::geometricError = double()

The error, in meters, introduced if this tile is rendered and its children are not. At runtime, the geometric error is used to compute screen space error (SSE), i.e., the error measured in pixels.

Definition at line 57 of file Tile.h.

◆ implicitTiling

std::optional<Cesium3DTiles::ImplicitTiling> Cesium3DTiles::Tile::implicitTiling

An object that describes the implicit subdivision of this tile.

Definition at line 105 of file Tile.h.

◆ metadata

std::optional<Cesium3DTiles::MetadataEntity> Cesium3DTiles::Tile::metadata

A metadata entity that is associated with this tile.

Definition at line 100 of file Tile.h.

◆ refine

std::optional<std::string> Cesium3DTiles::Tile::refine

Specifies if additive or replacement refinement is used when traversing the tileset for rendering. This property is required for the root tile of a tileset; it is optional for all other tiles. The default is to inherit from the parent tile.

Known values are defined in Refine.

Definition at line 68 of file Tile.h.

◆ transform

std::vector<double> Cesium3DTiles::Tile::transform
Initial value:
=
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1}

A floating-point 4x4 affine transformation matrix, stored in column-major order, that transforms the tile's content–i.e., its features as well as content.boundingVolume, boundingVolume, and viewerRequestVolume–from the tile's local coordinate system to the parent tile's coordinate system, or, in the case of a root tile, from the tile's local coordinate system to the tileset's coordinate system. transform does not apply to any volume property when the volume is a region, defined in EPSG:4979 coordinates. transform scales the geometricError by the maximum scaling factor from the matrix.

Definition at line 81 of file Tile.h.

◆ TypeName

const char* Cesium3DTiles::Tile::TypeName = "Tile"
staticconstexpr

The original name of this type.

Definition at line 24 of file Tile.h.

◆ viewerRequestVolume

std::optional<Cesium3DTiles::BoundingVolume> Cesium3DTiles::Tile::viewerRequestVolume

Optional bounding volume that defines the volume the viewer shall be inside of before the tile's content will be requested and before the tile will be refined based on geometricError.

Definition at line 50 of file Tile.h.


The documentation for this struct was generated from the following file: