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"
31PXR_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 _GetMaterialBindingsDataSource();
100 HdDataSourceBaseHandle _GetXformDataSource();
101 HdDataSourceBaseHandle _GetMaterialDataSource();
102 HdDataSourceBaseHandle _GetIntegratorDataSource();
103 HdDataSourceBaseHandle _GetSampleFilterDataSource();
104 HdDataSourceBaseHandle _GetDisplayFilterDataSource();
105 HdDataSourceBaseHandle _GetDisplayStyleDataSource();
106 HdDataSourceBaseHandle _GetInstancedByDataSource();
107 HdDataSourceBaseHandle _GetInstancerTopologyDataSource();
108 HdDataSourceBaseHandle _GetVolumeFieldBindingDataSource();
109 HdDataSourceBaseHandle _GetCoordSysBindingDataSource();
110 HdDataSourceBaseHandle _GetVisibilityDataSource();
111 HdDataSourceBaseHandle _GetPurposeDataSource();
112 HdDataSourceBaseHandle _GetExtentDataSource();
113 HdDataSourceBaseHandle _GetCategoriesDataSource();
114 HdDataSourceBaseHandle _GetInstanceCategoriesDataSource();
117 bool _IsInstanceable();
124 std::atomic_bool _primvarsBuilt;
125 bool _extComputationPrimvarsBuilt : 1;
127 HdContainerDataSourceAtomicHandle _primvars;
128 HdContainerDataSourceHandle _extComputationPrimvars;
133 HdContainerDataSourceAtomicHandle _instancerTopology;
138bool HdLegacyPrimTypeIsVolumeField(
TfToken const &primType);
140PXR_NAMESPACE_CLOSE_SCOPE
A datasource representing structured (named, hierarchical) data, for example a geometric primitive or...
Represents an object which can produce scene data.
This is an HdContainerDataSource which represents a prim-level data source for adapting HdSceneDelega...
void PrimDirtied(const HdDataSourceLocatorSet &locators)
This clears internal cached values and is currently called only by HdLegacyPrimSceneIndex in response...
TfTokenVector GetNames() override
Returns the list of names for which Get(...) is expected to return a non-null value.
static const HdDataSourceLocatorSet & GetCachedLocators()
Return which locators PrimDirtied will respond to...
HdDataSourceBaseHandle Get(const TfToken &name) override
Returns the child datasource of the given name.
Represents a set of data source locators closed under descendancy.
This is a data source which holds a legacy ext computation.
Interface class that defines the execution environment for the client to run a computation.
Adapter class providing data exchange with the client scene graph.
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
This file defines some macros that are useful for declaring and using static TfTokens.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
std::vector< TfToken > TfTokenVector
Convenience types.