7 #ifndef PXR_USD_IMAGING_USD_IMAGING_API_SCHEMA_ADAPTER_H 8 #define PXR_USD_IMAGING_USD_IMAGING_API_SCHEMA_ADAPTER_H 13 #include "pxr/usdImaging/usdImaging/api.h" 14 #include "pxr/usdImaging/usdImaging/version.h" 15 #include "pxr/usdImaging/usdImaging/types.h" 19 #include "pxr/imaging/hd/sceneIndex.h" 21 #include "pxr/base/tf/type.h" 26 PXR_NAMESPACE_OPEN_SCOPE
30 using UsdImagingAPISchemaAdapterSharedPtr =
31 std::shared_ptr<class UsdImagingAPISchemaAdapter>;
40 :
public std::enable_shared_from_this<UsdImagingAPISchemaAdapter>
57 TfToken const& appliedInstanceName);
69 TfToken const& appliedInstanceName);
82 TfToken const& appliedInstanceName,
92 TfToken const& appliedInstanceName,
94 UsdImagingPropertyInvalidationType invalidationType);
101 virtual UsdImagingAPISchemaAdapterSharedPtr New()
const = 0;
105 class UsdImagingAPISchemaAdapterFactory
106 :
public UsdImagingAPISchemaAdapterFactoryBase
109 virtual UsdImagingAPISchemaAdapterSharedPtr New()
const 111 return std::make_shared<T>();
115 PXR_NAMESPACE_CLOSE_SCOPE
virtual USDIMAGING_API HdDataSourceLocatorSet InvalidateImagingSubprim(UsdPrim const &prim, TfToken const &subprim, TfToken const &appliedInstanceName, TfTokenVector const &properties, UsdImagingPropertyInvalidationType invalidationType)
Given the names of USD properties which have changed, an adapter may provide a HdDataSourceLocatorSet...
Base class for all API schema adapters.
virtual USDIMAGING_API TfToken GetImagingSubprimType(UsdPrim const &prim, TfToken const &subprim, TfToken const &appliedInstanceName)
Called to determine whether an API schema specifies the hydra type of a given prim previously defined...
Base class of all factory types.
Token for efficient comparison, assignment, and hashing of known strings.
This class is used as a context object with global stage information, that gets passed down to dataso...
virtual USDIMAGING_API HdContainerDataSourceHandle GetImagingSubprimData(UsdPrim const &prim, TfToken const &subprim, TfToken const &appliedInstanceName, const UsdImagingDataSourceStageGlobals &stageGlobals)
Returns an HdContainerDataSourceHandle representing the API schema's contributions to the primary pri...
Represents a set of data source locators closed under descendancy.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
std::vector< TfToken > TfTokenVector
Convenience types.
virtual USDIMAGING_API TfTokenVector GetImagingSubprims(UsdPrim const &prim, TfToken const &appliedInstanceName)
Called to determine whether an API schema defines additional child hydra prims beyond the primary hyd...