10 #ifndef SPICA_SHAPE_H_
11 #define SPICA_SHAPE_H_
15 #include "core/core.hpp"
16 #include "core/common.h"
17 #include "core/cobject.h"
18 #include "core/transform.h"
19 #include "core/render.hpp"
50 virtual bool intersect(
const Ray& ray,
double* tHit,
52 virtual bool intersect(
const Ray& ray)
const = 0;
61 virtual Bounds3d objectBound()
const = 0;
63 virtual double area()
const = 0;
64 virtual std::vector<Triangle> triangulate()
const = 0;
66 inline ShapeType type()
const {
return type_; }
77 #endif // SPICA_SHAPE_INTERFACE_H_
Definition: interaction.h:68
ShapeType
Shape types.
Definition: shape.h:27
Ray class.
Definition: ray.h:24
Definition: interaction.h:23
Abstract shape class.
Definition: shape.h:39