extComputationPrimvarPruningSceneIndex.h
1 
2 //
3 // Copyright 2022 Pixar
4 //
5 // Licensed under the terms set forth in the LICENSE.txt file available at
6 // https://openusd.org/license.
7 //
8 // XXX change directive
9 #ifndef PXR_IMAGING_HDSI_EXT_COMPUTATION_PRIMVAR_PRUNING_SCENE_INDEX_H
10 #define PXR_IMAGING_HDSI_EXT_COMPUTATION_PRIMVAR_PRUNING_SCENE_INDEX_H
11 
12 #include "pxr/imaging/hdsi/api.h"
13 #include "pxr/imaging/hd/filteringSceneIndex.h"
14 
15 PXR_NAMESPACE_OPEN_SCOPE
16 
18 
37 {
38 public:
39  HDSI_API
40  static HdSiExtComputationPrimvarPruningSceneIndexRefPtr
41  New(const HdSceneIndexBaseRefPtr &inputSceneIndex);
42 
43  HDSI_API
44  HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override final;
45 
46  HDSI_API
47  SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override final;
48 
49 protected:
50  HDSI_API
51  void _PrimsAdded(
52  const HdSceneIndexBase &sender,
53  const HdSceneIndexObserver::AddedPrimEntries &entries) override final;
54 
55  HDSI_API
56  void _PrimsRemoved(
57  const HdSceneIndexBase &sender,
58  const HdSceneIndexObserver::RemovedPrimEntries &entries) override final;
59 
60  HDSI_API
61  void _PrimsDirtied(
62  const HdSceneIndexBase &sender,
63  const HdSceneIndexObserver::DirtiedPrimEntries &entries) override final;
64 
65  HDSI_API
67  const HdSceneIndexBaseRefPtr &inputSceneIndex);
68 
69 };
70 
71 PXR_NAMESPACE_CLOSE_SCOPE
72 
73 #endif //PXR_IMAGING_HDSI_EXT_COMPUTATION_PRIMVAR_PRUNING_SCENE_INDEX_H
An abstract base class for a filtering scene index that observes a single input scene index.
HDSI_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override final
Returns a pair of (prim type, datasource).
#define TF_DECLARE_WEAK_AND_REF_PTRS(type)
Define standard weak, ref, and vector pointer types.
Definition: declarePtrs.h:72
Small struct representing a 'prim' in the Hydra scene index.
Definition: sceneIndex.h:35
Abstract interface to scene data.
Definition: sceneIndex.h:54
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:280
Hydra ExtComputations provide a simple computation framework allowing primvars to be computed using C...
HDSI_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override final
Returns the paths of all scene index prims located immediately below primPath.