Anvil Engine
Loading...
Searching...
No Matches
AModel.h
Go to the documentation of this file.
1
#pragma once
2
#include "
ACore.h
"
3
#include "
AMesh.h
"
4
#include "
AShader.h
"
5
#include <string>
6
#include <vector>
7
8
class
ANVIL_API
AModel
9
{
10
public
:
11
AModel
() =
default
;
12
13
~AModel
()
14
{
15
for
(
auto
* mesh : m_meshes)
16
{
17
delete
mesh;
18
}
19
}
20
21
void
Draw
()
22
{
23
for
(
auto
* mesh : m_meshes)
24
{
25
mesh->Draw();
26
}
27
}
28
29
int
LoadFromFile(
const
std::string& path);
30
void
AddMesh
(
AMesh
* mesh)
31
{
32
m_meshes.push_back(mesh);
33
}
34
35
const
std::vector<AMesh*>&
GetMeshes
()
const
36
{
37
return
m_meshes;
38
}
39
AMesh
*
GetMesh
(
size_t
index)
40
{
41
return
m_meshes[index];
42
}
43
44
private
:
45
std::vector<AMesh*> m_meshes;
46
};
ACore.h
ANVIL_API
#define ANVIL_API
Definition
ACore.h:6
AMesh.h
AShader.h
AMesh
Represents a mesh object in the ANVIL engine with vertices, indices, and texture support.
Definition
AMesh.h:19
AModel::Draw
void Draw()
Definition
AModel.h:21
AModel::~AModel
~AModel()
Definition
AModel.h:13
AModel::AModel
AModel()=default
AModel::GetMeshes
const std::vector< AMesh * > & GetMeshes() const
Definition
AModel.h:35
AModel::GetMesh
AMesh * GetMesh(size_t index)
Definition
AModel.h:39
AModel::AddMesh
void AddMesh(AMesh *mesh)
Definition
AModel.h:30
Anvil_SDK
AModel.h
Generated by
1.16.1