]> granicus.if.org Git - graphviz/commitdiff
remove unused removeRectangleOverlap()
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 22 May 2021 03:28:06 +0000 (20:28 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 29 May 2021 00:02:43 +0000 (17:02 -0700)
lib/vpsc/CMakeLists.txt
lib/vpsc/Makefile.am
lib/vpsc/remove_rectangle_overlap.cpp
lib/vpsc/remove_rectangle_overlap.h [deleted file]
lib/vpsc/vpsc.vcxproj
lib/vpsc/vpsc.vcxproj.filters

index 0ac147d40d3971ae9db538d9d98d7dcc63b7e7b5..5cdea446adb13727a950addfacfac811e7ec39b8 100644 (file)
@@ -9,7 +9,6 @@ add_library(vpsc STATIC
     generate-constraints.h
     pairingheap/PairingHeap.h
     pairingheap/dsexceptions.h
-    remove_rectangle_overlap.h
     solve_VPSC.h
     variable.h
 
index b40ba4bd8d4e5bc033ca355cc219cbbce0ef5dde..fd2a469f3029368a6f6da570fb268726d01c7a07 100644 (file)
@@ -8,7 +8,7 @@ endif
 
 noinst_HEADERS = \
        solve_VPSC.h block.h blocks.h variable.h constraint.h \
-       generate-constraints.h remove_rectangle_overlap.h \
+       generate-constraints.h \
        solve_VPSC.h csolve_VPSC.h pairingheap/PairingHeap.h \
        pairingheap/dsexceptions.h
 
index f62dbb956dd4a3ff8182646375c483c0b3da8262..8dc74caa25f9cb5de79bded769368d6d30c527ea 100644 (file)
@@ -35,87 +35,3 @@ using std::ofstream;
 
 double Rectangle::xBorder=0;
 double Rectangle::yBorder=0;
-/**
- * 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(int n, Rectangle *rs[], double xBorder, double yBorder) {
-       assert(0 <= n);
-       try {
-       // The extra gap avoids numerical imprecision problems
-       Rectangle::setXBorder(xBorder+EXTRA_GAP);
-       Rectangle::setYBorder(yBorder+EXTRA_GAP);
-       Variable **vs=new Variable*[n];
-       for(int i=0;i<n;i++) {
-               vs[i]=new Variable(i,0,1);
-       }
-       Constraint **cs;
-       std::vector<double> oldX;
-       oldX.reserve(n);
-       int m=generateXConstraints(n,rs,vs,cs,true);
-       for(int i=0;i<n;i++) {
-               oldX.push_back(vs[i]->desiredPosition);
-       }
-       VPSC vpsc_x(n,vs,m,cs);
-       if (RECTANGLE_OVERLAP_LOGGING) {
-               ofstream f(LOGFILE,ios::app);
-               f<<"Calling VPSC: Horizontal pass 1\n";
-       }
-       vpsc_x.solve();
-       for(int i=0;i<n;i++) {
-               rs[i]->moveCentreX(vs[i]->position());
-       }
-       for(int i = 0; i < m; ++i) {
-               delete cs[i];
-       }
-       delete [] cs;
-       // Removing the extra gap here ensures things that were moved to be adjacent to
-       // one another above are not considered overlapping
-       Rectangle::setXBorder(Rectangle::xBorder-EXTRA_GAP);
-       m=generateYConstraints(n,rs,vs,cs);
-       VPSC vpsc_y(n,vs,m,cs);
-       if (RECTANGLE_OVERLAP_LOGGING) {
-               ofstream f(LOGFILE,ios::app);
-               f<<"Calling VPSC: Vertical pass\n";
-       }
-       vpsc_y.solve();
-       for(int i=0;i<n;i++) {
-               rs[i]->moveCentreY(vs[i]->position());
-               rs[i]->moveCentreX(oldX[i]);
-       }
-       for(int i = 0; i < m; ++i) {
-               delete cs[i];
-       }
-       delete [] cs;
-       Rectangle::setYBorder(Rectangle::yBorder-EXTRA_GAP);
-       m=generateXConstraints(n,rs,vs,cs,false);
-       VPSC vpsc_x2(n,vs,m,cs);
-       if (RECTANGLE_OVERLAP_LOGGING) {
-               ofstream f(LOGFILE,ios::app);
-               f<<"Calling VPSC: Horizontal pass 2\n";
-       }
-       vpsc_x2.solve();
-       for(int i=0;i<n;i++) {
-               rs[i]->moveCentreX(vs[i]->position());
-               delete vs[i];
-       }
-       delete [] vs;
-       for(int i = 0; i < m; ++i) {
-               delete cs[i];
-       }
-       delete [] cs;
-       } catch (char const *str) {
-               std::cerr<<str<<"\n";
-               for(int i=0;i<n;i++) {
-                       std::cerr << *rs[i]<<"\n";
-               }
-       }
-}
diff --git a/lib/vpsc/remove_rectangle_overlap.h b/lib/vpsc/remove_rectangle_overlap.h
deleted file mode 100644 (file)
index 4fddd45..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * \brief remove overlaps between a set of rectangles.
- *
- * Authors:
- *   Tim Dwyer <tgdwyer@gmail.com>
- *
- * Copyright (C) 2005 Authors
- *
- * This version is released under the CPL (Common Public License) with
- * the Graphviz distribution.
- * A version is also available under the LGPL as part of the Adaptagrams
- * project: https://github.com/mjwybrow/adaptagrams.  
- * If you make improvements or bug fixes to this code it would be much
- * appreciated if you could also contribute those changes back to the
- * Adaptagrams repository.
- */
-#pragma once
-
-class Rectangle;
-
-void removeRectangleOverlap(Rectangle *rs[], int n, double xBorder, double yBorder);
index c3f5776e76b8f3bcb04a0db454d8891d1a40195c..93bbb5fa5e5726133e20301e86e8c4e1fefb36ce 100644 (file)
@@ -83,7 +83,6 @@
     <ClInclude Include="generate-constraints.h" />
     <ClInclude Include="pairingheap\dsexceptions.h" />
     <ClInclude Include="pairingheap\PairingHeap.h" />
-    <ClInclude Include="remove_rectangle_overlap.h" />
     <ClInclude Include="solve_VPSC.h" />
     <ClInclude Include="variable.h" />
   </ItemGroup>
index 7d3b25c882b66ec5099acc5b3022fde812b038f2..6503c66e77476ee7f0347110b36065b0f11d93e6 100644 (file)
@@ -36,9 +36,6 @@
     <ClInclude Include="pairingheap\PairingHeap.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="remove_rectangle_overlap.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="solve_VPSC.h">
       <Filter>Header Files</Filter>
     </ClInclude>