All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
types.h File Reference
+ 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
 Used to keep track of which sites have been visited and through what type of arcs. More...
 

Typedefs

typedef std::vector< PcpSiteTrackerSegmentPcpSiteTracker
 Represents a single path through the composition tree.
 
typedef std::map< std::string, std::vector< std::string > > PcpVariantFallbackMap
 typedef std::map<std::string, std::vector<std::string>> PcpVariantFallbackMap
 
using PcpTokenSet = pxr_tsl::robin_set< TfToken, TfToken::HashFunctor >
 

Enumerations

enum  PcpArcType {
  PcpArcTypeRoot , PcpArcTypeInherit , PcpArcTypeVariant , PcpArcTypeRelocate ,
  PcpArcTypeReference , PcpArcTypePayload , PcpArcTypeSpecialize , PcpNumArcTypes
}
 Describes the type of arc connecting two nodes in the prim index. More...
 
enum  PcpRangeType {
  PcpRangeTypeRoot , PcpRangeTypeInherit , PcpRangeTypeVariant , PcpRangeTypeReference ,
  PcpRangeTypePayload , PcpRangeTypeSpecialize , PcpRangeTypeAll , PcpRangeTypeWeakerThanRoot ,
  PcpRangeTypeStrongerThanPayload , PcpRangeTypeInvalid
}
 

Functions

bool PcpIsInheritArc (PcpArcType arcType)
 Returns true if arcType represents an inherit arc, false otherwise.
 
bool PcpIsSpecializeArc (PcpArcType arcType)
 Returns true if arcType represents a specialize arc, false otherwise.
 
bool PcpIsClassBasedArc (PcpArcType arcType)
 Returns true if arcType represents a class-based composition arc, false otherwise.
 

Variables

constexpr size_t PCP_INVALID_INDEX = unspecified
 A value which indicates an invalid index.
 

Class Documentation

◆ PcpSiteTrackerSegment

struct PcpSiteTrackerSegment

Used to keep track of which sites have been visited and through what type of arcs.

Definition at line 102 of file types.h.

Class Members
PcpArcType arcType
PcpSite site

Typedef Documentation

◆ PcpSiteTracker

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 111 of file types.h.

◆ PcpTokenSet

Definition at line 191 of file types.h.

◆ PcpVariantFallbackMap

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 189 of file types.h.

Enumeration Type Documentation

◆ PcpArcType

enum PcpArcType

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

Definition at line 27 of file types.h.

◆ PcpRangeType

enum PcpRangeType

Definition at line 44 of file types.h.

Function Documentation

◆ PcpIsClassBasedArc()

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 92 of file types.h.

◆ PcpIsInheritArc()

bool PcpIsInheritArc ( PcpArcType  arcType)
inline

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

Definition at line 72 of file types.h.

◆ PcpIsSpecializeArc()

bool PcpIsSpecializeArc ( PcpArcType  arcType)
inline

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

Definition at line 80 of file types.h.

Variable Documentation

◆ PCP_INVALID_INDEX

size_t PCP_INVALID_INDEX = unspecified
constexpr

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 198 of file types.h.