24 #ifndef PXR_IMAGING_HD_CONTAINER_DATA_SOURCE_EDITOR_H 25 #define PXR_IMAGING_HD_CONTAINER_DATA_SOURCE_EDITOR_H 27 #include "pxr/imaging/hd/dataSource.h" 31 PXR_NAMESPACE_OPEN_SCOPE
34 class HdContainerDataSourceEditor
38 HdContainerDataSourceEditor() {}
39 HdContainerDataSourceEditor(
40 HdContainerDataSourceHandle initialContainer)
41 : _initialContainer(initialContainer) {}
46 HdContainerDataSourceEditor &Set(
48 const HdDataSourceBaseHandle &dataSource);
54 HdContainerDataSourceEditor &Overlay(
56 const HdContainerDataSourceHandle &containerDataSource);
59 HdContainerDataSourceHandle Finish();
62 HdContainerDataSourceHandle _FinishWithNoInitialContainer();
65 using _NodeSharedPtr = std::shared_ptr<_Node>;
69 HdDataSourceBaseHandle dataSource;
70 _NodeSharedPtr childNode;
81 HdContainerDataSourceHandle _initialContainer;
94 HD_DECLARE_DATASOURCE(_NodeContainerDataSource);
95 _NodeContainerDataSource(_NodeSharedPtr node);
98 HdDataSourceBaseHandle
Get(
const TfToken &name)
override;
101 _NodeSharedPtr _node;
105 PXR_NAMESPACE_CLOSE_SCOPE
Functor to use for hash maps from tokens to other things.
A datasource representing structured (named, hierarchical) data, for example a geometric primitive or...
Token for efficient comparison, assignment, and hashing of known strings.
Represents an object that can identify the location of a data source.
This is a space efficient container that mimics the TfHashMap API that uses a vector for storage when...
std::vector< TfToken > TfTokenVector
Convenience types.
static HD_API HdDataSourceBaseHandle Get(const Handle &container, const HdDataSourceLocator &locator)
A convenience function: given container, return the descendant identified by locator,...