/*
- some 2D geometrical concepts
+ some 2D geometrical concepts
*/
#ifndef BOXES_HH
#include "interval.hh"
#include "offset.hh"
+#include "smobs.hh"
-struct Box
+class Box
{
Interval interval_a_[NO_AXES];
-
+ DECLARE_SIMPLE_SMOBS (Box,);
+public:
Interval &x () {return interval_a_[X_AXIS]; }
Interval &y (){ return interval_a_[Y_AXIS]; }
Interval x () const{ return interval_a_[X_AXIS]; }
Interval y () const{return interval_a_[Y_AXIS]; }
- Interval operator[] (Axis a) const;
- Interval &operator[] (Axis a);
+ Interval operator [] (Axis a) const;
+ Interval &operator [] (Axis a);
Offset center () const;
-
+
void translate (Offset o);
/// smallest box enclosing #b#
void set_empty ();
Box (Interval ix, Interval iy);
};
-
#endif