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.
80 ///
81 /// \sa \ref UsdGeom_LinAlgBasics
82 ///
83 ///
84 /// For any described attribute \em Fallback \em Value or \em Allowed \em Values below
85 /// that are text/tokens, the actual token is published and defined in \ref UsdGeomTokens.
86 /// So to set an attribute to the value "rightHanded", use UsdGeomTokens->rightHanded
87 /// as the value.
88 ///
90 {
91 public:
92  /// Compile time constant representing what kind of schema this class is.
93  ///
94  /// \sa UsdSchemaType
96 
97  /// Construct a UsdGeomCamera on UsdPrim \p prim .
98  /// Equivalent to UsdGeomCamera::Get(prim.GetStage(), prim.GetPath())
99  /// for a \em valid \p prim, but will not immediately throw an error for
100  /// an invalid \p prim
101  explicit UsdGeomCamera(const UsdPrim& prim=UsdPrim())
102  : UsdGeomXformable(prim)
103  {
104  }
105 
106  /// Construct a UsdGeomCamera on the prim held by \p schemaObj .
107  /// Should be preferred over UsdGeomCamera(schemaObj.GetPrim()),
108  /// as it preserves SchemaBase state.
109  explicit UsdGeomCamera(const UsdSchemaBase& schemaObj)
110  : UsdGeomXformable(schemaObj)
111  {
112  }
113 
114  /// Destructor.
116  virtual ~UsdGeomCamera();
117 
118  /// Return a vector of names of all pre-declared attributes for this schema
119  /// class and all its ancestor classes. Does not include attributes that
120  /// may be authored by custom/extended methods of the schemas involved.
122  static const TfTokenVector &
123  GetSchemaAttributeNames(bool includeInherited=true);
124 
125  /// Return a UsdGeomCamera holding the prim adhering to this
126  /// schema at \p path on \p stage. If no prim exists at \p path on
127  /// \p stage, or if the prim at that path does not adhere to this schema,
128  /// return an invalid schema object. This is shorthand for the following:
129  ///
130  /// \code
131  /// UsdGeomCamera(stage->GetPrimAtPath(path));
132  /// \endcode
133  ///
135  static UsdGeomCamera
136  Get(const UsdStagePtr &stage, const SdfPath &path);
137 
138  /// Attempt to ensure a \a UsdPrim adhering to this schema at \p path
139  /// is defined (according to UsdPrim::IsDefined()) on this stage.
140  ///
141  /// If a prim adhering to this schema at \p path is already defined on this
142  /// stage, return that prim. Otherwise author an \a SdfPrimSpec with
143  /// \a specifier == \a SdfSpecifierDef and this schema's prim type name for
144  /// the prim at \p path at the current EditTarget. Author \a SdfPrimSpec s
145  /// with \p specifier == \a SdfSpecifierDef and empty typeName at the
146  /// current EditTarget for any nonexistent, or existing but not \a Defined
147  /// ancestors.
148  ///
149  /// The given \a path must be an absolute prim path that does not contain
150  /// any variant selections.
151  ///
152  /// If it is impossible to author any of the necessary PrimSpecs, (for
153  /// example, in case \a path cannot map to the current UsdEditTarget's
154  /// namespace) issue an error and return an invalid \a UsdPrim.
155  ///
156  /// Note that this method may return a defined prim whose typeName does not
157  /// specify this schema class, in case a stronger typeName opinion overrides
158  /// the opinion at the current EditTarget.
159  ///
161  static UsdGeomCamera
162  Define(const UsdStagePtr &stage, const SdfPath &path);
163 
164 protected:
165  /// Returns the type of schema this class belongs to.
166  ///
167  /// \sa UsdSchemaType
169  UsdSchemaType _GetSchemaType() const override;
170 
171 private:
172  // needs to invoke _GetStaticTfType.
173  friend class UsdSchemaRegistry;
175  static const TfType &_GetStaticTfType();
176 
177  static bool _IsTypedSchema();
178 
179  // override SchemaBase virtuals.
181  const TfType &_GetTfType() const override;
182 
183 public:
184  // --------------------------------------------------------------------- //
185  // PROJECTION
186  // --------------------------------------------------------------------- //
187  ///
188  ///
189  /// \n C++ Type: TfToken
190  /// \n Usd Type: SdfValueTypeNames->Token
191  /// \n Variability: SdfVariabilityVarying
192  /// \n Fallback Value: perspective
193  /// \n \ref UsdGeomTokens "Allowed Values": [perspective, orthographic]
196 
197  /// See GetProjectionAttr(), and also
198  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
199  /// If specified, author \p defaultValue as the attribute's default,
200  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
201  /// the default for \p writeSparsely is \c false.
203  UsdAttribute CreateProjectionAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
204 
205 public:
206  // --------------------------------------------------------------------- //
207  // HORIZONTALAPERTURE
208  // --------------------------------------------------------------------- //
209  /// Horizontal aperture in millimeters (or, more general, tenths
210  /// of a world unit).
211  /// Defaults to the standard 35mm spherical projector aperture.
212  ///
213  /// \n C++ Type: float
214  /// \n Usd Type: SdfValueTypeNames->Float
215  /// \n Variability: SdfVariabilityVarying
216  /// \n Fallback Value: 20.9549999237
219 
220  /// See GetHorizontalApertureAttr(), 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 CreateHorizontalApertureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
227 
228 public:
229  // --------------------------------------------------------------------- //
230  // VERTICALAPERTURE
231  // --------------------------------------------------------------------- //
232  /// Vertical aperture in millimeters (or, more general, tenths of
233  /// a world unit).
234  /// Defaults to the standard 35mm spherical projector aperture.
235  ///
236  /// \n C++ Type: float
237  /// \n Usd Type: SdfValueTypeNames->Float
238  /// \n Variability: SdfVariabilityVarying
239  /// \n Fallback Value: 15.2908000946
242 
243  /// See GetVerticalApertureAttr(), and also
244  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
245  /// If specified, author \p defaultValue as the attribute's default,
246  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
247  /// the default for \p writeSparsely is \c false.
249  UsdAttribute CreateVerticalApertureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
250 
251 public:
252  // --------------------------------------------------------------------- //
253  // HORIZONTALAPERTUREOFFSET
254  // --------------------------------------------------------------------- //
255  /// Horizontal aperture offset in the same units as
256  /// horizontalAperture. Defaults to 0.
257  ///
258  /// \n C++ Type: float
259  /// \n Usd Type: SdfValueTypeNames->Float
260  /// \n Variability: SdfVariabilityVarying
261  /// \n Fallback Value: 0.0
264 
265  /// See GetHorizontalApertureOffsetAttr(), and also
266  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
267  /// If specified, author \p defaultValue as the attribute's default,
268  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
269  /// the default for \p writeSparsely is \c false.
271  UsdAttribute CreateHorizontalApertureOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
272 
273 public:
274  // --------------------------------------------------------------------- //
275  // VERTICALAPERTUREOFFSET
276  // --------------------------------------------------------------------- //
277  /// Vertical aperture offset in the same units as
278  /// verticalAperture. Defaults to 0.
279  ///
280  /// \n C++ Type: float
281  /// \n Usd Type: SdfValueTypeNames->Float
282  /// \n Variability: SdfVariabilityVarying
283  /// \n Fallback Value: 0.0
286 
287  /// See GetVerticalApertureOffsetAttr(), and also
288  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
289  /// If specified, author \p defaultValue as the attribute's default,
290  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
291  /// the default for \p writeSparsely is \c false.
293  UsdAttribute CreateVerticalApertureOffsetAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
294 
295 public:
296  // --------------------------------------------------------------------- //
297  // FOCALLENGTH
298  // --------------------------------------------------------------------- //
299  /// Perspective focal length in millimeters (or, more general,
300  /// tenths of a world unit).
301  ///
302  /// \n C++ Type: float
303  /// \n Usd Type: SdfValueTypeNames->Float
304  /// \n Variability: SdfVariabilityVarying
305  /// \n Fallback Value: 50.0
308 
309  /// See GetFocalLengthAttr(), and also
310  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
311  /// If specified, author \p defaultValue as the attribute's default,
312  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
313  /// the default for \p writeSparsely is \c false.
315  UsdAttribute CreateFocalLengthAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
316 
317 public:
318  // --------------------------------------------------------------------- //
319  // CLIPPINGRANGE
320  // --------------------------------------------------------------------- //
321  /// Near and far clipping distances in centimeters (or, more
322  /// general, world units).
323  ///
324  /// \n C++ Type: GfVec2f
325  /// \n Usd Type: SdfValueTypeNames->Float2
326  /// \n Variability: SdfVariabilityVarying
327  /// \n Fallback Value: (1, 1000000)
330 
331  /// See GetClippingRangeAttr(), and also
332  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
333  /// If specified, author \p defaultValue as the attribute's default,
334  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
335  /// the default for \p writeSparsely is \c false.
337  UsdAttribute CreateClippingRangeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
338 
339 public:
340  // --------------------------------------------------------------------- //
341  // CLIPPINGPLANES
342  // --------------------------------------------------------------------- //
343  /// Additional, arbitrarily oriented clipping planes.
344  /// A vector (a,b,c,d) encodes a clipping plane that cuts off
345  /// (x,y,z) with a * x + b * y + c * z + d * 1 < 0 where (x,y,z)
346  /// are the coordinates in the camera's space.
347  ///
348  /// \n C++ Type: VtArray<GfVec4f>
349  /// \n Usd Type: SdfValueTypeNames->Float4Array
350  /// \n Variability: SdfVariabilityVarying
351  /// \n Fallback Value: []
354 
355  /// See GetClippingPlanesAttr(), and also
356  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
357  /// If specified, author \p defaultValue as the attribute's default,
358  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
359  /// the default for \p writeSparsely is \c false.
361  UsdAttribute CreateClippingPlanesAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
362 
363 public:
364  // --------------------------------------------------------------------- //
365  // FSTOP
366  // --------------------------------------------------------------------- //
367  /// Lens aperture. Defaults to 0.0, which turns off focusing.
368  ///
369  /// \n C++ Type: float
370  /// \n Usd Type: SdfValueTypeNames->Float
371  /// \n Variability: SdfVariabilityVarying
372  /// \n Fallback Value: 0.0
374  UsdAttribute GetFStopAttr() const;
375 
376  /// See GetFStopAttr(), and also
377  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
378  /// If specified, author \p defaultValue as the attribute's default,
379  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
380  /// the default for \p writeSparsely is \c false.
382  UsdAttribute CreateFStopAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
383 
384 public:
385  // --------------------------------------------------------------------- //
386  // FOCUSDISTANCE
387  // --------------------------------------------------------------------- //
388  /// Distance from the camera to the focus plane in centimeters (or
389  /// more general, world units).
390  ///
391  /// \n C++ Type: float
392  /// \n Usd Type: SdfValueTypeNames->Float
393  /// \n Variability: SdfVariabilityVarying
394  /// \n Fallback Value: 0.0
397 
398  /// See GetFocusDistanceAttr(), and also
399  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
400  /// If specified, author \p defaultValue as the attribute's default,
401  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
402  /// the default for \p writeSparsely is \c false.
404  UsdAttribute CreateFocusDistanceAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
405 
406 public:
407  // --------------------------------------------------------------------- //
408  // STEREOROLE
409  // --------------------------------------------------------------------- //
410  /// If different from mono, the camera is intended to be the left
411  /// or right camera of a stereo setup.
412  ///
413  /// \n C++ Type: TfToken
414  /// \n Usd Type: SdfValueTypeNames->Token
415  /// \n Variability: SdfVariabilityUniform
416  /// \n Fallback Value: mono
417  /// \n \ref UsdGeomTokens "Allowed Values": [mono, left, right]
420 
421  /// See GetStereoRoleAttr(), and also
422  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
423  /// If specified, author \p defaultValue as the attribute's default,
424  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
425  /// the default for \p writeSparsely is \c false.
427  UsdAttribute CreateStereoRoleAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
428 
429 public:
430  // --------------------------------------------------------------------- //
431  // SHUTTEROPEN
432  // --------------------------------------------------------------------- //
433  /// Frame relative shutter open time in UsdTimeCode units (negative
434  /// value indicates that the shutter opens before the current
435  /// frame time). Used for motion blur.
436  ///
437  /// \n C++ Type: double
438  /// \n Usd Type: SdfValueTypeNames->Double
439  /// \n Variability: SdfVariabilityVarying
440  /// \n Fallback Value: 0.0
443 
444  /// See GetShutterOpenAttr(), and also
445  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
446  /// If specified, author \p defaultValue as the attribute's default,
447  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
448  /// the default for \p writeSparsely is \c false.
450  UsdAttribute CreateShutterOpenAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
451 
452 public:
453  // --------------------------------------------------------------------- //
454  // SHUTTERCLOSE
455  // --------------------------------------------------------------------- //
456  /// Frame relative shutter close time, analogous comments from
457  /// shutter:open apply. A value greater or equal to shutter:open
458  /// should be authored, otherwise there is no exposure and a
459  /// renderer should produce a black image.
460  ///
461  /// \n C++ Type: double
462  /// \n Usd Type: SdfValueTypeNames->Double
463  /// \n Variability: SdfVariabilityVarying
464  /// \n Fallback Value: 0.0
467 
468  /// See GetShutterCloseAttr(), and also
469  /// \ref Usd_Create_Or_Get_Property for when to use Get vs Create.
470  /// If specified, author \p defaultValue as the attribute's default,
471  /// sparsely (when it makes sense to do so) if \p writeSparsely is \c true -
472  /// the default for \p writeSparsely is \c false.
474  UsdAttribute CreateShutterCloseAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
475 
476 public:
477  // ===================================================================== //
478  // Feel free to add custom code below this line, it will be preserved by
479  // the code generator.
480  //
481  // Just remember to:
482  // - Close the class declaration with };
483  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
484  // - Close the include guard with #endif
485  // ===================================================================== //
486  // --(BEGIN CUSTOM CODE)--
487 
488  /// Creates a GfCamera object from the attribute values at \p time.
489  ///
491  GfCamera GetCamera(const UsdTimeCode &time) const;
492 
493  /// Write attribute values from \p camera for \p time.
494  ///
496  void SetFromCamera(const GfCamera &camera, const UsdTimeCode &time);
497 };
498 
500 
501 #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)
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
Represents a concrete typed schema.
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
USDGEOM_API UsdAttribute GetHorizontalApertureOffsetAttr() const
USDGEOM_API UsdSchemaType _GetSchemaType() const override
virtual USDGEOM_API ~UsdGeomCamera()
Destructor.
UsdSchemaType
Definition: common.h:149
USDGEOM_API UsdAttribute GetShutterCloseAttr() const
Definition: prim.h:131
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:438
USDGEOM_API UsdAttribute GetStereoRoleAttr() const
UsdGeomCamera(const UsdSchemaBase &schemaObj)
Definition: camera.h:109
USDGEOM_API UsdAttribute CreateClippingRangeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
Definition: path.h:287
static USDGEOM_API UsdGeomCamera Get(const UsdStagePtr &stage, const SdfPath &path)
GLsizei const GLchar *const * path
Definition: glew.h:6461
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1245
USDGEOM_API UsdAttribute CreateVerticalApertureAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
static const UsdSchemaType schemaType
Definition: camera.h:95
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:83
USDGEOM_API UsdAttribute GetProjectionAttr() const
UsdGeomCamera(const UsdPrim &prim=UsdPrim())
Definition: camera.h:101
Definition: type.h:70
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:182
static USDGEOM_API UsdGeomCamera Define(const UsdStagePtr &stage, const SdfPath &path)
USDGEOM_API UsdAttribute GetHorizontalApertureAttr() const