Files
2025-12-15 23:22:33 +08:00

42 lines
1.4 KiB
C++

/***********************************************************************************************************************
*
* 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<Mesh>& models);
};
#endif // MESH_H