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> 37 #include <unordered_map> 39 PXR_NAMESPACE_OPEN_SCOPE
59 class UsdImaging_CollectionCache : boost::noncopyable {
75 RemoveCollection(UsdStageWeakPtr
const& stage,
SdfPath const& path);
84 ComputeCollectionsContainingPath(
SdfPath const& path)
const;
89 GetDirtyPaths()
const;
106 std::unordered_map<Query, TfToken, Query::Hash> _idForQuery;
107 std::unordered_map<TfToken, Query, TfToken::HashFunctor> _queryForId;
108 std::unordered_map<SdfPath, TfToken, SdfPath::Hash> _idForPath;
109 std::unordered_map<Query, SdfPathSet, Query::Hash> _pathsForQuery;
112 _MarkCollectionContentDirty(
113 UsdStageWeakPtr
const& stage,
116 SdfPathSet _dirtyPaths;
122 PXR_NAMESPACE_CLOSE_SCOPE
124 #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.