From e730e8bdc69ef89dfa28d2606d260cb8b72f4740 Mon Sep 17 00:00:00 2001 From: vimene Date: Sun, 26 Nov 2023 17:58:30 +0100 Subject: added scenes, camera and meshes --- src/o3d/obj3d.cpp | 69 +++---------------------------------------------------- 1 file changed, 3 insertions(+), 66 deletions(-) (limited to 'src/o3d/obj3d.cpp') 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 -#include #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 pts, std::vector> faces) : pts{pts}, faces{faces} { -} - -Object3D::TriangleVertex3Iterator Object3D::begin() { - return Object3D::TriangleVertex3Iterator{this}; -} - -Object3D::TriangleVertex3Iterator Object3D::end() { - return Object3D::TriangleVertex3Iterator{this, static_cast(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} { } -- cgit v1.2.3