24 lines
495 B
C++
24 lines
495 B
C++
|
|
#ifndef RAY_H
|
|
#define RAY_H RAY_H
|
|
|
|
#include "Vector.h"
|
|
|
|
class Ray
|
|
{
|
|
public:
|
|
Ray();
|
|
Ray(const Vector & origin, const Vector & direction);
|
|
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); }
|
|
|
|
private:
|
|
Vector m_origin;
|
|
Vector m_direction;
|
|
};
|
|
|
|
#endif
|
|
|