Unravel Engine C++ Reference
Loading...
Searching...
No Matches
rotate_shape.hpp
Go to the documentation of this file.
1
#ifndef GENERATOR_ROTATESHAPE_HPP
2
#define GENERATOR_ROTATESHAPE_HPP
3
4
#include "
transform_shape.hpp
"
5
6
namespace
generator
7
{
8
10
template
<
typename
shape_t>
11
class
rotate_shape_t
12
{
13
private
:
14
using
impl_t
=
transform_shape_t<shape_t>
;
15
impl_t
transform_shape_;
16
17
public
:
20
rotate_shape_t
(shape_t
shape
,
double
angle)
21
: transform_shape_{
std
::move(
shape
),
22
[angle](
shape_vertex_t
& value)
23
{
24
auto
rotation
=
gml::rotate
(angle);
25
value.position =
gml::transform
(
rotation
, value.position);
26
value.tangent =
gml::transform
(
rotation
, value.tangent);
27
}}
28
{
29
}
30
31
using
edges_t
=
typename
impl_t::edges_t
;
32
33
edges_t
edges
() const noexcept
34
{
35
return
transform_shape_.edges();
36
}
37
38
using
vertices_t
=
typename
impl_t::vertices_t
;
39
40
vertices_t
vertices
() const noexcept
41
{
42
return
transform_shape_.vertices();
43
}
44
};
45
46
template
<
typename
shape_t>
47
rotate_shape_t<shape_t>
rotate_shape
(shape_t
shape
,
double
angle)
48
{
49
return
rotate_shape_t<shape_t>
{std::move(
shape
), angle};
50
}
51
}
// namespace generator
52
53
#endif
shape
std::shared_ptr< btCapsuleShape > shape
Definition
bullet_backend.cpp:678
generator::rotate_shape_t
Rotates a shape around the origin on the xy-plane.
Definition
rotate_shape.hpp:12
generator::rotate_shape_t::vertices
vertices_t vertices() const noexcept
Definition
rotate_shape.hpp:40
generator::rotate_shape_t::edges_t
typename impl_t::edges_t edges_t
Definition
rotate_shape.hpp:31
generator::rotate_shape_t::edges
edges_t edges() const noexcept
Definition
rotate_shape.hpp:33
generator::rotate_shape_t::vertices_t
typename impl_t::vertices_t vertices_t
Definition
rotate_shape.hpp:38
generator::rotate_shape_t::rotate_shape_t
rotate_shape_t(shape_t shape, double angle)
Definition
rotate_shape.hpp:20
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::rotate_shape
rotate_shape_t< shape_t > rotate_shape(shape_t shape, double angle)
Definition
rotate_shape.hpp:47
gml::transform
glm::tvec3< T > transform(const glm::tquat< T > &q, const glm::tvec3< T > &v)
Definition
math.hpp:114
gml::rotate
glm::tmat4x4< T > rotate(const glm::tvec3< T > &angle)
Definition
math.hpp:176
std
Hash specialization for batch_key to enable use in std::unordered_map.
Definition
render_view_keys.h:37
rotation
std::vector< math::quat > rotation
Definition
particle_system_soa.cpp:380
transform_shape.hpp
engine
engine
rendering
generator
rotate_shape.hpp
Generated by
1.12.0