Loading...
Searching...
No Matches
conformWindow.h
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_CAMERA_UTIL_CONFORM_WINDOW_H
8#define PXR_IMAGING_CAMERA_UTIL_CONFORM_WINDOW_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/cameraUtil/api.h"
12
13PXR_NAMESPACE_OPEN_SCOPE
14
15class GfVec2d;
16class GfVec4d;
17class GfMatrix4d;
18class GfRange2d;
19class GfCamera;
20class GfFrustum;
21
27enum CameraUtilConformWindowPolicy {
29 CameraUtilMatchVertically,
31 CameraUtilMatchHorizontally,
33 CameraUtilFit,
35 CameraUtilCrop,
37 CameraUtilDontConform
38};
39
42CAMERAUTIL_API
44CameraUtilConformedWindow(
45 const GfRange2d &window,
46 CameraUtilConformWindowPolicy policy, double targetAspect);
47
51CAMERAUTIL_API
53CameraUtilConformedWindow(
54 const GfVec4d &window,
55 CameraUtilConformWindowPolicy policy, double targetAspect);
56
60CAMERAUTIL_API
62CameraUtilConformedWindow(
63 const GfVec2d &window,
64 CameraUtilConformWindowPolicy policy, double targetAspect);
65
75CAMERAUTIL_API
77CameraUtilConformedWindow(
78 const GfMatrix4d &projectionMatrix,
79 CameraUtilConformWindowPolicy policy, double targetAspect);
80
83CAMERAUTIL_API
84void
85CameraUtilConformWindow(
86 GfCamera *camera,
87 CameraUtilConformWindowPolicy policy, double targetAspect);
88
91CAMERAUTIL_API
92void
93CameraUtilConformWindow(
94 GfFrustum *frustum,
95 CameraUtilConformWindowPolicy policy, double targetAspect);
96
97
98PXR_NAMESPACE_CLOSE_SCOPE
99
100#endif
Object-based representation of a camera.
Definition: camera.h:33
Basic type: View frustum.
Definition: frustum.h:71
Stores a 4x4 matrix of double elements.
Definition: matrix4d.h:71
Basic type: 2-dimensional floating point range.
Definition: range2d.h:47
Basic type for a vector of 2 double components.
Definition: vec2d.h:46
Basic type for a vector of 4 double components.
Definition: vec4d.h:46