HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nodeProcessInvalidationInterface.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_NODE_PROCESS_INVALIDATION_INTERFACE_H
8 #define PXR_EXEC_VDF_NODE_PROCESS_INVALIDATION_INTERFACE_H
9 
10 /// \file
11 
12 #include "pxr/pxr.h"
13 
14 #include "pxr/exec/vdf/api.h"
15 #include "pxr/exec/vdf/types.h"
16 
18 
20 class VdfInputSpecs;
21 class VdfNetwork;
22 
23 /// \class VdfNodeProcessInvalidationInterface
24 ///
25 /// Interface class for nodes that receive notification about input invalidation
26 /// via a virtual method.
27 ///
29 {
30 public:
31  /// Process invalidation on all the nodes contained in the inputs sets.
32  ///
33  VDF_API
34  static void ProcessInvalidation(
35  const VdfExecutorInterface *executor,
36  const VdfNodeToInputPtrVectorMap &inputs);
37 
38  /// Process invalidation on the specified node via the given inputs.
39  ///
40  VDF_API
41  static void ProcessInvalidation(
42  const VdfExecutorInterface *executor,
44  const VdfInputPtrVector &inputs);
45 
46 protected:
47 
48  /// The invalidation callback on this node.
49  ///
50  virtual void _ProcessInvalidation(
51  const VdfInputPtrVector *inputs,
52  const VdfExecutorInterface *executor) const = 0;
53 
54  /// Process invalidation for one entry in the map.
55  ///
56  VDF_API
57  static void _ProcessInvalidationForEntry(
58  const VdfExecutorInterface *executor,
60 
61  /// Protected destructor.
62  ///
63  VDF_API
65 
66 };
67 
69 
70 #endif
#define PXR_NAMESPACE_OPEN_SCOPE
Definition: pxr.h:73
#define VDF_API
Definition: api.h:25
std::vector< const VdfInput * > VdfInputPtrVector
Type for an ordered collection of inputs.
Definition: types.h:62
#define VDF_API_TYPE
Definition: api.h:26
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values...