<commit_before>#include "Material.h"
#include "Vertex.h"
#include <vector>

namespace LepusEngine
{
	namespace Lepus3D
	{
		class Mesh {
			friend class RenderEngine;
		private:
			VertexArray m_Vertices;
			std::vector<unsigned int> m_Indices;
		public:
			Mesh();
			Mesh(VertexArray vertices, bool ignoreIndexing = false);
			VertexPack GetVertexBuffer();
			unsigned int* GetIndexBuffer(unsigned int& indexCount);
			void SetIndices(std::vector<unsigned int> indices);
		};

		class PlaneMesh : public Mesh {
		public:
			PlaneMesh() : Mesh(VertexArray {
				Vertex(-0.5f, 0.5f, 0.f, 1.f, 1.f, 1.f, 0.0f, 1.0f), // Top-left
				Vertex(0.5f, 0.5f, 0.f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(-0.5f, -0.5f, 0.f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(0.5f, -0.5f, 0.f, 1.f, 1.f, 1.f, 1.0f, 0.0f) // Bottom-right
			}) {
				this->SetIndices(std::vector<unsigned int>{0, 1, 2, 1, 3, 2});
			};
		};
	}
}<commit_msg>Added a BoxMesh class<commit_after>#include "Material.h"
#include "Vertex.h"
#include <vector>

namespace LepusEngine
{
	namespace Lepus3D
	{
		class Mesh {
			friend class RenderEngine;
		private:
			VertexArray m_Vertices;
			std::vector<unsigned int> m_Indices;
		public:
			Mesh();
			Mesh(VertexArray vertices, bool ignoreIndexing = false);
			VertexPack GetVertexBuffer();
			unsigned int* GetIndexBuffer(unsigned int& indexCount);
			void SetIndices(std::vector<unsigned int> indices);
		};

		class PlaneMesh : public Mesh {
		public:
			PlaneMesh() : Mesh(VertexArray {
				Vertex(-0.5f, 0.5f, 0.f, 1.f, 1.f, 1.f, 0.0f, 1.0f), // Top-left
				Vertex(0.5f, 0.5f, 0.f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(-0.5f, -0.5f, 0.f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(0.5f, -0.5f, 0.f, 1.f, 1.f, 1.f, 1.0f, 0.0f) // Bottom-right
			}) {
				this->SetIndices(std::vector<unsigned int>{0, 1, 2, 1, 3, 2});
			};
		};

		class BoxMesh : public Mesh {
		public:
			BoxMesh() : Mesh(VertexArray{
				// Front
				Vertex(-0.5f, 0.5f, 0.5f, 1.f, 1.f, 1.f, 0.f, 1.f), // Top-left
				Vertex(0.5f, 0.5f, 0.5f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(-0.5f, -0.5f, 0.5f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(0.5f, -0.5f, 0.5f, 1.f, 1.f, 1.f, 1.0f, 0.0f), // Bottom-right
				// Right
				Vertex(0.5f, 0.5f, 0.5f, 1.f, 1.f, 1.f, 0.f, 1.f), // Top-left
				Vertex(0.5f, 0.5f, -0.5f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(0.5f, -0.5f, 0.5f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f, 1.0f, 0.0f), // Bottom-right
				// Bottom
				Vertex(-0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f, 0.f, 1.f), // Top-left
				Vertex(0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(-0.5f, -0.5f, 0.5f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(0.5f, -0.5f, 0.5f, 1.f, 1.f, 1.f, 1.0f, 0.0f), // Bottom-right
				// Back
				Vertex(-0.5f, 0.5f, -0.5f, 1.f, 1.f, 1.f, 0.f, 1.f), // Top-left
				Vertex(0.5f, 0.5f, -0.5f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(-0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f, 1.0f, 0.0f), // Bottom-right
				// Top
				Vertex(-0.5f, 0.5f, -0.5f, 1.f, 1.f, 1.f, 0.f, 1.f), // Top-left
				Vertex(0.5f, 0.5f, -0.5f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(-0.5f, 0.5f, 0.5f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(0.5f, 0.5f, 0.5f, 1.f, 1.f, 1.f, 1.0f, 0.0f), // Bottom-right
				// Left
				Vertex(-0.5f, 0.5f, -0.5f, 1.f, 1.f, 1.f, 0.f, 1.f), // Top-left
				Vertex(-0.5f, 0.5f, 0.5f, 1.f, 1.f, 1.f, 1.0f, 1.0f), // Top-right
				Vertex(-0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f, 0.0f, 0.0f), // Bottom-left
				Vertex(-0.5f, -0.5f, 0.5f, 1.f, 1.f, 1.f, 1.0f, 0.0f) // Bottom-right
			}, true) {
				this->SetIndices(IndexArray{
					0,1,2,1,3,2,
					4,5,6,5,7,6,
					8,9,10,9,11,10,
					12,13,14,13,15,14,
					16,17,18,17,19,18,
					20,21,22,21,23,22
				});
			};
		};
	}
}
{'fraction_non_alphanumeric': 0.2396673387096774, 'fraction_numerical': 0.11769153225806452, 'mean_word_length': 2.2373572593800977, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4472356', 'n_tokens_mistral': 2517, 'n_tokens_neox': 2060, 'n_words': 418}