fart/util/Ray.cc
Josh Holtrop 7d461477b3 added operator<<(ostream, Ray) to util/Ray, main/Scene now calculating rays
git-svn-id: svn://anubis/fart/trunk@38 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-23 15:15:35 +00:00

34 lines
682 B
C++

#include "Ray.h"
#include <iostream>
Ray::Ray()
{
}
Ray::Ray(const Vector & origin, const Vector & direction)
{
m_origin = origin;
m_direction = direction;
m_direction.normalize();
}
/*
* return a vector for the point at distance dist
* from the ray's origin point, along its direction.
*/
Vector Ray::getPositionAt(double dist) const
{
Vector v;
v[0] = m_origin[0] + dist * m_direction[0];
v[1] = m_origin[1] + dist * m_direction[1];
v[2] = m_origin[2] + dist * m_direction[2];
return v;
}
std::ostream & operator<<(std::ostream & out, const Ray & r)
{
out << "(" << r.getOrigin() << " -> " << r.getDirection() << ")";
return out;
}