diff options
Diffstat (limited to 'src/libvpsc/remove_rectangle_overlap.h')
| -rw-r--r-- | src/libvpsc/remove_rectangle_overlap.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/libvpsc/remove_rectangle_overlap.h b/src/libvpsc/remove_rectangle_overlap.h index 1af90a754..3e2f4cc8f 100644 --- a/src/libvpsc/remove_rectangle_overlap.h +++ b/src/libvpsc/remove_rectangle_overlap.h @@ -1,5 +1,5 @@ -/** @file - * @brief Declaration of main internal remove-overlaps function. +/* + * Declaration of main internal remove-overlaps function. */ /* Authors: * Tim Dwyer <tgdwyer@gmail.com> @@ -16,6 +16,18 @@ namespace vpsc { class Rectangle; } +/** + * Takes an array of n rectangles and moves them as little as possible + * such that rectangles are separated by at least xBorder horizontally + * and yBorder vertically + * + * Works in three passes: + * 1) removes some overlap horizontally + * 2) removes remaining overlap vertically + * 3) a last horizontal pass removes all overlap starting from original + * x-positions - this corrects the case where rectangles were moved + * too much in the first pass. + */ void removeRectangleOverlap(unsigned n, vpsc::Rectangle *rs[], double xBorder, double yBorder); |
