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"
26PXR_NAMESPACE_OPEN_SCOPE
30using 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;
105class UsdImagingAPISchemaAdapterFactory
106 :
public UsdImagingAPISchemaAdapterFactoryBase
109 virtual UsdImagingAPISchemaAdapterSharedPtr New()
const
111 return std::make_shared<T>();
115PXR_NAMESPACE_CLOSE_SCOPE
Represents a set of data source locators closed under descendancy.
Token for efficient comparison, assignment, and hashing of known strings.
Base class of all factory types.
Base class for all API schema adapters.
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...
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...
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...
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...
This class is used as a context object with global stage information, that gets passed down to dataso...
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
std::vector< TfToken > TfTokenVector
Convenience types.