7 #ifndef PXR_USD_PCP_PRIM_INDEX_H
8 #define PXR_USD_PCP_PRIM_INDEX_H
26 #include <tbb/spin_rw_mutex.h>
31 #include <unordered_set>
82 PcpPrimIndex &
operator=(PcpPrimIndex &&rhs) noexcept = default;
86 void Swap(PcpPrimIndex& rhs);
89 inline
void swap(PcpPrimIndex &rhs) {
Swap(rhs); }
95 void SetGraph(
const PcpPrimIndex_GraphRefPtr& graph) {
108 const PcpArc &arcToParent,
109 PcpPrimIndex &&childPrimIndex,
222 bool includeInheritOriginInfo =
true,
223 bool includeMaps =
true)
const;
230 bool includeInheritOriginInfo =
true,
231 bool includeMaps =
false)
const;
275 const std::string &variantSet)
const;
283 PcpPrimIndex*,
bool usd,
288 PcpPrimIndex_GraphRefPtr _graph;
296 std::unique_ptr<PcpErrorVector> _localErrors;
348 const PcpArc& arcToParent,
375 {
cache = cache_;
return *
this; }
384 using PayloadSet = std::unordered_set<SdfPath, SdfPath::Hash>;
397 std::function<
bool (
const SdfPath &)> predicate)
403 {
cull = doCulling;
return *
this; }
409 {
usd = doUSD;
return *
this; }
434 const PcpLayerStackPtr& layerStack,
445 SdfPrimSpecHandleVector
458 #endif // PXR_USD_PCP_PRIM_INDEX_H
void swap(ArAssetInfo &lhs, ArAssetInfo &rhs)
PcpErrorVector allErrors
List of all errors encountered during indexing.
GT_API const UT_StringHolder filename
PCP_API void Swap(PcpPrimIndex &rhs)
Swap the contents of this prim index with index.
PcpNodeRef AddChildPrimIndex(const PcpArc &arcToParent, PcpPrimIndex &&childPrimIndex, PcpErrorBasePtr *error)
PCP_API PcpPrimIndex()
Default construct an empty, invalid prim index.
PayloadState payloadState
PCP_API void ComputePrimChildNames(TfTokenVector *nameOrder, PcpTokenSet *prohibitedNameSet) const
PCP_API SdfPrimSpecHandleVector PcpComputePrimStackForPrimIndex(const PcpPrimIndex &primIndex)
PCP_API PcpPrimRange GetPrimRange(PcpRangeType rangeType=PcpRangeTypeAll) const
GLsizei const GLchar *const * path
void swap(PcpPrimIndex &rhs)
Same as Swap(), but standard name.
PCP_API void PcpComputePrimIndex(const SdfPath &primPath, const PcpLayerStackPtr &layerStack, const PcpPrimIndexInputs &inputs, PcpPrimIndexOutputs *outputs, ArResolver *pathResolver=NULL)
PcpPrimIndex & operator=(const PcpPrimIndex &rhs)
Assignment.
PCP_API SdfVariantSelectionMap ComposeAuthoredVariantSelections() const
PCP_API PcpNodeRef GetRootNode() const
Returns the root node of the prim index graph.
std::map< std::string, std::string > SdfVariantSelectionMap
A map of reference variant set names to variants in those sets.
PcpExpressionVariablesDependencyData expressionVariablesDependency
GLenum const GLfloat * params
std::shared_ptr< PcpErrorBase > PcpErrorBasePtr
bool Pcp_NeedToRecomputeDueToAssetPathChange(const PcpPrimIndex &index)
GLenum GLuint GLint GLint layer
PCP_API const SdfPath & GetPath() const
PCP_API PcpNodeRef GetNodeProvidingSpec(const SdfPrimSpecHandle &primSpec) const
friend struct Pcp_PrimIndexer
const PcpPrimIndex_GraphRefPtr & GetGraph() const
PCP_API void ComputePrimChildNamesInSubtree(const PcpNodeRef &subtreeRootNode, TfTokenVector *nameOrder, PcpTokenSet *prohibitedNameSet) const
PCP_API std::string DumpToString(bool includeInheritOriginInfo=true, bool includeMaps=true) const
PCP_API PcpPrimRange GetPrimRangeForNode(const PcpNodeRef &node) const
PCP_API bool HasSpecs() const
std::vector< PcpCulledDependency > culledDependencies
Site dependencies from nodes in the prim index that have been culled.
PCP_API bool HasAnyPayloads() const
TF_DECLARE_REF_PTRS(PcpLayerStack)
void SetGraph(const PcpPrimIndex_GraphRefPtr &graph)
PCP_API void DumpToDotGraph(const std::string &filename, bool includeInheritOriginInfo=true, bool includeMaps=false) const
PCP_API PcpNodeIterator GetNodeIteratorAtNode(const PcpNodeRef &node) const
std::vector< TfToken > TfTokenVector
Convenience types.
std::vector< PcpErrorBasePtr > PcpErrorVector
std::vector< Pcp_CompressedSdSite > Pcp_CompressedSdSiteVector
PCP_API std::string GetSelectionAppliedForVariantSet(const std::string &variantSet) const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
PCP_API bool IsUsd() const
PXR_NAMESPACE_OPEN_SCOPE SDF_DECLARE_HANDLES(SdfLayer)
PcpNodeRef Append(PcpPrimIndexOutputs &&childOutputs, const PcpArc &arcToParent, PcpErrorBasePtr *error)
PCP_API bool IsInstanceable() const
PcpDynamicFileFormatDependencyData dynamicFileFormatDependency
#define PXR_NAMESPACE_CLOSE_SCOPE
PCP_API PcpNodeRange GetNodeRange(PcpRangeType rangeType=PcpRangeTypeAll) const
TF_DECLARE_WEAK_AND_REF_PTRS(PcpPrimIndex_Graph)
PcpErrorVector GetLocalErrors() const
Return the list of errors local to this prim.
PCP_API void PrintStatistics() const
Prints various statistics about this prim index.
PCP_API void ComputePrimPropertyNames(TfTokenVector *nameOrder) const
friend void Pcp_RescanForSpecs(PcpPrimIndex *, bool usd, bool updateHasSpecs, const PcpCacheChanges *cacheChanges)
std::map< std::string, std::vector< std::string > > PcpVariantFallbackMap
PCP_API PcpNodeRange GetNodeSubtreeRange(const PcpNodeRef &node) const