HaikuDepot: notify work status from main window
[haiku.git] / src / apps / haiku3d / Camera.h
blob5863017a5f8a05d0430d41546cbe8969f3aa5727
1 /*
2 * Copyright 2009, Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Alexandre Deckner <alex@zappotek.com>
7 */
8 #ifndef _CAMERA_H
9 #define _CAMERA_H
11 #include "Vector3.h"
12 #include "Quaternion.h"
15 class Camera {
16 public:
17 Camera(const Vector3& position,
18 const Quaternion& orientation, float fov = 50.0f, float near = 1.0f,
19 float far = 100.0f);
20 virtual ~Camera();
22 const Vector3& Position() const;
23 const Quaternion& Orientation() const;
24 float FieldOfView() const;
25 float Near() const;
26 float Far() const;
28 protected:
29 Vector3 fPosition;
30 Quaternion fOrientation;
31 float fFieldOfView;
32 float fNear;
33 float fFar;
34 bool fOrtho;
38 inline const Vector3&
39 Camera::Position() const
41 return fPosition;
45 inline const Quaternion&
46 Camera::Orientation() const
48 return fOrientation;
52 inline float
53 Camera::FieldOfView() const
55 return fFieldOfView;
59 inline float
60 Camera::Near() const
62 return fNear;
66 inline float
67 Camera::Far() const
69 return fFar;
72 #endif /* _CAMERA_H */