aboutsummaryrefslogtreecommitdiff
path: root/src/o3d/obj3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/o3d/obj3d.cpp')
-rw-r--r--src/o3d/obj3d.cpp69
1 files changed, 3 insertions, 66 deletions
diff --git a/src/o3d/obj3d.cpp b/src/o3d/obj3d.cpp
index 9ccb93a..047bf3e 100644
--- a/src/o3d/obj3d.cpp
+++ b/src/o3d/obj3d.cpp
@@ -1,72 +1,9 @@
#include "o3d/obj3d.h"
-#include <vector>
-#include <array>
#include "math/math_vector.h"
-#include "o3d/vertex.h"
-#include "o3d/tri_vertex.h"
+#include "o3d/mesh.h"
using namespace engine::o3d;
-Object3D::TriangleVertex3Iterator::TriangleVertex3Iterator(const Object3D* obj, int face_ind) : obj{obj}, face_ind{face_ind} {
-}
-
-Object3D::TriangleVertex3Iterator& Object3D::TriangleVertex3Iterator::operator++() {
- face_ind++;
- return *this;
-}
-
-Object3D::TriangleVertex3Iterator Object3D::TriangleVertex3Iterator::operator++(int) {
- TriangleVertex3Iterator retval = *this;
- ++(*this);
- return retval;
-}
-
-bool Object3D::TriangleVertex3Iterator::operator==(TriangleVertex3Iterator other) const {
- return obj == other.obj && face_ind == other.face_ind;
-}
-
-bool Object3D::TriangleVertex3Iterator::operator!=(TriangleVertex3Iterator other) const {
- return !(*this == other);
-}
-
-Object3D::TriangleVertex3Iterator::reference Object3D::TriangleVertex3Iterator::operator*() const {
- return {
- obj->pts[obj->faces[face_ind][0]],
- obj->pts[obj->faces[face_ind][1]],
- obj->pts[obj->faces[face_ind][2]]
- };
-}
-
-Object3D Object3D::cube() {
- return {
- {
- { engine::math::MathVector3(-1.f, -1.f, -1.f), {} },
- { engine::math::MathVector3(+1.f, -1.f, -1.f), {} },
- { engine::math::MathVector3(-1.f, +1.f, -1.f), {} },
- { engine::math::MathVector3(+1.f, +1.f, -1.f), {} },
- { engine::math::MathVector3(-1.f, -1.f, +1.f), {} },
- { engine::math::MathVector3(+1.f, -1.f, +1.f), {} },
- { engine::math::MathVector3(-1.f, +1.f, +1.f), {} },
- { engine::math::MathVector3(+1.f, +1.f, +1.f), {} },
- },
- {
- { 0, 2, 3 }, { 0, 3, 1 }, // face 1
- { 0, 4, 6 }, { 0, 6, 2 }, // face 2
- { 0, 1, 5 }, { 0, 5, 4 }, // face 3
- { 7, 6, 4 }, { 7, 4, 5 }, // face 4
- { 7, 3, 2 }, { 7, 2, 6 }, // face 5
- { 7, 5, 1 }, { 7, 1, 3 }, // face 6
- }
- };
-}
-
-Object3D::Object3D(std::vector<Vertex3> pts, std::vector<std::array<int, 3>> faces) : pts{pts}, faces{faces} {
-}
-
-Object3D::TriangleVertex3Iterator Object3D::begin() {
- return Object3D::TriangleVertex3Iterator{this};
-}
-
-Object3D::TriangleVertex3Iterator Object3D::end() {
- return Object3D::TriangleVertex3Iterator{this, static_cast<int>(faces.size())};
+Object3D::Object3D(Mesh mesh, engine::math::MathVector3 loc, float scale, float rot_x, float rot_y, float rot_z)
+ : mesh{mesh}, loc{loc}, scale{scale}, rot_x{rot_x}, rot_y{rot_y}, rot_z{rot_z} {
}