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

◆ composite_initialize()

void MayaFlux::Nodes::detail::composite_initialize ( const std::vector< std::shared_ptr< Node > > &  inputs,
NodeGraphManager manager,
ProcessingToken  token,
const std::shared_ptr< Node > &  self 
)

Definition at line 240 of file NodeCombine.cpp.

245 {
246 uint32_t combined_mask = 0;
247 for (const auto& input : inputs)
248 combined_mask |= input->get_channel_mask().load();
249
250 if (combined_mask != 0) {
251 for (auto ch : get_active_channels(combined_mask, 0))
252 manager.add_to_root(self, token, ch);
253 } else {
254 manager.add_to_root(self, token, 0);
255 }
256 }
void add_to_root(const std::shared_ptr< Node > &node, ProcessingToken token, unsigned int channel=0)
Add node to specific processing token and channel.
std::vector< uint32_t > get_active_channels(const std::shared_ptr< Nodes::Node > &node, uint32_t fallback_channel)
Extracts active channel list from a node's channel mask.

References MayaFlux::Nodes::NodeGraphManager::add_to_root(), and MayaFlux::Nodes::get_active_channels().

+ Here is the call graph for this function: