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"
24#include "pxr/imaging/hd/schemaTypeDefs.h"
27
28#include "pxr/imaging/hd/schema.h"
29
30// --(BEGIN CUSTOM CODE: Includes)--
31// --(END CUSTOM CODE: Includes)--
32
33PXR_NAMESPACE_OPEN_SCOPE
34
35// --(BEGIN CUSTOM CODE: Declares)--
36// --(END CUSTOM CODE: Declares)--
37
38#define HD_CAMERA_SCHEMA_TOKENS \
39 (camera) \
40 (projection) \
41 (horizontalAperture) \
42 (verticalAperture) \
43 (horizontalApertureOffset) \
44 (verticalApertureOffset) \
45 (focalLength) \
46 (clippingRange) \
47 (clippingPlanes) \
48 (fStop) \
49 (focusDistance) \
50 (shutterOpen) \
51 (shutterClose) \
52 (exposure) \
53 (exposureTime) \
54 (exposureIso) \
55 (exposureFStop) \
56 (exposureResponsivity) \
57 (linearExposureScale) \
58 (focusOn) \
59 (dofAspect) \
60 (splitDiopter) \
61 (lensDistortion) \
62 (namespacedProperties) \
63 (perspective) \
64 (orthographic) \
65
66TF_DECLARE_PUBLIC_TOKENS(HdCameraSchemaTokens, HD_API,
67 HD_CAMERA_SCHEMA_TOKENS);
68
69//-----------------------------------------------------------------------------
70
71
72class HdCameraSchema : public HdSchema
73{
74public:
77
78 HdCameraSchema(HdContainerDataSourceHandle container)
79 : HdSchema(container) {}
80
86 HD_API
87 static HdCameraSchema GetFromParent(
88 const HdContainerDataSourceHandle &fromParentContainer);
89
91
92// --(BEGIN CUSTOM CODE: Schema Methods)--
93// --(END CUSTOM CODE: Schema Methods)--
94
97
98 HD_API
99 HdTokenDataSourceHandle GetProjection() const;
100
101 HD_API
102 HdFloatDataSourceHandle GetHorizontalAperture() const;
103
104 HD_API
105 HdFloatDataSourceHandle GetVerticalAperture() const;
106
107 HD_API
108 HdFloatDataSourceHandle GetHorizontalApertureOffset() const;
109
110 HD_API
111 HdFloatDataSourceHandle GetVerticalApertureOffset() const;
112
113 HD_API
114 HdFloatDataSourceHandle GetFocalLength() const;
115
116 HD_API
117 HdVec2fDataSourceHandle GetClippingRange() const;
118
119 HD_API
120 HdVec4dArrayDataSourceHandle GetClippingPlanes() const;
121
122 HD_API
123 HdFloatDataSourceHandle GetFStop() const;
124
125 HD_API
126 HdFloatDataSourceHandle GetFocusDistance() const;
127
128 HD_API
129 HdDoubleDataSourceHandle GetShutterOpen() const;
130
131 HD_API
132 HdDoubleDataSourceHandle GetShutterClose() const;
133
134 HD_API
135 HdFloatDataSourceHandle GetExposure() const;
136
137 HD_API
138 HdFloatDataSourceHandle GetExposureTime() const;
139
140 HD_API
141 HdFloatDataSourceHandle GetExposureIso() const;
142
143 HD_API
144 HdFloatDataSourceHandle GetExposureFStop() const;
145
146 HD_API
147 HdFloatDataSourceHandle GetExposureResponsivity() const;
148
149 HD_API
150 HdFloatDataSourceHandle GetLinearExposureScale() const;
151
152 HD_API
153 HdBoolDataSourceHandle GetFocusOn() const;
154
155 HD_API
156 HdFloatDataSourceHandle GetDofAspect() const;
157
158 HD_API
159 HdSplitDiopterSchema GetSplitDiopter() const;
160
161 HD_API
162 HdLensDistortionSchema GetLensDistortion() const;
163
164 HD_API
165 HdSampledDataSourceContainerContainerSchema GetNamespacedProperties() const;
166
168
171
174 HD_API
175 static const TfToken &GetSchemaToken();
176
179 HD_API
180 static const HdDataSourceLocator &GetDefaultLocator();
181
183
192
194 HD_API
195 static const HdDataSourceLocator &GetShutterOpenLocator();
196
198 HD_API
199 static const HdDataSourceLocator &GetShutterCloseLocator();
200
202 HD_API
203 static const HdDataSourceLocator &GetExposureLocator();
204
206 HD_API
207 static const HdDataSourceLocator &GetExposureTimeLocator();
208
210 HD_API
211 static const HdDataSourceLocator &GetExposureIsoLocator();
212
214 HD_API
215 static const HdDataSourceLocator &GetExposureFStopLocator();
216
218 HD_API
219 static const HdDataSourceLocator &GetExposureResponsivityLocator();
220
222 HD_API
223 static const HdDataSourceLocator &GetLinearExposureScaleLocator();
224
226 HD_API
227 static const HdDataSourceLocator &GetNamespacedPropertiesLocator();
229
232
240 HD_API
241 static HdContainerDataSourceHandle
242 BuildRetained(
243 const HdTokenDataSourceHandle &projection,
244 const HdFloatDataSourceHandle &horizontalAperture,
245 const HdFloatDataSourceHandle &verticalAperture,
246 const HdFloatDataSourceHandle &horizontalApertureOffset,
247 const HdFloatDataSourceHandle &verticalApertureOffset,
248 const HdFloatDataSourceHandle &focalLength,
249 const HdVec2fDataSourceHandle &clippingRange,
250 const HdVec4dArrayDataSourceHandle &clippingPlanes,
251 const HdFloatDataSourceHandle &fStop,
252 const HdFloatDataSourceHandle &focusDistance,
253 const HdDoubleDataSourceHandle &shutterOpen,
254 const HdDoubleDataSourceHandle &shutterClose,
255 const HdFloatDataSourceHandle &exposure,
256 const HdFloatDataSourceHandle &exposureTime,
257 const HdFloatDataSourceHandle &exposureIso,
258 const HdFloatDataSourceHandle &exposureFStop,
259 const HdFloatDataSourceHandle &exposureResponsivity,
260 const HdFloatDataSourceHandle &linearExposureScale,
261 const HdBoolDataSourceHandle &focusOn,
262 const HdFloatDataSourceHandle &dofAspect,
263 const HdContainerDataSourceHandle &splitDiopter,
264 const HdContainerDataSourceHandle &lensDistortion,
265 const HdContainerDataSourceHandle &namespacedProperties
266 );
267
275 {
276 public:
277 HD_API
278 Builder &SetProjection(
279 const HdTokenDataSourceHandle &projection);
280 HD_API
281 Builder &SetHorizontalAperture(
282 const HdFloatDataSourceHandle &horizontalAperture);
283 HD_API
284 Builder &SetVerticalAperture(
285 const HdFloatDataSourceHandle &verticalAperture);
286 HD_API
287 Builder &SetHorizontalApertureOffset(
288 const HdFloatDataSourceHandle &horizontalApertureOffset);
289 HD_API
290 Builder &SetVerticalApertureOffset(
291 const HdFloatDataSourceHandle &verticalApertureOffset);
292 HD_API
293 Builder &SetFocalLength(
294 const HdFloatDataSourceHandle &focalLength);
295 HD_API
296 Builder &SetClippingRange(
297 const HdVec2fDataSourceHandle &clippingRange);
298 HD_API
299 Builder &SetClippingPlanes(
300 const HdVec4dArrayDataSourceHandle &clippingPlanes);
301 HD_API
302 Builder &SetFStop(
303 const HdFloatDataSourceHandle &fStop);
304 HD_API
305 Builder &SetFocusDistance(
306 const HdFloatDataSourceHandle &focusDistance);
307 HD_API
308 Builder &SetShutterOpen(
309 const HdDoubleDataSourceHandle &shutterOpen);
310 HD_API
311 Builder &SetShutterClose(
312 const HdDoubleDataSourceHandle &shutterClose);
313 HD_API
314 Builder &SetExposure(
315 const HdFloatDataSourceHandle &exposure);
316 HD_API
317 Builder &SetExposureTime(
318 const HdFloatDataSourceHandle &exposureTime);
319 HD_API
320 Builder &SetExposureIso(
321 const HdFloatDataSourceHandle &exposureIso);
322 HD_API
323 Builder &SetExposureFStop(
324 const HdFloatDataSourceHandle &exposureFStop);
325 HD_API
326 Builder &SetExposureResponsivity(
327 const HdFloatDataSourceHandle &exposureResponsivity);
328 HD_API
329 Builder &SetLinearExposureScale(
330 const HdFloatDataSourceHandle &linearExposureScale);
331 HD_API
332 Builder &SetFocusOn(
333 const HdBoolDataSourceHandle &focusOn);
334 HD_API
335 Builder &SetDofAspect(
336 const HdFloatDataSourceHandle &dofAspect);
337 HD_API
338 Builder &SetSplitDiopter(
339 const HdContainerDataSourceHandle &splitDiopter);
340 HD_API
341 Builder &SetLensDistortion(
342 const HdContainerDataSourceHandle &lensDistortion);
343 HD_API
344 Builder &SetNamespacedProperties(
345 const HdContainerDataSourceHandle &namespacedProperties);
346
348 HD_API
349 HdContainerDataSourceHandle Build();
350
351 private:
352 HdTokenDataSourceHandle _projection;
353 HdFloatDataSourceHandle _horizontalAperture;
354 HdFloatDataSourceHandle _verticalAperture;
355 HdFloatDataSourceHandle _horizontalApertureOffset;
356 HdFloatDataSourceHandle _verticalApertureOffset;
357 HdFloatDataSourceHandle _focalLength;
358 HdVec2fDataSourceHandle _clippingRange;
359 HdVec4dArrayDataSourceHandle _clippingPlanes;
360 HdFloatDataSourceHandle _fStop;
361 HdFloatDataSourceHandle _focusDistance;
362 HdDoubleDataSourceHandle _shutterOpen;
363 HdDoubleDataSourceHandle _shutterClose;
364 HdFloatDataSourceHandle _exposure;
365 HdFloatDataSourceHandle _exposureTime;
366 HdFloatDataSourceHandle _exposureIso;
367 HdFloatDataSourceHandle _exposureFStop;
368 HdFloatDataSourceHandle _exposureResponsivity;
369 HdFloatDataSourceHandle _linearExposureScale;
370 HdBoolDataSourceHandle _focusOn;
371 HdFloatDataSourceHandle _dofAspect;
372 HdContainerDataSourceHandle _splitDiopter;
373 HdContainerDataSourceHandle _lensDistortion;
374 HdContainerDataSourceHandle _namespacedProperties;
375
376 };
377
384 HD_API
385 static HdTokenDataSourceHandle BuildProjectionDataSource(
386 const TfToken &projection);
387
389};
390
391PXR_NAMESPACE_CLOSE_SCOPE
392
393#endif
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
Definition: cameraSchema.h:275
HD_API HdContainerDataSourceHandle Build()
Returns a container data source containing the members set thus far.
Represents an object that can identify the location of a data source.
Template class for a schema backed by a container whose children have arbitrary names but an expected...
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:81