virtual bool contains(const LinAl::Vector<T, D> &) const = 0;
bool check_intersection(const Ray<T, D> &) const;
virtual unsigned get_max_ray_intersections() const = 0;
virtual bool contains(const LinAl::Vector<T, D> &) const = 0;
bool check_intersection(const Ray<T, D> &) const;
virtual unsigned get_max_ray_intersections() const = 0;