aboutsummaryrefslogtreecommitdiffstats
path: root/include/hittable_list.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/hittable_list.hpp')
-rw-r--r--include/hittable_list.hpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/hittable_list.hpp b/include/hittable_list.hpp
new file mode 100644
index 0000000..41d8f4a
--- /dev/null
+++ b/include/hittable_list.hpp
@@ -0,0 +1,21 @@
+#ifndef __HITTABLE_LIST_HPP_
+#define __HITTABLE_LIST_HPP_
+
+#include <vector>
+#include <memory>
+
+#include "hittable.hpp"
+
+class hittable_list : public hittable {
+ public:
+ hittable_list();
+
+ void add(std::shared_ptr<hittable> hittable);
+ void clear();
+
+ virtual bool hit(const ray&r, double t_min, double t_max, struct hit_info& info) const;
+
+ std::vector<std::shared_ptr<hittable>> hittables;
+};
+
+#endif // !__HITTABLE_LIST_HPP_