MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ Logic() [4/6]

MayaFlux::Nodes::Generator::Logic::Logic ( MultiInputFunction  function,
size_t  input_count 
)

Constructs a Logic node for parallel input evaluation.

Parameters
functionFunction implementing multi-input boolean logic
input_countNumber of parallel inputs to process

Creates a Logic node that evaluates multiple inputs simultaneously, enabling implementation of complex decision functions like voting systems, majority logic, or custom multi-input boolean operations.

Definition at line 56 of file Logic.cpp.

59 , m_multi_input_function(std::move(function))
61 , m_input_count(input_count)
62 , m_threshold(0.5)
63 , m_low_threshold(0.45)
64 , m_high_threshold(0.5)
68{
69 m_input_buffer.resize(input_count, 0.0);
70}
size_t m_history_size
Maximum size of the history buffer.
Definition Logic.hpp:588
EdgeType m_edge_type
Type of edge to detect.
Definition Logic.hpp:593
double m_threshold
Threshold for boolean conversion.
Definition Logic.hpp:590
double m_high_threshold
High threshold for hysteresis.
Definition Logic.hpp:592
std::vector< double > m_input_buffer
Definition Logic.hpp:598
LogicOperator m_operator
Current logic operator.
Definition Logic.hpp:581
double m_low_threshold
Low threshold for hysteresis.
Definition Logic.hpp:591
MultiInputFunction m_multi_input_function
Function for recursive/feedforward mode.
Definition Logic.hpp:583
bool m_edge_detected
Whether an edge was detected in the last processing.
Definition Logic.hpp:594
LogicMode m_mode
Current processing mode.
Definition Logic.hpp:580
size_t m_input_count
Expected number of inputs for multi-input mode.
Definition Logic.hpp:589
std::span< const float > get_gpu_data_buffer() const
Provides access to the GPU data buffer.
Definition Node.cpp:78
@ MULTI_INPUT
Parallel evaluation of multiple input signals.
@ CUSTOM
User-defined boolean function.