7 #ifndef PXR_USDSEMANTICS_LABELSQUERY_H
8 #define PXR_USDSEMANTICS_LABELSQUERY_H
17 #include <shared_mutex>
19 #include <unordered_map>
99 const std::variant<GfInterval, UsdTimeCode>&
GetTime() const & {
103 std::variant<GfInterval, UsdTimeCode>
GetTime() && {
104 return std::move(_time); }
114 bool _PopulateLabels(
const UsdPrim& prim)
const;
117 bool _PopulateInheritedLabels(
const UsdPrim& prim)
const;
120 std::variant<GfInterval, UsdTimeCode> _time;
122 mutable std::shared_mutex _cachedLabelsMutex;
123 using _UnorderedTokenSet = std::unordered_set<TfToken, TfHash>;
124 mutable std::unordered_map<SdfPath, _UnorderedTokenSet, TfHash> _cachedLabels;
UsdSemanticsLabelsQuery(const UsdSemanticsLabelsQuery &)=delete
const std::variant< GfInterval, UsdTimeCode > & GetTime() const &
Returns the time used by this query when computing a prim's labels.
GLuint GLsizei const GLchar * label
USDSEMANTICS_API VtTokenArray ComputeUniqueDirectLabels(const UsdPrim &prim) const
USDSEMANTICS_API VtTokenArray ComputeUniqueInheritedLabels(const UsdPrim &prim) const
UsdSemanticsLabelsQuery & operator=(const UsdSemanticsLabelsQuery &)=delete
std::variant< GfInterval, UsdTimeCode > GetTime()&&
Returns the time used by this query when computing a prim's labels.
const TfToken & GetTaxonomy() const &
Returns the taxonomy used by this query when computing a prim's labels.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
USDSEMANTICS_API bool HasDirectLabel(const UsdPrim &prim, const TfToken &label) const
USDSEMANTICS_API bool HasInheritedLabel(const UsdPrim &prim, const TfToken &label) const
TfToken GetTaxonomy()&&
Returns the taxonomy used by this query when computing a prim's labels.