#ifndef CG1_TRACER_OBJMODEL_H #define CG1_TRACER_OBJMODEL_H #include "primitive.h" #include "box.h" #include class ObjModel : public Primitive { public: explicit ObjModel(const std::shared_ptr &shader); void loadObj(const char* fileName, Vector3d scale, Vector3d translation); bool intersect(Ray &ray) const override; [[nodiscard]] float minimumBounds(int dimension) const override; [[nodiscard]] float maximumBounds(int dimension) const override; protected: std::vector> faces; Box boundingBox; }; #endif //CG1_TRACER_OBJMODEL_H