All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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
< PcpSiteTrackerSegment
PcpSiteTracker
 Represents a single path through the composition tree. More...
 
typedef std::map< std::string,
std::vector< std::string > > 
PcpVariantFallbackMap
 typedef std::map<std::string, std::vector<std::string>> PcpVariantFallbackMap More...
 
typedef TfDenseHashSet
< TfToken,
TfToken::HashFunctor
PcpTokenSet
 

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. More...
 
bool PcpIsSpecializeArc (PcpArcType arcType)
 Returns true if arcType represents a specialize arc, false otherwise. More...
 
bool PcpIsClassBasedArc (PcpArcType arcType)
 Returns true if arcType represents a class-based composition arc, false otherwise. More...
 

Variables

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

Class Documentation

struct PcpSiteTrackerSegment

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

Definition at line 121 of file types.h.

Class Members
PcpArcType arcType
PcpSiteStr site

Typedef Documentation

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.

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.

Definition at line 46 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 = unspecified

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