0.2.0
|
Manages all Nodes. More...
Go to the source code of this file.
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<typename T , typename = std::enable_if_t<std::is_base_of_v<Node, T>>> | |
InputPin * | NAV::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. | |
InputPin * | NAV::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<typename T , typename = std::enable_if_t<std::is_base_of_v<Node, T>>> | |
InputPin * | NAV::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. | |
OutputPin * | NAV::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<typename T , typename = std::enable_if_t<std::is_base_of_v<Node, T>>> | |
OutputPin * | NAV::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<typename T , typename = std::enable_if_t<std::is_base_of_v<Node, T>>> | |
OutputPin * | NAV::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. | |
InputPin * | NAV::NodeManager::FindInputPin (ax::NodeEditor::PinId id) |
Finds the Pin for the PinId. | |
Node * | NAV::NodeManager::FindNode (ax::NodeEditor::NodeId id) |
Finds the Node for the NodeId. | |
OutputPin * | NAV::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. | |
Manages all Nodes.
void NAV::NodeManager::AddLink | ( | ax::NodeEditor::LinkId | linkId | ) |
Adds the link.
[in] | linkId | Unique Id of the link |
void NAV::NodeManager::AddNode | ( | Node * | node | ) |
Add the provided node object to the list of nodes.
[in] | node | Node object to add to the list |
InputPin * NAV::NodeManager::CreateInputPin | ( | Node * | node, |
const char * | name, | ||
Pin::Type | pinType, | ||
const std::vector< std::string > & | dataIdentifier, | ||
void(T::*)(const InsTime &, size_t) | notifyFunc, | ||
int | idx = -1 ) |
Create an Input Pin object.
T | Node Class where the function is member of |
[in] | node | Node to register the Pin for |
[in] | name | Display name of the Pin |
[in] | pinType | Type of the pin |
[in] | dataIdentifier | Identifier of the data which is represented by the pin |
[in] | notifyFunc | Function to call when the data is updated |
[in] | idx | Index where to put the new pin (-1 means at the end) |
InputPin * NAV::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.
[in] | node | Node to register the Pin for |
[in] | name | Display name of the Pin |
[in] | pinType | Type of the pin |
[in] | dataIdentifier | Identifier of the data which is represented by the pin |
[in] | callback | Callback to register with the pin |
[in] | firable | Function to check whether the callback is firable |
[in] | priority | Priority when checking firable condition related to other pins (higher priority gets triggered first) |
[in] | idx | Index where to put the new pin (-1 means at the end) |
InputPin * NAV::NodeManager::CreateInputPin | ( | Node * | node, |
const char * | name, | ||
Pin::Type | pinType, | ||
const std::vector< std::string > & | dataIdentifier = {}, | ||
void(T::*)(InputPin::NodeDataQueue &, size_t) | callback = nullptr, | ||
InputPin::FlowFirableCheckFunc | firable = nullptr, | ||
int | priority = 0, | ||
int | idx = -1 ) |
Create an Input Pin object.
T | Node Class where the function is member of |
[in] | node | Node to register the Pin for |
[in] | name | Display name of the Pin |
[in] | pinType | Type of the pin |
[in] | dataIdentifier | Identifier of the data which is represented by the pin |
[in] | callback | Flow firable callback function to register with the pin |
[in] | firable | Function to check whether the callback is firable |
[in] | priority | Priority when checking firable condition related to other pins (higher priority gets triggered first) |
[in] | idx | Index where to put the new pin (-1 means at the end) |
OutputPin * NAV::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.
[in] | node | Node to register the Pin for |
[in] | name | Display name of the Pin |
[in] | pinType | Type of the pin |
[in] | dataIdentifier | Identifier of the data which is represented by the pin |
[in] | data | Pointer to data which is represented by the pin |
[in] | idx | Index where to put the new pin (-1 means at the end) |
OutputPin * NAV::NodeManager::CreateOutputPin | ( | Node * | node, |
const char * | name, | ||
Pin::Type | pinType, | ||
const std::vector< std::string > & | dataIdentifier, | ||
std::shared_ptr< const NAV::NodeData >(T::*)(size_t, bool) | peekPollDataFunc = nullptr, | ||
int | idx = -1 ) |
Create an Output Pin object for Flow Pins.
T | Class where the function is member of |
[in] | node | Node to register the Pin for |
[in] | name | Display name of the Pin |
[in] | pinType | Type of the pin |
[in] | dataIdentifier | Identifier of the data which is represented by the pin |
[in] | peekPollDataFunc | Function to poll for data on this pin |
[in] | idx | Index where to put the new pin (-1 means at the end) |
OutputPin * NAV::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.
T | Class where the function is member of |
[in] | node | Node to register the Pin for |
[in] | name | Display name of the Pin |
[in] | pinType | Type of the pin |
[in] | dataIdentifier | Identifier of the data which is represented by the pin |
[in] | pollDataFunc | Function to poll for data on this pin |
[in] | idx | Index where to put the new pin (-1 means at the end) |
bool NAV::NodeManager::DeleteInputPin | ( | InputPin & | pin | ) |
Deletes the input pin. Invalidates the pin reference given.
[in,out] | pin | Input Pin to delete |
bool NAV::NodeManager::DeleteNode | ( | ax::NodeEditor::NodeId | nodeId | ) |
Delete the node provided by id.
[in] | nodeId | Unique Id of the Node to delete |
bool NAV::NodeManager::DeleteOutputPin | ( | OutputPin & | pin | ) |
Deletes the output pin. Invalidates the pin reference given.
[in,out] | pin | Output Pin to delete |
InputPin * NAV::NodeManager::FindInputPin | ( | ax::NodeEditor::PinId | id | ) |
Finds the Pin for the PinId.
[in] | id | Unique Id of the Pin to search for |
Node * NAV::NodeManager::FindNode | ( | ax::NodeEditor::NodeId | id | ) |
Finds the Node for the NodeId.
[in] | id | Unique Id of the Node to search for |
OutputPin * NAV::NodeManager::FindOutputPin | ( | ax::NodeEditor::PinId | id | ) |
Finds the Pin for the PinId.
[in] | id | Unique Id of the Pin to search for |
bool NAV::NodeManager::InitializeAllNodes | ( | ) |
Initializes all nodes.
void NAV::NodeManager::UpdateNode | ( | Node * | node | ) |
Update the provided node object.
[in] | node | Node object to add to the list |