summaryrefslogtreecommitdiffstats
path: root/src/removeoverlap/solve_VPSC.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/removeoverlap/solve_VPSC.h')
-rw-r--r--src/removeoverlap/solve_VPSC.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/removeoverlap/solve_VPSC.h b/src/removeoverlap/solve_VPSC.h
new file mode 100644
index 000000000..c7da502fb
--- /dev/null
+++ b/src/removeoverlap/solve_VPSC.h
@@ -0,0 +1,41 @@
+/**
+* \brief Remove overlaps function
+*
+* Authors:
+* Tim Dwyer <tgdwyer@gmail.com>
+*
+* Copyright (C) 2005 Authors
+*
+* Released under GNU GPL. Read the file 'COPYING' for more information.
+*/
+
+#ifndef SEEN_REMOVEOVERLAP_SOLVE_VPSC_H
+#define SEEN_REMOVEOVERLAP_SOLVE_VPSC_H
+
+class Variable;
+class Constraint;
+class Blocks;
+
+/**
+ * Variable Placement with Separation Constraints problem instance
+ */
+class VPSC {
+public:
+ void satisfy();
+ void solve();
+
+ void move_and_split();
+ VPSC(Variable *vs[], const int n, Constraint *cs[], const int m);
+ ~VPSC();
+protected:
+ Blocks *bs;
+ void refine();
+private:
+ void printBlocks();
+ bool constraintGraphIsCyclic(Variable *vs[], const int n);
+ bool blockGraphIsCyclic();
+ Constraint **cs;
+ int m;
+};
+
+#endif // SEEN_REMOVEOVERLAP_SOLVE_VPSC_H