24 #ifndef PXR_USD_IMAGING_USD_IMAGING_COLLECTION_CACHE_H
25 #define PXR_USD_IMAGING_USD_IMAGING_COLLECTION_CACHE_H
30 #include "pxr/usdImaging/usdImaging/api.h"
33 #include <boost/noncopyable.hpp>
34 #include <tbb/concurrent_unordered_map.h>
35 #include <tbb/concurrent_queue.h>
36 #include <unordered_map>
38 PXR_NAMESPACE_OPEN_SCOPE
58 class UsdImaging_CollectionCache : boost::noncopyable {
80 ComputeCollectionsContainingPath(
SdfPath const& path)
const;
93 std::unordered_map<Query, TfToken, Query::Hash> _idForQuery;
94 std::unordered_map<TfToken, Query, TfToken::HashFunctor> _queryForId;
95 std::unordered_map<SdfPath, TfToken, SdfPath::Hash> _idForPath;
96 std::unordered_map<Query, SdfPathSet, Query::Hash> _pathsForQuery;
102 PXR_NAMESPACE_CLOSE_SCOPE
104 #endif // PXR_USD_IMAGING_USD_IMAGING_COLLECTION_CACHE_H
Represents a flattened view of a collection.
Token for efficient comparison, assignment, and hashing of known strings.
This is a general purpose API schema, used to describe a collection of heterogeneous objects within t...
A path value used to locate objects in layers or scenegraphs.