All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdSceneIndexPluginRegistry Class Referencefinal

#include <sceneIndexPluginRegistry.h>

+ Inheritance diagram for HdSceneIndexPluginRegistry:

Public Types

enum  InsertionOrder { InsertionOrderAtStart, InsertionOrderAtEnd }
using InsertionPhase = unsigned int

Public Member Functions

HD_API HdSceneIndexBaseRefPtr AppendSceneIndex (const TfToken &sceneIndexPluginId, const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs)
HD_API HdSceneIndexBaseRefPtr AppendSceneIndicesForRenderer (const std::string &rendererDisplayName, const HdSceneIndexBaseRefPtr &inputScene)
HD_API void RegisterSceneIndexForRenderer (const std::string &rendererDisplayName, const TfToken &sceneIndexPluginId, const HdContainerDataSourceHandle &inputArgs, InsertionPhase insertionPhase, InsertionOrder insertionOrder)
- Public Member Functions inherited from HfPluginRegistry
HF_API void GetPluginDescs (HfPluginDescVector *plugins)
HF_API bool GetPluginDesc (const TfToken &pluginId, HfPluginDesc *desc)
HF_API void AddPluginReference (HfPluginBase *plugin)
HF_API void ReleasePlugin (HfPluginBase *plugin)
HF_API bool IsRegisteredPlugin (const TfToken &pluginId)
HF_API TfToken GetPluginId (const HfPluginBase *plugin) const

Static Public Member Functions

static HD_API
GetInstance ()
template<typename T , typename... Bases>
static void Define ()

Protected Member Functions

void _CollectAdditionalMetadata (const PlugRegistry &plugRegistry, const TfType &pluginType) override
- Protected Member Functions inherited from HfPluginRegistry
HF_API HfPluginRegistry (const TfType &pluginBaseType)
virtual HF_API ~HfPluginRegistry ()
HF_API HfPluginBaseGetPlugin (const TfToken &pluginId)


class TfSingleton< HdSceneIndexPluginRegistry >

Additional Inherited Members

- Static Protected Member Functions inherited from HfPluginRegistry
template<typename T , typename PluginBaseType , typename... Bases>
static void Define ()

Detailed Description

Definition at line 47 of file sceneIndexPluginRegistry.h.

Member Typedef Documentation

Definition at line 91 of file sceneIndexPluginRegistry.h.

Member Enumeration Documentation


Definition at line 85 of file sceneIndexPluginRegistry.h.

Member Function Documentation

void HdSceneIndexPluginRegistry::_CollectAdditionalMetadata ( const PlugRegistry plugRegistry,
const TfType pluginType 

Gives subclasses an opportunity to inspect plugInfo-based metadata at the time of discovery.

Reimplemented from HfPluginRegistry.

HD_API HdSceneIndexBaseRefPtr HdSceneIndexPluginRegistry::AppendSceneIndex ( const TfToken sceneIndexPluginId,
const HdSceneIndexBaseRefPtr &  inputScene,
const HdContainerDataSourceHandle &  inputArgs 

Given a specific scene index plug-in id, give the plug-in a chance to add scene indices to the end of the chain. Return value is the last scene index – or inputScene if the plug-in chooses not to act. Input arguments may be nullptr if not relevant to this plug-in.

HD_API HdSceneIndexBaseRefPtr HdSceneIndexPluginRegistry::AppendSceneIndicesForRenderer ( const std::string rendererDisplayName,
const HdSceneIndexBaseRefPtr &  inputScene 

Append scene indices generated by plug-ins registered (via RegisterSceneIndexForRenderer) for this renderer. Return value is the last scene index – or inputScene if no plugins are registered or taking action. This also includes plug-ins registered for all renderers (via an empty rendererDisplayName) to be added in advance of any registered for the specified rendeer.

template<typename T , typename... Bases>
void HdSceneIndexPluginRegistry::Define ( )

Entry point for defining an HdSceneIndexPlugin plugin.

Definition at line 156 of file sceneIndexPluginRegistry.h.

static HD_API HdSceneIndexPluginRegistry& HdSceneIndexPluginRegistry::GetInstance ( )

Returns the singleton registry for HdSceneIndexPlugin

HD_API void HdSceneIndexPluginRegistry::RegisterSceneIndexForRenderer ( const std::string rendererDisplayName,
const TfToken sceneIndexPluginId,
const HdContainerDataSourceHandle &  inputArgs,
InsertionPhase  insertionPhase,
InsertionOrder  insertionOrder 

Register a scene index to be instantiated whenever a specified renderer (or all renderers if rendererDisplayName is empty).

Insertion phase is a broad ordering value with lower values indicating earlier instantiation (possibly given render plugin-specific meaning via enum values). Insertion order indicates whether this entry should go at the start or end of the specified phase.

Friends And Related Function Documentation

Definition at line 115 of file sceneIndexPluginRegistry.h.

The documentation for this class was generated from the following file: