8#ifndef PXR_USD_SDR_SHADER_NODE_METADATA_H
9#define PXR_USD_SDR_SHADER_NODE_METADATA_H
14#include "pxr/usd/sdr/api.h"
17PXR_NAMESPACE_OPEN_SCOPE
25#define SDR_NODE_METADATA_TOKENS \
26 ((Category, "category")) \
28 ((Departments, "departments")) \
32 ((OpenPages, "openPages")) \
33 ((PagesShownIf, "pagesShownIf")) \
34 ((Primvars, "primvars")) \
35 ((ImplementationName, "__SDR__implementationName"))\
36 ((Target, "__SDR__target")) \
37 ((SdrUsdEncodingVersion, "sdrUsdEncodingVersion")) \
38 ((SdrDefinitionNameFallbackPrefix, "sdrDefinitionNameFallbackPrefix"))
45#define SDR_NODE_CONTEXT_TOKENS \
46 ((Pattern, "pattern")) \
47 ((Surface, "surface")) \
48 ((Volume, "volume")) \
49 ((Displacement, "displacement")) \
51 ((DisplayFilter, "displayFilter")) \
52 ((LightFilter, "lightFilter")) \
53 ((PixelFilter, "pixelFilter")) \
54 ((SampleFilter, "sampleFilter"))
56#define SDR_NODE_ROLE_TOKENS \
57 ((Primvar, "primvar")) \
58 ((Texture, "texture")) \
94 const std::initializer_list<std::pair<TfToken, std::string>>& init
124 template <
typename T>
143 template <
typename T>
147 const VtValue converted = VtValue::Cast<T>(v);
175 void SetLabel(
const TfToken& v);
180 bool HasCategory()
const;
184 void SetCategory(
const TfToken& v);
186 void ClearCategory();
194 bool HasRole()
const;
198 void SetRole(
const TfToken& v);
204 bool HasHelp()
const;
206 std::string GetHelp()
const;
208 void SetHelp(
const std::string& v);
213 bool HasDepartments()
const;
215 SdrTokenVec GetDepartments()
const;
217 void SetDepartments(
const SdrTokenVec& v);
219 void ClearDepartments();
231 SdrTokenVec GetPages()
const;
233 void SetPages(
const SdrTokenVec& v);
239 bool HasOpenPages()
const;
241 SdrTokenVec GetOpenPages()
const;
243 void SetOpenPages(
const SdrTokenVec& v);
245 void ClearOpenPages();
258 bool HasPagesShownIf()
const;
260 SdrTokenMap GetPagesShownIf()
const;
262 void SetPagesShownIf(
const SdrTokenMap& v);
264 void ClearPagesShownIf();
268 bool HasPrimvars()
const;
270 SdrStringVec GetPrimvars()
const;
272 void SetPrimvars(
const SdrStringVec& v);
274 void ClearPrimvars();
277 bool HasImplementationName()
const;
279 std::string GetImplementationName()
const;
281 void SetImplementationName(
const std::string& v);
283 void ClearImplementationName();
286 bool HasSdrUsdEncodingVersion()
const;
288 int GetSdrUsdEncodingVersion()
const;
290 void SetSdrUsdEncodingVersion(
const int& v);
292 void ClearSdrUsdEncodingVersion();
295 bool HasSdrDefinitionNameFallbackPrefix()
const;
297 std::string GetSdrDefinitionNameFallbackPrefix()
const;
299 void SetSdrDefinitionNameFallbackPrefix(
const std::string& v);
301 void ClearSdrDefinitionNameFallbackPrefix();
312 SdrTokenMap _EncodeLegacyMetadata()
const;
315 SdrTokenMap _LegacyCtorFromInitializer(
316 std::initializer_list<std::pair<TfToken, std::string>> f)
318 return SdrTokenMap(f.begin(), f.end());
324PXR_NAMESPACE_CLOSE_SCOPE
Represents a node that holds shading information.
Token for efficient comparison, assignment, and hashing of known strings.
A map with string keys and VtValue values.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
bool IsEmpty() const
Returns true iff this value is empty.
T const & UncheckedGet() const &
Returns a const reference to the held object if the held object is of type T.
This file defines some macros that are useful for declaring and using static TfTokens.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.