Go to the documentation of this file. 1 #ifndef OGLPLUS_TEXGEN_INTERLACE_NODE_HPP
9 #define OGLPLUS_TEXGEN_INTERLACE_NODE_HPP
14 namespace eagine::oglp::texgen {
16 enum class interlace_mode { columns, rows, layers };
18 class interlace_output :
public base_output {
22 friend class interlace_node;
25 interlace_output(node_intf& parent, interlace_mode);
27 interlace_output(node_intf& parent)
28 : interlace_output(parent, interlace_mode::
rows) {}
34 std::ostream& definitions(std::ostream& out, compile_context& ctxt)
override;
37 class interlace_node :
public single_output_node<interlace_output> {
39 interlace_node& set_mode(interlace_mode mode) {
47 #if !OGLPLUS_LINK_LIBRARY || defined(OGLPLUS_IMPLEMENTING_LIBRARY)
48 #include <oglplus/texgen/interlace_node.inl>
51 #endif // OGLPLUS_TEXGEN_INTERLACE_NODE_HPP
value_type
Value tree value element data type enumeration.
Definition: interface.hpp:27
basic_string_span< const char > string_view
Alias for const string views.
Definition: string_span.hpp:116
static auto type_name(const T &) noexcept -> std::string
Returns the demangled name for type T.
Definition: type_name.hpp:24
static constexpr auto rows(const matrix< T, C, R, RM, V > &) noexcept
Returns then number of matrix rows.
Definition: matrix.hpp:87