10 #include "core/point3d.h"
11 #include "core/normal3d.h"
13 #include "core/shape.h"
30 bool intersect(
const Ray& ray,
double* tHit,
32 bool intersect(
const Ray& ray)
const override;
36 Bounds3d objectBound()
const override;
38 double area()
const override;
40 std::vector<Triangle> triangulate()
const override;
42 inline Point3d center()
const {
return center_; }
43 inline Normal3d normal()
const {
return normal_; }
44 inline double radius()
const {
return radius_; }
47 Point3d center_ = { 0.0, 0.0, 0.0 };
48 Normal3d normal_ = { 0.0, 0.0, 0.0 };
55 #endif // _SPICA_DISK_H_
Definition: interaction.h:68
Ray class.
Definition: ray.h:24
Definition: interaction.h:23
Abstract shape class.
Definition: shape.h:39
Disk class.
Definition: disk.h:20