7 #ifndef PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H 
    8 #define PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H 
   19 #define HDSCENEINDEXPLUGINREGISTRY_TOKENS \ 
   20     ((rendererDisplayName, "__rendererDisplayName")) \ 
   42     template<
typename T, 
typename... Bases>
 
   52         const TfToken &sceneIndexPluginId,
 
   53         const HdSceneIndexBaseRefPtr &inputScene,
 
   54         const HdContainerDataSourceHandle &inputArgs,
 
   55         const std::string &renderInstanceId=std::string());
 
   74         const std::string &rendererDisplayName,
 
   75         const HdSceneIndexBaseRefPtr &inputScene,
 
   76         const std::string &renderInstanceId=std::string(),
 
   77         const std::string &appName=std::string());
 
   97         const std::string &rendererDisplayName,
 
   98         const TfToken &sceneIndexPluginId,
 
   99         const HdContainerDataSourceHandle &inputArgs,
 
  106             HdSceneIndexBaseRefPtr(
 
  107                 const std::string &renderInstanceId,
 
  108                 const HdSceneIndexBaseRefPtr &inputScene,
 
  109                 const HdContainerDataSourceHandle &inputArgs)>;
 
  130         const std::string &rendererDisplayName,
 
  132         const HdContainerDataSourceHandle &inputArgs,
 
  150     void _LoadPluginsForRenderer(
 
  151         const std::string &rendererDisplayName,
 
  152         const std::string &appName);
 
  158         _Entry(
const TfToken &sceneIndexPluginId,
 
  159                 const HdContainerDataSourceHandle &
args)
 
  160         : sceneIndexPluginId(sceneIndexPluginId)
 
  165                 const HdContainerDataSourceHandle &
args)
 
  171         HdContainerDataSourceHandle 
args;
 
  175     using _EntryList = std::vector<_Entry>;
 
  176     using _PhasesMap = std::map<InsertionPhase, _EntryList>;
 
  177     using _RenderersMap = std::map<std::string, _PhasesMap>;
 
  179     HdSceneIndexBaseRefPtr _AppendForPhases(
 
  180         const HdSceneIndexBaseRefPtr &inputScene,
 
  181         const _PhasesMap &phasesMap,
 
  182         const HdContainerDataSourceHandle &argsUnderlay,
 
  183         const std::string &renderInstanceId);
 
  185     _RenderersMap _sceneIndicesForRenderers;
 
  191     using _PreloadMap = std::map<std::string, TfTokenVector>;
 
  192     _PreloadMap _preloadsForRenderer;
 
  199     using _EnabledAppsMap = std::map<TfToken, std::set<std::string>>;
 
  200     _EnabledAppsMap _preloadAppsForPlugins;
 
  203 template<
typename T, 
typename... Bases>
 
  211 #endif // PXR_IMAGING_HD_SCENE_INDEX_PLUGIN_REGISTRY_H 
void _CollectAdditionalMetadata(const PlugRegistry &plugRegistry, const TfType &pluginType) override
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
HD_API HdSceneIndexBaseRefPtr AppendSceneIndicesForRenderer(const std::string &rendererDisplayName, const HdSceneIndexBaseRefPtr &inputScene, const std::string &renderInstanceId=std::string(), const std::string &appName=std::string())
std::function< HdSceneIndexBaseRefPtr(const std::string &renderInstanceId, const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs)> SceneIndexAppendCallback
HD_API HdSceneIndexBaseRefPtr AppendSceneIndex(const TfToken &sceneIndexPluginId, const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs, const std::string &renderInstanceId=std::string())
static HD_API HdSceneIndexPluginRegistry & GetInstance()
#define HDSCENEINDEXPLUGINREGISTRY_TOKENS
HD_API void RegisterSceneIndexForRenderer(const std::string &rendererDisplayName, const TfToken &sceneIndexPluginId, const HdContainerDataSourceHandle &inputArgs, InsertionPhase insertionPhase, InsertionOrder insertionOrder)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
TF_DECLARE_PUBLIC_TOKENS(HdSceneIndexPluginRegistryTokens, HD_API, HDSCENEINDEXPLUGINREGISTRY_TOKENS)
**If you just want to fire and args