7 #ifndef PXR_IMAGING_HD_PRIM_DATA_SOURCE_OVERLAY_CACHE_H
8 #define PXR_IMAGING_HD_PRIM_DATA_SOURCE_OVERLAY_CACHE_H
23 public std::enable_shared_from_this<HdPrimDataSourceOverlayCache>
32 const HdSceneIndexBaseRefPtr &
source);
86 HdContainerDataSourceHandle inputDataSource,
87 HdContainerDataSourceHandle parentOverlayDataSource)
const = 0;
95 _HdPrimDataSourceOverlay(
96 HdContainerDataSourceHandle inputDataSource,
97 HdContainerDataSourceHandle parentOverlayDataSource,
98 const std::weak_ptr<const HdPrimDataSourceOverlayCache> cache);
100 void UpdateInputDataSource(HdContainerDataSourceHandle inputDataSource);
105 HdDataSourceBaseHandle Get(
const TfToken &
name)
override;
108 HdContainerDataSourceHandle _inputDataSource;
109 HdContainerDataSourceHandle _parentOverlayDataSource;
110 const std::weak_ptr<const HdPrimDataSourceOverlayCache> _cache;
112 using _OverlayMap = std::map<TfToken, HdDataSourceBaseHandle>;
114 _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