1 #ifndef MSP_GEOMETRY_SHAPE_H_
2 #define MSP_GEOMETRY_SHAPE_H_
7 template<typename T, unsigned D>
10 template<typename T, unsigned D>
13 template<typename T, unsigned D>
21 virtual Shape *clone() const = 0;
23 virtual HyperBox<T, D> get_axis_aligned_bounding_box() const = 0;
24 virtual bool check_intersection(const Ray<T, D> &) const = 0;
27 } // namespace Geometry