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")) \
55 ((VolumeFilter, "volumeFilter"))
57#define SDR_NODE_ROLE_TOKENS \
58 ((Primvar, "primvar")) \
59 ((Texture, "texture")) \
95 const std::initializer_list<std::pair<TfToken, std::string>>& init
125 template <
typename T>
144 template <
typename T>
148 const VtValue converted = VtValue::Cast<T>(v);
176 void SetLabel(
const TfToken& v);
181 bool HasCategory()
const;
185 void SetCategory(
const TfToken& v);
187 void ClearCategory();
195 bool HasRole()
const;
199 void SetRole(
const TfToken& v);
205 bool HasHelp()
const;
207 std::string GetHelp()
const;
209 void SetHelp(
const std::string& v);
214 bool HasDepartments()
const;
216 SdrTokenVec GetDepartments()
const;
218 void SetDepartments(
const SdrTokenVec& v);
220 void ClearDepartments();
232 SdrTokenVec GetPages()
const;
234 void SetPages(
const SdrTokenVec& v);
240 bool HasOpenPages()
const;
242 SdrTokenVec GetOpenPages()
const;
244 void SetOpenPages(
const SdrTokenVec& v);
246 void ClearOpenPages();
259 bool HasPagesShownIf()
const;
261 SdrTokenMap GetPagesShownIf()
const;
263 void SetPagesShownIf(
const SdrTokenMap& v);
265 void ClearPagesShownIf();
269 bool HasPrimvars()
const;
271 SdrStringVec GetPrimvars()
const;
273 void SetPrimvars(
const SdrStringVec& v);
275 void ClearPrimvars();
278 bool HasImplementationName()
const;
280 std::string GetImplementationName()
const;
282 void SetImplementationName(
const std::string& v);
284 void ClearImplementationName();
287 bool HasSdrUsdEncodingVersion()
const;
289 int GetSdrUsdEncodingVersion()
const;
291 void SetSdrUsdEncodingVersion(
const int& v);
293 void ClearSdrUsdEncodingVersion();
296 bool HasSdrDefinitionNameFallbackPrefix()
const;
298 std::string GetSdrDefinitionNameFallbackPrefix()
const;
300 void SetSdrDefinitionNameFallbackPrefix(
const std::string& v);
302 void ClearSdrDefinitionNameFallbackPrefix();
313 SdrTokenMap _EncodeLegacyMetadata()
const;
316 SdrTokenMap _LegacyCtorFromInitializer(
317 std::initializer_list<std::pair<TfToken, std::string>> f)
319 return SdrTokenMap(f.begin(), f.end());
325PXR_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.