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" 36 #include <boost/functional/hash.hpp> 42 PXR_NAMESPACE_OPEN_SCOPE
98 : _arcType(node.GetArcType())
99 , _sourceSite(node.GetSite())
100 , _timeOffset(node.GetMapToRoot().GetTimeOffset())
106 return _arcType == rhs._arcType &&
107 _sourceSite == rhs._sourceSite &&
108 _timeOffset == rhs._timeOffset;
111 size_t GetHash()
const 113 size_t hash = _arcType;
114 boost::hash_combine(hash, _sourceSite);
115 boost::hash_combine(hash, _timeOffset.GetHash());
123 std::vector<_Arc> _arcs;
125 typedef std::pair<std::string, std::string> _VariantSelection;
126 std::vector<_VariantSelection> _variantSelection;
131 PXR_NAMESPACE_CLOSE_SCOPE
133 #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.
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.