diff options
Diffstat (limited to 'src/removeoverlap/solve_VPSC.h')
| -rw-r--r-- | src/removeoverlap/solve_VPSC.h | 41 |
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 |
