HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
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
17
PXR_NAMESPACE_OPEN_SCOPE
18
19
class
VdfExecutorInterface
;
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
///
28
class
VDF_API_TYPE
VdfNodeProcessInvalidationInterface
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,
43
const
VdfNodeProcessInvalidationInterface
&node,
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,
59
const
VdfNodeToInputPtrVectorMap::value_type
&entry);
60
61
/// Protected destructor.
62
///
63
VDF_API
64
virtual
~
VdfNodeProcessInvalidationInterface
();
65
66
};
67
68
PXR_NAMESPACE_CLOSE_SCOPE
69
70
#endif
VdfNetwork
Definition:
network.h:59
types.h
PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_OPEN_SCOPE
Definition:
pxr.h:73
api.h
VdfNodeProcessInvalidationInterface
Definition:
nodeProcessInvalidationInterface.h:28
VDF_API
#define VDF_API
Definition:
api.h:25
TfHashMap< const VdfNode *, VdfInputPtrVector, TfHash >
VdfInputPtrVector
std::vector< const VdfInput * > VdfInputPtrVector
Type for an ordered collection of inputs.
Definition:
types.h:62
pxr.h
VDF_API_TYPE
#define VDF_API_TYPE
Definition:
api.h:26
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:74
VdfInputSpecs
Definition:
connectorSpecs.h:157
TfHashMap< const VdfNode *, VdfInputPtrVector, TfHash >::value_type
_Base::value_type value_type
Definition:
hashmap.h:256
VdfExecutorInterface
Abstract base class for classes that execute a VdfNetwork to compute a requested set of values...
Definition:
executorInterface.h:44
pxr
exec
vdf
nodeProcessInvalidationInterface.h
Generated on Mon Aug 24 2026 02:27:06 for HDK by
1.8.6