24 #ifndef PXR_USD_PCP_INSTANCE_KEY_H 25 #define PXR_USD_PCP_INSTANCE_KEY_H 28 #include "pxr/usd/pcp/api.h" 29 #include "pxr/usd/pcp/mapExpression.h" 30 #include "pxr/usd/pcp/node.h" 31 #include "pxr/usd/pcp/site.h" 41 PXR_NAMESPACE_OPEN_SCOPE
70 template <
typename HashState>
103 : _arcType(node.GetArcType())
104 , _sourceSite(node.GetSite())
105 , _timeOffset(node.GetMapToRoot().GetTimeOffset())
111 return _arcType == rhs._arcType &&
112 _sourceSite == rhs._sourceSite &&
113 _timeOffset == rhs._timeOffset;
116 template <
typename HashState>
117 friend void TfHashAppend(HashState &h,
const _Arc& arc) {
118 h.Append(arc._arcType);
119 h.Append(arc._sourceSite);
120 h.Append(arc._timeOffset);
127 std::vector<_Arc> _arcs;
129 typedef std::pair<std::string, std::string> _VariantSelection;
130 std::vector<_VariantSelection> _variantSelection;
135 PXR_NAMESPACE_CLOSE_SCOPE
137 #endif // PXR_USD_PCP_INSTANCE_KEY_H A PcpInstanceKey identifies instanceable prim indexes that share the same set of opinions.
PcpPrimIndex is an index of the all sites of scene description that contribute opinions to a specific...
PcpNode represents a node in an expression tree for compositing scene description.
friend size_t hash_value(const PcpInstanceKey &key)
Returns hash value for this instance key.
A site specifies a path in a layer stack of scene description.
PCP_API std::string GetString() const
Returns string representation of this instance key for debugging purposes.
friend void TfHashAppend(HashState &h, const PcpInstanceKey &key)
Appends hash value for this instance key.
PCP_API bool operator==(const PcpInstanceKey &rhs) const
Comparison operators.
Represents a time offset and scale between layers.
PcpArcType
Describes the type of arc connecting two nodes in the prim index.