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"
16PXR_NAMESPACE_OPEN_SCOPE
26class HdsiRenderPassPruneSceneIndex :
31 static HdsiRenderPassPruneSceneIndexRefPtr
32 New(
const HdSceneIndexBaseRefPtr& inputSceneIndex);
41 HdsiRenderPassPruneSceneIndex(
42 const HdSceneIndexBaseRefPtr& inputSceneIndex);
44 ~HdsiRenderPassPruneSceneIndex()
override;
61 struct _RenderPassPruneState {
68 std::optional<HdCollectionExpressionEvaluator> pruneEval;
70 bool DoesPrune(
const SdfPath &primPath)
const;
75 void _UpdateActiveRenderPassState(
80 _RenderPassPruneState _activeRenderPass;
83 bool _hasPopulated =
false;
86PXR_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.
#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.