HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
•
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 Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef PXR_USD_PCP_ARC_H
25
#define PXR_USD_PCP_ARC_H
26
27
#include "
pxr/pxr.h
"
28
#include "
pxr/usd/pcp/api.h
"
29
#include "
pxr/usd/pcp/mapExpression.h
"
30
#include "
pxr/usd/pcp/node.h
"
31
#include "
pxr/usd/pcp/types.h
"
32
#include "
pxr/usd/sdf/path.h
"
33
34
PXR_NAMESPACE_OPEN_SCOPE
35
36
class
PcpPrimIndex_Graph;
37
38
/// \class PcpArc
39
///
40
/// Represents an arc connecting two nodes in the prim index.
41
/// The arc is owned by a node (source) and points to its parent node (target)
42
/// in the index.
43
///
44
class
PcpArc
45
{
46
public
:
47
PcpArc
()
48
:
type
(
PcpArcTypeRoot
)
49
,
siblingNumAtOrigin
(0)
50
,
namespaceDepth
(0)
51
{ }
52
53
/// The type of this arc.
54
PcpArcType
type
;
55
56
/// The parent (or target) node of this arc.
57
/// If this arc's source node is a root node (i.e., type == PcpArcTypeRoot),
58
/// this will be an invalid node.
59
PcpNodeRef
parent
;
60
61
/// The origin node of this arc.
62
/// This is the node that caused this arc's source node to be brought into
63
/// the prim index. In most cases, this will be the same as the parent node.
64
/// For implied inherits, this is the node from which this inherit arc was
65
/// propagated. This affects strength ordering.
66
PcpNodeRef
origin
;
67
68
/// The value-mapping function used to map values from this arc's source
69
/// node to its parent node.
70
PcpMapExpression
mapToParent
;
71
72
// index among sibling arcs at origin; lower is stronger
73
int
siblingNumAtOrigin
;
74
75
// Absolute depth in namespace of node that introduced this node.
76
// Note that this does *not* count any variant selections.
77
int
namespaceDepth
;
78
};
79
80
PXR_NAMESPACE_CLOSE_SCOPE
81
82
#endif // PXR_USD_PCP_ARC_H
PcpArc
Definition:
arc.h:44
PcpMapExpression
Definition:
mapExpression.h:56
PcpArc::mapToParent
PcpMapExpression mapToParent
Definition:
arc.h:70
types.h
PcpNodeRef
Definition:
node.h:63
api.h
PcpArc::origin
PcpNodeRef origin
Definition:
arc.h:66
node.h
PcpArc::type
PcpArcType type
The type of this arc.
Definition:
arc.h:54
PcpArc::siblingNumAtOrigin
int siblingNumAtOrigin
Definition:
arc.h:73
mapExpression.h
pxr.h
PcpArc::namespaceDepth
int namespaceDepth
Definition:
arc.h:77
PcpArc::PcpArc
PcpArc()
Definition:
arc.h:47
path.h
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
PcpArcTypeRoot
Definition:
types.h:47
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
PcpArc::parent
PcpNodeRef parent
Definition:
arc.h:59
type
type
Definition:
core.h:1059
PcpArcType
PcpArcType
Definition:
types.h:44
pxr
usd
pcp
arc.h
Generated on Wed May 7 2025 02:48:08 for HDK by
1.8.6