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

◆ process_batch()

void MayaFlux::Nodes::Network::ParticleNetwork::process_batch ( unsigned int  num_samples)
overridevirtual

Process the network for the given number of samples.

Parameters
num_samplesNumber of samples/frames to process

Subclasses implement their specific processing logic:

  1. Update internal state (physics, relationships, etc.)
  2. Process individual nodes
  3. Apply inter-node interactions
  4. Aggregate outputs if needed

Called by NodeGraphManager during token processing.

Implements MayaFlux::Nodes::Network::NodeNetwork.

Definition at line 85 of file ParticleNetwork.cpp.

86{
88
89 if (!is_enabled()) {
90 return;
91 }
92
94
95 for (unsigned int frame = 0; frame < num_samples; ++frame) {
98 apply_drag();
99
102 }
103
106 }
107
110 }
111
113
115 "ParticleNetwork processed {} frames, {} particles",
116 num_samples, m_particles.size());
117}
#define MF_TRACE(comp, ctx,...)
bool is_enabled() const
Check if network is enabled.
@ INDEPENDENT
No connections, nodes process independently.
void ensure_initialized()
Ensure initialize() is called exactly once.
void handle_bounds()
Handle boundary conditions.
void apply_attraction_force()
Apply attraction point force.
void apply_gravity()
Apply gravity to all particles.
void integrate(float dt)
Integrate forces → velocities → positions.
void apply_interaction_forces()
Apply interaction forces based on topology.
void update_point_nodes()
Update PointNode states from physics.
void clear_forces()
Clear accumulated forces.
void update_mapped_parameters()
Update mapped parameters before physics step.
@ NodeProcessing
Node graph processing (Nodes::NodeGraphManager)
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.

References apply_attraction_force(), apply_drag(), apply_gravity(), apply_interaction_forces(), clear_forces(), MayaFlux::Nodes::Network::NodeNetwork::ensure_initialized(), handle_bounds(), MayaFlux::Nodes::Network::NodeNetwork::INDEPENDENT, integrate(), MayaFlux::Nodes::Network::NodeNetwork::is_enabled(), m_has_attraction_point, m_particles, m_timestep, MayaFlux::Nodes::Network::NodeNetwork::m_topology, MF_TRACE, MayaFlux::Journal::NodeProcessing, MayaFlux::Journal::Nodes, update_mapped_parameters(), and update_point_nodes().

+ Here is the call graph for this function: