Loading...
Searching...
No Matches
evaluationState.h
Go to the documentation of this file.
1//
2// Copyright 2025 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_EXEC_VDF_EVALUATION_STATE_H
8#define PXR_EXEC_VDF_EVALUATION_STATE_H
9
11
12#include "pxr/pxr.h"
13
14#include "pxr/exec/vdf/api.h"
15#include <string>
16
17PXR_NAMESPACE_OPEN_SCOPE
18
21class VdfNode;
22class VdfSchedule;
23
30{
31public:
32
36 const VdfExecutorInterface &executor,
37 const VdfSchedule &schedule,
38 VdfExecutorErrorLogger *errorLogger) :
39 _executor(executor),
40 _schedule(schedule),
41 _errorLogger(errorLogger)
42 {}
43
47 return _executor;
48 }
49
52 const VdfSchedule &GetSchedule() const {
53 return _schedule;
54 }
55
59 return _errorLogger;
60 }
61
64 VDF_API
66 const VdfNode &node,
67 const std::string &warning) const;
68
69private:
70
71 // The executor that created this object.
72 const VdfExecutorInterface &_executor;
73
74 // The current schedule.
75 const VdfSchedule &_schedule;
76
77 // The error logger.
78 VdfExecutorErrorLogger *_errorLogger;
79
80};
81
82PXR_NAMESPACE_CLOSE_SCOPE
83
84#endif
This object holds state that remains persistent during one round of network evaluation.
VDF_API void LogWarning(const VdfNode &node, const std::string &warning) const
Logs an execution warning to the executor error logger.
VdfEvaluationState(const VdfExecutorInterface &executor, const VdfSchedule &schedule, VdfExecutorErrorLogger *errorLogger)
Constructor.
VdfExecutorErrorLogger * GetErrorLogger() const
The executor error logger.
const VdfSchedule & GetSchedule() const
The schedule used for evaluation.
const VdfExecutorInterface & GetExecutor() const
The executor used for evaluation.
A client may instantiate an object of this class and set it in an executor, to collect errors that ma...
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values.
This is the base class for all nodes in a VdfNetwork.
Definition: node.h:53
Contains a specification of how to execute a particular VdfNetwork.
Definition: schedule.h:41