7#ifndef PXR_USD_IMAGING_USD_IMAGING_SCENE_INDEX_H
8#define PXR_USD_IMAGING_USD_IMAGING_SCENE_INDEX_H
12#include "pxr/usd/usd/timeCode.h"
14#include "pxr/usdImaging/usdImaging/api.h"
16#include "pxr/imaging/hd/filteringSceneIndex.h"
17#include "pxr/imaging/hd/sceneIndex.h"
19PXR_NAMESPACE_OPEN_SCOPE
21using UsdImagingSceneIndexAppendCallback =
23 HdSceneIndexBaseRefPtr(HdSceneIndexBaseRefPtr
const &)>;
48 static UsdImagingSceneIndexRefPtr
New(
49 HdContainerDataSourceHandle
const &inputArgs,
50 const UsdImagingSceneIndexAppendCallback &
51 overridesSceneIndexCallback) {
52 return TfCreateRefPtr(
54 inputArgs, overridesSceneIndexCallback));
70 HdSceneIndexBaseRefPtrVector GetEncapsulatedScenes()
const override;
78 void SetStage(UsdStageRefPtr stage);
85 void SetTime(
UsdTimeCode time,
bool forceDirtyingTimeDeps =
false);
97 void ApplyPendingUpdates();
111 const HdNoticeBatchingSceneIndexRefPtr &
113 return _postInstancingNoticeBatchingSceneIndex;
125 const AddedPrimEntries &entries)
override
127 _owner->_SendPrimsAdded(entries);
132 const RemovedPrimEntries &entries)
override
134 _owner->_SendPrimsRemoved(entries);
139 const DirtiedPrimEntries &entries)
override
141 _owner->_SendPrimsDirtied(entries);
146 const RenamedPrimEntries &entries)
override
148 _owner->_SendPrimsRenamed(entries);
156 HdContainerDataSourceHandle
const &inputArgs,
157 const UsdImagingSceneIndexAppendCallback &overridesSceneIndexCallback);
163 UsdImagingStageSceneIndexRefPtr _stageSceneIndex;
164 HdNoticeBatchingSceneIndexRefPtr _postInstancingNoticeBatchingSceneIndex;
165 UsdImagingSelectionSceneIndexRefPtr _selectionSceneIndex;
166 HdSceneIndexBaseRefPtr _finalSceneIndex;
171PXR_NAMESPACE_CLOSE_SCOPE
A mix-in class for scene indices that implement their behaviour by creating other scene indices (inte...
Abstract interface to scene data.
A path value used to locate objects in layers or scenegraphs.
A scene index encapsulating the chain of scene indices (resolving, e.g., USD native instancing) that ...
USDIMAGING_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
Returns the paths of all scene index prims located immediately below primPath.
USDIMAGING_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
Returns a pair of (prim type, datasource).
const HdNoticeBatchingSceneIndexRefPtr & GetPostInstancingNoticeBatchingSceneIndex() const
Can be used to batch notices.
USDIMAGING_API void ClearSelection()
Reset the scene index selection state.
static UsdImagingSceneIndexRefPtr New(HdContainerDataSourceHandle const &inputArgs, const UsdImagingSceneIndexAppendCallback &overridesSceneIndexCallback)
Create the chain of scene indices.
USDIMAGING_API void AddSelection(const SdfPath &path)
Given a path (including usd proxy path inside a native instance) of a USD prim, determine the corresp...
A simple scene index adding HdSelectionsSchema to all prims selected with AddSelection.
A scene index consuming a UsdStage.
The outermost container for scene description, which owns and presents composed prims as a scenegraph...
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
Small struct representing a 'prim' in the Hydra scene index.
Some scene indices in the chain of filtering scene indices created by UsdImagingCreateSceneIndices.