cesium-native 0.44.2
Loading...
Searching...
No Matches
TilesetMetadata.h
1#pragma once
2
3#include <Cesium3DTiles/GroupMetadata.h>
4#include <Cesium3DTiles/Schema.h>
5#include <Cesium3DTilesSelection/Library.h>
6#include <CesiumAsync/SharedFuture.h>
7
8#include <optional>
9#include <string>
10#include <vector>
11
12namespace CesiumAsync {
13class AsyncSystem;
14class IAssetAccessor;
15} // namespace CesiumAsync
16
17namespace Cesium3DTilesSelection {
18
23class CESIUM3DTILESSELECTION_API TilesetMetadata {
24public:
25 ~TilesetMetadata() noexcept;
26
31 std::optional<Cesium3DTiles::Schema> schema;
32
37 std::optional<std::string> schemaUri;
38
44 std::vector<Cesium3DTiles::GroupMetadata> groups;
45
49 std::optional<Cesium3DTiles::MetadataEntity> metadata;
50
67 const CesiumAsync::AsyncSystem& asyncSystem,
68 const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor);
69
70private:
71 std::optional<CesiumAsync::SharedFuture<void>> _loadingFuture;
72 std::optional<std::string> _loadingSchemaUri;
73 std::shared_ptr<bool> _pLoadingCanceled;
74};
75
76} // namespace Cesium3DTilesSelection
Holds the metadata associated with a Tileset or an external tileset.
CesiumAsync::SharedFuture< void > & loadSchemaUri(const CesiumAsync::AsyncSystem &asyncSystem, const std::shared_ptr< CesiumAsync::IAssetAccessor > &pAssetAccessor)
Asynchronously loads the schema from the schemaUri. If the schemaUri does not contain a value,...
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...
std::optional< Cesium3DTiles::Schema > schema
An object defining the structure of metadata classes and enums. When this is defined,...
std::optional< Cesium3DTiles::MetadataEntity > metadata
A metadata entity that is associated with this tileset.
std::optional< std::string > schemaUri
The URI (or IRI) of the external schema file. When this is defined, then schema shall be undefined.
A system for managing asynchronous requests and tasks.
Definition AsyncSystem.h:36
A value that will be available in the future, as produced by AsyncSystem. Unlike Future,...
Classes that implement the 3D Tiles standard.
Classes that support asynchronous operations.