sceneIndexPlugin.h
1 //
2 // Copyright 2022 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HD_GP_SCENE_INDEX_PLUGIN_H
8 #define PXR_IMAGING_HD_GP_SCENE_INDEX_PLUGIN_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hdGp/api.h"
12 #include "pxr/base/tf/envSetting.h"
13 #include "pxr/imaging/hd/sceneIndexPlugin.h"
14 #include "pxr/imaging/hd/sceneIndexPluginRegistry.h"
15 
16 PXR_NAMESPACE_OPEN_SCOPE
17 
18 HDGP_API
19 extern TfEnvSetting<bool> HDGP_INCLUDE_DEFAULT_RESOLVER;
20 
28 {
29 public:
30  static const HdSceneIndexPluginRegistry::InsertionPhase
31  GetInsertionPhase()
32  {
33  // XXX Until we have a better way to declare ordering/dependencies b/w
34  // scene index plugins, allow plugins to run before and after this
35  // plugin (i.e., don't use 0).
36  return 2;
37  }
38 
39  HDGP_API
41 
42 protected:
43  HdSceneIndexBaseRefPtr _AppendSceneIndex(
44  const HdSceneIndexBaseRefPtr &inputScene,
45  const HdContainerDataSourceHandle &inputArgs) override;
46 
47  bool _IsEnabled(
48  const HdContainerDataSourceHandle &inputArgs) const override;
49 
50 private:
51  HdSceneIndexBaseRefPtr _AppendProceduralResolvingSceneIndex(
52  const HdSceneIndexBaseRefPtr &inputScene,
53  const HdContainerDataSourceHandle &inputArgs);
54 };
55 
56 PXR_NAMESPACE_CLOSE_SCOPE
57 
58 #endif
HdSceneIndexBaseRefPtr _AppendSceneIndex(const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs) override
Subclasses implement this to instantiate one or more scene indicies which take the provided scene as ...
HdGpSceneIndexPlugin provides HdSceneIndexPluginRegistry access to instantiate HdGpGenerativeProcedur...
Environment setting variable.
A scene index plugin bundles one or more (typically filtering) scene indices together and enables the...
bool _IsEnabled(const HdContainerDataSourceHandle &inputArgs) const override
Subclasses implement this to indicate whether the plugin is enabled.