cesium-native 0.43.0
Loading...
Searching...
No Matches
MetadataQuery.h
1#pragma once
2
3#include <Cesium3DTiles/MetadataEntity.h>
4#include <Cesium3DTiles/Schema.h>
5#include <CesiumUtility/JsonValue.h>
6
7#include <string>
8#include <unordered_map>
9
10namespace Cesium3DTiles {
11
20struct CESIUM3DTILES_API FoundMetadataProperty {
25 const std::string& classIdentifier;
26
32
37 const std::string& propertyIdentifier;
38
44
50};
51
55class CESIUM3DTILES_API MetadataQuery {
56public:
68 static std::optional<FoundMetadataProperty> findFirstPropertyWithSemantic(
69 const Schema& schema,
70 const MetadataEntity& entity,
71 const std::string& semantic);
72};
73
74} // namespace Cesium3DTiles
Convenience functions for querying MetadataEntity instances.
static std::optional< FoundMetadataProperty > findFirstPropertyWithSemantic(const Schema &schema, const MetadataEntity &entity, const std::string &semantic)
Gets the first property with a given ClassProperty::semantic.
A generic implementation of a value in a JSON structure.
Definition JsonValue.h:75
Classes for using 3D Tiles.
Definition Buffer.h:7
A single property of a metadata class.
A class containing a set of properties.
Definition Class.h:17
Holds the details of a found property in a MetadataEntity.
const std::string & classIdentifier
A reference to the identifier of the class that contains the found property within the Schema.
const Class & classDefinition
A reference to the Class that contains the found property within the Schema.
const std::string & propertyIdentifier
A reference to the identifier of the found property within the Schema.
const ClassProperty & propertyDefinition
A reference to the ClassProperty describing the found property within the Schema.
const CesiumUtility::JsonValue & propertyValue
A reference to the value of the found property within the MetadataEntity.
An object containing a reference to a class from a metadata schema, and property values that conform ...
An object defining classes and enums.
Definition Schema.h:18