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

◆ composite_initialize()

MAYAFLUX_API 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 242 of file NodeCombine.cpp.

247 {
248 uint32_t combined_mask = 0;
249 for (const auto& input : inputs)
250 combined_mask |= input->get_channel_mask().load();
251
252 if (combined_mask != 0) {
253 for (auto ch : get_active_channels(combined_mask, 0))
254 manager.add_to_root(self, token, ch);
255 } else {
256 manager.add_to_root(self, token, 0);
257 }
258 }
Core::GlobalInputConfig input
Definition Config.cpp:42
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(), MayaFlux::Nodes::get_active_channels(), and input.

Referenced by MayaFlux::Nodes::CompositeOpNode< N >::initialize().

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