7#ifndef PXR_IMAGING_HD_OVERLAY_CONTAINER_DATA_SOURCE_H
8#define PXR_IMAGING_HD_OVERLAY_CONTAINER_DATA_SOURCE_H
10#include "pxr/imaging/hd/dataSource.h"
12PXR_NAMESPACE_OPEN_SCOPE
25 HD_DECLARE_DATASOURCE_INITIALIZER_LIST_NEW(
27 HdContainerDataSourceHandle);
37 HdContainerDataSourceHandle
39 const HdContainerDataSourceHandle &src1,
40 const HdContainerDataSourceHandle &src2);
45 HdDataSourceBaseHandle
Get(
const TfToken &name)
override;
50 const std::initializer_list<HdContainerDataSourceHandle> &sources);
55 HdContainerDataSourceHandle *sources);
64 const HdContainerDataSourceHandle &src1,
65 const HdContainerDataSourceHandle &src2);
69 const HdContainerDataSourceHandle &src1,
70 const HdContainerDataSourceHandle &src2,
71 const HdContainerDataSourceHandle &src3);
83HdContainerDataSourceHandle
84HdCreateOverlayContainerDataSource(
86 HdContainerDataSourceHandle *containers);
93HdContainerDataSourceHandle
94HdCreateOverlayContainerDataSource(
95 const std::initializer_list<HdContainerDataSourceHandle> &sources);
99HdContainerDataSourceHandle
100HdCreateOverlayContainerDataSource(
101 const HdContainerDataSourceHandle &src1,
102 const HdContainerDataSourceHandle &src2);
104PXR_NAMESPACE_CLOSE_SCOPE
A datasource representing structured (named, hierarchical) data, for example a geometric primitive or...
Lazily composes two or more container source hierarchies Earlier entries on the containers array have...
static HD_API HdContainerDataSourceHandle OverlayedContainerDataSources(const HdContainerDataSourceHandle &src1, const HdContainerDataSourceHandle &src2)
Creates HdOverlayContainerDataSource from sources, but only if needed.
HD_API TfTokenVector GetNames() override
Returns the list of names for which Get(...) is expected to return a non-null value.
HD_API HdDataSourceBaseHandle Get(const TfToken &name) override
Returns the child datasource of the given name.
Token for efficient comparison, assignment, and hashing of known strings.
std::vector< TfToken > TfTokenVector
Convenience types.