24 #ifndef PXR_IMAGING_HD_PLUGIN_RENDER_DELEGATE_UNIQUE_HANDLE_H 25 #define PXR_IMAGING_HD_PLUGIN_RENDER_DELEGATE_UNIQUE_HANDLE_H 28 #include "pxr/imaging/hd/api.h" 29 #include "pxr/imaging/hd/rendererPluginHandle.h" 33 PXR_NAMESPACE_OPEN_SCOPE
35 class HdRenderDelegate;
52 : _delegate(
nullptr) { }
68 const std::nullptr_t &);
71 HdRenderDelegate *
Get()
const {
return _delegate; }
73 HdRenderDelegate *operator->()
const {
return _delegate; }
74 HdRenderDelegate &operator*()
const {
return *_delegate; }
77 explicit operator bool()
const {
return _delegate; }
88 : _plugin(plugin), _delegate(delegate) { }
91 HdRenderDelegate *_delegate;
94 PXR_NAMESPACE_CLOSE_SCOPE
This class defines a renderer plugin interface for Hydra.
A (movable) handle for a render delegate that was created using a a plugin.
HD_API TfToken GetPluginId() const
Get the id of the plugin used to create render delegate.
HD_API HdPluginRenderDelegateUniqueHandle & operator=(HdPluginRenderDelegateUniqueHandle &&)
Transfer ownership.
Token for efficient comparison, assignment, and hashing of known strings.
A handle for HdRendererPlugin also storing the plugin id.
HdRenderDelegate * Get() const
Get render delegate.