Input node used to connect a ROS subscriber to the computational graph. More...
#include <input_node.h>
Public Member Functions | |
InputROSNode (const std::string &id) | |
Constructor. More... | |
std::string | typeStr () const override |
Returns the node 'type' as a string. More... | |
![]() | |
InputNode (const std::string &id, InputNodePolicies::MsgPublishPolicy msgPublishPolicy=InputNodePolicies::MsgPublishPolicy::LAST, InputNodePolicies::MsgCachePolicy msgCachePolicy=InputNodePolicies::MsgCachePolicy::KEEP_CACHE, size_t queue_size=10) | |
Constructor. More... | |
void | registerOutput (const std::string &id) |
Registers an Output port with id 'id' with this node. More... | |
OutputPort< MSG_TYPE > * | getSinglePort (const std::string &id) |
Returns a pointer to single output port if the port is registered, nullptr otherwise. More... | |
OutputPort< std::vector< const MSG_TYPE * > > * | getListPort (const std::string &id) |
Returns a pointer to list output port if the port is registered, nullptr otherwise. More... | |
InputNodePolicies::MsgPublishPolicy | msgPublishPolicy () |
InputNodePolicies::MsgCachePolicy | msgCachePolicy () |
void | setMsgPublishPolicy (InputNodePolicies::MsgPublishPolicy msgPublishPolicy) |
void | setMsgCachePolicy (InputNodePolicies::MsgCachePolicy msgCachePolicy) |
![]() | |
ComputationalNode ()=delete | |
virtual | ~ComputationalNode ()=default |
ComputationalNode (std::string id, NodeType type) | |
Constructor. More... | |
const std::string & | id () const |
Returns the node 'id'. More... | |
NodeType | type () const |
Returns the node 'type'. More... | |
void | setVisited (bool visited) |
Sets a value for the node 'visited' property, used for graph traversing. More... | |
bool | isVisited () const |
Returns true if the node has been marked as visited, false otherwise. More... | |
void | setDoCompute (bool doCompute) |
Sets a value for the node 'doCompute' property, used in some graph execution modes. More... | |
virtual bool | doCompute () const |
Tells if this node should be executed in this graph execution cycle, used in some graph execution modes. More... | |
Protected Member Functions | |
void | configure () override |
Configures the node making it ready to execute 'compute'. More... | |
void | topic_callback (const boost::shared_ptr< MSG_TYPE const > &msg) |
callback function used in the ROS subscriber More... | |
bool | updatePortData (const std::string &id) override |
Updates pointers stored in _portMap for port 'id'. More... | |
![]() | |
void | compute () override final |
Compute. Updates and sends stored msgs. More... | |
![]() | |
virtual void | graphCycleStartCB () |
Function called by the Computational Graph at the beginning of a new execution cycle. More... | |
virtual void | graphLoadedCB () |
Function called by the Computational Graph to nodes that the graph has been completely loaded. More... | |
Additional Inherited Members | |
![]() | |
enum | NodeType { Input, Output, Functional } |
All the possible node types. More... | |
![]() | |
static std::pair< std::string, std::string > | parseNodeAddress (const std::string &address, bool hasPort=true) |
Parses a computational node address returning the node id and the port (if any) contained in the address. More... | |
![]() | |
const static std::map< NodeType, std::string > | nodeTypeStr |
![]() | |
InputNodePolicies::MsgPublishPolicy | _msgPublishPolicy |
Send policy used by this node. More... | |
InputNodePolicies::MsgCachePolicy | _msgCachePolicy |
Msg cache policy used by this node. More... | |
std::map< std::string, DataPortHandle< MSG_TYPE > > | _portMap |
Map containing data to handle topics. Data is guaranteed to be unchanged between 'compute' calls More... | |
size_t | _queueSize |
Maximum number of msgs that the node can store per port. More... | |
Input node used to connect a ROS subscriber to the computational graph.
The template parameter MSG_TYPE is the ROS msg type this node subscribes to
|
inline |
Constructor.
|
inlineoverrideprotectedvirtual |
Configures the node making it ready to execute 'compute'.
Implements ComputationalNode.
|
inlineprotected |
callback function used in the ROS subscriber
|
inlineoverridevirtual |
Returns the node 'type' as a string.
Reimplemented from ComputationalNode.
|
inlineoverrideprotectedvirtual |
Updates pointers stored in _portMap for port 'id'.
Expected behavior: Implementations of this function must guarantee that data pointers stored in _portMap[id] are valid and will not change between calls to this function. Even after the function is called again, pointers in _portMap[id] should still be valid and remain unchanged if the function returns false, i.e., if port 'id' data wasn't changed.
id | key in _portMap which data is asked to be updated |
Implements InputNode< MSG_TYPE >.