24 #ifndef PXR_IMAGING_HD_DATA_SOURCE_LEGACY_PRIM_H 25 #define PXR_IMAGING_HD_DATA_SOURCE_LEGACY_PRIM_H 27 #include "pxr/imaging/hd/sceneIndex.h" 28 #include "pxr/imaging/hd/api.h" 31 PXR_NAMESPACE_OPEN_SCOPE
36 #define HD_LEGACY_PRIMTYPE_TOKENS \ 42 HD_LEGACY_PRIMTYPE_TOKENS);
58 : _id(
id), _sceneDelegate(sceneDelegate) {}
82 HdDataSourceBaseHandle
Get(
const TfToken &name)
override;
97 HdDataSourceBaseHandle _GetPrimvarsDataSource();
98 HdDataSourceBaseHandle _GetExtComputationPrimvarsDataSource();
99 HdDataSourceBaseHandle _GetMaterialBindingDataSource();
100 HdDataSourceBaseHandle _GetXformDataSource();
101 HdDataSourceBaseHandle _GetMaterialDataSource();
102 HdDataSourceBaseHandle _GetSampleFilterDataSource();
103 HdDataSourceBaseHandle _GetDisplayStyleDataSource();
104 HdDataSourceBaseHandle _GetInstancedByDataSource();
105 HdDataSourceBaseHandle _GetInstancerTopologyDataSource();
106 HdDataSourceBaseHandle _GetVolumeFieldBindingDataSource();
107 HdDataSourceBaseHandle _GetCoordSysBindingDataSource();
108 HdDataSourceBaseHandle _GetVisibilityDataSource();
109 HdDataSourceBaseHandle _GetPurposeDataSource();
110 HdDataSourceBaseHandle _GetExtentDataSource();
111 HdDataSourceBaseHandle _GetCategoriesDataSource();
112 HdDataSourceBaseHandle _GetInstanceCategoriesDataSource();
113 HdDataSourceBaseHandle _GetPrmanParamsDataSource();
120 std::atomic_bool _primvarsBuilt;
121 bool _extComputationPrimvarsBuilt : 1;
123 HdContainerDataSourceAtomicHandle _primvars;
124 HdContainerDataSourceHandle _extComputationPrimvars;
129 HdContainerDataSourceAtomicHandle _instancerTopology;
134 bool HdLegacyPrimTypeIsVolumeField(
TfToken const &primType);
136 PXR_NAMESPACE_CLOSE_SCOPE
Interface class that defines the execution environment for the client to run a computation.
A datasource representing structured (named, hierarchical) data, for example a geometric primitive or...
void PrimDirtied(const HdDataSourceLocatorSet &locators)
This clears internal cached values and is currently called only by HdLegacyPrimSceneIndex in response...
Token for efficient comparison, assignment, and hashing of known strings.
static const HdDataSourceLocatorSet & GetCachedLocators()
Return which locators PrimDirtied will respond to...
Adapter class providing data exchange with the client scene graph.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Represents a set of data source locators closed under descendancy.
HdDataSourceBaseHandle Get(const TfToken &name) override
Returns the child datasource of the given name.
std::vector< TfToken > TfTokenVector
Convenience types.
A path value used to locate objects in layers or scenegraphs.
Represents an object which can produce scene data.
bool Has(const TfToken &name) override
Returns true if the container has a child datasource of the given name, in which case Get(name) is ex...
This file defines some macros that are useful for declaring and using static TfTokens.
This is an HdContainerDataSource which represents a prim-level data source for adapting HdSceneDelega...
This is a data source which holds a legacy ext computation.
TfTokenVector GetNames() override
Returns the list of names for which Get(...) is expected to return a non-null value.