7#ifndef PXR_EXEC_VDF_SPARSE_INPUT_TRAVERSER_H
8#define PXR_EXEC_VDF_SPARSE_INPUT_TRAVERSER_H
14#include "pxr/exec/vdf/api.h"
20#include "pxr/base/tf/hashmap.h"
24PXR_NAMESPACE_OPEN_SCOPE
87 const VdfMaskedOutputVector &outputs,
112 const VdfMaskedOutputVector &outputs,
162 const VdfMaskedOutputVector &outputs,
172 class _PrioritizedOutput;
181 std::greater<VdfPoolChainIndex> > _PrioritizedOutputMap;
188 typedef TfHashMap<const VdfConnection *, VdfMask::Bits, TfHash>
192 struct _TraversalState;
195 static void _InitTraversal(
196 const VdfMaskedOutputVector &outputs,
197 _TraversalState *state,
201 static void _TraverseOutput(
202 _TraversalState *state,
203 const _StackFrame &frame,
213 static bool _NodePathCallbackAdapter(
218 return nodeCallback(node);
224 static bool _ConnectionPathCallbackAdapter(
230 return connectionCallback(connection, dependencyMask);
235PXR_NAMESPACE_CLOSE_SCOPE
A class that fully represents a connection between two VdfNodes.
A VdfMask is placed on connections to specify the data flowing through them.
This is the base class for all nodes in a VdfNetwork.
Opaque pool chain index type.
std::vector< VdfObjectPtr > VdfObjectPtrVector
An object vector.