10 #include "core/common.h"
11 #include "core/vector2d.h"
12 #include "core/vector3d.h"
13 #include "core/point3d.h"
14 #include "core/normal3d.h"
15 #include "core/spectrum.h"
17 #include "core/render.hpp"
24 class SPICA_EXPORTS
Ray {
29 const Medium* medium =
nullptr);
33 Ray& operator=(
const Ray& ray);
36 Point3d proceeded(
double t)
const;
38 inline Point3d org()
const {
return org_; }
39 inline Vector3d dir()
const {
return dir_; }
40 inline Vector3d invdir()
const {
return invdir_; }
41 inline double maxDist()
const {
return maxDist_; }
42 inline const Medium* medium()
const {
return medium_; }
43 inline void setMaxDist(
double maxDist) { maxDist_ = maxDist; }
50 Point3d org_ = { 0.0, 0.0, 0.0 };
52 Vector3d invdir_ = { INFTY, INFTY, INFTY };
53 double maxDist_ = INFTY;
54 const Medium* medium_ =
nullptr;
59 #endif // SPICA_RAY_H_
Ray class.
Definition: ray.h:24