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"
36PXR_NAMESPACE_OPEN_SCOPE
47enum PcpDependencyType {
49 PcpDependencyTypeNone = 0,
55 PcpDependencyTypeRoot = (1 << 0),
59 PcpDependencyTypePurelyDirect = (1 << 1),
64 PcpDependencyTypePartlyDirect = (1 << 2),
68 PcpDependencyTypeAncestral = (1 << 3),
84 PcpDependencyTypeVirtual = (1 << 4),
85 PcpDependencyTypeNonVirtual = (1 << 5),
89 PcpDependencyTypeDirect =
90 PcpDependencyTypePartlyDirect
91 | PcpDependencyTypePurelyDirect,
95 PcpDependencyTypeAnyNonVirtual =
97 | PcpDependencyTypeDirect
98 | PcpDependencyTypeAncestral
99 | PcpDependencyTypeNonVirtual,
102 PcpDependencyTypeAnyIncludingVirtual =
103 PcpDependencyTypeAnyNonVirtual
104 | PcpDependencyTypeVirtual,
108typedef unsigned int PcpDependencyFlags;
127 return !(*
this == rhs);
131using PcpDependencyVector = std::vector<PcpDependency>;
140 PcpDependencyFlags
flags = PcpDependencyTypeNone;
152using PcpCulledDependencyVector = std::vector<PcpCulledDependency>;
159bool PcpNodeIntroducesDependency(
const PcpNodeRef &n);
165PcpDependencyFlags PcpClassifyNodeDependency(
const PcpNodeRef &n);
168std::string PcpDependencyFlagsToString(
const PcpDependencyFlags flags);
170PXR_NAMESPACE_CLOSE_SCOPE
Represents a stack of layers that contribute opinions to composition.
A function that maps values from one namespace (and time domain) to another.
PcpNode represents a node in an expression tree for compositing scene description.
A path value used to locate objects in layers or scenegraphs.
Standard pointer typedefs.
#define TF_DECLARE_WEAK_AND_REF_PTRS(type)
Define standard weak, ref, and vector pointer types.
Description of a dependency that has been culled from the corresponding prim index.
SdfPath unrelocatedSitePath
If relocations applied to the dependency node, this is the unrelocated site path.
PcpLayerStackRefPtr layerStack
Layer stack containing the specs the prim index depends on.
PcpMapFunction mapToRoot
The map function that applies to values from the site.
SdfPath sitePath
Path of the dependency specs in the layer stack.
PcpDependencyFlags flags
Flag representing the type of dependency.
Description of a dependency.
SdfPath indexPath
The path in this PcpCache's root layer stack that depends on the site.
SdfPath sitePath
The site path.
PcpMapFunction mapFunc
The map function that applies to values from the site.