24 #ifndef PXR_IMAGING_HD_PRIM_DATA_SOURCE_OVERLAY_CACHE_H
25 #define PXR_IMAGING_HD_PRIM_DATA_SOURCE_OVERLAY_CACHE_H
40 public std::enable_shared_from_this<HdPrimDataSourceOverlayCache>
49 const HdSceneIndexBaseRefPtr &
source);
103 HdContainerDataSourceHandle inputDataSource,
104 HdContainerDataSourceHandle parentOverlayDataSource)
const = 0;
112 _HdPrimDataSourceOverlay(
113 HdContainerDataSourceHandle inputDataSource,
114 HdContainerDataSourceHandle parentOverlayDataSource,
115 const std::weak_ptr<const HdPrimDataSourceOverlayCache> cache);
117 void UpdateInputDataSource(HdContainerDataSourceHandle inputDataSource);
122 HdDataSourceBaseHandle Get(
const TfToken &
name)
override;
125 HdContainerDataSourceHandle _inputDataSource;
126 HdContainerDataSourceHandle _parentOverlayDataSource;
127 const std::weak_ptr<const HdPrimDataSourceOverlayCache> _cache;
129 using _OverlayMap = std::map<TfToken, HdDataSourceBaseHandle>;
131 _OverlayMap _overlayMap;
HdDataSourceLocatorSet onParent
virtual HdDataSourceBaseHandle _ComputeOverlayDataSource(const TfToken &name, HdContainerDataSourceHandle inputDataSource, HdContainerDataSourceHandle parentOverlayDataSource) const =0
HdSceneIndexPrim GetPrim(const SdfPath &primPath) const
bool dependenciesOptional
#define HD_DECLARE_DATASOURCE(type)
HdDataSourceLocatorSet onPrim
void HandlePrimsAdded(const HdSceneIndexObserver::AddedPrimEntries &entries, const HdSceneIndexBaseRefPtr &source)
GT_API const UT_StringHolder topology
GLsizei GLsizei GLchar * source
std::vector< TfToken > TfTokenVector
Convenience types.
void HandlePrimsRemoved(const HdSceneIndexObserver::RemovedPrimEntries &entries)
GLuint const GLchar * name
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
void HandlePrimsDirtied(const HdSceneIndexObserver::DirtiedPrimEntries &entries, HdSceneIndexObserver::DirtiedPrimEntries *additionalDirtied)
virtual ~HdPrimDataSourceOverlayCache()
#define PXR_NAMESPACE_CLOSE_SCOPE
HdPrimDataSourceOverlayCache()=default
void _SetOverlayTopology(const _OverlayTopology &topology)
std::map< TfToken, _OverlayDependencies > _OverlayTopology