HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UsdImagingDataSourceMapped Class Reference

#include <dataSourceMapped.h>

+ Inheritance diagram for UsdImagingDataSourceMapped:

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
 
- Public Member Functions inherited from HdContainerDataSource
 HD_DECLARE_DATASOURCE_ABSTRACT (HdContainerDataSource)
 
- Public Member Functions inherited from HdDataSourceBase
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 Public Member Functions inherited from HdContainerDataSource
static HD_API
HdDataSourceBaseHandle 
Get (const Handle &container, const HdDataSourceLocator &locator)
 

Detailed Description

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 HdSampledDataSources 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.

Member Typedef Documentation

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.

Definition at line 103 of file dataSourceMapped.h.

Constructor & Destructor Documentation

USDIMAGING_API UsdImagingDataSourceMapped::~UsdImagingDataSourceMapped ( )
override

Member Function Documentation

USDIMAGING_API HdDataSourceBaseHandle UsdImagingDataSourceMapped::Get ( const TfToken name)
overridevirtual

Returns the child datasource of the given name. This call is expected to be threadsafe.

Implements HdContainerDataSource.

USDIMAGING_API TfTokenVector UsdImagingDataSourceMapped::GetNames ( )
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 USDIMAGING_API const DataSourceRelationshipFactoryFn& UsdImagingDataSourceMapped::GetPathArrayFromRelationshipDataSourceFactory ( )
static
static USDIMAGING_API const DataSourceRelationshipFactoryFn& UsdImagingDataSourceMapped::GetPathFromRelationshipDataSourceFactory ( )
static
UsdImagingDataSourceMapped::HD_DECLARE_DATASOURCE ( UsdImagingDataSourceMapped  )
static USDIMAGING_API HdDataSourceLocatorSet UsdImagingDataSourceMapped::Invalidate ( const TfTokenVector usdNames,
const PropertyMappings mappings 
)
static

The documentation for this class was generated from the following file: