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
128 HD_API
129 HdBoolDataSourceHandle GetDoubleSided() const;
130
132
135
138 HD_API
139 static const TfToken &GetSchemaToken();
140
143 HD_API
144 static const HdDataSourceLocator &GetDefaultLocator();
145
147
150
158 HD_API
159 static HdContainerDataSourceHandle
160 BuildRetained(
161 const HdIntDataSourceHandle &uVertexCount,
162 const HdIntDataSourceHandle &vVertexCount,
163 const HdIntDataSourceHandle &uOrder,
164 const HdIntDataSourceHandle &vOrder,
165 const HdDoubleArrayDataSourceHandle &uKnots,
166 const HdDoubleArrayDataSourceHandle &vKnots,
167 const HdTokenDataSourceHandle &uForm,
168 const HdTokenDataSourceHandle &vForm,
169 const HdVec2dDataSourceHandle &uRange,
170 const HdVec2dDataSourceHandle &vRange,
171 const HdContainerDataSourceHandle &trimCurve,
172 const HdTokenDataSourceHandle &orientation,
173 const HdBoolDataSourceHandle &doubleSided
174 );
175
182 class Builder
183 {
184 public:
185 HD_API
186 Builder &SetUVertexCount(
187 const HdIntDataSourceHandle &uVertexCount);
188 HD_API
189 Builder &SetVVertexCount(
190 const HdIntDataSourceHandle &vVertexCount);
191 HD_API
192 Builder &SetUOrder(
193 const HdIntDataSourceHandle &uOrder);
194 HD_API
195 Builder &SetVOrder(
196 const HdIntDataSourceHandle &vOrder);
197 HD_API
198 Builder &SetUKnots(
199 const HdDoubleArrayDataSourceHandle &uKnots);
200 HD_API
201 Builder &SetVKnots(
202 const HdDoubleArrayDataSourceHandle &vKnots);
203 HD_API
204 Builder &SetUForm(
205 const HdTokenDataSourceHandle &uForm);
206 HD_API
207 Builder &SetVForm(
208 const HdTokenDataSourceHandle &vForm);
209 HD_API
210 Builder &SetURange(
211 const HdVec2dDataSourceHandle &uRange);
212 HD_API
213 Builder &SetVRange(
214 const HdVec2dDataSourceHandle &vRange);
215 HD_API
216 Builder &SetTrimCurve(
217 const HdContainerDataSourceHandle &trimCurve);
218 HD_API
219 Builder &SetOrientation(
220 const HdTokenDataSourceHandle &orientation);
221 HD_API
222 Builder &SetDoubleSided(
223 const HdBoolDataSourceHandle &doubleSided);
224
226 HD_API
227 HdContainerDataSourceHandle Build();
228
229 private:
230 HdIntDataSourceHandle _uVertexCount;
231 HdIntDataSourceHandle _vVertexCount;
232 HdIntDataSourceHandle _uOrder;
233 HdIntDataSourceHandle _vOrder;
234 HdDoubleArrayDataSourceHandle _uKnots;
235 HdDoubleArrayDataSourceHandle _vKnots;
236 HdTokenDataSourceHandle _uForm;
237 HdTokenDataSourceHandle _vForm;
238 HdVec2dDataSourceHandle _uRange;
239 HdVec2dDataSourceHandle _vRange;
240 HdContainerDataSourceHandle _trimCurve;
241 HdTokenDataSourceHandle _orientation;
242 HdBoolDataSourceHandle _doubleSided;
243
244 };
245
253 HD_API
254 static HdTokenDataSourceHandle BuildFormDataSource(
255 const TfToken &form);
256
263 HD_API
264 static HdTokenDataSourceHandle BuildOrientationDataSource(
265 const TfToken &orientation);
266
268};
269
270PXR_NAMESPACE_CLOSE_SCOPE
271
272#endif
Represents an object that can identify the location of a data source.
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:81
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.