7 #ifndef PXR_IMAGING_HD_CONTAINER_DATA_SOURCE_EDITOR_H
8 #define PXR_IMAGING_HD_CONTAINER_DATA_SOURCE_EDITOR_H
79 class HdContainerDataSourceEditor
83 HdContainerDataSourceEditor() {}
84 HdContainerDataSourceEditor(
85 HdContainerDataSourceHandle initialContainer)
86 : _initialContainer(initialContainer) {}
91 HdContainerDataSourceEditor &Set(
93 const HdDataSourceBaseHandle &dataSource);
99 HdContainerDataSourceEditor &Overlay(
101 const HdContainerDataSourceHandle &containerDataSource);
105 HdContainerDataSourceHandle Finish();
115 HdContainerDataSourceHandle _FinishWithNoInitialContainer();
118 using _NodeSharedPtr = std::shared_ptr<_Node>;
122 HdDataSourceBaseHandle dataSource;
123 _NodeSharedPtr childNode;
133 _NodeSharedPtr _root;
134 HdContainerDataSourceHandle _initialContainer;
148 _NodeContainerDataSource(_NodeSharedPtr node);
151 HdDataSourceBaseHandle Get(
const TfToken &
name)
override;
154 _NodeSharedPtr _node;
#define PXR_NAMESPACE_OPEN_SCOPE
Functor to use for hash maps from tokens to other things.
#define HD_DECLARE_DATASOURCE(type)
std::vector< TfToken > TfTokenVector
Convenience types.
GLuint const GLchar * name
#define PXR_NAMESPACE_CLOSE_SCOPE