#include <ExecPNGraph.hpp>
Classes | |
struct | PlaceInfo |
struct | pn_writer |
struct | VertexProperty |
Public Member Functions | |
void | addToGraph (const navcon_msgs::RegisterControllerRequest &info) |
ExecPNGraph () | |
void | findPath (const std::string &start, const std::string &end, std::list< std::string > &path) |
void | getDotDesc (std::string &desc) |
Private Types | |
typedef boost::property < boost::edge_weight_t, int > | EdgeProperty |
typedef boost::adjacency_list < boost::vecS, boost::vecS, boost::directedS, VertexProperty, EdgeProperty > | GraphType |
Private Member Functions | |
std::pair < GraphType::edge_descriptor, bool > | add_edge (GraphType::vertex_descriptor from, GraphType::vertex_descriptor to, int weight=1) |
GraphType::vertex_descriptor | add_place (const std::string &name) |
GraphType::vertex_descriptor | add_transition (const std::string &name) |
Private Attributes | |
GraphType | graph |
std::map< std::string, PlaceInfo > | nameMap |
The class contains implementation of the mission execution Petri Net graph.
Definition at line 53 of file ExecPNGraph.hpp.
typedef boost::property< boost::edge_weight_t, int > labust::control::ExecPNGraph::EdgeProperty [private] |
Definition at line 74 of file ExecPNGraph.hpp.
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, VertexProperty, EdgeProperty > labust::control::ExecPNGraph::GraphType [private] |
Definition at line 77 of file ExecPNGraph.hpp.
Main constructor
Definition at line 45 of file ExecPNGraph.cpp.
std::pair<GraphType::edge_descriptor, bool> labust::control::ExecPNGraph::add_edge | ( | GraphType::vertex_descriptor | from, |
GraphType::vertex_descriptor | to, | ||
int | weight = 1 |
||
) | [inline, private] |
Adds a checked edge to the petri-net graph.
Definition at line 135 of file ExecPNGraph.hpp.
GraphType::vertex_descriptor labust::control::ExecPNGraph::add_place | ( | const std::string & | name | ) | [inline, private] |
Adds a place to the petri-net graph.
Definition at line 117 of file ExecPNGraph.hpp.
GraphType::vertex_descriptor labust::control::ExecPNGraph::add_transition | ( | const std::string & | name | ) | [inline, private] |
Adds a transition to the petri-net graph.
Definition at line 126 of file ExecPNGraph.hpp.
void ExecPNGraph::addToGraph | ( | const navcon_msgs::RegisterControllerRequest & | info | ) |
Add controller to the dependency graph.
Definition at line 53 of file ExecPNGraph.cpp.
void ExecPNGraph::findPath | ( | const std::string & | start, |
const std::string & | end, | ||
std::list< std::string > & | path | ||
) |
Find the path between to controllers.
Definition at line 99 of file ExecPNGraph.cpp.
void ExecPNGraph::getDotDesc | ( | std::string & | desc | ) |
Get the dependency graph DOT description.
Definition at line 89 of file ExecPNGraph.cpp.
GraphType labust::control::ExecPNGraph::graph [private] |
The controller dependency graph.
Definition at line 162 of file ExecPNGraph.hpp.
std::map<std::string, PlaceInfo> labust::control::ExecPNGraph::nameMap [private] |
The name to vertice map.
Definition at line 167 of file ExecPNGraph.hpp.