7#ifndef PXR_USD_IMAGING_USD_IMAGING_DATA_SOURCE_MATERIAL_H
8#define PXR_USD_IMAGING_USD_IMAGING_DATA_SOURCE_MATERIAL_H
10#include "pxr/imaging/hd/dataSource.h"
14#include "pxr/usdImaging/usdImaging/dataSourcePrim.h"
15#include "pxr/usdImaging/usdImaging/dataSourceStageGlobals.h"
19#include <tbb/concurrent_unordered_map.h>
21PXR_NAMESPACE_OPEN_SCOPE
37 HdDataSourceBaseHandle
Get(
const TfToken &name)
override;
60 using _ContextMap = tbb::concurrent_unordered_map<
64 const TfToken _fixedTerminalName;
65 _ContextMap _networks;
79 HD_DECLARE_DATASOURCE(UsdImagingDataSourceMaterialPrim);
82 HdDataSourceBaseHandle
Get(
const TfToken &name)
override;
84 ~UsdImagingDataSourceMaterialPrim()
override;
90 UsdImagingPropertyInvalidationType invalidationType);
94 UsdImagingDataSourceMaterialPrim(
100HD_DECLARE_DATASOURCE_HANDLES(UsdImagingDataSourceMaterialPrim);
102PXR_NAMESPACE_CLOSE_SCOPE
A datasource representing structured (named, hierarchical) data, for example a geometric primitive or...
Represents a set of data source locators closed under descendancy.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
A data source mapping for data source material.
TfTokenVector GetNames() override
Returns the list of names for which Get(...) is expected to return a non-null value.
HdDataSourceBaseHandle Get(const TfToken &name) override
Returns the child datasource of the given name.
Data source representing a basic USD prim.
USDIMAGING_API TfTokenVector GetNames() override
Returns the names for which this data source can return meaningful results.
static USDIMAGING_API HdDataSourceLocatorSet Invalidate(UsdPrim const &prim, const TfToken &subprim, const TfTokenVector &properties, UsdImagingPropertyInvalidationType invalidationType)
Returns the hydra attribute set we should invalidate if the value of the USD properties in properties...
USDIMAGING_API HdDataSourceBaseHandle Get(const TfToken &name) override
Returns the data source representing name, if valid.
This class is used as a context object with global stage information, that gets passed down to dataso...
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Functor to use for hash maps from tokens to other things.
std::vector< TfToken > TfTokenVector
Convenience types.