Go to the documentation of this file. 1 #ifndef OGLPLUS_TEXGEN_MULTI_INPUT_NODE_HPP
9 #define OGLPLUS_TEXGEN_MULTI_INPUT_NODE_HPP
15 namespace eagine::oglp::texgen {
17 class multi_input_output :
public base_output {
19 friend class multi_input_node;
21 input_with_const_default<float[4]> _input;
22 std::map<std::string, input_with_const_default<float[4]>> _inputs;
25 multi_input_output(node_intf& parent);
27 slot_data_type common_param_type();
30 class multi_input_node :
public base_single_output_node {
32 multi_input_output& single_output()
override = 0;
38 optional_reference_wrapper<input_intf> input_by_name(
string_view)
override;
40 bool can_add_input()
override;
42 input_with_const_default<float[4]>& add_input(
string_view)
override;
45 add_input(
string_view name,
float x,
float y,
float z,
float w) {
46 add_input(name).fallback().set(x, y, z, w);
50 multi_input_node& set_value(
float x,
float y,
float z,
float w) {
51 single_output()._input.fallback().set(x, y, z, w);
58 #if !OGLPLUS_LINK_LIBRARY || defined(OGLPLUS_IMPLEMENTING_LIBRARY)
59 #include <oglplus/texgen/multi_input_node.inl>
62 #endif // OGLPLUS_TEXGEN_MULTI_INPUT_NODE_HPP
std::ptrdiff_t span_size_t
Signed span size type used by eagine.
Definition: types.hpp:36
basic_string_span< const char > string_view
Alias for const string views.
Definition: string_span.hpp:116