6 #ifndef PXR_IMAGING_HDSI_SWITCHING_SCENE_INDEX_H
7 #define PXR_IMAGING_HDSI_SWITCHING_SCENE_INDEX_H
31 static HdsiSwitchingSceneIndexRefPtr
32 New(
const std::vector<HdSceneIndexBaseRefPtr>& inputs,
33 size_t initialIndex = 0,
37 inputs, initialIndex, std::move(computeDiffFn)));
43 const std::vector<HdSceneIndexBaseRefPtr>& inputs,
60 std::vector<HdSceneIndexBaseRefPtr>
GetInputScenes()
const override;
70 void _UpdateCurrentSceneIndex(
size_t index);
100 const AddedPrimEntries& entries)
override;
103 const RemovedPrimEntries& entries)
override;
106 const DirtiedPrimEntries& entries)
override;
109 const RenamedPrimEntries& entries)
override;
117 std::vector<HdSceneIndexBaseRefPtr> _inputs;
119 HdSceneIndexBaseRefPtr _currentSceneIndex;
HdsiComputeSceneIndexDiff ComputeDiffFn
TfRefPtr< T > TfCreateRefPtr(T *ptr)
HDSI_API void HdsiComputeSceneIndexDiffDelta(const HdSceneIndexBaseRefPtr &siA, const HdSceneIndexBaseRefPtr &siB, HdSceneIndexObserver::RemovedPrimEntries *removedEntries, HdSceneIndexObserver::AddedPrimEntries *addedEntries, HdSceneIndexObserver::RenamedPrimEntries *renamedEntries, HdSceneIndexObserver::DirtiedPrimEntries *dirtiedEntries)
std::function< void(const HdSceneIndexBaseRefPtr &siA, const HdSceneIndexBaseRefPtr &siB, HdSceneIndexObserver::RemovedPrimEntries *removedEntries, HdSceneIndexObserver::AddedPrimEntries *addedEntries, HdSceneIndexObserver::RenamedPrimEntries *renamedEntries, HdSceneIndexObserver::DirtiedPrimEntries *dirtiedEntries)> HdsiComputeSceneIndexDiff
HDSI_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
HDSI_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
HDSI_API HdsiSwitchingSceneIndex(const std::vector< HdSceneIndexBaseRefPtr > &inputs, size_t initialIndex, ComputeDiffFn computeDiffFn)
HDSI_API size_t GetIndex() const
Returns the current index.
TF_DECLARE_REF_PTRS(HdsiSwitchingSceneIndex)
std::vector< class SdfPath > SdfPathVector
HDSI_API std::vector< HdSceneIndexBaseRefPtr > GetInputScenes() const override
static HdsiSwitchingSceneIndexRefPtr New(const std::vector< HdSceneIndexBaseRefPtr > &inputs, size_t initialIndex=0, ComputeDiffFn computeDiffFn=HdsiComputeSceneIndexDiffDelta)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
HDSI_API void SetIndex(size_t index)