Loading...
Searching...
No Matches
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
11
12#include "pxr/pxr.h"
13
14#include "pxr/exec/vdf/api.h"
15#include "pxr/exec/vdf/types.h"
16
17PXR_NAMESPACE_OPEN_SCOPE
18
20class VdfInputSpecs;
21class VdfNetwork;
22
29{
30public:
33 VDF_API
35 const VdfExecutorInterface *executor,
36 const VdfNodeToInputPtrVectorMap &inputs);
37
40 VDF_API
42 const VdfExecutorInterface *executor,
44 const VdfInputPtrVector &inputs);
45
46protected:
47
51 const VdfInputPtrVector *inputs,
52 const VdfExecutorInterface *executor) const = 0;
53
56 VDF_API
58 const VdfExecutorInterface *executor,
59 const VdfNodeToInputPtrVectorMap::value_type &entry);
60
63 VDF_API
65
66};
67
68PXR_NAMESPACE_CLOSE_SCOPE
69
70#endif
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values.
VdfInputSpecs is a container for VdfInputSpec objects.
A VdfNetwork is a collection of VdfNodes and their connections.
Definition: network.h:60
Interface class for nodes that receive notification about input invalidation via a virtual method.
virtual VDF_API ~VdfNodeProcessInvalidationInterface()
Protected destructor.
virtual void _ProcessInvalidation(const VdfInputPtrVector *inputs, const VdfExecutorInterface *executor) const =0
The invalidation callback on this node.
static VDF_API void ProcessInvalidation(const VdfExecutorInterface *executor, const VdfNodeToInputPtrVectorMap &inputs)
Process invalidation on all the nodes contained in the inputs sets.
static VDF_API void _ProcessInvalidationForEntry(const VdfExecutorInterface *executor, const VdfNodeToInputPtrVectorMap::value_type &entry)
Process invalidation for one entry in the map.
static VDF_API void ProcessInvalidation(const VdfExecutorInterface *executor, const VdfNodeProcessInvalidationInterface &node, const VdfInputPtrVector &inputs)
Process invalidation on the specified node via the given inputs.
std::vector< const VdfInput * > VdfInputPtrVector
Type for an ordered collection of inputs.
Definition: types.h:62
TfHashMap< const VdfNode *, VdfInputPtrVector, TfHash > VdfNodeToInputPtrVectorMap
A map from node pointer to VdfInputPtrVector.
Definition: types.h:95