6 #ifndef PXR_IMAGING_HDSI_UNBOUND_MATERIAL_PRUNING_SCENE_INDEX_H
7 #define PXR_IMAGING_HDSI_UNBOUND_MATERIAL_PRUNING_SCENE_INDEX_H
16 #include "pxr/base/vt/array.h"
18 #include <unordered_set>
22 #define HDSI_UNBOUND_MATERIAL_PRUNING_SCENE_INDEX_TOKENS \
23 (materialBindingPurposes)
46 static HdsiUnboundMaterialPruningSceneIndexRefPtr
47 New(HdSceneIndexBaseRefPtr
const &inputSceneIndex,
48 HdContainerDataSourceHandle
const &inputArgs);
73 HdSceneIndexBaseRefPtr
const &inputSceneIndex,
74 HdContainerDataSourceHandle
const &inputArgs);
76 ~HdsiUnboundMaterialPruningSceneIndex()
override;
80 void _PopulateFromInputSceneIndex();
82 bool _IsBoundMaterial(
const SdfPath &materialPath)
const;
83 bool _WasAdded(
const SdfPath &materialPath)
const;
87 std::unordered_set<SdfPath, SdfPath::Hash> _boundMaterialPaths;
88 std::unordered_set<SdfPath, SdfPath::Hash> _addedMaterialPaths;
#define PXR_NAMESPACE_OPEN_SCOPE
HDSI_API void _PrimsAdded(const HdSceneIndexBase &sender, const HdSceneIndexObserver::AddedPrimEntries &entries) override
HDSI_API void _PrimsDirtied(const HdSceneIndexBase &sender, const HdSceneIndexObserver::DirtiedPrimEntries &entries) override
std::vector< class SdfPath > SdfPathVector
#define HDSI_UNBOUND_MATERIAL_PRUNING_SCENE_INDEX_TOKENS
TF_DECLARE_WEAK_AND_REF_PTRS(HdsiUnboundMaterialPruningSceneIndex)
HDSI_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
HDSI_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
HDSI_API void _PrimsRemoved(const HdSceneIndexBase &sender, const HdSceneIndexObserver::RemovedPrimEntries &entries) override
TF_DECLARE_PUBLIC_TOKENS(HdsiUnboundMaterialPruningSceneIndexTokens, HDSI_API, HDSI_UNBOUND_MATERIAL_PRUNING_SCENE_INDEX_TOKENS)
#define PXR_NAMESPACE_CLOSE_SCOPE
static HDSI_API HdsiUnboundMaterialPruningSceneIndexRefPtr New(HdSceneIndexBaseRefPtr const &inputSceneIndex, HdContainerDataSourceHandle const &inputArgs)