24 #ifndef PXR_USD_IMAGING_USD_IMAGING_ADAPTER_REGISTRY_H 25 #define PXR_USD_IMAGING_USD_IMAGING_ADAPTER_REGISTRY_H 30 #include "pxr/usdImaging/usdImaging/api.h" 34 #include "pxr/base/tf/type.h" 36 #include <unordered_map> 38 PXR_NAMESPACE_OPEN_SCOPE
42 using UsdImagingPrimAdapterSharedPtr = std::shared_ptr<UsdImagingPrimAdapter>;
45 using UsdImagingAPISchemaAdapterSharedPtr =
46 std::shared_ptr<UsdImagingAPISchemaAdapter>;
48 #define USD_IMAGING_ADAPTER_KEY_TOKENS \ 49 ((instanceAdapterKey, "__instanceAdapter")) \ 50 ((drawModeAdapterKey, "__drawModeAdapter")) \ 54 USD_IMAGING_ADAPTER_KEY_TOKENS);
67 typedef std::unordered_map<TfToken,TfType,TfToken::HashFunctor> _TypeMap;
70 _TypeMap _apiSchemaTypeMap;
73 template <
typename T,
typename factoryT>
74 std::shared_ptr<T> _ConstructAdapter(
75 TfToken const& adapterKey,
const _TypeMap &tm);
134 PXR_NAMESPACE_CLOSE_SCOPE
136 #endif //PXR_USD_IMAGING_USD_IMAGING_ADAPTER_REGISTRY_H Manage a single instance of an object.
Manage a single instance of an object (see.
USDIMAGING_API const TfTokenVector & GetAPISchemaAdapterKeys()
Returns the set of api schema adapter keys this class responds to; i.e.
Base class for all API schema adapters.
Token for efficient comparison, assignment, and hashing of known strings.
USDIMAGING_API bool HasAdapter(TfToken const &adapterKey)
Returns true if an adapter has been registered to handle the given adapterKey.
Base class for all PrimAdapters.
USDIMAGING_API UsdImagingPrimAdapterSharedPtr ConstructAdapter(TfToken const &adapterKey)
Returns a new instance of the UsdImagingPrimAdapter that has been registered to handle the given adap...
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
USDIMAGING_API const TfTokenVector & GetAdapterKeys()
Returns the set of adapter keys this class responds to; i.e.
std::vector< TfToken > TfTokenVector
Convenience types.
static T & GetInstance()
Return a reference to an object of type T, creating it if necessary.
USDIMAGING_API UsdImagingAPISchemaAdapterSharedPtr ConstructAPISchemaAdapter(TfToken const &adapterKey)
Returns a new instance of the UsdImagingAPISchemaAdapter that has been registered to handle the given...
This file defines some macros that are useful for declaring and using static TfTokens.
Registry of PrimAdapter plug-ins.
static USDIMAGING_API bool AreExternalPluginsEnabled()
Returns true if external plugins are enabled.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
USDIMAGING_API bool HasAPISchemaAdapter(TfToken const &adapterKey)
Returns true if an api schema adapter has been registered to handle the given adapterKey.