summaryrefslogtreecommitdiff
path: root/Userland/Applications/3DFileViewer/Mesh.h
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Applications/3DFileViewer/Mesh.h')
-rw-r--r--Userland/Applications/3DFileViewer/Mesh.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/Userland/Applications/3DFileViewer/Mesh.h b/Userland/Applications/3DFileViewer/Mesh.h
new file mode 100644
index 0000000000..7f979cff0a
--- /dev/null
+++ b/Userland/Applications/3DFileViewer/Mesh.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2021, Jesse Buhagiar <jooster669@gmail.com>
+ * Copyright (c) 2021, Mathieu Gaillard <gaillard.mathieu.39@gmail.com>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <AK/RefCounted.h>
+#include <AK/Vector.h>
+
+#include "Common.h"
+
+class Mesh : public RefCounted<Mesh> {
+public:
+ Mesh() = delete;
+
+ Mesh(Vector<Vertex> vertices, Vector<Triangle> triangles);
+
+ size_t vertex_count() const { return m_vertex_list.size(); }
+
+ size_t triangle_count() const { return m_triangle_list.size(); }
+
+ void draw();
+
+private:
+ Vector<Vertex> m_vertex_list;
+ Vector<Triangle> m_triangle_list;
+};