#include "glob.hh"
#include "plist.hh"
#include "vray.hh"
-#include "pcol.hh"
-#include "matrix.hh"
+#include "vector.hh"
+#include "interval.hh"
/// helper struct for #Spacing_problem#
struct Colinfo {
const PCol *pcol_;
- bool fixed;
- Real fixpos;
+ const Real* fixpos;
+ Interval width;
+
+ /****************/
Colinfo();
+ void operator=(Colinfo const&);
+ Colinfo(Colinfo const&);
+ ~Colinfo();
+ Colinfo(const PCol*,const Real*);
void print() const;
- Real minright() const { return pcol_->width().right; }
- Real minleft() const { return -pcol_->width().left; }
+ bool fixed() const { return fixpos;}
+ Real fixed_position()const { return *fixpos; }
+ Real minright() const { return width.right; }
+ Real minleft() const { return -width.left; }
};
instantiate_compare(const PCol &, PCol::compare);
-/// ideal spacing between two columns
-struct Idealspacing {
-
- /// the ideal distance
- Real space;
-
- /// Hooke's constant: how strong are the "springs" attached to columns
- Real hooke;
-
- /// the two columns
- const PCol *left, *right;
-
- void print()const;
- void OK() const ;
- Idealspacing(const PCol *left,const PCol *right);
-};
-
#endif