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

◆ TopologyGeneratorNode() [2/2]

MayaFlux::Nodes::GpuSync::TopologyGeneratorNode::TopologyGeneratorNode ( CustomConnectionFunction  custom_func,
bool  auto_connect = true,
size_t  max_points = 256 
)

Create with custom connection function.

Parameters
custom_funcUser-provided topology generation
auto_connectAuto-regenerate flag
max_pointsMaximum capacity

Definition at line 39 of file TopologyGeneratorNode.cpp.

43 : GeometryWriterNode(static_cast<uint32_t>(max_points * max_points))
45 , m_custom_func(std::move(custom_func))
46 , m_points(max_points)
47 , m_auto_connect(auto_connect)
48{
49 const auto& stride = sizeof(LineVertex);
50 set_vertex_stride(stride);
51
52 auto layout = Kakshya::VertexLayout::for_lines(stride);
53 layout.vertex_count = 0;
54 set_vertex_layout(layout);
55
56 m_vertices.reserve(max_points * max_points);
57 m_connections.reserve(max_points * max_points);
58
60 "Created TopologyGeneratorNode with custom function");
61}
#define MF_DEBUG(comp, ctx,...)
GeometryWriterNode(uint32_t initial_capacity=1024)
Constructor.
void set_vertex_layout(const Kakshya::VertexLayout &layout)
Set cached vertex layout.
void set_vertex_stride(size_t stride)
Set vertex stride (bytes per vertex)
std::vector< std::pair< size_t, size_t > > m_connections
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.
static VertexLayout for_lines(uint32_t stride=36)
Factory: Create layout for line primitives (position, color, thickness)

References MayaFlux::Kakshya::VertexLayout::for_lines(), m_connections, m_vertices, MF_DEBUG, MayaFlux::Journal::NodeProcessing, MayaFlux::Journal::Nodes, MayaFlux::Nodes::GpuSync::GeometryWriterNode::set_vertex_layout(), and MayaFlux::Nodes::GpuSync::GeometryWriterNode::set_vertex_stride().

+ Here is the call graph for this function: