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
types.h
Go to the documentation of this file.
1
//
2
// Copyright 2020 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_USD_SHADE_TYPES_H
25
#define PXR_USD_USD_SHADE_TYPES_H
26
27
#include "
pxr/pxr.h
"
28
#include "
pxr/usd/usdShade/api.h
"
29
#include "
pxr/usd/usd/attribute.h
"
30
31
#include "
pxr/base/tf/smallVector.h
"
32
33
PXR_NAMESPACE_OPEN_SCOPE
34
35
/// \enum UsdShadeAttributeType
36
///
37
/// Specifies the type of a shading attribute.
38
///
39
enum class
UsdShadeAttributeType
{
40
Invalid
,
41
Input
,
42
Output
,
43
};
44
45
/// \enum UsdShadeConnectionModification
46
///
47
/// Choice when creating a single connection with the \p ConnectToSource method
48
/// for a shading attribute. The new connection can replace any existing
49
/// connections or be added to the list of existing connections. In which case
50
/// there is a choice between prepending and appending to said list, which will
51
/// be represented by Usd's list editing operations.
52
///
53
enum class
UsdShadeConnectionModification
{
54
Replace
,
55
Prepend
,
56
Append
57
};
58
59
/// \typedef UsdShadeAttributeVector
60
///
61
/// For performance reasons we want to be extra careful when reporting
62
/// attributes. It is possible to have multiple connections for a shading
63
/// attribute, but by far the more common cases are one or no connection. So we
64
/// use a small vector that can be stack allocated that holds space for a single
65
/// attributes, but that can "spill" to the heap in the case of multiple
66
/// upstream attributes.
67
using
UsdShadeAttributeVector
=
TfSmallVector<UsdAttribute, 1>
;
68
69
/// \typedef UsdShadeSourceInfoVector
70
///
71
/// For performance reasons we want to be extra careful when reporting
72
/// connections. It is possible to have multiple connections for a shading
73
/// attribute, but by far the more common cases are one or no connection.
74
/// So we use a small vector that can be stack allocated that holds space
75
/// for a single source, but that can "spill" to the heap in the case
76
/// of a multi-connection.
77
///
78
/// /sa UsdShadeConnectionSourceInfo in connectableAPI.h
79
struct
UsdShadeConnectionSourceInfo
;
80
using
UsdShadeSourceInfoVector
=
TfSmallVector<UsdShadeConnectionSourceInfo, 1>
;
81
82
PXR_NAMESPACE_CLOSE_SCOPE
83
84
#endif
UsdShadeAttributeType::Output
TfSmallVector
Definition:
smallVector.h:177
UsdShadeConnectionModification
UsdShadeConnectionModification
Definition:
types.h:53
attribute.h
UsdShadeAttributeType::Input
pxr.h
UsdShadeConnectionModification::Prepend
UsdShadeConnectionModification::Replace
UsdShadeAttributeType::Invalid
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
UsdShadeConnectionModification::Append
UsdShadeConnectionSourceInfo
Definition:
connectableAPI.h:754
api.h
smallVector.h
UsdShadeAttributeType
UsdShadeAttributeType
Definition:
types.h:39
pxr
usd
usdShade
types.h
Generated on Wed Apr 2 2025 02:49:18 for HDK by
1.8.6