HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nodeIdentifierResolvingSceneIndex.h
Go to the documentation of this file.
1 //
2 // Copyright 2025 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 #ifndef PXR_IMAGING_HD_SI_NODE_IDENTIFIER_RESOLVING_SCENE_INDEX_H
7 #define PXR_IMAGING_HD_SI_NODE_IDENTIFIER_RESOLVING_SCENE_INDEX_H
8 
10 #include "pxr/imaging/hdsi/api.h"
11 
12 #include "pxr/pxr.h"
13 
15 
17 
18 /// Scene index that converts the <sourceType>:sourceAsset info into a
19 /// nodeType (nodeIdentifier).
22 {
23 public:
24 
25  /// Construct a new instance of HdSiNodeIdentifierResolvingSceneIndex.
26  /// \p sourceType indicates the type of the shader's source or its
27  /// implementation, e.g. OSL, glslfx, riCpp etc. . .
28  /// See also: UsdShadeNodeDefAPI for more details about sourceType.
29  HDSI_API
30  static
31  HdSiNodeIdentifierResolvingSceneIndexRefPtr
32  New(HdSceneIndexBaseRefPtr const &inputSceneIndex,
33  const TfToken &sourceType);
34 
35  HDSI_API
37 
38 protected: // HdMaterialFilteringSceneIndexBase overrides
39  HDSI_API
40  FilteringFnc _GetFilteringFunction() const override;
41 
42 private:
44  HdSceneIndexBaseRefPtr const &inputSceneIndex,
45  const TfToken &sourceType);
46 
47  TfToken _sourceType;
48 };
49 
51 
52 #endif
Definition: token.h:70
HDSI_API FilteringFnc _GetFilteringFunction() const override
static HDSI_API HdSiNodeIdentifierResolvingSceneIndexRefPtr New(HdSceneIndexBaseRefPtr const &inputSceneIndex, const TfToken &sourceType)
#define HDSI_API
Definition: api.h:23
PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_REF_PTRS(HdSiNodeIdentifierResolvingSceneIndex)
HDSI_API ~HdSiNodeIdentifierResolvingSceneIndex() override
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
std::function< void(HdMaterialNetworkInterface *)> FilteringFnc