Go to the documentation of this file.
9 #ifndef EAGINE_SHAPES_SCALED_HPP
10 #define EAGINE_SHAPES_SCALED_HPP
26 scaled_gen(std::shared_ptr<generator> gen, std::array<float, 3> s) noexcept
35 std::array<float, 3> _s;
41 scale(std::shared_ptr<generator> gen, std::array<float, 3> s) noexcept {
42 return std::make_unique<scaled_gen>(std::move(gen), s);
48 #if !EAGINE_LINK_LIBRARY || defined(EAGINE_IMPLEMENTING_LIBRARY)
49 #include <eagine/shapes/scaled.inl>
52 #endif // EAGINE_SHAPES_SCALED_HPP
Basic template for spheres in N-dimensional space.
Definition: primitives.hpp:122
Common code is placed in this namespace.
Definition: eagine.hpp:21
void attrib_values(vertex_attrib_variant, span< float >) override
Fetches the vertex attribute data for the specified variant as floats.
Generator modifier scaling the generated vertices by specifed amount.
Definition: scaled.hpp:23
auto bounding_sphere() -> math::sphere< float, true > override
Returns the bounding sphere for the generated shape.
Class designating an vertex attribute variant in a shape generator.
Definition: vertex_attrib.hpp:104
static auto scale(std::shared_ptr< generator > gen, std::array< float, 3 > s) noexcept
Constructs instances of scaled_gen modifier.
Definition: scaled.hpp:41
Base class for delegating shape generators based on other generators.
Definition: delegated.hpp:21