Path Tracer
Ray.h
Go to the documentation of this file.
1 #ifndef DEF_RAY
2 #define DEF_RAY
3 
4 #include "DoubleVec3D.h"
5 #include "DoubleUnitVec3D.h"
6 
44 class Ray {
45 private:
46  DoubleVec3D origin;
47  DoubleUnitVec3D direction;
48 
49 public:
50  Ray();
51  Ray(const DoubleVec3D& origin, const DoubleUnitVec3D& direction);
52  Ray(const Ray& ray);
53 
54  DoubleVec3D getOrigin() const;
56 
57  void setOrigin(const DoubleVec3D& origin);
58  void setDirection(const DoubleUnitVec3D& direction);
59 };
60 
61 #endif
Defines the DoubleUnitVec3D class and some functions around it.
Defines the DoubleVec3D class and some functions around it.
A three-dimensional unit vector using doubles.
Definition: DoubleUnitVec3D.h:61
A three-dimensional vector using double values.
Definition: DoubleVec3D.h:190
Combination of an origin and a direction.
Definition: Ray.h:44
Ray()
Default constructor.
Definition: Ray.cpp:4
DoubleVec3D getOrigin() const
Getter for the origin.
Definition: Ray.cpp:14
void setDirection(const DoubleUnitVec3D &direction)
Setter for the direction.
Definition: Ray.cpp:20
void setOrigin(const DoubleVec3D &origin)
Setter for the origin.
Definition: Ray.cpp:19
DoubleUnitVec3D getDirection() const
Getter for the direction.
Definition: Ray.cpp:15