gvsu/cs658/final/util/Ray.cc
josh aca3651366 added normalize() to Vector, made Ray normalize its direction
git-svn-id: svn://anubis/gvsu@369 45c1a28c-8058-47b2-ae61-ca45b979098e
2009-01-17 19:49:12 +00:00

27 lines
510 B
C++

#include "Ray.h"
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;
}