23#ifndef PXR_IMAGING_HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_H
24#define PXR_IMAGING_HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_H
28#include "pxr/imaging/hd/filteringSceneIndex.h"
29#include "pxr/imaging/hdsi/api.h"
30#include "pxr/usd/sdf/pathTable.h"
32PXR_NAMESPACE_OPEN_SCOPE
34#define HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_TOKENS \
37 (doNotPruneNonPrimPaths)
40 HDSI_PRIM_TYPE_PRUNING_SCENE_INDEX_TOKENS);
67 static HdsiPrimTypePruningSceneIndexRefPtr
68 New(HdSceneIndexBaseRefPtr
const &inputSceneIndex,
69 HdContainerDataSourceHandle
const &inputArgs);
84 const TfToken &GetBindingToken()
const {
return _bindingToken; }
103 HdSceneIndexBaseRefPtr
const &inputSceneIndex,
104 HdContainerDataSourceHandle
const &inputArgs);
110 bool _PruneType(
const TfToken &primType)
const;
112 bool _PrunePath(
const SdfPath &path)
const;
116 const bool _doNotPruneNonPrimPaths;
126PXR_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) for the object at primPath.
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.