All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
imageShaderSchema.h
Go to the documentation of this file.
1//
2// Copyright 2023 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
8
9/* ************************************************************************** */
10/* ** ** */
11/* ** This file is generated by a script. ** */
12/* ** ** */
13/* ** Do not edit it directly (unless it is within a CUSTOM CODE section)! ** */
14/* ** Edit hdSchemaDefs.py instead to make changes. ** */
15/* ** ** */
16/* ************************************************************************** */
17
18#ifndef PXR_IMAGING_HD_IMAGE_SHADER_SCHEMA_H
19#define PXR_IMAGING_HD_IMAGE_SHADER_SCHEMA_H
20
22
23#include "pxr/imaging/hd/api.h"
24#include "pxr/imaging/hd/schemaTypeDefs.h"
26
27#include "pxr/imaging/hd/schema.h"
28
29// --(BEGIN CUSTOM CODE: Includes)--
30// --(END CUSTOM CODE: Includes)--
31
32PXR_NAMESPACE_OPEN_SCOPE
33
34// --(BEGIN CUSTOM CODE: Declares)--
35// --(END CUSTOM CODE: Declares)--
36
37#define HD_IMAGE_SHADER_SCHEMA_TOKENS \
38 (imageShader) \
39 (enabled) \
40 (priority) \
41 (filePath) \
42 (constants) \
43 (materialNetwork) \
44
45TF_DECLARE_PUBLIC_TOKENS(HdImageShaderSchemaTokens, HD_API,
46 HD_IMAGE_SHADER_SCHEMA_TOKENS);
47
48//-----------------------------------------------------------------------------
49
50
51class HdImageShaderSchema : public HdSchema
52{
53public:
56
57 HdImageShaderSchema(HdContainerDataSourceHandle container)
58 : HdSchema(container) {}
59
65 HD_API
66 static HdImageShaderSchema GetFromParent(
67 const HdContainerDataSourceHandle &fromParentContainer);
68
70
71// --(BEGIN CUSTOM CODE: Schema Methods)--
72// --(END CUSTOM CODE: Schema Methods)--
73
76
77 HD_API
78 HdBoolDataSourceHandle GetEnabled() const;
79
80 HD_API
81 HdIntDataSourceHandle GetPriority() const;
82
83 HD_API
84 HdStringDataSourceHandle GetFilePath() const;
85
86 HD_API
87 HdSampledDataSourceContainerSchema GetConstants() const;
88
89 HD_API
90 HdMaterialNetworkSchema GetMaterialNetwork() const;
91
93
96
99 HD_API
100 static const TfToken &GetSchemaToken();
101
104 HD_API
105 static const HdDataSourceLocator &GetDefaultLocator();
106
108
117
119 HD_API
120 static const HdDataSourceLocator &GetEnabledLocator();
121
123 HD_API
124 static const HdDataSourceLocator &GetPriorityLocator();
125
127 HD_API
128 static const HdDataSourceLocator &GetFilePathLocator();
129
131 HD_API
132 static const HdDataSourceLocator &GetConstantsLocator();
133
135 HD_API
136 static const HdDataSourceLocator &GetMaterialNetworkLocator();
138
141
149 HD_API
150 static HdContainerDataSourceHandle
151 BuildRetained(
152 const HdBoolDataSourceHandle &enabled,
153 const HdIntDataSourceHandle &priority,
154 const HdStringDataSourceHandle &filePath,
155 const HdContainerDataSourceHandle &constants,
156 const HdContainerDataSourceHandle &materialNetwork
157 );
158
166 {
167 public:
168 HD_API
169 Builder &SetEnabled(
170 const HdBoolDataSourceHandle &enabled);
171 HD_API
172 Builder &SetPriority(
173 const HdIntDataSourceHandle &priority);
174 HD_API
175 Builder &SetFilePath(
176 const HdStringDataSourceHandle &filePath);
177 HD_API
178 Builder &SetConstants(
179 const HdContainerDataSourceHandle &constants);
180 HD_API
181 Builder &SetMaterialNetwork(
182 const HdContainerDataSourceHandle &materialNetwork);
183
185 HD_API
186 HdContainerDataSourceHandle Build();
187
188 private:
189 HdBoolDataSourceHandle _enabled;
190 HdIntDataSourceHandle _priority;
191 HdStringDataSourceHandle _filePath;
192 HdContainerDataSourceHandle _constants;
193 HdContainerDataSourceHandle _materialNetwork;
194
195 };
196
198};
199
200PXR_NAMESPACE_CLOSE_SCOPE
201
202#endif
Represents an object that can identify the location of a data source.
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
HD_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
Schema classes represent a structured view of the inherently unstructured container data source passe...
Definition: schema.h:26
Template class for a schema backed by a container whose children have arbitrary names but an expected...
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Definition: staticTokens.h:81