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 {
74 RemoveCollection(UsdStageWeakPtr
const& stage,
SdfPath const& path);
83 ComputeCollectionsContainingPath(
SdfPath const& path)
const;
87 GetMembershipQuery(
TfToken const&
id,
const Query** query)
const;
92 GetDirtyPaths()
const;
109 std::unordered_map<Query, TfToken, Query::Hash> _idForQuery;
110 std::unordered_map<TfToken, Query, TfToken::HashFunctor> _queryForId;
111 std::unordered_map<SdfPath, TfToken, SdfPath::Hash> _idForPath;
112 std::unordered_map<Query, SdfPathSet, Query::Hash> _pathsForQuery;
117 SdfPathSet _dirtyPaths;
123 PXR_NAMESPACE_CLOSE_SCOPE
125 #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.