24 #ifndef PXR_USD_PCP_DEPENDENCY_H
25 #define PXR_USD_PCP_DEPENDENCY_H
28 #include "pxr/usd/pcp/api.h"
29 #include "pxr/usd/pcp/mapFunction.h"
30 #include "pxr/usd/sdf/path.h"
34 PXR_NAMESPACE_OPEN_SCOPE
43 enum PcpDependencyType {
45 PcpDependencyTypeNone = 0,
51 PcpDependencyTypeRoot = (1 << 0),
55 PcpDependencyTypePurelyDirect = (1 << 1),
60 PcpDependencyTypePartlyDirect = (1 << 2),
64 PcpDependencyTypeAncestral = (1 << 3),
80 PcpDependencyTypeVirtual = (1 << 4),
81 PcpDependencyTypeNonVirtual = (1 << 5),
85 PcpDependencyTypeDirect =
86 PcpDependencyTypePartlyDirect
87 | PcpDependencyTypePurelyDirect,
91 PcpDependencyTypeAnyNonVirtual =
93 | PcpDependencyTypeDirect
94 | PcpDependencyTypeAncestral
95 | PcpDependencyTypeNonVirtual,
98 PcpDependencyTypeAnyIncludingVirtual =
99 PcpDependencyTypeAnyNonVirtual
100 | PcpDependencyTypeVirtual,
104 typedef unsigned int PcpDependencyFlags;
123 return !(*
this == rhs);
127 typedef std::vector<PcpDependency> PcpDependencyVector;
134 bool PcpNodeIntroducesDependency(
const PcpNodeRef &n);
140 PcpDependencyFlags PcpClassifyNodeDependency(
const PcpNodeRef &n);
143 std::string PcpDependencyFlagsToString(
const PcpDependencyFlags flags);
145 PXR_NAMESPACE_CLOSE_SCOPE
147 #endif // PXR_USD_PCP_DEPENDENCY_H
PcpNode represents a node in an expression tree for compositing scene description.
SdfPath indexPath
The path in this PcpCache's root layer stack that depends on the site.
A function that maps values from one namespace (and time domain) to another.
A path value used to locate objects in layers or scenegraphs.
SdfPath sitePath
The site path.
Description of a dependency.
PcpMapFunction mapFunc
The map function that applies to values from the site.