/** SGX

The   sss    gggg x   x   
     s      g      x x    Engine
      sss   g  gg   x
         s  g   g  x x          Copyright 1995-2008.
     ssss    gggg x   x         Steven Goodwin. All Rights Reserved.
    
This version has been released under the GNU Public License v2.0.

Please see the license files for details.

File: include/domains/graphics/camera/camera.hpp

*/

#ifndef SGX_DOMAIN_GRAPHICS_CAMERA_HPP
#define SGX_DOMAIN_GRAPHICS_CAMERA_HPP	1

#include "sgx/core/math/math.hpp"

class sgxCamera {
public:
	sgxVector3	m_vFrom, m_vAt;
	tREAL32		m_fFov;
	tREAL32		m_fRoll;
	tREAL32		m_fNearPlane;
	tREAL32		m_fFarPlane;

	sgxCamera();
	sgxCamera(const tREAL32 x, const tREAL32 y, const tREAL32 z);
	sgxCamera(const sgxVector3 &from, const sgxVector3 &to);
	sgxCamera(const sgxCamera &cam);

	bool operator!=(const sgxCamera &rhs);

	sgxVector3	up() const ;
	void		setDefaults();

};

#endif /* SGX_DOMAIN_GRAPHICS_CAMERA_HPP */
