7 #ifndef PXR_EXEC_VDF_SPARSE_OUTPUT_TRAVERSER_H
8 #define PXR_EXEC_VDF_SPARSE_OUTPUT_TRAVERSER_H
74 typedef std::function<
133 std::vector<int> rootIndices;
136 typedef std::vector<_CacheEntry> CacheEntries;
137 CacheEntries cacheEntries;
144 class _TraversalHelper;
152 using _TraversalCache =
156 _TraversalCache _cache;
159 using _CacheHistory = std::queue<_TraversalCache::iterator>;
163 _CacheHistory _cacheHistory;
VDF_API VdfSparseOutputTraverser(bool enableCaching=true)
static VDF_API void Traverse(const VdfMaskedOutputVector &outputs, const OutputCallback &outputCallback, const VdfNodeCallback &nodeCallback)
#define PXR_NAMESPACE_OPEN_SCOPE
std::function< bool(const VdfOutput &, const VdfMask &, const VdfInput *) > OutputCallback
VDF_API void InvalidateAll()
A VdfMask is placed on connections to specify the data flowing through them.
static const int MaxRequestsBeforeEviction
VDF_API void TraverseWithCaching(const VdfMaskedOutputVector &outputs, const OutputCallback &outputCallback, const VdfNodeCallback &nodeCallback)
std::function< void(const VdfNode &)> VdfNodeCallback
Type of callback used when processing nodes.
#define PXR_NAMESPACE_CLOSE_SCOPE
std::vector< VdfMaskedOutput > VdfMaskedOutputVector