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 Sun Nov 24 2024 02:45:12 for HDK by
1.8.6