7 #ifndef PXR_IMAGING_HD_FLATTENING_SCENE_H
8 #define PXR_IMAGING_HD_FLATTENING_SCENE_H
15 #include <tbb/concurrent_hash_map.h>
20 std::shared_ptr<class HdFlattenedDataSourceProvider>;
22 std::vector<HdFlattenedDataSourceProviderSharedPtr>;
24 namespace HdFlatteningSceneIndex_Impl
53 static HdFlatteningSceneIndexRefPtr
New(
54 HdSceneIndexBaseRefPtr
const &inputScene,
55 HdContainerDataSourceHandle
const &inputArgs) {
73 return _dataSourceNames;
79 return _dataSourceProviders;
86 HdSceneIndexBaseRefPtr
const &inputScene,
87 HdContainerDataSourceHandle
const &inputArgs);
103 using _DataSourceLocatorSetVector =
107 void _ConsolidateRecentPrims();
109 void _DirtyHierarchy(
111 const _DataSourceLocatorSetVector &relativeDirtyLocators,
131 _DataSourceLocatorSetVector _relativeDataSourceLocators;
137 struct _PathHashCompare {
145 using _RecentPrimTable =
146 tbb::concurrent_hash_map<SdfPath, HdSceneIndexPrim, _PathHashCompare>;
147 mutable _RecentPrimTable _recentPrims;
TfRefPtr< T > TfCreateRefPtr(T *ptr)
void _PrimsAdded(const HdSceneIndexBase &sender, const HdSceneIndexObserver::AddedPrimEntries &entries) override
void _PrimsRemoved(const HdSceneIndexBase &sender, const HdSceneIndexObserver::RemovedPrimEntries &entries) override
GLsizei const GLchar *const * path
GLboolean GLboolean GLboolean GLboolean a
IMATH_HOSTDEVICE constexpr bool equal(T1 a, T2 b, T3 t) IMATH_NOEXCEPT
std::shared_ptr< class HdFlattenedDataSourceProvider > HdFlattenedDataSourceProviderSharedPtr
HD_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
void _PrimsDirtied(const HdSceneIndexBase &sender, const HdSceneIndexObserver::DirtiedPrimEntries &entries) override
TF_DECLARE_REF_PTRS(HdFlatteningSceneIndex)
HD_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
std::vector< class SdfPath > SdfPathVector
HD_API HdFlatteningSceneIndex(HdSceneIndexBaseRefPtr const &inputScene, HdContainerDataSourceHandle const &inputArgs)
const HdFlattenedDataSourceProviderSharedPtrVector & GetFlattenedDataSourceProviders() const
Providers in the same order as GetFlattenedDataSourceNames.
std::vector< HdFlattenedDataSourceProviderSharedPtr > HdFlattenedDataSourceProviderSharedPtrVector
std::vector< TfToken > TfTokenVector
Convenience types.
GLboolean GLboolean GLboolean b
const TfTokenVector & GetFlattenedDataSourceNames() const
Data sources under locator name in a prim source get flattened.
TfSmallVector< HdDataSourceLocatorSet, _smallVectorSize > _DataSourceLocatorSetVector
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
static HdFlatteningSceneIndexRefPtr New(HdSceneIndexBaseRefPtr const &inputScene, HdContainerDataSourceHandle const &inputArgs)
HD_API ~HdFlatteningSceneIndex() override
constexpr uint32_t _smallVectorSize
size_t hash_value(const CH_ChannelRef &ref)