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/collectionPredicateLibrary.h"
13#include "pxr/imaging/hd/filteringSceneIndex.h"
14#include "pxr/imaging/hdsi/api.h"
15#include "pxr/usd/sdf/pathTable.h"
19PXR_NAMESPACE_OPEN_SCOPE
29class HdsiRenderPassPruneSceneIndex :
36 static HdsiRenderPassPruneSceneIndexRefPtr
37 New(
const HdSceneIndexBaseRefPtr& inputSceneIndex,
44 static HdsiRenderPassPruneSceneIndexRefPtr
45 New(
const HdSceneIndexBaseRefPtr& inputSceneIndex);
54 HdsiRenderPassPruneSceneIndex(
55 const HdSceneIndexBaseRefPtr& inputSceneIndex,
59 ~HdsiRenderPassPruneSceneIndex()
override;
76 struct _RenderPassPruneState {
83 std::optional<HdCollectionExpressionEvaluator> pruneEval;
85 bool DoesPrune(
const SdfPath &primPath)
const;
90 void _UpdateActiveRenderPassState(
97 _RenderPassPruneState _activeRenderPass;
100 bool _hasPopulated =
false;
107 mutable InstanceToInstancerMap _instanceToInstancerMap;
108 mutable std::mutex _instancerMutex;
111PXR_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...
Represents a library of predicate functions for use with SdfPredicateExpression.
#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.