HDK
|
#include <dataSourceMapped.h>
Classes | |
struct | AttributeMapping |
struct | PropertyMappingBase |
class | PropertyMappings |
struct | RelationshipMapping |
Public Types | |
using | DataSourceAttributeFactory = HdSampledDataSourceHandle(const UsdAttribute &, const UsdImagingDataSourceStageGlobals &, const SdfPath &, const HdDataSourceLocator &) |
using | DataSourceAttributeFactoryFn = std::function< DataSourceAttributeFactory > |
using | DataSourceAttributeFactoryPtr = DataSourceAttributeFactory * |
using | DataSourceRelationshipFactory = HdDataSourceBaseHandle(const UsdRelationship &, const UsdImagingDataSourceStageGlobals &, const SdfPath &, const HdDataSourceLocator &) |
using | DataSourceRelationshipFactoryFn = std::function< DataSourceRelationshipFactory > |
using | DataSourceRelationshipFactoryPtr = DataSourceRelationshipFactory * |
using | PropertyMapping = std::variant< AttributeMapping, RelationshipMapping > |
Public Member Functions | |
HD_DECLARE_DATASOURCE (UsdImagingDataSourceMapped) | |
USDIMAGING_API TfTokenVector | GetNames () override |
USDIMAGING_API HdDataSourceBaseHandle | Get (const TfToken &name) override |
USDIMAGING_API | ~UsdImagingDataSourceMapped () override |
![]() | |
HD_DECLARE_DATASOURCE_ABSTRACT (HdContainerDataSource) | |
![]() | |
virtual HD_API | ~HdDataSourceBase ()=0 |
Static Public Member Functions | |
static USDIMAGING_API const DataSourceRelationshipFactoryFn & | GetPathFromRelationshipDataSourceFactory () |
static USDIMAGING_API const DataSourceRelationshipFactoryFn & | GetPathArrayFromRelationshipDataSourceFactory () |
static USDIMAGING_API HdDataSourceLocatorSet | Invalidate (const TfTokenVector &usdNames, const PropertyMappings &mappings) |
![]() | |
static HD_API HdDataSourceBaseHandle | Get (const Handle &container, const HdDataSourceLocator &locator) |
A data source that is a (potentially nested) container for the values of the attributes of a given UsdPrim.
That is, this container data source contains HdSampledDataSource
s giving the value of an attribute, either directly or in a nested fashion by containing container data sources itself.
The mapping of attributes to locations in the (nested) container data source can be specified through AttributeMapping. These locations are relative to the UsdImagingDataSourceMapped itself. To compute the correct data source locators for invalidation purposes, the location of the UsdImagingDataSourceMapped needs to be given to AttributeMappings so that absolute locators (that is relative to the prim data source) can be computed.
Definition at line 43 of file dataSourceMapped.h.
using UsdImagingDataSourceMapped::DataSourceAttributeFactory = HdSampledDataSourceHandle(const UsdAttribute &, const UsdImagingDataSourceStageGlobals &, const SdfPath &, const HdDataSourceLocator &) |
Signature of function to compute data source from attribute.
This could be generalized to HdDataSourceBaseHandle but we use HdSampledDataSourceHandle as result instead so that we can use the UsdImagingDataSourceAttributeNew function pointer.
Definition at line 75 of file dataSourceMapped.h.
using UsdImagingDataSourceMapped::DataSourceAttributeFactoryFn = std::function<DataSourceAttributeFactory> |
Definition at line 77 of file dataSourceMapped.h.
Definition at line 79 of file dataSourceMapped.h.
using UsdImagingDataSourceMapped::DataSourceRelationshipFactory = HdDataSourceBaseHandle(const UsdRelationship &, const UsdImagingDataSourceStageGlobals &, const SdfPath &, const HdDataSourceLocator &) |
Definition at line 103 of file dataSourceMapped.h.
using UsdImagingDataSourceMapped::DataSourceRelationshipFactoryFn = std::function<DataSourceRelationshipFactory> |
Definition at line 105 of file dataSourceMapped.h.
using UsdImagingDataSourceMapped::DataSourceRelationshipFactoryPtr = DataSourceRelationshipFactory * |
Definition at line 107 of file dataSourceMapped.h.
using UsdImagingDataSourceMapped::PropertyMapping = std::variant<AttributeMapping, RelationshipMapping> |
Definition at line 128 of file dataSourceMapped.h.
|
override |
|
overridevirtual |
Returns the child datasource of the given name. This call is expected to be threadsafe.
Implements HdContainerDataSource.
|
overridevirtual |
Returns the list of names for which Get
(...) is expected to return a non-null value. This call is expected to be threadsafe.
Implements HdContainerDataSource.
|
static |
|
static |
UsdImagingDataSourceMapped::HD_DECLARE_DATASOURCE | ( | UsdImagingDataSourceMapped | ) |
|
static |