24#ifndef PXR_USD_IMAGING_USD_IMAGING_DATA_SOURCE_MATERIAL_H
25#define PXR_USD_IMAGING_USD_IMAGING_DATA_SOURCE_MATERIAL_H
27#include "pxr/imaging/hd/dataSource.h"
31#include "pxr/usdImaging/usdImaging/dataSourcePrim.h"
32#include "pxr/usdImaging/usdImaging/dataSourceStageGlobals.h"
36#include <tbb/concurrent_unordered_map.h>
38PXR_NAMESPACE_OPEN_SCOPE
54 HdDataSourceBaseHandle
Get(
const TfToken &name)
override;
77 using _ContextMap = tbb::concurrent_unordered_map<
81 const TfToken _fixedTerminalName;
82 _ContextMap _networks;
96 HD_DECLARE_DATASOURCE(UsdImagingDataSourceMaterialPrim);
99 HdDataSourceBaseHandle
Get(
const TfToken &name)
override;
101 ~UsdImagingDataSourceMaterialPrim()
override;
107 UsdImagingPropertyInvalidationType invalidationType);
110 UsdImagingDataSourceMaterialPrim(
116HD_DECLARE_DATASOURCE_HANDLES(UsdImagingDataSourceMaterialPrim);
118PXR_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.