HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
composeSite.h File Reference
#include "pxr/pxr.h"
#include "pxr/usd/pcp/api.h"
#include "pxr/usd/pcp/node.h"
#include "pxr/usd/sdf/layerOffset.h"
#include "pxr/usd/sdf/path.h"
#include "pxr/usd/sdf/payload.h"
#include "pxr/usd/sdf/reference.h"
#include "pxr/usd/sdf/types.h"
#include "pxr/usd/sdf/site.h"
#include <set>
#include <vector>
+ 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  PcpSourceArcInfo
 

Typedefs

typedef std::vector
< PcpSourceArcInfo
PcpSourceArcInfoVector
 A vector of reference or payload arc information. More...
 

Functions

PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_WEAK_AND_REF_PTRS (PcpLayerStack)
 
PCP_API void PcpComposeSiteReferences (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfReferenceVector *result, PcpSourceArcInfoVector *info)
 References. More...
 
void PcpComposeSiteReferences (PcpNodeRef const &node, SdfReferenceVector *result, PcpSourceArcInfoVector *info)
 
PCP_API void PcpComposeSitePayloads (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPayloadVector *result, PcpSourceArcInfoVector *info)
 Payloads. More...
 
void PcpComposeSitePayloads (PcpNodeRef const &node, SdfPayloadVector *result, PcpSourceArcInfoVector *info)
 
PCP_API SdfPermission PcpComposeSitePermission (PcpLayerStackRefPtr const &layerStack, SdfPath const &path)
 Permission. More...
 
SdfPermission PcpComposeSitePermission (PcpNodeRef const &node)
 
PCP_API void PcpComposeSitePrimSites (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfSiteVector *result)
 Prim sites. More...
 
void PcpComposeSitePrimSites (PcpNodeRef const &node, SdfSiteVector *result)
 
PCP_API void PcpComposeSiteRelocates (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfRelocatesMap *result)
 Relocates. More...
 
void PcpComposeSiteRelocates (PcpNodeRef const &node, SdfRelocatesMap *result)
 
PCP_API bool PcpComposeSiteHasPrimSpecs (PcpLayerStackRefPtr const &layerStack, SdfPath const &path)
 Has prim specs. More...
 
bool PcpComposeSiteHasPrimSpecs (PcpNodeRef const &node)
 
PCP_API bool PcpComposeSiteHasSymmetry (PcpLayerStackRefPtr const &layerStack, SdfPath const &path)
 Symmetry. More...
 
bool PcpComposeSiteHasSymmetry (PcpNodeRef const &node)
 
PCP_API void PcpComposeSiteInherits (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfPathVector *result, PcpSourceArcInfoVector *info)
 Inherits. More...
 
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, PcpSourceArcInfoVector *info)
 Specializes. More...
 
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, PcpSourceArcInfoVector *info)
 VariantSets. More...
 
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. More...
 
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)
 VariantSelection. More...
 
bool PcpComposeSiteVariantSelection (PcpNodeRef const &node, std::string const &vsetName, std::string *result)
 
PCP_API void PcpComposeSiteVariantSelections (PcpLayerStackRefPtr const &layerStack, SdfPath const &path, SdfVariantSelectionMap *result)
 VariantSelections. More...
 
void PcpComposeSiteVariantSelections (PcpNodeRef const &node, SdfVariantSelectionMap *result)
 
PCP_API void PcpComposeSiteChildNames (SdfLayerRefPtrVector const &layers, SdfPath const &path, const TfToken &namesField, TfTokenVector *nameOrder, PcpTokenSet *nameSet, const TfToken *orderField=nullptr)
 

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.

Typedef Documentation

A vector of reference or payload arc information.

Definition at line 85 of file composeSite.h.

Function Documentation

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.

PCP_API bool PcpComposeSiteHasPrimSpecs ( PcpLayerStackRefPtr const layerStack,
SdfPath const path 
)

Has prim specs.

bool PcpComposeSiteHasPrimSpecs ( PcpNodeRef const node)
inline

Definition at line 165 of file composeSite.h.

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

Symmetry.

bool PcpComposeSiteHasSymmetry ( PcpNodeRef const node)
inline

Definition at line 176 of file composeSite.h.

PCP_API void PcpComposeSiteInherits ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
SdfPathVector result,
PcpSourceArcInfoVector info 
)

Inherits.

PCP_API void PcpComposeSiteInherits ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
SdfPathVector result 
)
void PcpComposeSiteInherits ( PcpNodeRef const node,
SdfPathVector result 
)
inline

Definition at line 194 of file composeSite.h.

PCP_API void PcpComposeSitePayloads ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
SdfPayloadVector result,
PcpSourceArcInfoVector info 
)

Payloads.

void PcpComposeSitePayloads ( PcpNodeRef const node,
SdfPayloadVector result,
PcpSourceArcInfoVector info 
)
inline

Definition at line 111 of file composeSite.h.

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

Permission.

SdfPermission PcpComposeSitePermission ( PcpNodeRef const node)
inline

Definition at line 126 of file composeSite.h.

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

Prim sites.

void PcpComposeSitePrimSites ( PcpNodeRef const node,
SdfSiteVector result 
)
inline

Definition at line 139 of file composeSite.h.

PCP_API void PcpComposeSiteReferences ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
SdfReferenceVector result,
PcpSourceArcInfoVector info 
)

References.

void PcpComposeSiteReferences ( PcpNodeRef const node,
SdfReferenceVector result,
PcpSourceArcInfoVector info 
)
inline

Definition at line 95 of file composeSite.h.

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

Relocates.

void PcpComposeSiteRelocates ( PcpNodeRef const node,
SdfRelocatesMap result 
)
inline

Definition at line 153 of file composeSite.h.

PCP_API void PcpComposeSiteSpecializes ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
SdfPathVector result,
PcpSourceArcInfoVector info 
)

Specializes.

PCP_API void PcpComposeSiteSpecializes ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
SdfPathVector result 
)
void PcpComposeSiteSpecializes ( PcpNodeRef const node,
SdfPathVector result 
)
inline

Definition at line 212 of file composeSite.h.

PCP_API bool PcpComposeSiteVariantSelection ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
std::string const vsetName,
std::string result 
)

VariantSelection.

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

Definition at line 262 of file composeSite.h.

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

VariantSelections.

void PcpComposeSiteVariantSelections ( PcpNodeRef const node,
SdfVariantSelectionMap result 
)
inline

Definition at line 277 of file composeSite.h.

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 
)
inline

Definition at line 246 of file composeSite.h.

PCP_API void PcpComposeSiteVariantSets ( PcpLayerStackRefPtr const layerStack,
SdfPath const path,
std::vector< std::string > *  result,
PcpSourceArcInfoVector 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 
)
inline

Definition at line 232 of file composeSite.h.

PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_WEAK_AND_REF_PTRS ( PcpLayerStack  )