Unravel Engine C++ Reference
Loading...
Searching...
No Matches
axis_swap_shape.hpp
Go to the documentation of this file.
1
#ifndef GENERATOR_AXISSWAPSHAPE_HPP
2
#define GENERATOR_AXISSWAPSHAPE_HPP
3
4
#include "
transform_shape.hpp
"
5
6
namespace
generator
7
{
8
10
template
<
typename
shape_t>
11
class
axis_swap_shape_t
12
{
13
private
:
14
using
impl_t
=
transform_shape_t<shape_t>
;
15
impl_t
transform_shape_;
16
17
public
:
19
axis_swap_shape_t
(shape_t shape)
20
: transform_shape_{
std
::move(shape),
21
[](
shape_vertex_t
& vertex)
22
{
23
std::swap(vertex.position[0u], vertex.position[1u]);
24
std::swap(vertex.tangent[0u], vertex.tangent[1u]);
25
}}
26
{
27
}
28
29
using
edges_t
=
typename
impl_t::edges_t
;
30
31
edges_t
edges
() const noexcept
32
{
33
return
transform_shape_.edges();
34
}
35
36
using
vertices_t
=
typename
impl_t::vertices_t
;
37
38
vertices_t
vertices
() const noexcept
39
{
40
return
transform_shape_.vertices();
41
}
42
};
43
44
template
<
typename
shape_t>
45
axis_swap_shape_t<shape_t>
axis_swap_shape
(shape_t shape)
46
{
47
return
axis_swap_shape_t<shape_t>
{std::move(shape)};
48
}
49
}
// namespace generator
50
51
#endif
generator::axis_swap_shape_t
Swaps the x and y axis.
Definition
axis_swap_shape.hpp:12
generator::axis_swap_shape_t::edges_t
typename impl_t::edges_t edges_t
Definition
axis_swap_shape.hpp:29
generator::axis_swap_shape_t::axis_swap_shape_t
axis_swap_shape_t(shape_t shape)
Definition
axis_swap_shape.hpp:19
generator::axis_swap_shape_t::edges
edges_t edges() const noexcept
Definition
axis_swap_shape.hpp:31
generator::axis_swap_shape_t::vertices_t
typename impl_t::vertices_t vertices_t
Definition
axis_swap_shape.hpp:36
generator::axis_swap_shape_t::vertices
vertices_t vertices() const noexcept
Definition
axis_swap_shape.hpp:38
generator::shape_vertex_t
Definition
shape_vertex.hpp:12
generator::transform_shape_t::vertices_t
Definition
transform_shape.hpp:21
generator::transform_shape_t
Apply a mutator function to each vertex.
Definition
transform_shape.hpp:14
generator::transform_shape_t::edges_t
typename impl_t::edges_t edges_t
Definition
transform_shape.hpp:60
generator
Definition
any_generator.hpp:7
generator::axis_swap_shape
axis_swap_shape_t< shape_t > axis_swap_shape(shape_t shape)
Definition
axis_swap_shape.hpp:45
std
Definition
render_view_keys.h:37
transform_shape.hpp
UnravelEngine
UnravelEngine
engine
engine
rendering
generator
axis_swap_shape.hpp
Generated by
1.12.0