.. index:: pair: class; InputNode .. _doxid-class_input_node: template class InputNode ======================== .. toctree:: :hidden: Overview ~~~~~~~~ Implementation of an input node in the computation graph. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include template class InputNode: public :ref:`ComputationalNode` { public: // construction :ref:`InputNode`( const std::string& id, :ref:`InputNodePolicies::MsgPublishPolicy` msgPublishPolicy = InputNodePolicies::MsgPublishPolicy::LAST, :ref:`InputNodePolicies::MsgCachePolicy` msgCachePolicy = InputNodePolicies::MsgCachePolicy::KEEP_CACHE, size_t queue_size = 10 ); // methods void :ref:`registerOutput`(const std::string& id); :ref:`OutputPort`* :ref:`getSinglePort`(const std::string& id); :ref:`OutputPort`>* :ref:`getListPort`(const std::string& id); :ref:`InputNodePolicies::MsgPublishPolicy` :target:`msgPublishPolicy`(); :ref:`InputNodePolicies::MsgCachePolicy` :target:`msgCachePolicy`(); void :target:`setMsgPublishPolicy`(:ref:`InputNodePolicies::MsgPublishPolicy` msgPublishPolicy); void :target:`setMsgCachePolicy`(:ref:`InputNodePolicies::MsgCachePolicy` msgCachePolicy); }; // direct descendants class :ref:`InputDummy`; class :ref:`InputEngineNode`; template class :ref:`InputMQTTNode`; template class :ref:`InputROSNode`; class :ref:`InputSpinnakerNode`; class :ref:`InputTimeBaseNode`; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // enums enum :ref:`NodeType`; // fields static const static std::map<:ref:`NodeType`, std::string> :ref:`nodeTypeStr` = {{:ref:`ComputationalNode::Input`, "Input"}, {ComputationalNode::Output, "Output"}, {ComputationalNode::Functional, "Functional"}}; // methods const std::string& :ref:`id`() const; :ref:`NodeType` :ref:`type`() const; virtual std::string :ref:`typeStr`() const; void :ref:`setVisited`(bool visited); bool :ref:`isVisited`() const; void :ref:`setDoCompute`(bool doCompute); virtual bool :ref:`doCompute`() const; static std::pair :ref:`parseNodeAddress`( const std::string& address, bool hasPort = true ); .. _details-class_input_node: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Implementation of an input node in the computation graph. Input nodes are the connection points to feed data into the computation graph from outside. It owns output ports which are used to forward incoming data to other nodes. One node can handle multiple ports. The class is templated with the data type the node can handle. Each node implementation can handle only one data type. Derived classes of :ref:`InputNode ` remains responsible for the ownership of the data passed to :ref:`InputNode ` through the :ref:`updatePortData() ` virtual method. Construction ------------ .. index:: pair: function; InputNode .. _doxid-class_input_node_1aa1077db83a3e94cfdee0483910a1fb62: .. ref-code-block:: cpp :class: doxyrest-title-code-block InputNode( const std::string& id, :ref:`InputNodePolicies::MsgPublishPolicy` msgPublishPolicy = InputNodePolicies::MsgPublishPolicy::LAST, :ref:`InputNodePolicies::MsgCachePolicy` msgCachePolicy = InputNodePolicies::MsgCachePolicy::KEEP_CACHE, size_t queue_size = 10 ) Constructor. Methods ------- .. index:: pair: function; registerOutput .. _doxid-class_input_node_1af15ec049b725a7e02f09650f81bfd97c: .. ref-code-block:: cpp :class: doxyrest-title-code-block void registerOutput(const std::string& id) Registers an Output port with id 'id' with this node. .. index:: pair: function; getSinglePort .. _doxid-class_input_node_1ad9a253c855c20d797820824b319d4a31: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`OutputPort`* getSinglePort(const std::string& id) Returns a pointer to single output port if the port is registered, nullptr otherwise. .. index:: pair: function; getListPort .. _doxid-class_input_node_1af2c401b83ae12585082add95df9d1270: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`OutputPort`>* getListPort(const std::string& id) Returns a pointer to list output port if the port is registered, nullptr otherwise.