7 #ifndef PXR_IMAGING_HD_PRIM_GATHER_H
8 #define PXR_IMAGING_HD_PRIM_GATHER_H
16 #include <tbb/enumerable_thread_specific.h>
17 #include <tbb/blocked_range.h>
130 , _includePath(includePath)
135 bool operator >(
const _PathFilter &other)
const {
136 return other._path < _path;
139 typedef std::vector<_PathFilter> _PathFilterArray;
157 typedef std::vector<_Range> _RangeArray;
158 typedef tbb::enumerable_thread_specific<_RangeArray> _ConcurrentRangeArray;
159 typedef tbb::blocked_range<size_t> _ConcurrentRange;
163 _PathFilterArray _filterList;
164 _RangeArray _gatheredRanges;
165 _ConcurrentRangeArray _resultRanges;
192 void *predicateParam);
196 _ConcurrentRange &
range,
198 void *predicateParam);
200 template <
class Iterator>
202 const Iterator &rangesBegin,
203 const Iterator &rangesEnd,
218 #endif // PXR_IMAGING_HD_PRIM_GATHER_H
GLsizei const GLchar *const * path
OIIO_FORCEINLINE vbool4 operator>(const vint4 &a, const vint4 &b)
std::vector< class SdfPath > SdfPathVector
bool(* FilterPredicateFn)(const SdfPath &path, const void *param)
HD_API void Subtree(const SdfPathVector &paths, const SdfPath &rootPath, SdfPathVector *results)
HD_API void Filter(const SdfPathVector &paths, const SdfPathVector &includePaths, const SdfPathVector &excludePaths, SdfPathVector *results)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
HD_API bool SubtreeAsRange(const SdfPathVector &paths, const SdfPath &rootPath, size_t *start, size_t *end)
HD_API void PredicatedFilter(const SdfPathVector &paths, const SdfPathVector &includePaths, const SdfPathVector &excludePaths, FilterPredicateFn predicateFn, void *predicateParam, SdfPathVector *results)