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