This document is for a version of USD that is under development. See this page for the current release.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
composeSite.h File Reference

Single-site composition. More...

+ Include dependency graph for composeSite.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PcpArcInfo
 Helper information about an arc. More...
 

Typedefs

typedef std::vector< PcpArcInfoPcpArcInfoVector
 A vector of reference or payload arc information.
 

Functions

 TF_DECLARE_WEAK_AND_REF_PTRS (PcpLayerStack)
 
PCP_API void PcpComposeSiteReferences (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfReferenceVector *result, PcpArcInfoVector *info, std::unordered_set< std::string > *exprVarDependencies, PcpErrorVector *errors)
 References.
 
void PcpComposeSiteReferences (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfReferenceVector *result, PcpArcInfoVector *info)
 
void PcpComposeSiteReferences (PcpNodeRef const &node, SdfReferenceVector *result, PcpArcInfoVector *info, std::unordered_set< std::string > *exprVarDependencies, PcpErrorVector *errors)
 
void PcpComposeSiteReferences (PcpNodeRef const &node, SdfReferenceVector *result, PcpArcInfoVector *info)
 
PCP_API void PcpComposeSitePayloads (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPayloadVector *result, PcpArcInfoVector *info, std::unordered_set< std::string > *exprVarDependencies, PcpErrorVector *errors)
 Payloads.
 
void PcpComposeSitePayloads (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPayloadVector *result, PcpArcInfoVector *info)
 
void PcpComposeSitePayloads (PcpNodeRef const &node, SdfPayloadVector *result, PcpArcInfoVector *info, std::unordered_set< std::string > *exprVarDependencies, PcpErrorVector *errors)
 
void PcpComposeSitePayloads (PcpNodeRef const &node, SdfPayloadVector *result, PcpArcInfoVector *info)
 
PCP_API SdfPermission PcpComposeSitePermission (PcpLayerStackRefPtr const &layerStack, SdfPath const &path)
 Permission.
 
SdfPermission PcpComposeSitePermission (PcpNodeRef const &node)
 
PCP_API void PcpComposeSitePrimSites (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfSiteVector *result)
 Prim sites.
 
void PcpComposeSitePrimSites (PcpNodeRef const &node, SdfSiteVector *result)
 
PCP_API void PcpComposeSiteRelocates (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfRelocatesMap *result)
 Relocates.
 
void PcpComposeSiteRelocates (PcpNodeRef const &node, SdfRelocatesMap *result)
 
PCP_API bool PcpComposeSiteHasPrimSpecs (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, const std::unordered_set< SdfLayerHandle, TfHash > &layersToIgnore)
 Has prim specs.
 
PCP_API bool PcpComposeSiteHasPrimSpecs (PcpLayerStackRefPtr const &layerStack, SdfPath const &path)
 
bool PcpComposeSiteHasPrimSpecs (PcpNodeRef const &node)
 
PCP_API bool PcpComposeSiteHasSymmetry (PcpLayerStackRefPtr const &layerStack, SdfPath const &path)
 Symmetry.
 
bool PcpComposeSiteHasSymmetry (PcpNodeRef const &node)
 
PCP_API void PcpComposeSiteInherits (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPathVector *result, PcpArcInfoVector *info)
 Inherits.
 
PCP_API void PcpComposeSiteInherits (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPathVector *result)
 
void PcpComposeSiteInherits (PcpNodeRef const &node, SdfPathVector *result)
 
PCP_API void PcpComposeSiteSpecializes (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPathVector *result, PcpArcInfoVector *info)
 Specializes.
 
PCP_API void PcpComposeSiteSpecializes (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPathVector *result)
 
void PcpComposeSiteSpecializes (PcpNodeRef const &node, SdfPathVector *result)
 
PCP_API void PcpComposeSiteVariantSets (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, std::vector< std::string > *result, PcpArcInfoVector *info)
 VariantSets.
 
PCP_API void PcpComposeSiteVariantSets (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, std::vector< std::string > *result)
 
void PcpComposeSiteVariantSets (PcpNodeRef const &node, std::vector< std::string > *result)
 
PCP_API void PcpComposeSiteVariantSetOptions (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, std::string const &vsetName, std::set< std::string > *result)
 VariantSetOptions.
 
void PcpComposeSiteVariantSetOptions (PcpNodeRef const &node, std::string const &vsetName, std::set< std::string > *result)
 
PCP_API bool PcpComposeSiteVariantSelection (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, std::string const &vsetName, std::string *result, std::unordered_set< std::string > *exprVarDependencies, PcpErrorVector *errors)
 VariantSelection.
 
bool PcpComposeSiteVariantSelection (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, std::string const &vsetName, std::string *result)
 
bool PcpComposeSiteVariantSelection (PcpNodeRef const &node, std::string const &vsetName, std::string *result)
 
PCP_API void PcpComposeSiteVariantSelections (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfVariantSelectionMap *result, std::unordered_set< std::string > *exprVarDependencies, PcpErrorVector *errors)
 VariantSelections.
 
