RobinTrace
transfer.h
Go to the documentation of this file.
1 
2 #ifndef TRANSFER_H
3 #define TRANSFER_H
4 
5 #include "base/Vec3.h"
6 #include "base/Mat3.h"
7 #include "ray/ray.h"
8 
40 class transfer {
41  public:
52 
54  transfer ();
56  transfer (Vec3 _D);
58  transfer (Mat3 _Bt, Vec3 _D);
59 
61  void apply (ray &r);
62 
64  friend std::ostream& operator<< (std::ostream &out, const transfer &trf);
65 };
66 
67 #endif // TRANSFER_H
Eigen::Matrix3d Mat3
Definition: Mat3.h:9
Eigen::Vector3d Vec3
Definition: Vec3.h:11
Class for individual rays.
Definition: ray.h:9
Transfer operation over a ray.
Definition: transfer.h:40
transfer()
Default constructor.
Definition: transfer.cpp:9
Vec3 D
Translation vector .
Definition: transfer.h:51
void apply(ray &r)
Apply the transfer to a ray.
Definition: transfer.cpp:69
Mat3 Bt
Transpose of the rotation matrix .
Definition: transfer.h:46
friend std::ostream & operator<<(std::ostream &out, const transfer &trf)
Printer.
Definition: transfer.cpp:32