source: XIOS/dev/dev_olga/src/graphviz.hpp @ 1677

Last change on this file since 1677 was 1653, checked in by oabramkina, 5 years ago

Developments for visualization of XIOS workflow.

Branch is spawned from trunk r1649.

Boost library is used for producing Graphviz DOT files. Current results: a DOT file representing a static workflow. For a complete proof of concept, DOT files for each timestamp should be generated. The necessary information has been collected by XIOS, it only requires rearranging the information for graphing (changes in classes CWorkflowGraph and CGraphviz).

File size: 662 bytes
Line 
1#ifndef __GRAPHVIZ_HPP__
2#define __GRAPHVIZ_HPP__
3
4#include <algorithm>
5#include <boost/utility.hpp>
6#include <boost/graph/adjacency_list.hpp>
7#include <boost/graph/graphviz.hpp>
8
9namespace xios
10{
11
12  class CGraphviz
13  {
14
15    public:
16
17      CGraphviz();
18      static void buildStaticWorkflowGraph();
19
20    private:
21      template <class Graph> struct exercise_vertex;
22
23  }; // class CGraphviz
24
25  template <class Graph> struct CGraphviz::exercise_vertex {
26    exercise_vertex(Graph& g_) : g(g_) { }
27    typedef typename boost::graph_traits<Graph>::vertex_descriptor Vertex;
28    void operator()(const Vertex& v) const { } Graph& g;
29  };
30
31} // namespace xios
32
33#endif
Note: See TracBrowser for help on using the repository browser.