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"
14#include "pxr/usd/sdf/path.h"
20PXR_NAMESPACE_OPEN_SCOPE
31enum PcpDependencyType {
33 PcpDependencyTypeNone = 0,
39 PcpDependencyTypeRoot = (1 << 0),
43 PcpDependencyTypePurelyDirect = (1 << 1),
48 PcpDependencyTypePartlyDirect = (1 << 2),
52 PcpDependencyTypeAncestral = (1 << 3),
68 PcpDependencyTypeVirtual = (1 << 4),
69 PcpDependencyTypeNonVirtual = (1 << 5),
73 PcpDependencyTypeDirect =
74 PcpDependencyTypePartlyDirect
75 | PcpDependencyTypePurelyDirect,
79 PcpDependencyTypeAnyNonVirtual =
81 | PcpDependencyTypeDirect
82 | PcpDependencyTypeAncestral
83 | PcpDependencyTypeNonVirtual,
86 PcpDependencyTypeAnyIncludingVirtual =
87 PcpDependencyTypeAnyNonVirtual
88 | PcpDependencyTypeVirtual,
92typedef unsigned int PcpDependencyFlags;
111 return !(*
this == rhs);
115using PcpDependencyVector = std::vector<PcpDependency>;
124 PcpDependencyFlags
flags = PcpDependencyTypeNone;
138using PcpCulledDependencyVector = std::vector<PcpCulledDependency>;
145bool PcpNodeIntroducesDependency(
const PcpNodeRef &n);
151PcpDependencyFlags PcpClassifyNodeDependency(
const PcpNodeRef &n);
154std::string PcpDependencyFlagsToString(
const PcpDependencyFlags flags);
156PXR_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.
PcpArcType arcType
Arc type for this 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.
PcpArcType
Describes the type of arc connecting two nodes in the prim index.