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

◆ update_control_point()

void MayaFlux::Nodes::GpuSync::PathGeneratorNode::update_control_point ( size_t  index,
const LineVertex vertex 
)

Update specific control point with full LineVertex data.

Parameters
indexControl point index (0 = newest)
vertexNew LineVertex data

Definition at line 281 of file PathGeneratorNode.cpp.

282{
283 if (index >= m_control_points.size()) {
285 "Control point index {} out of range (count: {})",
286 index, m_control_points.size());
287 return;
288 }
289
290 m_control_points[index] = vertex;
291
292 auto range = calculate_affected_segment_range(
293 index,
294 m_control_points.size(),
295 m_mode,
297
299 m_dirty_segment_start = range.start_control_idx;
300 m_dirty_segment_end = range.end_control_idx;
301 } else {
302 m_dirty_segment_start = std::min(m_dirty_segment_start, range.start_control_idx);
303 m_dirty_segment_end = std::max(m_dirty_segment_end, range.end_control_idx);
304 }
305
306 m_geometry_dirty = true;
307 m_vertex_data_dirty = true;
308}
#define MF_ERROR(comp, ctx,...)
uint32_t index
Definition VKDevice.cpp:142
bool m_vertex_data_dirty
Flag: vertex data or layout changed since last GPU upload.
std::vector< LineVertex > m_control_points
Control points, newest first: index 0 is the most recently added.
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.
std::vector< double > range(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Value range (max - min) per window.
Definition Analysis.cpp:452

References index, INVALID_SEGMENT, m_control_points, m_dirty_segment_end, m_dirty_segment_start, m_geometry_dirty, m_mode, m_samples_per_segment, MayaFlux::Nodes::GpuSync::GeometryWriterNode::m_vertex_data_dirty, MF_ERROR, MayaFlux::Journal::NodeProcessing, and MayaFlux::Journal::Nodes.