|
|
|
|
@ -21,30 +21,91 @@ using namespace std;
|
|
|
|
|
|
|
|
|
|
namespace Magnum { namespace Primitives { |
|
|
|
|
|
|
|
|
|
Cube::Cube(): MeshData3D("", Mesh::Primitive::Triangles, new vector<uint32_t>{ |
|
|
|
|
0, 2, 1, |
|
|
|
|
2, 3, 1, |
|
|
|
|
1, 3, 5, |
|
|
|
|
3, 7, 5, |
|
|
|
|
5, 7, 4, |
|
|
|
|
7, 6, 4, |
|
|
|
|
4, 6, 0, |
|
|
|
|
6, 2, 0, |
|
|
|
|
2, 7, 3, |
|
|
|
|
2, 6, 7, |
|
|
|
|
4, 1, 5, |
|
|
|
|
4, 0, 1 |
|
|
|
|
}, {new vector<Point3D>}, {new vector<Vector3>{ |
|
|
|
|
Cube::Cube(): MeshData3D("", Mesh::Primitive::Triangles, nullptr, {new vector<Point3D>{ |
|
|
|
|
{-1.0f, -1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, -1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, 1.0f}, /* +Z */ |
|
|
|
|
{-1.0f, -1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, 1.0f}, |
|
|
|
|
{-1.0f, 1.0f, 1.0f}, |
|
|
|
|
|
|
|
|
|
{ 1.0f, -1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, -1.0f, -1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, -1.0f}, /* +X */ |
|
|
|
|
{ 1.0f, -1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, -1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, 1.0f}, |
|
|
|
|
|
|
|
|
|
{-1.0f, 1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, -1.0f}, /* +Y */ |
|
|
|
|
{-1.0f, 1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, -1.0f}, |
|
|
|
|
{-1.0f, 1.0f, -1.0f}, |
|
|
|
|
|
|
|
|
|
{ 1.0f, -1.0f, -1.0f}, |
|
|
|
|
{-1.0f, -1.0f, -1.0f}, |
|
|
|
|
{-1.0f, 1.0f, -1.0f}, /* -Z */ |
|
|
|
|
{ 1.0f, -1.0f, -1.0f}, |
|
|
|
|
{-1.0f, 1.0f, -1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, -1.0f}, |
|
|
|
|
{-1.0f, -1.0f, 1.0f}, |
|
|
|
|
|
|
|
|
|
{-1.0f, -1.0f, -1.0f}, |
|
|
|
|
{ 1.0f, -1.0f, -1.0f}, |
|
|
|
|
{ 1.0f, -1.0f, 1.0f}, /* -Y */ |
|
|
|
|
{-1.0f, -1.0f, -1.0f}, |
|
|
|
|
{ 1.0f, -1.0f, 1.0f}, |
|
|
|
|
{-1.0f, -1.0f, 1.0f}, |
|
|
|
|
|
|
|
|
|
{-1.0f, -1.0f, -1.0f}, |
|
|
|
|
{-1.0f, -1.0f, 1.0f}, |
|
|
|
|
{-1.0f, 1.0f, 1.0f}, /* -X */ |
|
|
|
|
{-1.0f, -1.0f, -1.0f}, |
|
|
|
|
{-1.0f, 1.0f, 1.0f}, |
|
|
|
|
{ 1.0f, 1.0f, 1.0f} |
|
|
|
|
{-1.0f, 1.0f, -1.0f} |
|
|
|
|
}}, {new vector<Vector3>{ |
|
|
|
|
{ 0.0f, 0.0f, 1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, 1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, 1.0f}, /* +Z */ |
|
|
|
|
{ 0.0f, 0.0f, 1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, 1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, 1.0f}, |
|
|
|
|
|
|
|
|
|
{ 1.0f, 0.0f, 0.0f}, |
|
|
|
|
{ 1.0f, 0.0f, 0.0f}, |
|
|
|
|
{ 1.0f, 0.0f, 0.0f}, /* +X */ |
|
|
|
|
{ 1.0f, 0.0f, 0.0f}, |
|
|
|
|
{ 1.0f, 0.0f, 0.0f}, |
|
|
|
|
{ 1.0f, 0.0f, 0.0f}, |
|
|
|
|
|
|
|
|
|
{ 0.0f, 1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, 1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, 1.0f, 0.0f}, /* +Y */ |
|
|
|
|
{ 0.0f, 1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, 1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, 1.0f, 0.0f}, |
|
|
|
|
|
|
|
|
|
{ 0.0f, 0.0f, -1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, -1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, -1.0f}, /* -Z */ |
|
|
|
|
{ 0.0f, 0.0f, -1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, -1.0f}, |
|
|
|
|
{ 0.0f, 0.0f, -1.0f}, |
|
|
|
|
|
|
|
|
|
{ 0.0f, -1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, -1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, -1.0f, 0.0f}, /* -Y */ |
|
|
|
|
{ 0.0f, -1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, -1.0f, 0.0f}, |
|
|
|
|
{ 0.0f, -1.0f, 0.0f}, |
|
|
|
|
|
|
|
|
|
{-1.0f, 0.0f, 0.0f}, |
|
|
|
|
{-1.0f, 0.0f, 0.0f}, |
|
|
|
|
{-1.0f, 0.0f, 0.0f}, /* -X */ |
|
|
|
|
{-1.0f, 0.0f, 0.0f}, |
|
|
|
|
{-1.0f, 0.0f, 0.0f}, |
|
|
|
|
{-1.0f, 0.0f, 0.0f} |
|
|
|
|
}}, {}) { |
|
|
|
|
positions(0)->assign(normals(0)->begin(), normals(0)->end()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}} |
|
|
|
|
|