Loading...
Searching...
No Matches
cameraSchema.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_CAMERA_SCHEMA_H
19#define PXR_IMAGING_HD_CAMERA_SCHEMA_H
20
22
23#include "pxr/imaging/hd/api.h"
25#include "pxr/imaging/hd/schemaTypeDefs.h"
28
29#include "pxr/imaging/hd/schema.h"
30
31// --(BEGIN CUSTOM CODE: Includes)--
32// --(END CUSTOM CODE: Includes)--
33
34PXR_NAMESPACE_OPEN_SCOPE
35
36// --(BEGIN CUSTOM CODE: Declares)--
37// --(END CUSTOM CODE: Declares)--
38
39#define HD_CAMERA_SCHEMA_TOKENS \
40 (camera) \
41 (projection) \
42 (horizontalAperture) \
43 (verticalAperture) \
44 (horizontalApertureOffset) \
45 (verticalApertureOffset) \
46 (focalLength) \
47 (clippingRange) \
48 (clippingPlanes) \
49 (fStop) \
50 (focusDistance) \
51 (shutterOpen) \
52 (shutterClose) \
53 (exposure) \
54 (exposureTime) \
55 (exposureIso) \
56 (exposureFStop) \
57 (exposureResponsivity) \
58 (linearExposureScale) \
59 (focusOn) \
60 (dofAspect) \
61 (splitDiopter) \
62 (lensDistortion) \
63 (namespacedProperties) \
64 (backPlate) \
65 (perspective) \
66 (orthographic) \
67
68TF_DECLARE_PUBLIC_TOKENS(HdCameraSchemaTokens, HD_API,
69 HD_CAMERA_SCHEMA_TOKENS);
70
71//-----------------------------------------------------------------------------
72
73
76class HdCameraSchema : public HdSchema
77{
78public:
81
82 HdCameraSchema(HdContainerDataSourceHandle container)
83 : HdSchema(container) {}
84
90 HD_API
91 static HdCameraSchema GetFromParent(
92 const HdContainerDataSourceHandle &fromParentContainer);
93
95
96// --(BEGIN CUSTOM CODE: Schema Methods)--
97// --(END CUSTOM CODE: Schema Methods)--
98
101
102 HD_API
103 HdTokenDataSourceHandle GetProjection() const;
104
105 HD_API
106 HdFloatDataSourceHandle GetHorizontalAperture() const;
107
108 HD_API
109 HdFloatDataSourceHandle GetVerticalAperture() const;
110
111 HD_API
112 HdFloatDataSourceHandle GetHorizontalApertureOffset() const;
113
114 HD_API
115 HdFloatDataSourceHandle GetVerticalApertureOffset() const;
116
117 HD_API
118 HdFloatDataSourceHandle GetFocalLength() const;
119
120 HD_API
121 HdVec2fDataSourceHandle GetClippingRange() const;
122
123 HD_API
124 HdVec4dArrayDataSourceHandle GetClippingPlanes() const;
125
126 HD_API
127 HdFloatDataSourceHandle GetFStop() const;
128
129 HD_API
130 HdFloatDataSourceHandle GetFocusDistance() const;
131
132 HD_API
133 HdDoubleDataSourceHandle GetShutterOpen() const;
134
135 HD_API
136 HdDoubleDataSourceHandle GetShutterClose() const;
137
138 HD_API
139 HdFloatDataSourceHandle GetExposure() const;
140
141 HD_API
142 HdFloatDataSourceHandle GetExposureTime() const;
143
144 HD_API
145 HdFloatDataSourceHandle GetExposureIso() const;
146
147 HD_API
148 HdFloatDataSourceHandle GetExposureFStop() const;
149
150 HD_API
151 HdFloatDataSourceHandle GetExposureResponsivity() const;
152
153 HD_API
154 HdFloatDataSourceHandle GetLinearExposureScale() const;
155
156 HD_API
157 HdBoolDataSourceHandle GetFocusOn() const;
158
159 HD_API
160 HdFloatDataSourceHandle GetDofAspect() const;
161
162 HD_API
163 HdSplitDiopterSchema GetSplitDiopter() const;
164
165 HD_API
166 HdLensDistortionSchema GetLensDistortion() const;
167
168 HD_API
169 HdSampledDataSourceContainerContainerSchema GetNamespacedProperties() const;
170
171 HD_API
172 HdBackPlateContainerSchema GetBackPlate() const;
173
175
178
181 HD_API
182 static const TfToken &GetSchemaToken();
183
186 HD_API
187 static const HdDataSourceLocator &GetDefaultLocator();
188
190
199
201 HD_API
202 static const HdDataSourceLocator &GetShutterOpenLocator();
203
205 HD_API
206 static const HdDataSourceLocator &GetShutterCloseLocator();
207
209 HD_API
210 static const HdDataSourceLocator &GetExposureLocator();
211
213 HD_API
214 static const HdDataSourceLocator &GetExposureTimeLocator();
215
217 HD_API
218 static const HdDataSourceLocator &GetExposureIsoLocator();
219
221 HD_API
222 static const HdDataSourceLocator &GetExposureFStopLocator();
223
225 HD_API
226 static const HdDataSourceLocator &GetExposureResponsivityLocator();
227
229 HD_API
230 static const HdDataSourceLocator &GetLinearExposureScaleLocator();
231
233 HD_API
234 static const HdDataSourceLocator &GetNamespacedPropertiesLocator();
235
237 HD_API
238 static const HdDataSourceLocator &GetBackPlateLocator();
240
243
251 HD_API
252 static HdContainerDataSourceHandle
253 BuildRetained(
254 const HdTokenDataSourceHandle &projection,
255 const HdFloatDataSourceHandle &horizontalAperture,
256 const HdFloatDataSourceHandle &verticalAperture,
257 const HdFloatDataSourceHandle &horizontalApertureOffset,
258 const HdFloatDataSourceHandle &verticalApertureOffset,
259 const HdFloatDataSourceHandle &focalLength,
260 const HdVec2fDataSourceHandle &clippingRange,
261 const HdVec4dArrayDataSourceHandle &clippingPlanes,
262 const HdFloatDataSourceHandle &fStop,
263 const HdFloatDataSourceHandle &focusDistance,
264 const HdDoubleDataSourceHandle &shutterOpen,
265 const HdDoubleDataSourceHandle &shutterClose,
266 const HdFloatDataSourceHandle &exposure,
267 const HdFloatDataSourceHandle &exposureTime,
268 const HdFloatDataSourceHandle &exposureIso,
269 const HdFloatDataSourceHandle &exposureFStop,
270 const HdFloatDataSourceHandle &exposureResponsivity,
271 const HdFloatDataSourceHandle &linearExposureScale,
272 const HdBoolDataSourceHandle &focusOn,
273 const HdFloatDataSourceHandle &dofAspect,
274 const HdContainerDataSourceHandle &splitDiopter,
275 const HdContainerDataSourceHandle &lensDistortion,
276 const HdContainerDataSourceHandle &namespacedProperties,
277 const HdContainerDataSourceHandle &backPlate
278 );
279
286 class Builder
287 {
288 public:
289 HD_API
290 Builder &SetProjection(
291 const HdTokenDataSourceHandle &projection);
292 HD_API
293 Builder &SetHorizontalAperture(
294 const HdFloatDataSourceHandle &horizontalAperture);
295 HD_API
296 Builder &SetVerticalAperture(
297 const HdFloatDataSourceHandle &verticalAperture);
298 HD_API
299 Builder &SetHorizontalApertureOffset(
300 const HdFloatDataSourceHandle &horizontalApertureOffset);
301 HD_API
302 Builder &SetVerticalApertureOffset(
303 const HdFloatDataSourceHandle &verticalApertureOffset);
304 HD_API
305 Builder &SetFocalLength(
306 const HdFloatDataSourceHandle &focalLength);
307 HD_API
308 Builder &SetClippingRange(
309 const HdVec2fDataSourceHandle &clippingRange);
310 HD_API
311 Builder &SetClippingPlanes(
312 const HdVec4dArrayDataSourceHandle &clippingPlanes);
313 HD_API
314 Builder &SetFStop(
315 const HdFloatDataSourceHandle &fStop);
316 HD_API
317 Builder &SetFocusDistance(
318 const HdFloatDataSourceHandle &focusDistance);
319 HD_API
320 Builder &SetShutterOpen(
321 const HdDoubleDataSourceHandle &shutterOpen);
322 HD_API
323 Builder &SetShutterClose(
324 const HdDoubleDataSourceHandle &shutterClose);
325 HD_API
326 Builder &SetExposure(
327 const HdFloatDataSourceHandle &exposure);
328 HD_API
329 Builder &SetExposureTime(
330 const HdFloatDataSourceHandle &exposureTime);
331 HD_API
332 Builder &SetExposureIso(
333 const HdFloatDataSourceHandle &exposureIso);
334 HD_API
335 Builder &SetExposureFStop(
336 const HdFloatDataSourceHandle &exposureFStop);
337 HD_API
338 Builder &SetExposureResponsivity(
339 const HdFloatDataSourceHandle &exposureResponsivity);
340 HD_API
341 Builder &SetLinearExposureScale(
342 const HdFloatDataSourceHandle &linearExposureScale);
343 HD_API
344 Builder &SetFocusOn(
345 const HdBoolDataSourceHandle &focusOn);
346 HD_API
347 Builder &SetDofAspect(
348 const HdFloatDataSourceHandle &dofAspect);
349 HD_API
350 Builder &SetSplitDiopter(
351 const HdContainerDataSourceHandle &splitDiopter);
352 HD_API
353 Builder &SetLensDistortion(
354 const HdContainerDataSourceHandle &lensDistortion);
355 HD_API
356 Builder &SetNamespacedProperties(
357 const HdContainerDataSourceHandle &namespacedProperties);
358 HD_API
359 Builder &SetBackPlate(
360 const HdContainerDataSourceHandle &backPlate);
361
363 HD_API
364 HdContainerDataSourceHandle Build();
365
366 private:
367 HdTokenDataSourceHandle _projection;
368 HdFloatDataSourceHandle _horizontalAperture;
369 HdFloatDataSourceHandle _verticalAperture;
370 HdFloatDataSourceHandle _horizontalApertureOffset;
371 HdFloatDataSourceHandle _verticalApertureOffset;
372 HdFloatDataSourceHandle _focalLength;
373 HdVec2fDataSourceHandle _clippingRange;
374 HdVec4dArrayDataSourceHandle _clippingPlanes;
375 HdFloatDataSourceHandle _fStop;
376 HdFloatDataSourceHandle _focusDistance;
377 HdDoubleDataSourceHandle _shutterOpen;
378 HdDoubleDataSourceHandle _shutterClose;
379 HdFloatDataSourceHandle _exposure;
380 HdFloatDataSourceHandle _exposureTime;
381 HdFloatDataSourceHandle _exposureIso;
382 HdFloatDataSourceHandle _exposureFStop;
383 HdFloatDataSourceHandle _exposureResponsivity;
384 HdFloatDataSourceHandle _linearExposureScale;
385 HdBoolDataSourceHandle _focusOn;
386 HdFloatDataSourceHandle _dofAspect;
387 HdContainerDataSourceHandle _splitDiopter;
388 HdContainerDataSourceHandle _lensDistortion;
389 HdContainerDataSourceHandle _namespacedProperties;
390 HdContainerDataSourceHandle _backPlate;
391
392 };
393
400 HD_API
401 static HdTokenDataSourceHandle BuildProjectionDataSource(
402 const TfToken &projection);
403
405};
406
407PXR_NAMESPACE_CLOSE_SCOPE
408
409#endif
Helper class for storing intermediate results when building a variable expression.
HD_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
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.
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.