void PcpComposeSiteVariantSelections (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfVariantSelectionMap *result)
 
void PcpComposeSiteVariantSelections (PcpNodeRef const &node, SdfVariantSelectionMap *result)
 
PCP_API bool PcpComposeSiteHasVariantSelections (PcpLayerStackRefPtr const &layerStack, SdfPath const &path)
 
PCP_API void PcpComposeSiteChildNames (SdfLayerRefPtrVector const &layers, SdfPath const &path, const TfToken &namesField, TfTokenVector *nameOrder, PcpTokenSet *nameSet, const TfToken *orderField=nullptr)
 Compose child names.
 

Detailed Description

Single-site composition.

These are helpers that compose specific fields at single sites. They compose the field for a given path across a layer stack, using field-specific rules to combine the values.

These helpers are low-level utilities used by the rest of the Pcp algorithms, to discover composition arcs in scene description. These arcs are what guide the algorithm to pull additional sites of scene description into the PcpPrimIndex.

Some of these field types support list-editing. (See SdListOp.) List-editing for these fields is applied across the fixed domain of a single site; you cannot apply list-ops across sites. The intention is to avoid subtle ordering issues in composition semantics.

Note that these helpers do not take PcpSite as a literal parameter; instead, they require the actual computed layer stack that a site identified. Rather than tying these helpers to PcpCache and its process of computing layer stacks, they just employ the result. Conceptually, though, they are operating on the scene description identified by a PcpSite.

Definition in file composeSite.h.


Class Documentation

◆ PcpArcInfo

struct PcpArcInfo

Helper information about an arc.

All arcs have a layer that the arc comes from. References and payloads supply an authored asset path as well.

Definition at line 64 of file composeSite.h.

Class Members
int arcNum
string authoredAssetPath
SdfLayerHandle sourceLayer
SdfLayerOffset sourceLayerStackOffset

Typedef Documentation

◆ PcpArcInfoVector

typedef std::vector<PcpArcInfo> PcpArcInfoVector

A vector of reference or payload arc information.

Definition at line 72 of file composeSite.h.

Function Documentation

◆ PcpComposeSiteChildNames()

PCP_API void PcpComposeSiteChildNames ( SdfLayerRefPtrVector const &  layers,
SdfPath const &  path,
const TfToken namesField,
TfTokenVector nameOrder,
PcpTokenSet nameSet,
const TfToken orderField = nullptr 
)

Compose child names.

If the optional orderField is provided, its order will be applied.

◆ PcpComposeSiteHasPrimSpecs() [1/2]

PCP_API bool PcpComposeSiteHasPrimSpecs ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
const std::unordered_set< SdfLayerHandle, TfHash > &  layersToIgnore 
)

Has prim specs.

◆ PcpComposeSiteHasPrimSpecs() [2/2]

bool PcpComposeSiteHasPrimSpecs ( PcpNodeRef const &  node)
inline

Definition at line 218 of file composeSite.h.

◆ PcpComposeSiteHasSymmetry() [1/2]

PCP_API bool PcpComposeSiteHasSymmetry ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path 
)

Symmetry.

◆ PcpComposeSiteHasSymmetry() [2/2]

bool PcpComposeSiteHasSymmetry ( PcpNodeRef const &  node)
inline

Definition at line 229 of file composeSite.h.

◆ PcpComposeSiteInherits() [1/2]

PCP_API void PcpComposeSiteInherits ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfPathVector *  result,
PcpArcInfoVector info 
)

Inherits.

◆ PcpComposeSiteInherits() [2/2]

void PcpComposeSiteInherits ( PcpNodeRef const &  node,
SdfPathVector *  result 
)
inline

Definition at line 247 of file composeSite.h.

◆ PcpComposeSitePayloads() [1/4]

void PcpComposeSitePayloads ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfPayloadVector *  result,
PcpArcInfoVector info 
)
inline

Definition at line 131 of file composeSite.h.

◆ PcpComposeSitePayloads() [2/4]

PCP_API void PcpComposeSitePayloads ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfPayloadVector *  result,
PcpArcInfoVector info,
std::unordered_set< std::string > *  exprVarDependencies,
PcpErrorVector *  errors 
)

Payloads.

◆ PcpComposeSitePayloads() [3/4]

void PcpComposeSitePayloads ( PcpNodeRef const &  node,
SdfPayloadVector *  result,
PcpArcInfoVector info 
)
inline

Definition at line 155 of file composeSite.h.

◆ PcpComposeSitePayloads() [4/4]

void PcpComposeSitePayloads ( PcpNodeRef const &  node,
SdfPayloadVector *  result,
PcpArcInfoVector info,
std::unordered_set< std::string > *  exprVarDependencies,
PcpErrorVector *  errors 
)
inline

Definition at line 142 of file composeSite.h.

◆ PcpComposeSitePermission() [1/2]

PCP_API SdfPermission PcpComposeSitePermission ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path 
)

Permission.

