24 #ifndef PXR_IMAGING_HD_PRIM_GATHER_H
25 #define PXR_IMAGING_HD_PRIM_GATHER_H
33 #include <tbb/enumerable_thread_specific.h>
34 #include <tbb/blocked_range.h>
104 void *predicateParam,
147 , _includePath(includePath)
152 bool operator >(
const _PathFilter &other)
const {
153 return other._path < _path;
156 typedef std::vector<_PathFilter> _PathFilterArray;
174 typedef std::vector<_Range> _RangeArray;
175 typedef tbb::enumerable_thread_specific<_RangeArray> _ConcurrentRangeArray;
176 typedef tbb::blocked_range<size_t> _ConcurrentRange;
180 _PathFilterArray _filterList;
181 _RangeArray _gatheredRanges;
182 _ConcurrentRangeArray _resultRanges;
209 void *predicateParam);
213 _ConcurrentRange &
range,
215 void *predicateParam);
217 template <
class Iterator>
219 const Iterator &rangesBegin,
220 const Iterator &rangesEnd,
235 #endif // PXR_IMAGING_HD_PRIM_GATHER_H
GLsizei const GLchar *const * path
OIIO_FORCEINLINE vbool4 operator>(const vint4 &a, const vint4 &b)
bool(* FilterPredicateFn)(const SdfPath &path, const void *param)
HD_API void Subtree(const SdfPathVector &paths, const SdfPath &rootPath, SdfPathVector *results)
std::vector< class SdfPath > SdfPathVector
A vector of SdfPaths.
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)