1#ifndef GENERATOR_ROTATEPATH_HPP
2#define GENERATOR_ROTATEPATH_HPP
11template<
typename path_t>
20 : transform_path_{
std::move(path),
38 ?
gml::dvec3{1.0, 0.0, 0.0}
39 : (axis ==
axis_t::
Y ?
gml::dvec3{0.0, 1.0, 0.0} :
gml::dvec3{0.0, 0.0, 1.0}))}
47 return transform_path_.edges();
54 return transform_path_.vertices();
58template<
typename path_t>
64template<
typename path_t>
70template<
typename path_t>
Rotates vertices, tangents and normals.
rotate_path_t(path_t path, double angle, axis_t axis)
typename impl_t::vertices_t vertices_t
rotate_path_t(path_t path, const gml::dquat &rotation)
rotate_path_t(path_t path, double angle, const gml::dvec3 &axis)
vertices_t vertices() const noexcept
typename impl_t::edges_t edges_t
edges_t edges() const noexcept
rotate_path_t< path_t > rotate_path(path_t path, const gml::dquat &rotation)
glm::tvec3< T > transform(const glm::tquat< T > &q, const glm::tvec3< T > &v)