HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
camera.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the Apache License, Version 2.0 (the "Apache License")
5 // with the following modification; you may not use this file except in
6 // compliance with the Apache License and the following modification to it:
7 // Section 6. Trademarks. is deleted and replaced with:
8 //
9 // 6. Trademarks. This License does not grant permission to use the trade
10 // names, trademarks, service marks, or product names of the Licensor
11 // and its affiliates, except as required to comply with Section 4(c) of
12 // the License and to reproduce the content of the NOTICE file.
13 //
14 // You may obtain a copy of the Apache License at
15 //
16 // http://www.apache.org/licenses/LICENSE-2.0
17 //
18 // Unless required by applicable law or agreed to in writing, software
19 // distributed under the Apache License with the above modification is
20 // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21 // KIND, either express or implied. See the Apache License for the specific
22 // language governing permissions and limitations under the Apache License.
23 //
24 #ifndef USDGEOM_GENERATED_CAMERA_H
25 #define USDGEOM_GENERATED_CAMERA_H
26 
27 /// \file usdGeom/camera.h
28 
29 #include "pxr/pxr.h"
30 #include "pxr/usd/usdGeom/api.h"
32 #include "pxr/usd/usd/prim.h"
33 #include "pxr/usd/usd/stage.h"
34 #include "pxr/usd/usdGeom/tokens.h"
35 
36 #include "pxr/base/gf/camera.h"
37 
38 #include "pxr/base/vt/value.h"
39 
40 #include "pxr/base/gf/vec3d.h"
41 #include "pxr/base/gf/vec3f.h"
42 #include "pxr/base/gf/matrix4d.h"
43 
44 #include "pxr/base/tf/token.h"
45 #include "pxr/base/tf/type.h"
46 
48 
49 class SdfAssetPath;
50 
51 // -------------------------------------------------------------------------- //
52 // CAMERA //
53 // -------------------------------------------------------------------------- //
54 
55 /// \class UsdGeomCamera
56 ///
57 /// Transformable camera.
58 ///
59 /// Describes optical properties of a camera via a common set of attributes
60 /// that provide control over the camera's frustum as well as its depth of
61 /// field. For stereo, the left and right camera are individual prims tagged
62 /// through the \ref UsdGeomCamera::GetStereoRoleAttr() "stereoRole attribute".
63 ///
64 /// There is a corresponding class GfCamera, which can hold the state of a
65 /// camera (at a particular time). \ref UsdGeomCamera::GetCamera() and
66 /// \ref UsdGeomCamera::SetFromCamera() convert between a USD camera prim and
67 /// a GfCamera.
68 ///
69 /// To obtain the camera's location in world space, call the following on a
70 /// UsdGeomCamera 'camera':
71 /// \code
72 /// GfMatrix4d camXform = camera.ComputeLocalToWorldTransform(time);
73 /// \endcode
74 /// \note
75 /// <b>Cameras in USD are always "Y up", regardless of the stage's orientation
76 /// (i.e. UsdGeomGetStageUpAxis()).</b> This means that the inverse of
77 /// 'camXform' (the VIEW half of the <A HREF="http://www.glprogramming.com/red/chapter03.html#name2">MODELVIEW transform in OpenGL parlance</A>)
78 /// will transform the world such that the camera is at the origin, looking
79 /// down the -Z axis, with +Y as the up axis, and +X pointing to the right.
80 /// This describes a __right handed coordinate system__.
81 ///
82 /// \section UsdGeom_CameraUnits Units of Measure for Camera Properties
83 ///
84 /// Despite the familiarity of millimeters for specifying some physical
85 /// camera properties, UsdGeomCamera opts for greater consistency with all
86 /// other UsdGeom schemas, which measure geometric properties in scene units,
87 /// as determined by UsdGeomGetStageMetersPerUnit(). We do make a
88 /// concession, however, in that lens and filmback properties are measured in
89 /// __tenths of a scene unit__ rather than "raw" scene units. This means
90 /// that with the fallback value of .01 for _metersPerUnit_ - i.e. scene unit
91 /// of centimeters - then these "tenth of scene unit" properties are
92 /// effectively millimeters.
93 ///
94 /// \note If one adds a Camera prim to a UsdStage whose scene unit is not
95 /// centimeters, the fallback values for filmback properties will be
96 /// incorrect (or at the least, unexpected) in an absolute sense; however,
97 /// proper imaging through a "default camera" with focusing disabled depends
98 /// only on ratios of the other properties, so the camera is still usable.
99 /// However, it follows that if even one property is authored in the correct
100 /// scene units, then they all must be.
101 ///
102 ///
103 /// \sa \ref UsdGeom_LinAlgBasics
104 ///
105 ///
106 /// For any described attribute \em Fallback \em Value or \em Allowed \em Values below
107 /// that are text/tokens, the actual token is published and defined in \ref UsdGeomTokens.
108 /// So to set an attribute to the value "rightHanded", use UsdGeomTokens->rightHanded
109 /// as the value.
110 ///
112 {
113 public:
114  /// Compile time constant representing what kind of schema this class is.
115  ///
116  /// \sa UsdSchemaKind
118 
119  /// Construct a UsdGeomCamera on UsdPrim \p prim .
120  /// Equivalent to UsdGeomCamera::Get(prim.GetStage(), prim.GetPath())
121  /// for a \em valid \p prim, but will not immediately throw an error for
122  /// an invalid \p prim
123  explicit UsdGeomCamera(const UsdPrim& prim=UsdPrim())
124  : UsdGeomXformable(prim)
125  {
126  }
127 
128  /// Construct a UsdGeomCamera on the prim held by \p schemaObj .
129  /// Should be preferred over UsdGeomCamera(schemaObj.GetPrim()),
130  /// as it preserves SchemaBase state.
131  explicit UsdGeomCamera(const UsdSchemaBase& schemaObj)
132  : UsdGeomXformable(schemaObj)
133  {
134  }
135 
136  /// Destructor.
138  virtual ~UsdGeomCamera();
139 
140  /// Return a vector of names of all pre-declared attributes for this schema
141  /// class and all its ancestor classes. Does not include attributes that
142  /// may be authored by custom/extended methods of the schemas involved.
144  static const TfTokenVector &
145  GetSchemaAttributeNames(bool includeInherited=true);
146 
147  /// Return a UsdGeomCamera holding the prim adhering to this
148  /// schema at \p path on \p stage. If no prim exists at \p path on
149  /// \p stage, or if the prim at that path does not adhere to this schema,
150  /// return an invalid schema object. This is shorthand for the following:
151  ///
152  /// \code
153  /// UsdGeomCamera(stage->GetPrimAtPath(path));
154  /// \endcode
155  ///
157  static UsdGeomCamera
158  Get(const UsdStagePtr &stage, const SdfPath &path);
159 
160  /// Attempt to ensure a \a UsdPrim adhering to this schema at \p path
161  /// is defined (according to UsdPrim::IsDefined()) on this stage.
162  ///
163  /// If a prim adhering to this schema at \p path is already defined on this
164  /// stage, return that prim. Otherwise author an \a SdfPrimSpec with
165  /// \a specifier == \a SdfSpecifierDef and this schema's prim type name for
166  /// the prim at \p path at the current EditTarget. Author \a SdfPrimSpec s
167  /// with \p specifier == \a SdfSpecifierDef and empty typeName at the
168  /// current EditTarget for any nonexistent, or existing but not \a Defined
169  /// ancestors.
170  ///
171  /// The given \a path must be an absolute prim path that does not contain
172  /// any variant selections.
173  ///
174  /// If it is impossible to author any of the necessary PrimSpecs, (for
175  /// example, in case \a path cannot map to the current UsdEditTarget's
176  /// namespace) issue an error and return an invalid \a UsdPrim.
177  ///
178  /// Note that this method may return a defined prim whose typeName does not
179  /// specify this schema class, in case a stronger typeName opinion overrides
180  /// the opinion at the current EditTarget.
181  ///
183  static UsdGeomCamera
184  Define(const UsdStagePtr &stage, const SdfPath &path);
185 
186 protected:
187  /// Returns the kind of schema this class belongs to.
188  ///
189  /// \sa UsdSchemaKind
191  UsdSchemaKind _GetSchemaKind() const override;
192 
193 private:
194  // needs to invoke _GetStaticTfType.
195  friend class UsdSchemaRegistry;
197  static const TfType &_GetStaticTfType();
198 
199  static bool _IsTypedSchema();
200 
201  // override SchemaBase virtuals.
203  const TfType &_GetTfType() const override;
204 
205 public:
206  // --------------------------------------------------------------------- //
207  // PROJECTION
208  // --------------------------------------------------------------------- //
209  ///
210  ///
211  /// | ||
212  /// | -- | -- |
213  /// | Declaration | `token projection = "perspective"` |
214  /// | C++ Type | TfToken |
215  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
216  /// | \ref UsdGeomTokens "Allowed Values" | perspective, orthographic |
219 
220  /// See GetProjectionAttr(), and also
221  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
222  /// If specified, author \p defaultValue as the attribute's default,
223  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
224  /// the default for \p writeSparsely is \c false.
226  UsdAttribute CreateProjectionAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
227 
228 public:
229  // --------------------------------------------------------------------- //
230  // HORIZONTALAPERTURE
231  // --------------------------------------------------------------------- //
232  /// Horizontal aperture in tenths of a scene unit; see
233  /// \ref UsdGeom_CameraUnits . Default is the equivalent of
234  /// the standard 35mm spherical projector aperture.
235  ///
236  /// | ||
237  /// | -- | -- |
238  /// | Declaration | `float horizontalAperture = 20.955` |
239  /// | C++ Type | float |
240  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
243 
244  /// See GetHorizontalApertureAttr(), and also
245  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
246  /// If specified, author \p defaultValue as the attribute's default,
247  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
248  /// the default for \p writeSparsely is \c false.
250  UsdAttribute CreateHorizontalApertureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
251 
252 public:
253  // --------------------------------------------------------------------- //
254  // VERTICALAPERTURE
255  // --------------------------------------------------------------------- //
256  /// Vertical aperture in tenths of a scene unit; see
257  /// \ref UsdGeom_CameraUnits . Default is the equivalent of
258  /// the standard 35mm spherical projector aperture.
259  ///
260  /// | ||
261  /// | -- | -- |
262  /// | Declaration | `float verticalAperture = 15.2908` |
263  /// | C++ Type | float |
264  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
267 
268  /// See GetVerticalApertureAttr(), and also
269  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
270  /// If specified, author \p defaultValue as the attribute's default,
271  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
272  /// the default for \p writeSparsely is \c false.
274  UsdAttribute CreateVerticalApertureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
275 
276 public:
277  // --------------------------------------------------------------------- //
278  // HORIZONTALAPERTUREOFFSET
279  // --------------------------------------------------------------------- //
280  /// Horizontal aperture offset in the same units as
281  /// horizontalAperture. Defaults to 0.
282  ///
283  /// | ||
284  /// | -- | -- |
285  /// | Declaration | `float horizontalApertureOffset = 0` |
286  /// | C++ Type | float |
287  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
290 
291  /// See GetHorizontalApertureOffsetAttr(), and also
292  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
293  /// If specified, author \p defaultValue as the attribute's default,
294  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
295  /// the default for \p writeSparsely is \c false.
297  UsdAttribute CreateHorizontalApertureOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
298 
299 public:
300  // --------------------------------------------------------------------- //
301  // VERTICALAPERTUREOFFSET
302  // --------------------------------------------------------------------- //
303  /// Vertical aperture offset in the same units as
304  /// verticalAperture. Defaults to 0.
305  ///
306  /// | ||
307  /// | -- | -- |
308  /// | Declaration | `float verticalApertureOffset = 0` |
309  /// | C++ Type | float |
310  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
313 
314  /// See GetVerticalApertureOffsetAttr(), and also
315  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
316  /// If specified, author \p defaultValue as the attribute's default,
317  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
318  /// the default for \p writeSparsely is \c false.
320  UsdAttribute CreateVerticalApertureOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
321 
322 public:
323  // --------------------------------------------------------------------- //
324  // FOCALLENGTH
325  // --------------------------------------------------------------------- //
326  /// Perspective focal length in tenths of a scene unit; see
327  /// \ref UsdGeom_CameraUnits .
328  ///
329  /// | ||
330  /// | -- | -- |
331  /// | Declaration | `float focalLength = 50` |
332  /// | C++ Type | float |
333  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
336 
337  /// See GetFocalLengthAttr(), and also
338  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
339  /// If specified, author \p defaultValue as the attribute's default,
340  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
341  /// the default for \p writeSparsely is \c false.
343  UsdAttribute CreateFocalLengthAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
344 
345 public:
346  // --------------------------------------------------------------------- //
347  // CLIPPINGRANGE
348  // --------------------------------------------------------------------- //
349  /// Near and far clipping distances in scene units; see
350  /// \ref UsdGeom_CameraUnits .
351  ///
352  /// | ||
353  /// | -- | -- |
354  /// | Declaration | `float2 clippingRange = (1, 1000000)` |
355  /// | C++ Type | GfVec2f |
356  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float2 |
359 
360  /// See GetClippingRangeAttr(), and also
361  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
362  /// If specified, author \p defaultValue as the attribute's default,
363  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
364  /// the default for \p writeSparsely is \c false.
366  UsdAttribute CreateClippingRangeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
367 
368 public:
369  // --------------------------------------------------------------------- //
370  // CLIPPINGPLANES
371  // --------------------------------------------------------------------- //
372  /// Additional, arbitrarily oriented clipping planes.
373  /// A vector (a,b,c,d) encodes a clipping plane that cuts off
374  /// (x,y,z) with a * x + b * y + c * z + d * 1 < 0 where (x,y,z)
375  /// are the coordinates in the camera's space.
376  ///
377  /// | ||
378  /// | -- | -- |
379  /// | Declaration | `float4[] clippingPlanes = []` |
380  /// | C++ Type | VtArray<GfVec4f> |
381  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float4Array |
384 
385  /// See GetClippingPlanesAttr(), and also
386  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
387  /// If specified, author \p defaultValue as the attribute's default,
388  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
389  /// the default for \p writeSparsely is \c false.
391  UsdAttribute CreateClippingPlanesAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
392 
393 public:
394  // --------------------------------------------------------------------- //
395  // FSTOP
396  // --------------------------------------------------------------------- //
397  /// Lens aperture. Defaults to 0.0, which turns off focusing.
398  ///
399  /// | ||
400  /// | -- | -- |
401  /// | Declaration | `float fStop = 0` |
402  /// | C++ Type | float |
403  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
405  UsdAttribute GetFStopAttr() const;
406 
407  /// See GetFStopAttr(), and also
408  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
409  /// If specified, author \p defaultValue as the attribute's default,
410  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
411  /// the default for \p writeSparsely is \c false.
413  UsdAttribute CreateFStopAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
414 
415 public:
416  // --------------------------------------------------------------------- //
417  // FOCUSDISTANCE
418  // --------------------------------------------------------------------- //
419  /// Distance from the camera to the focus plane in scene units; see
420  /// \ref UsdGeom_CameraUnits .
421  ///
422  /// | ||
423  /// | -- | -- |
424  /// | Declaration | `float focusDistance = 0` |
425  /// | C++ Type | float |
426  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
429 
430  /// See GetFocusDistanceAttr(), and also
431  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
432  /// If specified, author \p defaultValue as the attribute's default,
433  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
434  /// the default for \p writeSparsely is \c false.
436  UsdAttribute CreateFocusDistanceAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
437 
438 public:
439  // --------------------------------------------------------------------- //
440  // STEREOROLE
441  // --------------------------------------------------------------------- //
442  /// If different from mono, the camera is intended to be the left
443  /// or right camera of a stereo setup.
444  ///
445  /// | ||
446  /// | -- | -- |
447  /// | Declaration | `uniform token stereoRole = "mono"` |
448  /// | C++ Type | TfToken |
449  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Token |
450  /// | \ref SdfVariability "Variability" | SdfVariabilityUniform |
451  /// | \ref UsdGeomTokens "Allowed Values" | mono, left, right |
454 
455  /// See GetStereoRoleAttr(), and also
456  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
457  /// If specified, author \p defaultValue as the attribute's default,
458  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
459  /// the default for \p writeSparsely is \c false.
461  UsdAttribute CreateStereoRoleAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
462 
463 public:
464  // --------------------------------------------------------------------- //
465  // SHUTTEROPEN
466  // --------------------------------------------------------------------- //
467  /// Frame relative shutter open time in UsdTimeCode units (negative
468  /// value indicates that the shutter opens before the current
469  /// frame time). Used for motion blur.
470  ///
471  /// | ||
472  /// | -- | -- |
473  /// | Declaration | `double shutter:open = 0` |
474  /// | C++ Type | double |
475  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
478 
479  /// See GetShutterOpenAttr(), and also
480  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
481  /// If specified, author \p defaultValue as the attribute's default,
482  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
483  /// the default for \p writeSparsely is \c false.
485  UsdAttribute CreateShutterOpenAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
486 
487 public:
488  // --------------------------------------------------------------------- //
489  // SHUTTERCLOSE
490  // --------------------------------------------------------------------- //
491  /// Frame relative shutter close time, analogous comments from
492  /// shutter:open apply. A value greater or equal to shutter:open
493  /// should be authored, otherwise there is no exposure and a
494  /// renderer should produce a black image.
495  ///
496  /// | ||
497  /// | -- | -- |
498  /// | Declaration | `double shutter:close = 0` |
499  /// | C++ Type | double |
500  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Double |
503 
504  /// See GetShutterCloseAttr(), and also
505  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
506  /// If specified, author \p defaultValue as the attribute's default,
507  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
508  /// the default for \p writeSparsely is \c false.
510  UsdAttribute CreateShutterCloseAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
511 
512 public:
513  // --------------------------------------------------------------------- //
514  // EXPOSURE
515  // --------------------------------------------------------------------- //
516  /// Exposure adjustment, as a log base-2 value. The default
517  /// of 0.0 has no effect. A value of 1.0 will double the
518  /// image-plane intensities in a rendered image; a value of
519  /// -1.0 will halve them.
520  ///
521  /// | ||
522  /// | -- | -- |
523  /// | Declaration | `float exposure = 0` |
524  /// | C++ Type | float |
525  /// | \ref Usd_Datatypes "Usd Type" | SdfValueTypeNames->Float |
528 
529  /// See GetExposureAttr(), and also
530  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
531  /// If specified, author \p defaultValue as the attribute's default,
532  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
533  /// the default for \p writeSparsely is \c false.
535  UsdAttribute CreateExposureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
536 
537 public:
538  // ===================================================================== //
539  // Feel free to add custom code below this line, it will be preserved by
540  // the code generator.
541  //
542  // Just remember to:
543  // - Close the class declaration with };
544  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
545  // - Close the include guard with #endif
546  // ===================================================================== //
547  // --(BEGIN CUSTOM CODE)--
548 
549  /// Creates a GfCamera object from the attribute values at \p time.
550  ///
552  GfCamera GetCamera(const UsdTimeCode &time) const;
553 
554  /// Write attribute values from \p camera for \p time.
555  /// These attributes will be updated:
556  /// - projection
557  /// - horizontalAperture
558  /// - horizontalApertureOffset
559  /// - verticalAperture
560  /// - verticalApertureOffset
561  /// - focalLength
562  /// - clippingRange
563  /// - clippingPlanes
564  /// - fStop
565  /// - focalDistance
566  /// - xformOpOrder and xformOp:transform
567  ///
568  /// \note This will clear any existing xformOpOrder and replace
569  /// it with a single xformOp:transform entry. The xformOp:transform
570  /// property is created or updated here to match the transform
571  /// on \p camera . This operation will fail if there are stronger xform op
572  /// opinions in the composed layer stack that are stronger than that of
573  /// the current edit target.
574  ///
576  void SetFromCamera(const GfCamera &camera, const UsdTimeCode &time);
577 };
578 
580 
581 #endif
USDGEOM_API UsdAttribute GetVerticalApertureOffsetAttr() const
USDGEOM_API UsdAttribute CreateHorizontalApertureOffsetAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute CreateClippingPlanesAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute CreateShutterCloseAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute GetVerticalApertureAttr() const
Object-based representation of a camera.
Definition: camera.h:49
GT_API const UT_StringHolder time
USDGEOM_API UsdAttribute CreateHorizontalApertureAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
static USDGEOM_API const TfTokenVector & GetSchemaAttributeNames(bool includeInherited=true)
GLsizei const GLchar *const * path
Definition: glcorearb.h:3341
USDGEOM_API UsdAttribute CreateVerticalApertureOffsetAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute CreateProjectionAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute GetFocusDistanceAttr() const
USDGEOM_API GfCamera GetCamera(const UsdTimeCode &time) const
USDGEOM_API UsdAttribute CreateFocalLengthAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute CreateStereoRoleAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute CreateShutterOpenAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute GetClippingPlanesAttr() const
USDGEOM_API void SetFromCamera(const GfCamera &camera, const UsdTimeCode &time)
USDGEOM_API UsdAttribute GetClippingRangeAttr() const
Represents a concrete typed schema.
USDGEOM_API UsdAttribute GetHorizontalApertureOffsetAttr() const
USDGEOM_API UsdSchemaKind _GetSchemaKind() const override
virtual USDGEOM_API ~UsdGeomCamera()
Destructor.
USDGEOM_API UsdAttribute GetShutterCloseAttr() const
Definition: prim.h:135
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:442
USDGEOM_API UsdAttribute GetStereoRoleAttr() const
UsdGeomCamera(const UsdSchemaBase &schemaObj)
Definition: camera.h:131
USDGEOM_API UsdAttribute CreateClippingRangeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
Definition: path.h:291
USDGEOM_API UsdAttribute CreateExposureAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
static USDGEOM_API UsdGeomCamera Get(const UsdStagePtr &stage, const SdfPath &path)
static const UsdSchemaKind schemaKind
Definition: camera.h:117
UsdSchemaKind
Definition: common.h:127
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1441
USDGEOM_API UsdAttribute CreateVerticalApertureAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:91
USDGEOM_API UsdAttribute GetProjectionAttr() const
USDGEOM_API UsdAttribute GetExposureAttr() const
UsdGeomCamera(const UsdPrim &prim=UsdPrim())
Definition: camera.h:123
Definition: type.h:64
USDGEOM_API UsdAttribute GetFocalLengthAttr() const
USDGEOM_API UsdAttribute CreateFocusDistanceAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
#define USDGEOM_API
Definition: api.h:40
USDGEOM_API UsdAttribute GetFStopAttr() const
USDGEOM_API UsdAttribute CreateFStopAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
USDGEOM_API UsdAttribute GetShutterOpenAttr() const
Definition: value.h:167
static USDGEOM_API UsdGeomCamera Define(const UsdStagePtr &stage, const SdfPath &path)
USDGEOM_API UsdAttribute GetHorizontalApertureAttr() const