24 #ifndef PXR_USD_IMAGING_USD_IMAGING_NI_PROTOTYPE_PROPAGATING_SCENE_INDEX_H
25 #define PXR_USD_IMAGING_USD_IMAGING_NI_PROTOTYPE_PROPAGATING_SCENE_INDEX_H
309 HdSceneIndexBaseRefPtr(
const HdSceneIndexBaseRefPtr &inputScene)>;
323 static UsdImagingNiPrototypePropagatingSceneIndexRefPtr
New(
324 HdSceneIndexBaseRefPtr
const &inputSceneIndex,
338 std::vector<HdSceneIndexBaseRefPtr>
GetInputScenes()
const override;
341 class _SceneIndexCache;
342 using _SceneIndexCacheSharedPtr =
343 std::shared_ptr<_SceneIndexCache>;
345 class _MergingSceneIndexEntry;
346 using _MergingSceneIndexEntryUniquePtr =
347 std::unique_ptr<_MergingSceneIndexEntry>;
358 const AddedPrimEntries &entries)
override;
361 const DirtiedPrimEntries &entries)
override;
364 const RemovedPrimEntries &entries)
override;
367 const RenamedPrimEntries &entries)
override;
382 const AddedPrimEntries &entries)
override;
385 const DirtiedPrimEntries &entries)
override;
388 const RemovedPrimEntries &entries)
override;
391 const RenamedPrimEntries &entries)
override;
398 static UsdImagingNiPrototypePropagatingSceneIndexRefPtr _New(
400 HdContainerDataSourceHandle
const &prototypeRootOverlayDs,
401 _SceneIndexCacheSharedPtr
const &cache);
405 HdContainerDataSourceHandle
const &prototypeRootOverlayDs,
406 _SceneIndexCacheSharedPtr
const &cache);
408 void _Populate(HdSceneIndexBaseRefPtr
const &instanceAggregationSceneIndex);
409 void _AddPrim(
const SdfPath &primPath);
410 void _RemovePrim(
const SdfPath &primPath);
414 _SceneIndexCacheSharedPtr
const _cache;
416 HdMergingSceneIndexRefPtr _mergingSceneIndex;
418 std::map<SdfPath, _MergingSceneIndexEntryUniquePtr>
419 _instancersToMergingSceneIndexEntry;
421 HdSceneIndexBaseRefPtr _instanceAggregationSceneIndex;
424 _instanceAggregationSceneIndexObserver;
USDIMAGING_API ~UsdImagingNiPrototypePropagatingSceneIndex() override
USDIMAGING_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
size_t HdDataSourceHashType
USDIMAGING_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
static USDIMAGING_API UsdImagingNiPrototypePropagatingSceneIndexRefPtr New(HdSceneIndexBaseRefPtr const &inputSceneIndex, const TfTokenVector &instanceDataSourceNames, const SceneIndexAppendCallback &sceneIndexAppendCallback)
PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_REF_PTRS(HdMergingSceneIndex)
USDIMAGING_API std::vector< HdSceneIndexBaseRefPtr > GetInputScenes() const override
std::vector< TfToken > TfTokenVector
Convenience types.
std::vector< class SdfPath > SdfPathVector
A vector of SdfPaths.
friend class _InstanceAggregationSceneIndexObserver
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
std::function< HdSceneIndexBaseRefPtr(const HdSceneIndexBaseRefPtr &inputScene)> SceneIndexAppendCallback
friend class _MergingSceneIndexObserver