/* * Copyright 2009, Haiku Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: * Alexandre Deckner */ #ifndef _CAMERA_H #define _CAMERA_H #include "Vector3.h" #include "Quaternion.h" class Camera { public: Camera(const Vector3& position, const Quaternion& orientation, float fov = 50.0f, float near = 1.0f, float far = 100.0f); virtual ~Camera(); const Vector3& Position() const; const Quaternion& Orientation() const; float FieldOfView() const; float Near() const; float Far() const; protected: Vector3 fPosition; Quaternion fOrientation; float fFieldOfView; float fNear; float fFar; bool fOrtho; }; inline const Vector3& Camera::Position() const { return fPosition; } inline const Quaternion& Camera::Orientation() const { return fOrientation; } inline float Camera::FieldOfView() const { return fFieldOfView; } inline float Camera::Near() const { return fNear; } inline float Camera::Far() const { return fFar; } #endif /* _CAMERA_H */