24 #ifndef PXR_IMAGING_HDSI_PRIM_MANAGING_SCENE_INDEX_OBSERVER_H
25 #define PXR_IMAGING_HDSI_PRIM_MANAGING_SCENE_INDEX_OBSERVER_H
36 #define HDSI_PRIM_MANAGING_SCENE_INDEX_OBSERVER_TOKENS \
86 _Dirty(entry, observer);
115 static HdsiPrimManagingSceneIndexObserverRefPtr
New(
116 HdSceneIndexBaseRefPtr
const &sceneIndex,
117 HdContainerDataSourceHandle
const &inputArgs) {
120 sceneIndex, inputArgs));
141 template<
typename PrimType>
166 HdSceneIndexBaseRefPtr
const &sceneIndex,
167 HdContainerDataSourceHandle
const &inputArgs);
169 HdSceneIndexBaseRefPtr
const _sceneIndex;
175 std::map<SdfPath, PrimBaseHandle> _prims;
TF_DECLARE_REF_PTRS(HdsiPrimManagingSceneIndexObserver)
TfRefPtr< T > TfCreateRefPtr(T *ptr)
static HdsiPrimManagingSceneIndexObserverRefPtr New(HdSceneIndexBaseRefPtr const &sceneIndex, HdContainerDataSourceHandle const &inputArgs)
TfSmallVector< AddedPrimEntry, 16 > AddedPrimEntries
void Dirty(const DirtiedPrimEntry &entry, const HdsiPrimManagingSceneIndexObserver *observer)
HDSI_API ~HdsiPrimManagingSceneIndexObserver() override
#define HDSI_PRIM_MANAGING_SCENE_INDEX_OBSERVER_TOKENS
TfSmallVector< RenamedPrimEntry, 16 > RenamedPrimEntries
TfSmallVector< RemovedPrimEntry, 16 > RemovedPrimEntries
void PrimsRenamed(const HdSceneIndexBase &sender, const RenamedPrimEntries &entries) override
virtual PrimBaseHandle CreatePrim(const AddedPrimEntry &entry, const HdsiPrimManagingSceneIndexObserver *observer)=0
HDSI_API const PrimBaseHandle & GetPrim(const SdfPath &primPath) const
TF_DECLARE_PUBLIC_TOKENS(HdsiPrimManagingSceneIndexObserverTokens, HDSI_API, HDSI_PRIM_MANAGING_SCENE_INDEX_OBSERVER_TOKENS)
virtual HDSI_API ~PrimBase()
TfSmallVector< DirtiedPrimEntry, 16 > DirtiedPrimEntries
virtual HDSI_API ~PrimFactoryBase()
std::shared_ptr< PrimFactoryBase > PrimFactoryBaseHandle
void PrimsRemoved(const HdSceneIndexBase &sender, const RemovedPrimEntries &entries) override
std::shared_ptr< PrimType > GetTypedPrim(const SdfPath &primPath) const
Get managed prim cast to a particular type.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
void PrimsDirtied(const HdSceneIndexBase &sender, const DirtiedPrimEntries &entries) override
#define PXR_NAMESPACE_CLOSE_SCOPE
void PrimsAdded(const HdSceneIndexBase &sender, const AddedPrimEntries &entries) override
std::shared_ptr< PrimBase > PrimBaseHandle
const HdSceneIndexBaseRefPtr & GetSceneIndex() const