File: graphlayoutworker.h

package info (click to toggle)
bandage 0.9.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 15,684 kB
  • sloc: cpp: 45,359; sh: 491; makefile: 12
file content (51 lines) | stat: -rw-r--r-- 1,550 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//Copyright 2017 Ryan Wick

//This file is part of Bandage

//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.

//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License
//along with Bandage.  If not, see <http://www.gnu.org/licenses/>.


#ifndef GRAPHLAYOUTWORKER_H
#define GRAPHLAYOUTWORKER_H

#include <QObject>
#include "../ogdf/energybased/FMMMLayout.h"
#include "../ogdf/basic/GraphAttributes.h"


class GraphLayoutWorker : public QObject
{
    Q_OBJECT

public:
    GraphLayoutWorker(ogdf::FMMMLayout * fmmm, ogdf::GraphAttributes * graphAttributes,
                      ogdf::EdgeArray<double> * edgeArray, int graphLayoutQuality, bool linearLayout,
                      double graphLayoutComponentSeparation, double aspectRatio = 1.333333);

    ogdf::FMMMLayout * m_fmmm;
    ogdf::GraphAttributes * m_graphAttributes;
    ogdf::EdgeArray<double> * m_edgeArray;
    int m_graphLayoutQuality;
    bool m_linearLayout;
    double m_graphLayoutComponentSeparation;
    double m_aspectRatio;

public slots:
    void layoutGraph();

signals:
    void finishedLayout();
};

#endif // GRAPHLAYOUTWORKER_H