6#ifndef PXR_IMAGING_HDSI_RENDER_PASS_PRUNE_SCENE_INDEX_H
7#define PXR_IMAGING_HDSI_RENDER_PASS_PRUNE_SCENE_INDEX_H
10#if PXR_VERSION >= 2408
11#include "pxr/imaging/hd/collectionExpressionEvaluator.h"
12#include "pxr/imaging/hd/filteringSceneIndex.h"
13#include "pxr/imaging/hdsi/api.h"
14#include "pxr/usd/sdf/pathTable.h"
18PXR_NAMESPACE_OPEN_SCOPE
28class HdsiRenderPassPruneSceneIndex :
33 static HdsiRenderPassPruneSceneIndexRefPtr
34 New(
const HdSceneIndexBaseRefPtr& inputSceneIndex);
43 HdsiRenderPassPruneSceneIndex(
44 const HdSceneIndexBaseRefPtr& inputSceneIndex);
46 ~HdsiRenderPassPruneSceneIndex()
override;
63 struct _RenderPassPruneState {
70 std::optional<HdCollectionExpressionEvaluator> pruneEval;
72 bool DoesPrune(
const SdfPath &primPath)
const;
77 void _UpdateActiveRenderPassState(
82 _RenderPassPruneState _activeRenderPass;
85 bool _hasPopulated =
false;
92 mutable InstanceToInstancerMap _instanceToInstancerMap;
93 mutable std::mutex _instancerMutex;
96PXR_NAMESPACE_CLOSE_SCOPE
Abstract interface to scene data.
virtual SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const =0
Returns the paths of all scene index prims located immediately below primPath.
virtual HdSceneIndexPrim GetPrim(const SdfPath &primPath) const =0
Returns a pair of (prim type, datasource).
Objects of this class represent a logical expression syntax tree consisting of SdfPathPattern s,...
A path value used to locate objects in layers or scenegraphs.
A mapping from SdfPath to MappedType, somewhat similar to map<SdfPath, MappedType> and TfHashMap<SdfP...
#define TF_DECLARE_WEAK_AND_REF_PTRS(type)
Define standard weak, ref, and vector pointer types.
Small struct representing a 'prim' in the Hydra scene index.