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 Sun Nov 17 2024 03:02:55 for HDK by
1.8.6