Loading...
Searching...
No Matches
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
53class HdImageShaderSchema : public HdSchema
54{
55public:
58
59 HdImageShaderSchema(HdContainerDataSourceHandle container)
60 : HdSchema(container) {}
61
67 HD_API
68 static HdImageShaderSchema GetFromParent(
69 const HdContainerDataSourceHandle &fromParentContainer);
70
72
73// --(BEGIN CUSTOM CODE: Schema Methods)--
74// --(END CUSTOM CODE: Schema Methods)--
75
78
79 HD_API
80 HdBoolDataSourceHandle GetEnabled() const;
81
82 HD_API
83 HdIntDataSourceHandle GetPriority() const;
84
85 HD_API
86 HdStringDataSourceHandle GetFilePath() const;
87
88 HD_API
89 HdSampledDataSourceContainerSchema GetConstants() const;
90
91 HD_API
92 HdMaterialNetworkSchema GetMaterialNetwork() const;
93
95
98
101 HD_API
102 static const TfToken &GetSchemaToken();
103
106 HD_API
107 static const HdDataSourceLocator &GetDefaultLocator();
108
110
119
121 HD_API
122 static const HdDataSourceLocator &GetEnabledLocator();
123
125 HD_API
126 static const HdDataSourceLocator &GetPriorityLocator();
127
129 HD_API
130 static const HdDataSourceLocator &GetFilePathLocator();
131
133 HD_API
134 static const HdDataSourceLocator &GetConstantsLocator();
135
137 HD_API
138 static const HdDataSourceLocator &GetMaterialNetworkLocator();
140
143
151 HD_API
152 static HdContainerDataSourceHandle
153 BuildRetained(
154 const HdBoolDataSourceHandle &enabled,
155 const HdIntDataSourceHandle &priority,
156 const HdStringDataSourceHandle &filePath,
157 const HdContainerDataSourceHandle &constants,
158 const HdContainerDataSourceHandle &materialNetwork
159 );
160
168 {
169 public:
170 HD_API
171 Builder &SetEnabled(
172 const HdBoolDataSourceHandle &enabled);
173 HD_API
174 Builder &SetPriority(
175 const HdIntDataSourceHandle &priority);
176 HD_API
177 Builder &SetFilePath(
178 const HdStringDataSourceHandle &filePath);
179 HD_API
180 Builder &SetConstants(
181 const HdContainerDataSourceHandle &constants);
182 HD_API
183 Builder &SetMaterialNetwork(
184 const HdContainerDataSourceHandle &materialNetwork);
185
187 HD_API
188 HdContainerDataSourceHandle Build();
189
190 private:
191 HdBoolDataSourceHandle _enabled;
192 HdIntDataSourceHandle _priority;
193 HdStringDataSourceHandle _filePath;
194 HdContainerDataSourceHandle _constants;
195 HdContainerDataSourceHandle _materialNetwork;
196
197 };
198
200};
201
202PXR_NAMESPACE_CLOSE_SCOPE
203
204#endif
Template class for a schema backed by a container whose children have arbitrary names but an expected...
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.
The MaterialNetwork schema is a container schema that defines a material for a specific render contex...
Schema classes represent a structured view of the inherently unstructured container data source passe...
Definition: schema.h:26
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:92