Public Types | Public Member Functions | Private Attributes | List of all members
RTT::scripting::VertexNode Class Reference

#include <VertexNode.hpp>

Public Types

enum  NodeTypes {
  normal_node, prog_start_node, prog_exit_node, func_start_node,
  func_exit_node
}
 
typedef boost::property< vertex_command_t, VertexNode, boost::property< vertex_exec_t, int, boost::property< boost::vertex_index_t, int > > > VertProperty
 

Public Member Functions

VertexNode copy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &rdss) const
 
bool execute ()
 
base::ActionInterfacegetCommand () const
 
int getLineNumber () const
 
bool isValid () const
 
VertexNodeoperator= (const VertexNode &orig)
 
base::ActionInterfacesetCommand (base::ActionInterface *c)
 
void setLineNumber (int ln)
 
void startExecution ()
 
 VertexNode ()
 
 VertexNode (base::ActionInterface *cmd)
 
 VertexNode (const VertexNode &orig)
 
 ~VertexNode ()
 

Private Attributes

base::ActionInterfacecommand
 
int lineNumber
 

Detailed Description

This class represents elements in a program tree.

Definition at line 76 of file VertexNode.hpp.

Member Typedef Documentation

typedef boost::property<vertex_command_t, VertexNode, boost::property<vertex_exec_t, int, boost::property<boost::vertex_index_t, int> > > RTT::scripting::VertexNode::VertProperty

Definition at line 85 of file VertexNode.hpp.

Member Enumeration Documentation

The vertex_exec_t property values.

Enumerator
normal_node 
prog_start_node 
prog_exit_node 
func_start_node 
func_exit_node 

Definition at line 82 of file VertexNode.hpp.

Constructor & Destructor Documentation

RTT::VertexNode::VertexNode ( )

Construct an empty program node with no command, no conditional branches and line number 0.

Definition at line 46 of file VertexNode.cpp.

RTT::VertexNode::VertexNode ( base::ActionInterface cmd)
explicit

Construct a program node with given command, no conditional branches and line number 0.

Definition at line 58 of file VertexNode.cpp.

RTT::VertexNode::VertexNode ( const VertexNode orig)

The copy constructor creates a shallow copy.

Definition at line 52 of file VertexNode.cpp.

RTT::VertexNode::~VertexNode ( )

Returns a special program node that contains no clauses and a special stopExecution command. (all the leaves of a program tree are this type of program node.

Parameters
procThe engine executing this node (which will be stopped)
Returns
A program node with no conditional branches and that contains a stop execution command.

Definition at line 64 of file VertexNode.cpp.

Member Function Documentation

VertexNode RTT::VertexNode::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  rdss) const

Definition at line 112 of file VertexNode.cpp.

bool RTT::VertexNode::execute ( )

Executes the command currently associated with this node.

Execute the command in any case. If the command is Asynch, this will do nothing.

Definition at line 70 of file VertexNode.cpp.

ActionInterface * RTT::VertexNode::getCommand ( ) const

Returns the command currently associated with this node.

Returns
The command currently associated with this node

Definition at line 83 of file VertexNode.cpp.

int RTT::VertexNode::getLineNumber ( ) const

Returns the program line number currently associated with this program node (default = zero).

Definition at line 100 of file VertexNode.cpp.

bool RTT::VertexNode::isValid ( ) const

Returns true if the node is in a valid state to be left.

Definition at line 79 of file VertexNode.cpp.

VertexNode & RTT::VertexNode::operator= ( const VertexNode orig)

Definition at line 119 of file VertexNode.cpp.

ActionInterface * RTT::VertexNode::setCommand ( base::ActionInterface c)

Set the command associated with this program to the given command.

Parameters
cThe new command.
Returns
The previous command (can be null).

Definition at line 88 of file VertexNode.cpp.

void RTT::VertexNode::setLineNumber ( int  ln)

Set line number of this program node to given line number.

Parameters
lnThe new line number for this node
Postcondition
The line number of this node equals the given integer.

Definition at line 95 of file VertexNode.cpp.

void RTT::VertexNode::startExecution ( )

This means that the execution engine has just started to execute this node, after some other node has sent it to this one. If the node is simply executed again, because it returned itself from its execute() method, then this method will not be called. The reason this is here is because the node has to reset its termination conditions at this point. See the documentation of ConditionInterface::reset() for more information about this..

Definition at line 105 of file VertexNode.cpp.

Member Data Documentation

base::ActionInterface* RTT::scripting::VertexNode::command
private

The command to be executed in this node.

Definition at line 186 of file VertexNode.hpp.

int RTT::scripting::VertexNode::lineNumber
private

The line number associated with this node (default = null, also when line numbers are not employed).

Definition at line 193 of file VertexNode.hpp.


The documentation for this class was generated from the following files:


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47