Go to the documentation of this file.
9 #ifndef EAGINE_SHAPES_ADJACENCY_HPP
10 #define EAGINE_SHAPES_ADJACENCY_HPP
25 std::shared_ptr<generator> gen,
56 flat_map<drawing_variant, topology> _topologies;
62 std::shared_ptr<generator> gen,
64 return std::make_unique<triangle_adjacency_gen>(std::move(gen), var);
71 return std::make_unique<triangle_adjacency_gen>(std::move(gen));
77 #if !EAGINE_LINK_LIBRARY || defined(EAGINE_IMPLEMENTING_LIBRARY)
78 #include <eagine/shapes/adjacency.inl>
81 #endif // EAGINE_SHAPES_ADJACENCY_HPP
std::ptrdiff_t span_size_t
Signed span size type used by eagine.
Definition: types.hpp:36
Common code is placed in this namespace.
Definition: eagine.hpp:21
auto operation_count()
Returns the number of drawing instructions for the default variant.
Definition: gen_base.hpp:179
void indices(drawing_variant, span< std::uint8_t > dest) override
Fetches the index data for the specified drawing variant.
Class holding information about the topology of a generated shape.
Definition: topology.hpp:157
static auto add_triangle_adjacency(std::shared_ptr< generator > gen, drawing_variant var) noexcept
Constructs instances of triangle_adjacency_gen modifier.
Definition: adjacency.hpp:61
Generator modifier adding triangle adjacency to drawing instructions.
Definition: adjacency.hpp:22
void instructions(drawing_variant, span< draw_operation > ops) override
Fetches the drawing operations for the specified drawing variant.
span_size_t drawing_variant
Alias for shape drawing variant index type.
Definition: gen_base.hpp:31
auto index_type() -> index_data_type
Returns the index data type for the default draw variant.
Definition: gen_base.hpp:139
Base class for delegating shape generators based on other generators.
Definition: delegated.hpp:21
index_data_type
Shape element index type enumeration.
Definition: drawing.hpp:111
auto index_count()
Returns the index count for the default drawing variant.
Definition: gen_base.hpp:147