Code

Tweaked smaller size to be 3/4ths the menu size
[inkscape.git] / src / removeoverlap / solve_VPSC.h
1 /**
2 * \brief Remove overlaps function
3 *
4 * Authors:
5 *   Tim Dwyer <tgdwyer@gmail.com>
6 *
7 * Copyright (C) 2005 Authors
8 *
9 * Released under GNU GPL.  Read the file 'COPYING' for more information.
10 */
12 #ifndef SEEN_REMOVEOVERLAP_SOLVE_VPSC_H
13 #define SEEN_REMOVEOVERLAP_SOLVE_VPSC_H
15 class Variable;
16 class Constraint;
17 class Blocks;
19 /**
20  * Variable Placement with Separation Constraints problem instance
21  */
22 class VPSC {
23 public:
24         void satisfy();
25         void solve();
27         void move_and_split();
28         VPSC(Variable *vs[], const int n, Constraint *cs[], const int m);
29         ~VPSC();
30 protected:
31         Blocks *bs;
32         void refine();
33 private:
34         void printBlocks();
35         bool constraintGraphIsCyclic(Variable *vs[], const int n);
36         bool blockGraphIsCyclic();
37         Constraint **cs;
38         int m;
39 };
41 #endif // SEEN_REMOVEOVERLAP_SOLVE_VPSC_H