Unravel Engine C++ Reference
Loading...
Searching...
No Matches
triangle_mesh.hpp
Go to the documentation of this file.
1
#ifndef GENERATOR_TRIANGLEMESH_HPP
2
#define GENERATOR_TRIANGLEMESH_HPP
3
4
#include "
math.hpp
"
5
6
#include "
mesh_vertex.hpp
"
7
#include "
triangle.hpp
"
8
9
namespace
generator
10
{
11
14
class
triangle_mesh_t
15
{
16
public
:
17
class
triangles_t
18
{
19
public
:
20
bool
done
()
const
noexcept
;
21
triangle_t
generate
()
const
;
22
void
next
();
23
24
private
:
25
const
triangle_mesh_t
* mesh_;
26
int
row_;
27
int
col_;
28
int
i_;
29
30
explicit
triangles_t
(
const
triangle_mesh_t
& mesh);
31
32
friend
class
triangle_mesh_t
;
33
};
34
35
class
vertices_t
36
{
37
public
:
38
bool
done
()
const
noexcept
;
39
mesh_vertex_t
generate
()
const
;
40
void
next
();
41
42
private
:
43
const
triangle_mesh_t
* mesh_;
44
int
row_;
45
int
col_;
46
47
explicit
vertices_t
(
const
triangle_mesh_t
& mesh);
48
49
friend
class
triangle_mesh_t
;
50
};
51
55
explicit
triangle_mesh_t
(
double
radius = 1.0,
int
segments
= 4);
56
59
triangle_mesh_t
(
const
gml::dvec3& v0,
const
gml::dvec3& v1,
const
gml::dvec3& v2,
int
segments
= 4);
60
61
triangles_t
triangles
() const noexcept;
62
63
vertices_t
vertices
() const noexcept;
64
65
private:
66
gml
::dvec3 v0_, v1_, v2_;
67
68
gml
::dvec3 normal_;
69
70
int
segments_;
71
};
72
}
// namespace generator
73
74
#endif
generator::mesh_vertex_t
Definition
mesh_vertex.hpp:10
generator::triangle_mesh_t::triangles_t
Definition
triangle_mesh.hpp:18
generator::triangle_mesh_t::triangles_t::done
bool done() const noexcept
Definition
triangle_mesh.cpp:11
generator::triangle_mesh_t::triangles_t::generate
triangle_t generate() const
Definition
triangle_mesh.cpp:16
generator::triangle_mesh_t::triangles_t::next
void next()
Definition
triangle_mesh.cpp:39
generator::triangle_mesh_t::vertices_t
Definition
triangle_mesh.hpp:36
generator::triangle_mesh_t::vertices_t::generate
mesh_vertex_t generate() const
Definition
triangle_mesh.cpp:65
generator::triangle_mesh_t::vertices_t::next
void next()
Definition
triangle_mesh.cpp:95
generator::triangle_mesh_t::vertices_t::done
bool done() const noexcept
Definition
triangle_mesh.cpp:60
generator::triangle_mesh_t
Definition
triangle_mesh.hpp:15
generator::triangle_mesh_t::vertices
vertices_t vertices() const noexcept
Definition
triangle_mesh.cpp:130
generator::triangle_mesh_t::triangle_mesh_t
triangle_mesh_t(double radius=1.0, int segments=4)
Definition
triangle_mesh.cpp:108
generator::triangle_mesh_t::triangles
triangles_t triangles() const noexcept
Definition
triangle_mesh.cpp:125
generator::triangle_t
Definition
triangle.hpp:10
math.hpp
mesh_vertex.hpp
generator
Definition
any_generator.hpp:7
gml
Definition
math.hpp:13
segments
const segment_list * segments
Definition
text_component.cpp:442
triangle.hpp
UnravelEngine
UnravelEngine
engine
engine
rendering
generator
triangle_mesh.hpp
Generated by
1.12.0