7 #ifndef PXR_EXEC_EXEC_REQUEST_IMPL_H
8 #define PXR_EXEC_EXEC_REQUEST_IMPL_H
28 struct Exec_AttributeValueInvalidationResult;
30 struct Exec_DisconnectedInputsInvalidationResult;
31 struct Exec_MetadataInvalidationResult;
32 class Exec_TimeChangeInvalidationResult;
33 class Exec_ValueExtractor;
36 template <
typename>
class TfSpan;
53 const Exec_AttributeValueInvalidationResult &invalidationResult);
59 const Exec_MetadataInvalidationResult &invalidationResult);
65 const Exec_DisconnectedInputsInvalidationResult &invalidationResult);
74 const Exec_TimeChangeInvalidationResult &invalidationResult);
91 Exec_RequestImpl&
operator=(
const Exec_RequestImpl&) =
delete;
142 void _BuildLeafNodeToIndexMap();
147 void _InvalidateLeafOutputs(
148 bool isNewlyInvalidInterval,
157 std::vector<VdfMaskedOutput> _leafOutputs;
160 std::vector<Exec_ValueExtractor> _extractors;
167 std::unique_ptr<VdfRequest> _computeRequest;
170 std::unique_ptr<VdfSchedule> _schedule;
176 TfBits _lastInvalidatedIndices;
EXEC_API void _Compile(TfSpan< const ExecValueKey > valueKeys)
Compiles outputs for the value keys in the request.
#define PXR_NAMESPACE_OPEN_SCOPE
void DidChangeTime(const Exec_TimeChangeInvalidationResult &invalidationResult)
Notify the request of time having changed.
Fast bit array that keeps track of the number of bits set and can find the next set in a timely manne...
void DidInvalidateComputedValues(const Exec_AttributeValueInvalidationResult &invalidationResult)
EXEC_API Exec_CacheView _ComputeWithOverrides(ExecValueOverrideVector &&valueOverrides)
EXEC_API bool _RequiresCompilation() const
Contains a specification of how to execute a particular VdfNetwork.
EXEC_API Exec_RequestImpl(ExecSystem *system, ExecRequestComputedValueInvalidationCallback &&valueCallback, ExecRequestTimeChangeInvalidationCallback &&timeCallback)
EXEC_API Exec_CacheView _Compute()
Computes the value keys in the request.
EXEC_API void _Schedule()
Builds the schedule for the request.
std::function< void(const ExecRequestIndexSet &)> ExecRequestTimeChangeInvalidationCallback
EXEC_API ~Exec_RequestImpl()
Exec_RequestImpl & operator=(const Exec_RequestImpl &)=delete
void DidInvalidateUnknownValues()
EXEC_API void _ExpireIndices(const ExecRequestIndexSet &expired)
#define PXR_NAMESPACE_CLOSE_SCOPE
std::function< void(const ExecRequestIndexSet &, const class EfTimeInterval &)> ExecRequestComputedValueInvalidationCallback
std::vector< ExecValueOverride > ExecValueOverrideVector