![]() |
|
A container data source created from a Usd schema and optionally some of its base classes which accesses the attributes on the underlying Usd prim performing translation between the Usd attribute name and the key in the container data source (for implementing Get) or the data source locator (for implementing Invalidate). More...
#include <dataSourceSchemaBased.h>
Public Types | |
using | This = UsdImagingDataSourceSchemaBased< UsdSchemaType, UsdSchemaBaseTypes, Translator > |
Public Member Functions | |
HD_DECLARE_DATASOURCE (This) | |
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. | |
![]() | |
HD_DECLARE_DATASOURCE_ABSTRACT (HdContainerDataSource) | |
virtual TfTokenVector | GetNames ()=0 |
Returns the list of names for which Get(...) is expected to return a non-null value. | |
virtual HdDataSourceBaseHandle | Get (const TfToken &name)=0 |
Returns the child datasource of the given name. | |
Static Public Member Functions | |
static HdDataSourceLocatorSet | Invalidate (const TfToken &subprim, const TfTokenVector &usdNames) |
Translate usdNames to data source locators. | |
![]() | |
static HD_API HdDataSourceBaseHandle | Get (const Handle &container, const HdDataSourceLocator &locator) |
A convenience function: given container , return the descendant identified by locator , which may be at any depth. | |
A container data source created from a Usd schema and optionally some of its base classes which accesses the attributes on the underlying Usd prim performing translation between the Usd attribute name and the key in the container data source (for implementing Get) or the data source locator (for implementing Invalidate).
The translation starts by taking the non-inherited attributes from the the given UsdSchemaType (e.g., UsdGeomSphere) and the given UsdSchemaBaseTypes and calling Translator::UsdAttributeNameToHdName(usdAttributeName) which can either return the corresponding hydra token or an empty token if the usd attribute should not occur in the data source.
UsdSchemaBaseTypes is a std::tuple of the base schema types that should also be considered and can be std::tuple<> if there is no base schema or no attribute of a base schema should be included.
The data source locator (relevant for invalidation) will be created by appending the hydra token to the data source locator returned by Translator::GetContainerLocator().
Definition at line 65 of file dataSourceSchemaBased.h.
using This = UsdImagingDataSourceSchemaBased< UsdSchemaType, UsdSchemaBaseTypes, Translator> |
Definition at line 68 of file dataSourceSchemaBased.h.
|
overridevirtual |
Returns the child datasource of the given name.
This call is expected to be threadsafe.
Implements HdContainerDataSource.
Definition at line 196 of file dataSourceSchemaBased.h.
|
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.
Definition at line 184 of file dataSourceSchemaBased.h.
|
static |
Translate usdNames to data source locators.
Definition at line 228 of file dataSourceSchemaBased.h.