#include #include #include "Vector3D.hpp" using std::vector, std::array, std::initializer_list; namespace _3D { enum class Axes { X, Y, Z }; struct Triangle { Triangle(initializer_list> pointsInit) { auto it = pointsInit.begin(); points[0] = Vector3D(*it++); points[1] = Vector3D(*it++); points[2] = Vector3D(*it); } array, 3> points; bool infill {false}; bool outline {true}; }; struct Object { Object(initializer_list>> trianglesInit) { for(const auto &triangleInit : trianglesInit) { triangles.push_back(Triangle(triangleInit)); } } vector triangles; }; }