Unravel Engine C++ Reference
Loading...
Searching...
No Matches
scale_shape.hpp
Go to the documentation of this file.
1
#ifndef GENERATOR_SCALESHAPE_HPP
2
#define GENERATOR_SCALESHAPE_HPP
3
4
#include "
transform_shape.hpp
"
5
6
namespace
generator
7
{
8
10
template
<
typename
shape_t>
11
class
scale_shape_t
12
{
13
private
:
14
using
impl_t
=
transform_shape_t<shape_t>
;
15
impl_t
transform_shape_;
16
17
public
:
20
scale_shape_t
(shape_t
shape
,
const
gml::dvec2&
scale
)
21
: transform_shape_{
std
::move(
shape
),
22
[
scale
](
shape_vertex_t
& value)
23
{
24
value.position *=
scale
;
25
value.tangent = normalize(
scale
* value.tangent);
26
}}
27
{
28
}
29
30
using
edges_t
=
typename
impl_t::edges_t
;
31
32
edges_t
edges
() const noexcept
33
{
34
return
transform_shape_.edges();
35
}
36
37
using
vertices_t
=
typename
impl_t::vertices_t
;
38
39
vertices_t
vertices
() const noexcept
40
{
41
return
transform_shape_.vertices();
42
}
43
};
44
45
template
<
typename
shape_t>
46
scale_shape_t<shape_t>
scale_shape
(shape_t
shape
,
const
gml::dvec2&
scale
)
47
{
48
return
scale_shape_t<shape_t>
{std::move(
shape
),
scale
};
49
}
50
}
// namespace generator
51
52
#endif
shape
std::shared_ptr< btCapsuleShape > shape
Definition
bullet_backend.cpp:678
generator::scale_shape_t
Scales a shape keeping tangents unit length.
Definition
scale_shape.hpp:12
generator::scale_shape_t::vertices
vertices_t vertices() const noexcept
Definition
scale_shape.hpp:39
generator::scale_shape_t::edges_t
typename impl_t::edges_t edges_t
Definition
scale_shape.hpp:30
generator::scale_shape_t::edges
edges_t edges() const noexcept
Definition
scale_shape.hpp:32
generator::scale_shape_t::vertices_t
typename impl_t::vertices_t vertices_t
Definition
scale_shape.hpp:37
generator::scale_shape_t::scale_shape_t
scale_shape_t(shape_t shape, const gml::dvec2 &scale)
Definition
scale_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::scale_shape
scale_shape_t< shape_t > scale_shape(shape_t shape, const gml::dvec2 &scale)
Definition
scale_shape.hpp:46
std
Hash specialization for batch_key to enable use in std::unordered_map.
Definition
render_view_keys.h:37
scale
std::vector< float > scale
Definition
particle_system_soa.cpp:376
transform_shape.hpp
engine
engine
rendering
generator
scale_shape.hpp
Generated by
1.12.0