#ifndef Foundation_Math_Lookat_INCLUDED
#define Foundation_Math_Lookat_INCLUDED

#include <foundation/Math/Vec.hpp>
#include <foundation/Math/Point.hpp>


namespace Tn {

namespace math {

template <typename T>
struct Lookat {

  typedef T component_type;

  Point<3,T> eye;
  Point<3,T> obj;
  Vec<3,T> up;

  Lookat(const Point<3,T> e, const Point<3,T> o, const Vec<3,T> u)
    : eye(e), obj(o), up(u) {}

};

typedef Lookat<float> Lookatf;
typedef Lookat<double> Lookatd;

} // namespace math

} // namespace Tn

#endif

