24 #ifndef PXR_USD_PCP_PRIM_INDEX_H
25 #define PXR_USD_PCP_PRIM_INDEX_H
41 #include <tbb/spin_rw_mutex.h>
46 #include <unordered_set>
94 void Swap(PcpPrimIndex& rhs);
97 inline void swap(PcpPrimIndex &rhs) {
Swap(rhs); }
104 void SetGraph(
const PcpPrimIndex_GraphRefPtr& graph);
106 PcpPrimIndex_GraphPtr
GetGraph()
const;
202 bool includeInheritOriginInfo =
true,
203 bool includeMaps =
true)
const;
210 bool includeInheritOriginInfo =
true,
211 bool includeMaps =
false)
const;
255 bool updateHasSpecs);
258 PcpPrimIndex_GraphRefPtr _graph;
266 std::unique_ptr<PcpErrorVector> _localErrors;
319 const PcpArc& arcToParent,
349 {
cache = cache_;
return *
this; }
358 using PayloadSet = std::unordered_set<SdfPath, SdfPath::Hash>;
371 std::function<
bool (
const SdfPath &)> predicate)
377 {
cull = doCulling;
return *
this; }
383 {
usd = doUSD;
return *
this; }
408 const PcpLayerStackPtr& layerStack,
432 #endif // PXR_USD_PCP_PRIM_INDEX_H
std::shared_ptr< PcpErrorBase > PcpErrorBasePtr
void swap(ArAssetInfo &lhs, ArAssetInfo &rhs)
PcpErrorVector allErrors
List of all errors encountered during indexing.
GT_API const UT_StringHolder filename
GLenum GLuint GLint GLint layer
PCP_API void Swap(PcpPrimIndex &rhs)
Swap the contents of this prim index with index.
PCP_API PcpPrimIndex()
Default construct an empty, invalid prim index.
void swap(UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > &a, UT::ArraySet< Key, MULTI, MAX_LOAD_FACTOR_256, Clearer, Hash, KeyEqual > &b)
PayloadState payloadState
PCP_API void ComputePrimChildNames(TfTokenVector *nameOrder, PcpTokenSet *prohibitedNameSet) const
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.
void Pcp_RescanForSpecs(PcpPrimIndex *index, bool usd)
bool Pcp_NeedToRecomputeDueToAssetPathChange(const PcpPrimIndex &index)
PCP_API const SdfPath & GetPath() const
PCP_API PcpNodeRef GetNodeProvidingSpec(const SdfPrimSpecHandle &primSpec) const
friend struct Pcp_PrimIndexer
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
friend void Pcp_RescanForSpecs(PcpPrimIndex *, bool usd, bool updateHasSpecs)
PCP_API bool HasAnyPayloads() const
TF_DECLARE_REF_PTRS(PcpLayerStack)
GLsizei const GLchar *const * string
PCP_API void DumpToDotGraph(const std::string &filename, bool includeInheritOriginInfo=true, bool includeMaps=false) 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
PCP_API void SetGraph(const PcpPrimIndex_GraphRefPtr &graph)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
PCP_API bool IsUsd() const
PXR_NAMESPACE_OPEN_SCOPE SDF_DECLARE_HANDLES(SdfLayer)
PCP_API PcpPrimIndex_GraphPtr GetGraph() const
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)
GLenum const GLfloat * params
PcpErrorVector GetLocalErrors() const
Return the list of errors local to this prim.
void swap(PcpPrimIndexOutputs &r)
Swap content with r.
PCP_API void PrintStatistics() const
Prints various statistics about this prim index.
PCP_API void ComputePrimPropertyNames(TfTokenVector *nameOrder) const
PCP_API bool PcpIsNewDefaultStandinBehaviorEnabled()
Returns true if the 'new' default standin behavior is enabled.
std::map< std::string, std::vector< std::string > > PcpVariantFallbackMap