◆ PcpComposeSitePermission() [2/2]

SdfPermission PcpComposeSitePermission ( PcpNodeRef const &  node)
inline

Definition at line 171 of file composeSite.h.

◆ PcpComposeSitePrimSites() [1/2]

PCP_API void PcpComposeSitePrimSites ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfSiteVector *  result 
)

Prim sites.

◆ PcpComposeSitePrimSites() [2/2]

void PcpComposeSitePrimSites ( PcpNodeRef const &  node,
SdfSiteVector *  result 
)
inline

Definition at line 184 of file composeSite.h.

◆ PcpComposeSiteReferences() [1/4]

void PcpComposeSiteReferences ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfReferenceVector *  result,
PcpArcInfoVector info 
)
inline

Definition at line 86 of file composeSite.h.

◆ PcpComposeSiteReferences() [2/4]

PCP_API void PcpComposeSiteReferences ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfReferenceVector *  result,
PcpArcInfoVector info,
std::unordered_set< std::string > *  exprVarDependencies,
PcpErrorVector *  errors 
)

References.

◆ PcpComposeSiteReferences() [3/4]

void PcpComposeSiteReferences ( PcpNodeRef const &  node,
SdfReferenceVector *  result,
PcpArcInfoVector info 
)
inline

Definition at line 110 of file composeSite.h.

◆ PcpComposeSiteReferences() [4/4]

void PcpComposeSiteReferences ( PcpNodeRef const &  node,
SdfReferenceVector *  result,
PcpArcInfoVector info,
std::unordered_set< std::string > *  exprVarDependencies,
PcpErrorVector *  errors 
)
inline

Definition at line 97 of file composeSite.h.

◆ PcpComposeSiteRelocates() [1/2]

PCP_API void PcpComposeSiteRelocates ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfRelocatesMap result 
)

Relocates.

◆ PcpComposeSiteRelocates() [2/2]

void PcpComposeSiteRelocates ( PcpNodeRef const &  node,
SdfRelocatesMap result 
)
inline

Definition at line 198 of file composeSite.h.

◆ PcpComposeSiteSpecializes() [1/2]

PCP_API void PcpComposeSiteSpecializes ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfPathVector *  result,
PcpArcInfoVector info 
)

Specializes.

◆ PcpComposeSiteSpecializes() [2/2]

void PcpComposeSiteSpecializes ( PcpNodeRef const &  node,
SdfPathVector *  result 
)
inline

Definition at line 265 of file composeSite.h.

◆ PcpComposeSiteVariantSelection() [1/3]

bool PcpComposeSiteVariantSelection ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
std::string const &  vsetName,
std::string *  result 
)
inline

Definition at line 319 of file composeSite.h.

◆ PcpComposeSiteVariantSelection() [2/3]

PCP_API bool PcpComposeSiteVariantSelection ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
std::string const &  vsetName,
std::string *  result,
std::unordered_set< std::string > *  exprVarDependencies,
PcpErrorVector *  errors 
)

VariantSelection.

◆ PcpComposeSiteVariantSelection() [3/3]

bool PcpComposeSiteVariantSelection ( PcpNodeRef const &  node,
std::string const &  vsetName,
std::string *  result 
)
inline

Definition at line 330 of file composeSite.h.

◆ PcpComposeSiteVariantSelections() [1/3]

void PcpComposeSiteVariantSelections ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfVariantSelectionMap result 
)
inline

Definition at line 349 of file composeSite.h.

◆ PcpComposeSiteVariantSelections() [2/3]

PCP_API void PcpComposeSiteVariantSelections ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
SdfVariantSelectionMap result,
std::unordered_set< std::string > *  exprVarDependencies,
PcpErrorVector *  errors 
)

VariantSelections.

◆ PcpComposeSiteVariantSelections() [3/3]

void PcpComposeSiteVariantSelections ( PcpNodeRef const &  node,
SdfVariantSelectionMap result 
)
inline

Definition at line 359 of file composeSite.h.

◆ PcpComposeSiteVariantSetOptions() [1/2]

PCP_API void PcpComposeSiteVariantSetOptions ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
std::string const &  vsetName,
std::set< std::string > *  result 
)

VariantSetOptions.

◆ PcpComposeSiteVariantSetOptions() [2/2]

void PcpComposeSiteVariantSetOptions ( PcpNodeRef const &  node,
std::string const &  vsetName,
std::set< std::string > *  result 
)
inline

Definition at line 299 of file composeSite.h.

◆ PcpComposeSiteVariantSets() [1/2]

PCP_API void PcpComposeSiteVariantSets ( PcpLayerStackRefPtr const &  layerStack,
SdfPath const &  path,
std::vector< std::string > *  result,
PcpArcInfoVector info 
)

VariantSets.

◆ PcpComposeSiteVariantSets() [2/2]

void PcpComposeSiteVariantSets ( PcpNodeRef const &  node,
std::vector< std::string > *  result 
)
inline

Definition at line 285 of file composeSite.h.