42 lines
1.4 KiB
C++
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
|