Loading...
Searching...
No Matches
overlayContainerDataSource.h
1//
2// Copyright 2021 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_HD_OVERLAY_CONTAINER_DATA_SOURCE_H
8#define PXR_IMAGING_HD_OVERLAY_CONTAINER_DATA_SOURCE_H
9
10#include "pxr/imaging/hd/dataSource.h"
11
12PXR_NAMESPACE_OPEN_SCOPE
13
21{
22public:
23 HD_DECLARE_DATASOURCE(HdOverlayContainerDataSource);
24
25 HD_DECLARE_DATASOURCE_INITIALIZER_LIST_NEW(
27 HdContainerDataSourceHandle);
28
29 HD_API
31 std::initializer_list<HdContainerDataSourceHandle> sources);
32
33 HD_API
35 size_t count,
36 HdContainerDataSourceHandle *containers);
37
38 HD_API
40 const HdContainerDataSourceHandle &src1,
41 const HdContainerDataSourceHandle &src2);
42
43 HD_API
45 const HdContainerDataSourceHandle &src1,
46 const HdContainerDataSourceHandle &src2,
47 const HdContainerDataSourceHandle &src3);
48
52 HD_API
53 static
54 HdContainerDataSourceHandle
56 const HdContainerDataSourceHandle &src1,
57 const HdContainerDataSourceHandle &src2);
58
59 HD_API
61 HD_API
62 HdDataSourceBaseHandle Get(const TfToken &name) override;
63
64private:
66 _ContainerVector _containers;
67};
68
69HD_DECLARE_DATASOURCE_HANDLES(HdOverlayContainerDataSource);
70
71PXR_NAMESPACE_CLOSE_SCOPE
72
73#endif
A datasource representing structured (named, hierarchical) data, for example a geometric primitive or...
Definition: dataSource.h:99
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.
Definition: token.h:71
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:440