6#ifndef PXR_IMAGING_HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_H
7#define PXR_IMAGING_HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_H
11#include "pxr/imaging/hd/filteringSceneIndex.h"
12#include "pxr/imaging/hdsi/api.h"
13#include "pxr/usd/sdf/pathTable.h"
15PXR_NAMESPACE_OPEN_SCOPE
17#define HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_TOKENS \
20 (doNotPruneNonPrimPaths)
23 HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_TOKENS);
53 static HdsiPrimTypePruningSceneIndexRefPtr
54 New(HdSceneIndexBaseRefPtr
const &inputSceneIndex,
55 HdContainerDataSourceHandle
const &inputArgs);
70 const TfToken &GetBindingToken()
const {
return _bindingToken; }
89 HdSceneIndexBaseRefPtr
const &inputSceneIndex,
90 HdContainerDataSourceHandle
const &inputArgs);
96 bool _PruneType(
const TfToken &primType)
const;
98 bool _PrunePath(
const SdfPath &path)
const;
102 const bool _doNotPruneNonPrimPaths;
112PXR_NAMESPACE_CLOSE_SCOPE
Abstract interface to scene data.
Scene Index that prunes prims of given type (e.g., material) and (optionally) bindings to that prim t...
HDSI_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
Returns a pair of (prim type, datasource).
HDSI_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
Returns the paths of all scene index prims located immediately below primPath.
HDSI_API bool GetEnabled() const
Is scene index actually prunning?
HDSI_API void SetEnabled(bool)
Enable scene index to prune.
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...
Token for efficient comparison, assignment, and hashing of known strings.
#define TF_DECLARE_WEAK_AND_REF_PTRS(type)
Define standard weak, ref, and vector pointer types.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Small struct representing a 'prim' in the Hydra scene index.
std::vector< TfToken > TfTokenVector
Convenience types.