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 USDRI_TOKENS_H
25 #define USDRI_TOKENS_H
26 
27 /// \file usdRi/tokens.h
28 
29 // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
30 //
31 // This is an automatically generated file (by usdGenSchema.py).
32 // Do not hand-edit!
33 //
34 // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
35 
36 #include "pxr/pxr.h"
37 #include "pxr/usd/usdRi/api.h"
38 #include "pxr/base/tf/staticData.h"
39 #include "pxr/base/tf/token.h"
40 #include <vector>
41 
42 PXR_NAMESPACE_OPEN_SCOPE
43 
44 
45 /// \class UsdRiTokensType
46 ///
47 /// \link UsdRiTokens \endlink provides static, efficient
48 /// \link TfToken TfTokens\endlink for use in all public USD API.
49 ///
50 /// These tokens are auto-generated from the module's schema, representing
51 /// property names, for when you need to fetch an attribute or relationship
52 /// directly by name, e.g. UsdPrim::GetAttribute(), in the most efficient
53 /// manner, and allow the compiler to verify that you spelled the name
54 /// correctly.
55 ///
56 /// UsdRiTokens also contains all of the \em allowedTokens values
57 /// declared for schema builtin attributes of 'token' scene description type.
58 /// Use UsdRiTokens like so:
59 ///
60 /// \code
61 ///     gprim.GetMyTokenValuedAttr().Set(UsdRiTokens->bspline);
62 /// \endcode
63 struct UsdRiTokensType {
64     USDRI_API UsdRiTokensType();
65     /// \brief "bspline"
66     ///
67     /// UsdSplineAPI - BSpline spline interpolation
68     const TfToken bspline;
69     /// \brief "catmull-rom"
70     ///
71     /// UsdSplineAPI - Catmull-Rom spline interpolation
72     const TfToken catmullRom;
73     /// \brief "constant"
74     ///
75     /// UsdSplineAPI - Constant-value spline interpolation
76     const TfToken constant;
77     /// \brief "interpolation"
78     ///
79     /// UsdSplineAPI - Interpolation attribute name
80     const TfToken interpolation;
81     /// \brief "linear"
82     ///
83     /// UsdSplineAPI - Linear spline interpolation
84     const TfToken linear;
85     /// \brief "outputs:ri:displacement"
86     ///
87     /// UsdRiMaterialAPI
88     const TfToken outputsRiDisplacement;
89     /// \brief "outputs:ri:surface"
90     ///
91     /// UsdRiMaterialAPI
92     const TfToken outputsRiSurface;
93     /// \brief "outputs:ri:volume"
94     ///
95     /// UsdRiMaterialAPI
96     const TfToken outputsRiVolume;
97     /// \brief "positions"
98     ///
99     /// UsdSplineAPI - Positions attribute name
100     const TfToken positions;
101     /// \brief "ri"
102     ///
103     /// UsdShadeMaterial / Hydra render context token for UsdRi
104     const TfToken renderContext;
105     /// \brief "ri:texture:gamma"
106     ///
107     /// UsdRiTextureAPI
108     const TfToken riTextureGamma;
109     /// \brief "ri:texture:saturation"
110     ///
111     /// UsdRiTextureAPI
112     const TfToken riTextureSaturation;
113     /// \brief "spline"
114     ///
115     /// UsdSplineAPI - Namespace for spline attributes
116     const TfToken spline;
117     /// \brief "values"
118     ///
119     /// UsdSplineAPI - values attribute name
120     const TfToken values;
121     /// A vector of all of the tokens listed above.
122     const std::vector<TfToken> allTokens;
123 };
124 
125 /// \var UsdRiTokens
126 ///
127 /// A global variable with static, efficient \link TfToken TfTokens\endlink
128 /// for use in all public USD API.  \sa UsdRiTokensType
129 extern USDRI_API TfStaticData<UsdRiTokensType> UsdRiTokens;
130 
131 PXR_NAMESPACE_CLOSE_SCOPE
132 
133 #endif
134