7#ifndef PXR_USD_PCP_PROPERTY_INDEX_H
8#define PXR_USD_PCP_PROPERTY_INDEX_H
11#include "pxr/usd/pcp/api.h"
12#include "pxr/usd/pcp/errors.h"
13#include "pxr/usd/pcp/iterator.h"
14#include "pxr/usd/pcp/node.h"
16#include "pxr/usd/sdf/path.h"
22PXR_NAMESPACE_OPEN_SCOPE
32struct Pcp_PropertyInfo
34 Pcp_PropertyInfo() { }
35 Pcp_PropertyInfo(
const SdfPropertySpecHandle& prop,
const PcpNodeRef& node)
36 : propertySpec(prop), originatingNode(node) { }
38 SdfPropertySpecHandle propertySpec;
79 return _localErrors ? *_localErrors.get() : PcpErrorVector();
88 friend class Pcp_PropertyIndexer;
92 std::vector<Pcp_PropertyInfo> _propertyStack;
96 std::unique_ptr<PcpErrorVector> _localErrors;
104PcpBuildPropertyIndex(
const SdfPath& propertyPath,
107 PcpErrorVector *allErrors );
113PcpBuildPrimPropertyIndex(
const SdfPath& propertyPath,
117 PcpErrorVector *allErrors );
119PXR_NAMESPACE_CLOSE_SCOPE
PcpCache is the context required to make requests of the Pcp composition algorithm and cache the resu...
PcpNode represents a node in an expression tree for compositing scene description.
PcpPrimIndex is an index of the all sites of scene description that contribute opinions to a specific...
PcpPropertyIndex is an index of all sites in scene description that contribute opinions to a specific...
PCP_API bool IsEmpty() const
Returns true if this property index contains no opinions, false otherwise.
PCP_API PcpPropertyIndex()
Construct an empty property index.
PcpErrorVector GetLocalErrors() const
Return the list of errors local to this property.
PCP_API size_t GetNumLocalSpecs() const
Returns the number of local properties in this prim index.
PCP_API void Swap(PcpPropertyIndex &index)
Swap the contents of this property index with index.
PCP_API PcpPropertyIndex(const PcpPropertyIndex &rhs)
Copy-construct a property index.
PCP_API PcpPropertyRange GetPropertyRange(bool localOnly=false) const
Returns range of iterators that encompasses properties in this index's property stack.
Object used to iterate over property specs in a property index in strong-to-weak order.
A path value used to locate objects in layers or scenegraphs.