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

◆ process_frame()

void MayaFlux::Nodes::RootNode::process_frame ( )

Processes a single frame from all registered nodes.

This method processes each registered node for a single frame. It is useful in scenarios where frame-based processing is required, such as visual or animation data processing.

Definition at line 147 of file RootNode.cpp.

148{
149 if (!preprocess())
150 return;
151
152 for (auto& node : m_Nodes) {
153 uint32_t state = node->m_state.load();
154 if (!(state & NodeState::PROCESSED)) {
155 node->process_sample();
157 }
158 }
159
160 postprocess();
161}
std::vector< std::shared_ptr< Node > > m_Nodes
Collection of nodes registered with this root node.
Definition RootNode.hpp:159
bool preprocess()
Checks if the root node can process pending operations.
Definition RootNode.cpp:87
void postprocess()
Performs post-processing after all nodes have been processed.
Definition RootNode.cpp:163
@ PROCESSED
Node has been processed this cycle.
Definition NodeSpec.hpp:49
void atomic_add_flag(std::atomic< NodeState > &state, NodeState flag)
Atomically adds a flag to a node state.
Definition NodeUtils.cpp:94

References MayaFlux::Nodes::atomic_add_flag(), m_Nodes, postprocess(), preprocess(), and MayaFlux::Nodes::PROCESSED.

Referenced by process_batch_frame().

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