HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
types.h File Reference
#include "pxr/pxr.h"
#include "pxr/usd/pcp/api.h"
#include "pxr/usd/pcp/site.h"
#include "pxr/usd/sdf/layer.h"
#include "pxr/base/tf/denseHashSet.h"
#include <limits>
#include <vector>
#include <hboost/operators.hpp>
+ Include dependency graph for types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  PcpSiteTrackerSegment
 
struct  Pcp_SdSiteRef
 
struct  Pcp_CompressedSdSite
 

Typedefs

typedef std::vector
< PcpSiteTrackerSegment
PcpSiteTracker
 
typedef std::vector
< Pcp_CompressedSdSite
Pcp_CompressedSdSiteVector
 
typedef std::map< std::string,
std::vector< std::string > > 
PcpVariantFallbackMap
 
typedef TfDenseHashSet
< TfToken,
TfToken::HashFunctor
PcpTokenSet
 

Enumerations

enum  PcpArcType {
  PcpArcTypeRoot, PcpArcTypeInherit, PcpArcTypeVariant, PcpArcTypeRelocate,
  PcpArcTypeReference, PcpArcTypePayload, PcpArcTypeSpecialize, PcpNumArcTypes
}
 
enum  PcpRangeType {
  PcpRangeTypeRoot, PcpRangeTypeInherit, PcpRangeTypeVariant, PcpRangeTypeReference,
  PcpRangeTypePayload, PcpRangeTypeSpecialize, PcpRangeTypeAll, PcpRangeTypeWeakerThanRoot,
  PcpRangeTypeStrongerThanPayload, PcpRangeTypeInvalid
}
 

Functions

bool PcpIsInheritArc (PcpArcType arcType)
 
bool PcpIsSpecializeArc (PcpArcType arcType)
 
bool PcpIsClassBasedArc (PcpArcType arcType)
 

Variables

constexpr size_t PCP_INVALID_INDEX = std::numeric_limits<size_t>::max()
 

Typedef Documentation

Definition at line 171 of file types.h.

Represents a single path through the composition tree. As the tree is being built, we add segments to the tracker. If we encounter a site that we've already visited, we've found a cycle.

Definition at line 130 of file types.h.

Definition at line 190 of file types.h.

typedef std::map<std::string, std::vector<std::string>> PcpVariantFallbackMap

A "map of lists" of fallbacks to attempt to use when evaluating variant sets that lack an authored selection.

This maps a name of a variant set (ex: "shadingComplexity") to a ordered list of variant selection names. If there is no variant selection in scene description, Pcp will check for each listed fallback in sequence, using the first one that exists.

Definition at line 188 of file types.h.

Enumeration Type Documentation

enum PcpArcType

Describes the type of arc connecting two nodes in the prim index.

Enumerator
PcpArcTypeRoot 
PcpArcTypeInherit 
PcpArcTypeVariant 
PcpArcTypeRelocate 
PcpArcTypeReference 
PcpArcTypePayload 
PcpArcTypeSpecialize 
PcpNumArcTypes 

Definition at line 46 of file types.h.

Enumerator
PcpRangeTypeRoot 
PcpRangeTypeInherit 
PcpRangeTypeVariant 
PcpRangeTypeReference 
PcpRangeTypePayload 
PcpRangeTypeSpecialize 
PcpRangeTypeAll 
PcpRangeTypeWeakerThanRoot 
PcpRangeTypeStrongerThanPayload 
PcpRangeTypeInvalid 

Definition at line 63 of file types.h.

Function Documentation

bool PcpIsClassBasedArc ( PcpArcType  arcType)
inline

Returns true if arcType represents a class-based composition arc, false otherwise.

The key characteristic of these arcs is that they imply additional sources of opinions outside of the site where the arc is introduced.

Definition at line 111 of file types.h.

bool PcpIsInheritArc ( PcpArcType  arcType)
inline

Returns true if arcType represents an inherit arc, false otherwise.

Definition at line 91 of file types.h.

bool PcpIsSpecializeArc ( PcpArcType  arcType)
inline

Returns true if arcType represents a specialize arc, false otherwise.

Definition at line 99 of file types.h.

Variable Documentation

size_t PCP_INVALID_INDEX = std::numeric_limits<size_t>::max()

A value which indicates an invalid index. This is simply used inplace of either -1 or numeric_limits::max() (which are equivalent for size_t). for better clarity.

Definition at line 199 of file types.h.