0.4.1
Loading...
Searching...
No Matches
NodeManager.hpp File Reference

Manages all Nodes. More...

Go to the source code of this file.

Namespaces

namespace  NAV
 
namespace  NAV::NodeManager
 

Functions

void NAV::NodeManager::AddLink (ax::NodeEditor::LinkId linkId)
 Adds the link.
 
void NAV::NodeManager::AddNode (Node *node)
 Add the provided node object to the list of nodes.
 
void NAV::NodeManager::ClearAllNodeQueues ()
 Clears all nodes queues.
 
template<std::derived_from< Node > T>
InputPinNAV::NodeManager::CreateInputPin (Node *node, const char *name, Pin::Type pinType, const std::vector< std::string > &dataIdentifier, void(T::*notifyFunc)(const InsTime &, size_t), int idx=-1)
 Create an Input Pin object for data pins. The additional notify function gets called when the connected data was changed and the connected node calls NAV::Node::notifyOutputValueChanged.
 
InputPinNAV::NodeManager::CreateInputPin (Node *node, const char *name, Pin::Type pinType, const std::vector< std::string > &dataIdentifier={}, InputPin::Callback callback=static_cast< InputPin::FlowFirableCallbackFunc >(nullptr), InputPin::FlowFirableCheckFunc firable=nullptr, int priority=0, int idx=-1)
 Create an Input Pin object.
 
template<std::derived_from< Node > T>
InputPinNAV::NodeManager::CreateInputPin (Node *node, const char *name, Pin::Type pinType, const std::vector< std::string > &dataIdentifier={}, void(T::*callback)(InputPin::NodeDataQueue &, size_t)=nullptr, InputPin::FlowFirableCheckFunc firable=nullptr, int priority=0, int idx=-1)
 Create an Input Pin object.
 
OutputPinNAV::NodeManager::CreateOutputPin (Node *node, const char *name, Pin::Type pinType, const std::vector< std::string > &dataIdentifier, OutputPin::PinData data=static_cast< void * >(nullptr), int idx=-1)
 Create an Output Pin object.
 
template<std::derived_from< Node > T>
OutputPinNAV::NodeManager::CreateOutputPin (Node *node, const char *name, Pin::Type pinType, const std::vector< std::string > &dataIdentifier, std::shared_ptr< const NAV::NodeData >(T::*peekPollDataFunc)(size_t, bool)=nullptr, int idx=-1)
 Create an Output Pin object for Flow Pins.
 
template<std::derived_from< Node > T>
OutputPinNAV::NodeManager::CreateOutputPin (Node *node, const char *name, Pin::Type pinType, const std::vector< std::string > &dataIdentifier, std::shared_ptr< const NAV::NodeData >(T::*pollDataFunc)()=nullptr, int idx=-1)
 Create an Output Pin object for Flow Pins.
 
void NAV::NodeManager::DeleteAllNodes ()
 Delete all nodes.
 
bool NAV::NodeManager::DeleteInputPin (InputPin &pin)
 Deletes the input pin. Invalidates the pin reference given.
 
bool NAV::NodeManager::DeleteNode (ax::NodeEditor::NodeId nodeId)
 Delete the node provided by id.
 
bool NAV::NodeManager::DeleteOutputPin (OutputPin &pin)
 Deletes the output pin. Invalidates the pin reference given.
 
void NAV::NodeManager::DisableAllCallbacks ()
 Disables all Node callbacks.
 
void NAV::NodeManager::EnableAllCallbacks ()
 Enables all Node callbacks.
 
InputPinNAV::NodeManager::FindInputPin (ax::NodeEditor::PinId id)
 Finds the Pin for the PinId.
 
NodeNAV::NodeManager::FindNode (ax::NodeEditor::NodeId id)
 Finds the Node for the NodeId.
 
OutputPinNAV::NodeManager::FindOutputPin (ax::NodeEditor::PinId id)
 Finds the Pin for the PinId.
 
ax::NodeEditor::LinkId NAV::NodeManager::GetNextLinkId ()
 Generates a new link id.
 
ax::NodeEditor::NodeId NAV::NodeManager::GetNextNodeId ()
 Generates a new node id.
 
ax::NodeEditor::PinId NAV::NodeManager::GetNextPinId ()
 Generates a new pin id.
 
bool NAV::NodeManager::InitializeAllNodes ()
 Initializes all nodes.
 
void NAV::NodeManager::InitializeAllNodesAsync ()
 Initializes all nodes in a separate thread.
 
const std::vector< Node * > & NAV::NodeManager::m_Nodes ()
 List of all registered Nodes.
 
void NAV::NodeManager::UpdateNode (Node *node)
 Update the provided node object.
 

Detailed Description

Manages all Nodes.

Author
T. Topp (topp@.nosp@m.ins..nosp@m.uni-s.nosp@m.tutt.nosp@m.gart..nosp@m.de)
Date
2020-12-14

Definition in file NodeManager.hpp.