AYON Usd Resolver  1.0.0
Loading...
Searching...
No Matches
assetIdentifierDef.h
Go to the documentation of this file.
1#ifndef ASSET_IDENTIFIER_DEF
2#define ASSET_IDENTIFIER_DEF
3
4#include "pxr/pxr.h"
5#include "pxr/usd/ar/resolvedPath.h"
6
7#include <string>
8
15PXR_NAMESPACE_USING_DIRECTIVE
16
18 public:
20 }
21 AssetIdentifier(bool is_static): m_static(is_static) {
22 }
23 AssetIdentifier(const std::string &assetIdentifier): m_assetIdentifier(assetIdentifier), m_static(false) {
24 }
25 AssetIdentifier(const ArResolvedPath &path, const std::string &identifier, bool is_static):
27 m_assetIdentifier(identifier),
28 m_static(is_static) {
29 }
30
36 ArResolvedPath getResolvedAssetPath() const;
43 bool setResolvedAssetPath(const ArResolvedPath &inResolvedAssetPath);
44 bool setResolvedAssetPath(const std::string &inResolvedAssetPath);
45
49 std::string getAssetIdentifier() const;
50
57 bool setAssetIdentifier(const std::string &inAssetIdentifier);
58
64 bool isEmpty() const;
72 bool isValid() const;
73
78 void invalidate();
79
84 void validate();
85
94 bool isModifiable() const;
95
99 void printInfo() const;
100
101 bool operator==(const AssetIdentifier &other) const;
102
104
105 private:
106 const bool m_static;
108 ArResolvedPath m_resolvedAssetPath;
109 std::string m_assetIdentifier;
110};
111
113 size_t
114 operator()(const AssetIdentifier &instance) const {
115 return std::hash<std::string>()(instance.getAssetIdentifier());
116 }
117
118 size_t
119 operator()(const std::string &str) const {
120 return std::hash<std::string>()(str);
121 }
122};
123
124#endif // !ASSET_IDENTIFIER_DEF
cache element class used to represent an Usd asset in cache for the resolver
Definition: assetIdentifierDef.h:17
const bool m_static
Definition: assetIdentifierDef.h:106
bool operator==(const AssetIdentifier &other) const
Definition: assetIdentifierDef.cpp:94
bool setResolvedAssetPath(const ArResolvedPath &inResolvedAssetPath)
allows setting the ResolvedAssetPath
Definition: assetIdentifierDef.cpp:16
bool isEmpty() const
can be used to know if given AssetIdentifier has data in it
Definition: assetIdentifierDef.cpp:47
void invalidate()
allows you to invalidate this AssetIdentifier.
Definition: assetIdentifierDef.cpp:61
bool setAssetIdentifier(const std::string &inAssetIdentifier)
allows you to set the internal m_assetIdentifier
Definition: assetIdentifierDef.cpp:38
void validate()
allows you to validate this AssetIdentifier.
Definition: assetIdentifierDef.cpp:70
bool m_invalidated
Definition: assetIdentifierDef.h:107
AssetIdentifier(const ArResolvedPath &path, const std::string &identifier, bool is_static)
Definition: assetIdentifierDef.h:25
void printInfo() const
this function will print out all debug info about this AssetIdentifier instance
Definition: assetIdentifierDef.cpp:84
std::string getAssetIdentifier() const
returns the asset identifier
Definition: assetIdentifierDef.cpp:33
AssetIdentifier & operator=(const AssetIdentifier &other)
Definition: assetIdentifierDef.cpp:99
AssetIdentifier(const std::string &assetIdentifier)
Definition: assetIdentifierDef.h:23
bool isValid() const
this function allows you to know if an given AssetIdentifier's cache is still valid.
Definition: assetIdentifierDef.cpp:56
bool isModifiable() const
allows you to know if you can modify the data in this AssetIdentifier it is also used in getAssetIden...
Definition: assetIdentifierDef.cpp:79
AssetIdentifier()
Definition: assetIdentifierDef.h:19
ArResolvedPath getResolvedAssetPath() const
returns the ResolvedAssetPath for this AssetIdentifier
Definition: assetIdentifierDef.cpp:11
std::string m_assetIdentifier
Definition: assetIdentifierDef.h:109
AssetIdentifier(bool is_static)
Definition: assetIdentifierDef.h:21
ArResolvedPath m_resolvedAssetPath
Definition: assetIdentifierDef.h:108
Definition: assetIdentifierDef.h:112
size_t operator()(const std::string &str) const
Definition: assetIdentifierDef.h:119
size_t operator()(const AssetIdentifier &instance) const
Definition: assetIdentifierDef.h:114