/*********************************************************************************************************************** * * Copyright (c) 2010 - 2025 by Tech Soft 3D, Inc. * The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., and considered a trade secret * as defined under civil and criminal statutes. Tech Soft 3D shall pursue its civil and criminal remedies in the event * of unauthorized use or misappropriation of its trade secrets. Use of this information by anyone other than authorized * employees of Tech Soft 3D, Inc. is granted only under a written non-disclosure agreement, expressly prescribing the * scope and manner of such use. * ***********************************************************************************************************************/ #ifndef MESH_H #define MESH_H #include "../../utils/bounding_box.h" #include "../../utils/properties.h" #include "../../utils/geometry.h" #include "ebo.h" #include "vao.h" class Mesh { public: int indice_count = 0; utils::geometry::BoundingBox box; glm::mat4 placement; utils::properties::style::Graphics style; VAO vao; Mesh(const utils::geometry::BufferData& data, const glm::mat4& placement, const utils::properties::style::Graphics& style); Mesh() = default; ~Mesh() = default; // Draws the mesh void draw(); static void sort_by_style(std::vector& models); }; #endif // MESH_H