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.h | 44 ++++++++++---------------------------------- 1 file changed, 10 insertions(+), 34 deletions(-) (limited to 'src/o3d/obj3d.h') diff --git a/src/o3d/obj3d.h b/src/o3d/obj3d.h index 795b337..3a931b1 100644 --- a/src/o3d/obj3d.h +++ b/src/o3d/obj3d.h @@ -1,46 +1,22 @@ #ifndef O3D_OBJ3D_H #define O3D_OBJ3D_H -#include -#include -#include -#include "o3d/vertex.h" -#include "o3d/tri_vertex.h" +#include "math/math_vector.h" +#include "o3d/mesh.h" namespace engine::o3d { +class Scene; + class Object3D { public: - class TriangleVertex3Iterator { - public: - using iterator_category = std::input_iterator_tag; - using value_type = TriangleVertex3; - using difference_type = TriangleVertex3; - using pointer = const TriangleVertex3*; - using reference = TriangleVertex3; - - explicit TriangleVertex3Iterator(const Object3D* obj, int face_ind = 0); - TriangleVertex3Iterator& operator++(); - TriangleVertex3Iterator operator++(int); - bool operator==(TriangleVertex3Iterator other) const; - bool operator!=(TriangleVertex3Iterator other) const; - reference operator*() const; - - private: - const Object3D* obj; - int face_ind; - - }; - - static Object3D cube(); // this function should not be in this file - - Object3D(std::vector pts, std::vector> faces); - TriangleVertex3Iterator begin(); - TriangleVertex3Iterator end(); + Scene* scene = nullptr; + Mesh mesh; + engine::math::MathVector3 loc; + float scale; + float rot_x, rot_y, rot_z; - private: - std::vector pts; - std::vector> faces; + Object3D(Mesh mesh, engine::math::MathVector3 loc, float scale, float rot_x, float rot_y, float rot_z); }; } -- cgit v1.2.3