7 #ifndef PXR_IMAGING_HDSI_LIGHT_LINKING_SCENE_INDEX_H 8 #define PXR_IMAGING_HDSI_LIGHT_LINKING_SCENE_INDEX_H 11 #include "pxr/imaging/hdsi/api.h" 13 #include "pxr/imaging/hd/collectionExpressionEvaluator.h" 14 #include "pxr/imaging/hd/collectionPredicateLibrary.h" 15 #include "pxr/imaging/hd/filteringSceneIndex.h" 16 #include "pxr/usd/sdf/path.h" 23 PXR_NAMESPACE_OPEN_SCOPE
27 #define HDSI_LIGHT_LINKING_SCENE_INDEX_TOKENS \ 29 (lightFilterPrimTypes) \ 33 HDSI_LIGHT_LINKING_SCENE_INDEX_TOKENS);
35 namespace HdsiLightLinkingSceneIndex_Impl
38 using _CacheSharedPtr = std::shared_ptr<_Cache>;
84 static HdSceneIndexBaseRefPtr
85 New(
const HdSceneIndexBaseRefPtr &inputSceneIndex,
86 const HdContainerDataSourceHandle &inputArgs,
92 static HdSceneIndexBaseRefPtr
93 New(
const HdSceneIndexBaseRefPtr &inputSceneIndex,
94 const HdContainerDataSourceHandle &inputArgs);
110 const HdSceneIndexBaseRefPtr &inputSceneIndex,
111 const HdContainerDataSourceHandle &inputArgs,
130 void _ProcessAddedLightOrFilter(
135 bool _IsLight(
const TfToken &primType)
const;
136 bool _IsLightFilter(
const TfToken &primType)
const;
137 bool _IsGeometry(
const TfToken &primType)
const;
140 HdsiLightLinkingSceneIndex_Impl::_CacheSharedPtr
const _cache;
143 SdfPathSet _lightAndFilterPrimPaths;
155 PXR_NAMESPACE_CLOSE_SCOPE
Represents a library of predicate functions for use with SdfPredicateExpression.
HDSI_API SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const override
Returns the paths of all scene index prims located immediately below primPath.
Objects of this class represent a logical expression syntax tree consisting of SdfPathPattern s,...
Small struct representing a 'prim' in the Hydra scene index.
Token for efficient comparison, assignment, and hashing of known strings.
A notice indicating a prim of a given type was added to the scene.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Abstract interface to scene data.
nested point instancers is not yet supported.
std::vector< TfToken > TfTokenVector
Convenience types.
A path value used to locate objects in layers or scenegraphs.
HDSI_API HdSceneIndexPrim GetPrim(const SdfPath &primPath) const override
Returns a pair of (prim type, datasource).
This file defines some macros that are useful for declaring and using static TfTokens.
Evaluates SdfPathExpressions with prims from a given HdSceneIndex.
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...