Loading...
Searching...
No Matches
nurbsPatchSchema.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_NURBS_PATCH_SCHEMA_H
19#define PXR_IMAGING_HD_NURBS_PATCH_SCHEMA_H
20
22
23#include "pxr/imaging/hd/api.h"
25
26#include "pxr/imaging/hd/schema.h"
27
28// --(BEGIN CUSTOM CODE: Includes)--
29// --(END CUSTOM CODE: Includes)--
30
31PXR_NAMESPACE_OPEN_SCOPE
32
33// --(BEGIN CUSTOM CODE: Declares)--
34// --(END CUSTOM CODE: Declares)--
35
36#define HD_NURBS_PATCH_SCHEMA_TOKENS \
37 (nurbsPatch) \
38 (uVertexCount) \
39 (vVertexCount) \
40 (uOrder) \
41 (vOrder) \
42 (uKnots) \
43 (vKnots) \
44 (uForm) \
45 (vForm) \
46 (uRange) \
47 (vRange) \
48 (trimCurve) \
49 (orientation) \
50 (doubleSided) \
51 (open) \
52 (closed) \
53 (periodic) \
54 (leftHanded) \
55 (rightHanded) \
56
57TF_DECLARE_PUBLIC_TOKENS(HdNurbsPatchSchemaTokens, HD_API,
58 HD_NURBS_PATCH_SCHEMA_TOKENS);
59
60//-----------------------------------------------------------------------------
61
62
65class HdNurbsPatchSchema : public HdSchema
66{
67public:
70
71 HdNurbsPatchSchema(HdContainerDataSourceHandle container)
72 : HdSchema(container) {}
73
79 HD_API
80 static HdNurbsPatchSchema GetFromParent(
81 const HdContainerDataSourceHandle &fromParentContainer);
82
84
85// --(BEGIN CUSTOM CODE: Schema Methods)--
86// --(END CUSTOM CODE: Schema Methods)--
87
90
91 HD_API
92 HdIntDataSourceHandle GetUVertexCount() const;
93
94 HD_API
95 HdIntDataSourceHandle GetVVertexCount() const;
96
97 HD_API
98 HdIntDataSourceHandle GetUOrder() const;
99
100 HD_API
101 HdIntDataSourceHandle GetVOrder() const;
102
103 HD_API
104 HdDoubleArrayDataSourceHandle GetUKnots() const;
105
106 HD_API
107 HdDoubleArrayDataSourceHandle GetVKnots() const;
108
109 HD_API
110 HdTokenDataSourceHandle GetUForm() const;
111
112 HD_API
113 HdTokenDataSourceHandle GetVForm() const;
114
115 HD_API
116 HdVec2dDataSourceHandle GetURange() const;
117
118 HD_API
119 HdVec2dDataSourceHandle GetVRange() const;
120
121 HD_API
122 HdNurbsPatchTrimCurveSchema GetTrimCurve() const;
123
124 HD_API
125 HdTokenDataSourceHandle GetOrientation() const;
126
127 HD_API
128 HdBoolDataSourceHandle GetDoubleSided() const;
129
131
134
137 HD_API
138 static const TfToken &GetSchemaToken();
139
142 HD_API
143 static const HdDataSourceLocator &GetDefaultLocator();
144
146
149
157 HD_API
158 static HdContainerDataSourceHandle
159 BuildRetained(
160 const HdIntDataSourceHandle &uVertexCount,
161 const HdIntDataSourceHandle &vVertexCount,
162 const HdIntDataSourceHandle &uOrder,
163 const HdIntDataSourceHandle &vOrder,
164 const HdDoubleArrayDataSourceHandle &uKnots,
165 const HdDoubleArrayDataSourceHandle &vKnots,
166 const HdTokenDataSourceHandle &uForm,
167 const HdTokenDataSourceHandle &vForm,
168 const HdVec2dDataSourceHandle &uRange,
169 const HdVec2dDataSourceHandle &vRange,
170 const HdContainerDataSourceHandle &trimCurve,
171 const HdTokenDataSourceHandle &orientation,
172 const HdBoolDataSourceHandle &doubleSided
173 );
174
182 {
183 public:
184 HD_API
185 Builder &SetUVertexCount(
186 const HdIntDataSourceHandle &uVertexCount);
187 HD_API
188 Builder &SetVVertexCount(
189 const HdIntDataSourceHandle &vVertexCount);
190 HD_API
191 Builder &SetUOrder(
192 const HdIntDataSourceHandle &uOrder);
193 HD_API
194 Builder &SetVOrder(
195 const HdIntDataSourceHandle &vOrder);
196 HD_API
197 Builder &SetUKnots(
198 const HdDoubleArrayDataSourceHandle &uKnots);
199 HD_API
200 Builder &SetVKnots(
201 const HdDoubleArrayDataSourceHandle &vKnots);
202 HD_API
203 Builder &SetUForm(
204 const HdTokenDataSourceHandle &uForm);
205 HD_API
206 Builder &SetVForm(
207 const HdTokenDataSourceHandle &vForm);
208 HD_API
209 Builder &SetURange(
210 const HdVec2dDataSourceHandle &uRange);
211 HD_API
212 Builder &SetVRange(
213 const HdVec2dDataSourceHandle &vRange);
214 HD_API
215 Builder &SetTrimCurve(
216 const HdContainerDataSourceHandle &trimCurve);
217 HD_API
218 Builder &SetOrientation(
219 const HdTokenDataSourceHandle &orientation);
220 HD_API
221 Builder &SetDoubleSided(
222 const HdBoolDataSourceHandle &doubleSided);
223
225 HD_API
226 HdContainerDataSourceHandle Build();
227
228 private:
229 HdIntDataSourceHandle _uVertexCount;
230 HdIntDataSourceHandle _vVertexCount;
231 HdIntDataSourceHandle _uOrder;
232 HdIntDataSourceHandle _vOrder;
233 HdDoubleArrayDataSourceHandle _uKnots;
234 HdDoubleArrayDataSourceHandle _vKnots;
235 HdTokenDataSourceHandle _uForm;
236 HdTokenDataSourceHandle _vForm;
237 HdVec2dDataSourceHandle _uRange;
238 HdVec2dDataSourceHandle _vRange;
239 HdContainerDataSourceHandle _trimCurve;
240 HdTokenDataSourceHandle _orientation;
241 HdBoolDataSourceHandle _doubleSided;
242
243 };
244
252 HD_API
253 static HdTokenDataSourceHandle BuildFormDataSource(
254 const TfToken &form);
255
262 HD_API
263 static HdTokenDataSourceHandle BuildOrientationDataSource(
264 const TfToken &orientation);
265
267};
268
269PXR_NAMESPACE_CLOSE_SCOPE
270
271#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
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