HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sceneIndexPlugin.h
Go to the documentation of this file.
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"
15 
17 
20 
21 /// \class HdGpSceneIndexPlugin
22 ///
23 /// HdGpSceneIndexPlugin provides HdSceneIndexPluginRegistry access to
24 /// instantiate HdGpGenerativeProceduralResolvingSceneIndex either directly
25 /// or automatically via RegisterSceneIndexForRenderer.
26 ///
28 {
29 public:
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 
57 
58 #endif
#define HDGP_API
Definition: api.h:23
#define PXR_NAMESPACE_OPEN_SCOPE
Definition: pxr.h:73
HDGP_API HdGpSceneIndexPlugin()
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
HdSceneIndexBaseRefPtr _AppendSceneIndex(const HdSceneIndexBaseRefPtr &inputScene, const HdContainerDataSourceHandle &inputArgs) override
bool _IsEnabled(const HdContainerDataSourceHandle &inputArgs) const override
static const HdSceneIndexPluginRegistry::InsertionPhase GetInsertionPhase()
PXR_NAMESPACE_OPEN_SCOPE HDGP_API TfEnvSetting< bool > HDGP_INCLUDE_DEFAULT_RESOLVER