434{
436 const size_t num_points = view.size();
437
438 if (start_ctrl_idx >= num_points || end_ctrl_idx >= num_points) {
440 "Invalid segment range [{}, {}] for {} control points",
441 start_ctrl_idx, end_ctrl_idx, num_points);
442 return;
443 }
444
445 std::vector<LineVertex> segment_verts;
446 for (size_t i = start_ctrl_idx; i <= end_ctrl_idx; ++i) {
447 segment_verts.push_back(view[i]);
448 }
449
451
452 std::vector<LineVertex> new_segment;
453
454 for (size_t i = 0; i + 3 < segment_verts.size(); ++i) {
456 }
457
460 }
461
463}
#define MF_ERROR(comp, ctx,...)
Eigen::Index m_samples_per_segment
Memory::HistoryBuffer< LineVertex > m_control_points
std::vector< LineVertex > m_vertices
void generate_curve_segment(const std::vector< LineVertex > &curve_verts, size_t start_idx, std::vector< LineVertex > &output)
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.