fart/util/Ray.h
Josh Holtrop bc27be0f85 added Ray::randomRay() to generated a ray with origin at (0,0,0) and a random direction
git-svn-id: svn://anubis/fart/trunk@254 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-25 16:16:08 +00:00

29 lines
643 B
C++

#ifndef RAY_H
#define RAY_H RAY_H
#include "Vector.h"
#include <iostream>
class Ray
{
public:
Ray();
Ray(const Vector & origin, const Vector & direction);
static Ray randomRay();
const Vector & getOrigin() const { return m_origin; }
const Vector & getDirection() const { return m_direction; }
Vector getPositionAt(double dist) const;
Vector operator[](double dist) const { return getPositionAt(dist); }
Ray shift(double amt);
protected:
Vector m_origin;
Vector m_direction;
};
std::ostream & operator<<(std::ostream & out, const Ray & r);
#endif