summaryrefslogtreecommitdiff
path: root/assetFactory/cuboid.cpp
blob: 03b1304765451bcee7920c5c28be44fe71c3fd30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "cuboid.h"
#include "modelFactoryMesh.h"

Cuboid::CreatedFaces
Cuboid::createMesh(ModelFactoryMesh & mesh, float) const
{
	static constexpr std::array<glm::vec3, 8> VERTICES {{
			// bottom
			{n, n, z},
			{n, y, z},
			{y, y, z},
			{y, n, z},
			// top
			{y, n, o},
			{y, y, o},
			{n, y, o},
			{n, n, o},
	}};

	const auto vhs = addToMesh(mesh, VERTICES);
	return {
			mesh.add_namedFace("top", {vhs[4], vhs[5], vhs[6], vhs[7]}),
			mesh.add_namedFace("bottom", {vhs[0], vhs[1], vhs[2], vhs[3]}),
			mesh.add_namedFace("left", {vhs[0], vhs[7], vhs[6], vhs[1]}),
			mesh.add_namedFace("right", {vhs[2], vhs[5], vhs[4], vhs[3]}),
			mesh.add_namedFace("front", {vhs[0], vhs[3], vhs[4], vhs[7]}),
			mesh.add_namedFace("back", {vhs[2], vhs[1], vhs[6], vhs[5]}),
	};
}