MayaFlux 0.2.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 202 of file PathGeneratorNode.cpp.

203{
204 if (index >= m_control_points.size()) {
206 "Control point index {} out of range (count: {})",
207 index, m_control_points.size());
208 return;
209 }
210
211 m_control_points.update(index, vertex);
212
213 auto range = calculate_affected_segment_range(
214 index,
215 m_control_points.size(),
216 m_mode,
218
220 m_dirty_segment_start = range.start_control_idx;
221 m_dirty_segment_end = range.end_control_idx;
222 } else {
223 m_dirty_segment_start = std::min(m_dirty_segment_start, range.start_control_idx);
224 m_dirty_segment_end = std::max(m_dirty_segment_end, range.end_control_idx);
225 }
226
227 m_geometry_dirty = true;
228 m_vertex_data_dirty = true;
229}
#define MF_ERROR(comp, ctx,...)
bool m_vertex_data_dirty
Flag: vertex data or layout changed since last GPU upload.
Memory::HistoryBuffer< LineVertex > m_control_points
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References 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.