Loading...
Searching...
No Matches
mapContainerDataSource.h
1//
2// Copyright 2022 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_MAP_CONTAINER_DATA_SOURCE_H
8#define PXR_IMAGING_HD_MAP_CONTAINER_DATA_SOURCE_H
9
10#include "pxr/imaging/hd/dataSource.h"
11
12PXR_NAMESPACE_OPEN_SCOPE
13
19{
20public:
21 HD_DECLARE_DATASOURCE(HdMapContainerDataSource);
22
23 using ValueFunction =
24 std::function<HdDataSourceBaseHandle(const HdDataSourceBaseHandle &)>;
25
26 HD_API
28
29 HD_API
31 HD_API
32 HdDataSourceBaseHandle Get(const TfToken &name) override;
33private:
36 HD_API
38 const ValueFunction &f,
39 const HdContainerDataSourceHandle &src);
40
41 ValueFunction _f;
42
43 HdContainerDataSourceHandle _src;
44};
45
46HD_DECLARE_DATASOURCE_HANDLES(HdMapContainerDataSource);
47
48PXR_NAMESPACE_CLOSE_SCOPE
49
50#endif
A datasource representing structured (named, hierarchical) data, for example a geometric primitive or...
Definition: dataSource.h:99
Applies function to all data sources in a container data source (non-recursively).
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