7#ifndef PXR_USD_PCP_DEPENDENCY_H
8#define PXR_USD_PCP_DEPENDENCY_H
11#include "pxr/usd/pcp/api.h"
12#include "pxr/usd/pcp/mapFunction.h"
13#include "pxr/usd/sdf/path.h"
19PXR_NAMESPACE_OPEN_SCOPE
30enum PcpDependencyType {
32 PcpDependencyTypeNone = 0,
38 PcpDependencyTypeRoot = (1 << 0),
42 PcpDependencyTypePurelyDirect = (1 << 1),
47 PcpDependencyTypePartlyDirect = (1 << 2),
51 PcpDependencyTypeAncestral = (1 << 3),
67 PcpDependencyTypeVirtual = (1 << 4),
68 PcpDependencyTypeNonVirtual = (1 << 5),
72 PcpDependencyTypeDirect =
73 PcpDependencyTypePartlyDirect
74 | PcpDependencyTypePurelyDirect,
78 PcpDependencyTypeAnyNonVirtual =
80 | PcpDependencyTypeDirect
81 | PcpDependencyTypeAncestral
82 | PcpDependencyTypeNonVirtual,
85 PcpDependencyTypeAnyIncludingVirtual =
86 PcpDependencyTypeAnyNonVirtual
87 | PcpDependencyTypeVirtual,
91typedef unsigned int PcpDependencyFlags;
110 return !(*
this == rhs);
114using PcpDependencyVector = std::vector<PcpDependency>;
123 PcpDependencyFlags
flags = PcpDependencyTypeNone;
135using PcpCulledDependencyVector = std::vector<PcpCulledDependency>;
142bool PcpNodeIntroducesDependency(
const PcpNodeRef &n);
148PcpDependencyFlags PcpClassifyNodeDependency(
const PcpNodeRef &n);
151std::string PcpDependencyFlagsToString(
const PcpDependencyFlags flags);
153PXR_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.