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
74class HdCameraSchema : public HdSchema
75{
76public:
79
80 HdCameraSchema(HdContainerDataSourceHandle container)
81 : HdSchema(container) {}
82
88 HD_API
89 static HdCameraSchema GetFromParent(
90 const HdContainerDataSourceHandle &fromParentContainer);
91
93
94// --(BEGIN CUSTOM CODE: Schema Methods)--
95// --(END CUSTOM CODE: Schema Methods)--
96
99
100 HD_API
101 HdTokenDataSourceHandle GetProjection() const;
102
103 HD_API
104 HdFloatDataSourceHandle GetHorizontalAperture() const;
105
106 HD_API
107 HdFloatDataSourceHandle GetVerticalAperture() const;
108
109 HD_API
110 HdFloatDataSourceHandle GetHorizontalApertureOffset() const;
111
112 HD_API
113 HdFloatDataSourceHandle GetVerticalApertureOffset() const;
114
115 HD_API
116 HdFloatDataSourceHandle GetFocalLength() const;
117
118 HD_API
119 HdVec2fDataSourceHandle GetClippingRange() const;
120
121 HD_API
122 HdVec4dArrayDataSourceHandle GetClippingPlanes() const;
123
124 HD_API
125 HdFloatDataSourceHandle GetFStop() const;
126
127 HD_API
128 HdFloatDataSourceHandle GetFocusDistance() const;
129
130 HD_API
131 HdDoubleDataSourceHandle GetShutterOpen() const;
132
133 HD_API
134 HdDoubleDataSourceHandle GetShutterClose() const;
135
136 HD_API
137 HdFloatDataSourceHandle GetExposure() const;
138
139 HD_API
140 HdFloatDataSourceHandle GetExposureTime() const;
141
142 HD_API
143 HdFloatDataSourceHandle GetExposureIso() const;
144
145 HD_API
146 HdFloatDataSourceHandle GetExposureFStop() const;
147
148 HD_API
149 HdFloatDataSourceHandle GetExposureResponsivity() const;
150
151 HD_API
152 HdFloatDataSourceHandle GetLinearExposureScale() const;
153
154 HD_API
155 HdBoolDataSourceHandle GetFocusOn() const;
156
157 HD_API
158 HdFloatDataSourceHandle GetDofAspect() const;
159
160 HD_API
161 HdSplitDiopterSchema GetSplitDiopter() const;
162
163 HD_API
164 HdLensDistortionSchema GetLensDistortion() const;
165
166 HD_API
167 HdSampledDataSourceContainerContainerSchema GetNamespacedProperties() const;
168
170
173
176 HD_API
177 static const TfToken &GetSchemaToken();
178
181 HD_API
182 static const HdDataSourceLocator &GetDefaultLocator();
183
185
194
196 HD_API
197 static const HdDataSourceLocator &GetShutterOpenLocator();
198
200 HD_API
201 static const HdDataSourceLocator &GetShutterCloseLocator();
202
204 HD_API
205 static const HdDataSourceLocator &GetExposureLocator();
206
208 HD_API
209 static const HdDataSourceLocator &GetExposureTimeLocator();
210
212 HD_API
213 static const HdDataSourceLocator &GetExposureIsoLocator();
214
216 HD_API
217 static const HdDataSourceLocator &GetExposureFStopLocator();
218
220 HD_API
221 static const HdDataSourceLocator &GetExposureResponsivityLocator();
222
224 HD_API
225 static const HdDataSourceLocator &GetLinearExposureScaleLocator();
226
228 HD_API
229 static const HdDataSourceLocator &GetNamespacedPropertiesLocator();
231
234
242 HD_API
243 static HdContainerDataSourceHandle
244 BuildRetained(
245 const HdTokenDataSourceHandle &projection,
246 const HdFloatDataSourceHandle &horizontalAperture,
247 const HdFloatDataSourceHandle &verticalAperture,
248 const HdFloatDataSourceHandle &horizontalApertureOffset,
249 const HdFloatDataSourceHandle &verticalApertureOffset,
250 const HdFloatDataSourceHandle &focalLength,
251 const HdVec2fDataSourceHandle &clippingRange,
252 const HdVec4dArrayDataSourceHandle &clippingPlanes,
253 const HdFloatDataSourceHandle &fStop,
254 const HdFloatDataSourceHandle &focusDistance,
255 const HdDoubleDataSourceHandle &shutterOpen,
256 const HdDoubleDataSourceHandle &shutterClose,
257 const HdFloatDataSourceHandle &exposure,
258 const HdFloatDataSourceHandle &exposureTime,
259 const HdFloatDataSourceHandle &exposureIso,
260 const HdFloatDataSourceHandle &exposureFStop,
261 const HdFloatDataSourceHandle &exposureResponsivity,
262 const HdFloatDataSourceHandle &linearExposureScale,
263 const HdBoolDataSourceHandle &focusOn,
264 const HdFloatDataSourceHandle &dofAspect,
265 const HdContainerDataSourceHandle &splitDiopter,
266 const HdContainerDataSourceHandle &lensDistortion,
267 const HdContainerDataSourceHandle &namespacedProperties
268 );
269
277 {
278 public:
279 HD_API
280 Builder &SetProjection(
281 const HdTokenDataSourceHandle &projection);
282 HD_API
283 Builder &SetHorizontalAperture(
284 const HdFloatDataSourceHandle &horizontalAperture);
285 HD_API
286 Builder &SetVerticalAperture(
287 const HdFloatDataSourceHandle &verticalAperture);
288 HD_API
289 Builder &SetHorizontalApertureOffset(
290 const HdFloatDataSourceHandle &horizontalApertureOffset);
291 HD_API
292 Builder &SetVerticalApertureOffset(
293 const HdFloatDataSourceHandle &verticalApertureOffset);
294 HD_API
295 Builder &SetFocalLength(
296 const HdFloatDataSourceHandle &focalLength);
297 HD_API
298 Builder &SetClippingRange(
299 const HdVec2fDataSourceHandle &clippingRange);
300 HD_API
301 Builder &SetClippingPlanes(
302 const HdVec4dArrayDataSourceHandle &clippingPlanes);
303 HD_API
304 Builder &SetFStop(
305 const HdFloatDataSourceHandle &fStop);
306 HD_API
307 Builder &SetFocusDistance(
308 const HdFloatDataSourceHandle &focusDistance);
309 HD_API
310 Builder &SetShutterOpen(
311 const HdDoubleDataSourceHandle &shutterOpen);
312 HD_API
313 Builder &SetShutterClose(
314 const HdDoubleDataSourceHandle &shutterClose);
315 HD_API
316 Builder &SetExposure(
317 const HdFloatDataSourceHandle &exposure);
318 HD_API
319 Builder &SetExposureTime(
320 const HdFloatDataSourceHandle &exposureTime);
321 HD_API
322 Builder &SetExposureIso(
323 const HdFloatDataSourceHandle &exposureIso);
324 HD_API
325 Builder &SetExposureFStop(
326 const HdFloatDataSourceHandle &exposureFStop);
327 HD_API
328 Builder &SetExposureResponsivity(
329 const HdFloatDataSourceHandle &exposureResponsivity);
330 HD_API
331 Builder &SetLinearExposureScale(
332 const HdFloatDataSourceHandle &linearExposureScale);
333 HD_API
334 Builder &SetFocusOn(
335 const HdBoolDataSourceHandle &focusOn);
336 HD_API
337 Builder &SetDofAspect(
338 const HdFloatDataSourceHandle &dofAspect);
339 HD_API
340 Builder &SetSplitDiopter(
341 const HdContainerDataSourceHandle &splitDiopter);
342 HD_API
343 Builder &SetLensDistortion(
344 const HdContainerDataSourceHandle &lensDistortion);
345 HD_API
346 Builder &SetNamespacedProperties(
347 const HdContainerDataSourceHandle &namespacedProperties);
348
350 HD_API
351 HdContainerDataSourceHandle Build();
352
353 private:
354 HdTokenDataSourceHandle _projection;
355 HdFloatDataSourceHandle _horizontalAperture;
356 HdFloatDataSourceHandle _verticalAperture;
357 HdFloatDataSourceHandle _horizontalApertureOffset;
358 HdFloatDataSourceHandle _verticalApertureOffset;
359 HdFloatDataSourceHandle _focalLength;
360 HdVec2fDataSourceHandle _clippingRange;
361 HdVec4dArrayDataSourceHandle _clippingPlanes;
362 HdFloatDataSourceHandle _fStop;
363 HdFloatDataSourceHandle _focusDistance;
364 HdDoubleDataSourceHandle _shutterOpen;
365 HdDoubleDataSourceHandle _shutterClose;
366 HdFloatDataSourceHandle _exposure;
367 HdFloatDataSourceHandle _exposureTime;
368 HdFloatDataSourceHandle _exposureIso;
369 HdFloatDataSourceHandle _exposureFStop;
370 HdFloatDataSourceHandle _exposureResponsivity;
371 HdFloatDataSourceHandle _linearExposureScale;
372 HdBoolDataSourceHandle _focusOn;
373 HdFloatDataSourceHandle _dofAspect;
374 HdContainerDataSourceHandle _splitDiopter;
375 HdContainerDataSourceHandle _lensDistortion;
376 HdContainerDataSourceHandle _namespacedProperties;
377
378 };
379
386 HD_API
387 static HdTokenDataSourceHandle BuildProjectionDataSource(
388 const TfToken &projection);
389
391};
392
393PXR_NAMESPACE_CLOSE_SCOPE
394
395#endif
Utility class for setting sparse sets of child data source fields to be filled as arguments into Buil...
Definition: cameraSchema.h:277
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.
Definition: staticTokens.h:92