7 #ifndef PXR_IMAGING_HD_CACHING_SCENE_H
8 #define PXR_IMAGING_HD_CACHING_SCENE_H
15 #include <tbb/concurrent_hash_map.h>
33 static HdCachingSceneIndexRefPtr
New(
34 HdSceneIndexBaseRefPtr
const &inputScene) {
52 HdSceneIndexBaseRefPtr
const &inputScene);
70 void _ConsolidateRecentPrims();
73 void _ConsolidateRecentChildPaths();
76 void _ConsolidateRecent();
78 struct _PathHashCompare {
91 using _RecentPrimTable =
92 tbb::concurrent_hash_map<SdfPath, HdSceneIndexPrim, _PathHashCompare>;
93 mutable _RecentPrimTable _recentPrims;
96 _ChildPathsTable _childPaths;
98 using _RecentChildPathsTable =
99 tbb::concurrent_hash_map<SdfPath, SdfPathVector, _PathHashCompare>;
100 mutable _RecentChildPathsTable _recentChildPaths;
TfRefPtr< T > TfCreateRefPtr(T *ptr)
static HdCachingSceneIndexRefPtr New(HdSceneIndexBaseRefPtr const &inputScene)
#define PXR_NAMESPACE_OPEN_SCOPE
GLsizei const GLchar *const * path
void _PrimsDirtied(const HdSceneIndexBase &sender, const HdSceneIndexObserver::DirtiedPrimEntries &entries) override
HD_API ~HdCachingSceneIndex() override
GLboolean GLboolean GLboolean GLboolean a
IMATH_HOSTDEVICE constexpr bool equal(T1 a, T2 b, T3 t) IMATH_NOEXCEPT
std::vector< class SdfPath > SdfPathVector
GLboolean GLboolean GLboolean b
PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_REF_PTRS(HdCachingSceneIndex)
HD_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
#define PXR_NAMESPACE_CLOSE_SCOPE
HD_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
HD_API HdCachingSceneIndex(HdSceneIndexBaseRefPtr const &inputScene)
void _PrimsRemoved(const HdSceneIndexBase &sender, const HdSceneIndexObserver::RemovedPrimEntries &entries) override
size_t hash_value(const CH_ChannelRef &ref)
void _PrimsAdded(const HdSceneIndexBase &sender, const HdSceneIndexObserver::AddedPrimEntries &entries) override