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

◆ initialize()

void MayaFlux::Nodes::Network::ParticleNetwork::initialize ( )
overridevirtual

Called once before first process_batch()

Use for expensive one-time initialization:

  • Building neighbor maps
  • Allocating buffers
  • Computing lookup tables

Reimplemented from MayaFlux::Nodes::Network::NodeNetwork.

Definition at line 36 of file ParticleNetwork.cpp.

37{
38 if (m_initialized) {
39 return;
40 }
41
42 auto positions = generate_initial_vertices();
43
44 if (!m_operator) {
45 auto physics = std::make_unique<PhysicsOperator>();
46 physics->set_bounds(m_bounds.min, m_bounds.max);
47 physics->initialize(positions);
48 m_operator = std::move(physics);
49 }
50
51 m_initialized = true;
52
54 "Initialized ParticleNetwork: {} points, operator={}",
56 m_operator ? m_operator->get_type_name() : "none");
57}
#define MF_DEBUG(comp, ctx,...)
std::vector< PointVertex > generate_initial_vertices()
std::unique_ptr< NetworkOperator > m_operator
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References generate_initial_vertices(), m_bounds, MayaFlux::Nodes::Network::NodeNetwork::m_initialized, m_num_points, m_operator, MayaFlux::Kinesis::SamplerBounds::max, MF_DEBUG, MayaFlux::Kinesis::SamplerBounds::min, MayaFlux::Journal::NodeProcessing, and MayaFlux::Journal::Nodes.

Referenced by ensure_initialized().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: