HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
arc.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_USD_PCP_ARC_H
8 #define PXR_USD_PCP_ARC_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/usd/pcp/api.h"
13 #include "pxr/usd/pcp/node.h"
14 #include "pxr/usd/pcp/types.h"
15 #include "pxr/usd/sdf/path.h"
16 
18 
19 class PcpPrimIndex_Graph;
20 
21 /// \class PcpArc
22 ///
23 /// Represents an arc connecting two nodes in the prim index.
24 /// The arc is owned by a node (source) and points to its parent node (target)
25 /// in the index.
26 ///
27 class PcpArc
28 {
29 public:
33  , namespaceDepth(0)
34  { }
35 
36  /// The type of this arc.
38 
39  /// The parent (or target) node of this arc.
40  /// If this arc's source node is a root node (i.e., type == PcpArcTypeRoot),
41  /// this will be an invalid node.
43 
44  /// The origin node of this arc.
45  /// This is the node that caused this arc's source node to be brought into
46  /// the prim index. In most cases, this will be the same as the parent node.
47  /// For implied inherits, this is the node from which this inherit arc was
48  /// propagated. This affects strength ordering.
50 
51  /// The value-mapping function used to map values from this arc's source
52  /// node to its parent node.
54 
55  // index among sibling arcs at origin; lower is stronger
57 
58  // Absolute depth in namespace of node that introduced this node.
59  // Note that this does *not* count any variant selections.
61 };
62 
64 
65 #endif // PXR_USD_PCP_ARC_H
Definition: arc.h:27
PcpMapExpression mapToParent
Definition: arc.h:53
PcpNodeRef origin
Definition: arc.h:49
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:108
PcpArcType type
The type of this arc.
Definition: arc.h:37
int siblingNumAtOrigin
Definition: arc.h:56
int namespaceDepth
Definition: arc.h:60
PcpArc()
Definition: arc.h:30
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
PcpNodeRef parent
Definition: arc.h:42
PcpArcType
Definition: types.h:27