15#ifndef DRACO_METADATA_GEOMETRY_METADATA_H_
16#define DRACO_METADATA_GEOMETRY_METADATA_H_
30 :
Metadata(metadata), att_unique_id_(0) {}
39 uint32_t att_unique_id_;
48 size_t hash = metadata.att_unique_id_;
65 const std::string &entry_name,
const std::string &entry_value)
const;
69 if (att_unique_id < 0) {
72 for (
auto itr = att_metadatas_.begin(); itr != att_metadatas_.end();
74 if (itr->get()->att_unique_id() ==
static_cast<uint32_t
>(att_unique_id)) {
75 att_metadatas_.erase(itr);
82 int32_t att_unique_id)
const {
83 if (att_unique_id < 0) {
89 for (
auto &&att_metadata : att_metadatas_) {
90 if (att_metadata->att_unique_id() ==
91 static_cast<uint32_t
>(att_unique_id)) {
92 return att_metadata.get();
99 if (att_unique_id < 0) {
105 for (
auto &&att_metadata : att_metadatas_) {
106 if (att_metadata->att_unique_id() ==
107 static_cast<uint32_t
>(att_unique_id)) {
108 return att_metadata.get();
116 return att_metadatas_;
120 std::vector<std::unique_ptr<AttributeMetadata>> att_metadatas_;
128 size_t hash = metadata.att_metadatas_.size();
130 for (
auto &&att_metadata : metadata.att_metadatas_) {
131 hash =
HashCombine(att_metadata_hasher(*att_metadata), hash);
Definition attribute_octahedron_transform.cc:21
size_t HashCombine(T1 a, T2 b)
Definition hash_utils.h:26