Tulip  4.2.0
Better Visualization Through Research
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Groups Pages
OGDFLayoutPluginBase.h
1 /*
2  *
3  * This file is part of Tulip (www.tulip-software.org)
4  *
5  * Authors: David Auber and the Tulip development Team
6  * from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest
7  *
8  * Tulip is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation, either version 3
11  * of the License, or (at your option) any later version.
12  *
13  * Tulip is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU General Public License for more details.
17  *
18  */
19 ///@cond DOXYGEN_HIDDEN
20 
21 #ifndef OGDF_LAYOUT_PLUGIN_BASE
22 #define OGDF_LAYOUT_PLUGIN_BASE
23 
24 #include <tulip/tulipconf.h>
25 #include <tulip/TulipPluginHeaders.h>
26 #include <tulip/PropertyAlgorithm.h>
27 
28 #include <ogdf/basic/Graph_d.h>
29 #include <ogdf/basic/GraphAttributes.h>
30 #include <ogdf/module/LayoutModule.h>
31 
32 #include "TulipToOGDF.h"
33 
34 class TLP_OGDF_SCOPE OGDFLayoutPluginBase: public tlp::LayoutAlgorithm {
35 public:
36  OGDFLayoutPluginBase(const tlp::PluginContext* context, LayoutModule* ogdfLayoutAlgo);
37  virtual ~OGDFLayoutPluginBase();
38 
39  virtual bool run();
40 
41 protected:
42 
43  virtual void beforeCall() {}
44  virtual void callOGDFLayoutAlgorithm(ogdf::GraphAttributes &gAttributes);
45  virtual void afterCall() {}
46 
47  void transposeLayoutVertically();
48 
49  TulipToOGDF *tlpToOGDF;
50  ogdf::LayoutModule *ogdfLayoutAlgo;
51 };
52 
53 #endif // OGDF_LAYOUT_PLUGIN_BASE
54 ///@endcond