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

◆ process_batch()

void MayaFlux::Nodes::Network::InstanceNetwork::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 57 of file InstanceNetwork.cpp.

58{
59 if (!is_enabled() || m_slots.empty())
60 return;
61
62 for (unsigned int frame = 0; frame < num_samples; ++frame) {
63 if (m_operator) {
64 if (auto* inst_op = dynamic_cast<InstanceOperator*>(m_operator.get()))
65 inst_op->set_slots(m_slots);
66 m_operator->process(0.0F);
67 }
68
69 if (m_operator_chain) {
70 for (const auto& op : m_operator_chain->operators()) {
71 if (auto* inst_op = dynamic_cast<InstanceOperator*>(op.get()))
72 inst_op->set_slots(m_slots);
73 op->process(0.0F);
74 }
75 }
76 }
77
78 for (const auto& slot : m_slots) {
79 if (slot.node)
80 slot.node->compute_frame();
81 }
82}
std::shared_ptr< NetworkOperator > m_operator
bool is_enabled() const
Check if network is enabled.
std::shared_ptr< OperatorChain > m_operator_chain

References MayaFlux::Nodes::Network::NodeNetwork::is_enabled(), m_operator, MayaFlux::Nodes::Network::NodeNetwork::m_operator_chain, and m_slots.

+ Here is the call graph for this function: