21#include "hurricane/Point.h"
22#include "hurricane/Interval.h"
72 public:
Point getCornerBL()
const {
return Point(_xMin,_yMin); }
73 public: Point getCornerTL()
const {
return Point(_xMin,_yMax); }
74 public: Point getCornerTR()
const {
return Point(_xMax,_yMax); }
75 public: Point getCornerBR()
const {
return Point(_xMax,_yMin); }
82 public: Interval getHorizontalSide()
const {
return Interval(_xMin,_xMax); }
88 public:
DbU::Unit manhattanDistance(
const Box& box)
const;
114 public:
Box& shrinkByFactor(
double factor);
128 public:
string _getTypeName()
const {
return _TName(
"Box"); };
129 public:
string _getString()
const;
130 public: Record* _getRecord()
const;
131 public:
void toJson(JsonWriter*)
const;
136class JsonBox :
public JsonObject {
139 public:
static void initialize();
140 public: JsonBox(
unsigned long);
142 public:
virtual JsonBox* clone(
unsigned long)
const;
143 public:
virtual void toData(JsonStack&);
Box description (API).
Definition Box.h:30
Box & operator=(const Box &box)
const DbU::Unit & getYMax() const
Definition Box.h:67
Box & merge(const Box &box)
Box(const DbU::Unit &x1, const DbU::Unit &y1, const DbU::Unit &x2, const DbU::Unit &y2)
bool contains(const Point &point) const
Box getUnion(const Box &box) const
bool operator==(const Box &box) const
Box(const Point &point1, const Point &point2)
const DbU::Unit & getYMin() const
Definition Box.h:65
DbU::Unit getHalfHeight() const
Definition Box.h:80
Box getIntersection(const Box &box) const
DbU::Unit getYCenter() const
Definition Box.h:70
Box & inflate(const DbU::Unit &dx, const DbU::Unit &dy)
bool isConstrainedBy(const Box &box) const
bool operator!=(const Box &box) const
const DbU::Unit & getXMax() const
Definition Box.h:66
DbU::Unit getHeight() const
Definition Box.h:79
DbU::Unit getHalfWidth() const
Definition Box.h:78
Box & inflate(const DbU::Unit &d)
DbU::Unit getXCenter() const
Definition Box.h:69
Box & translate(const DbU::Unit &dx, const DbU::Unit &dy)
Box & merge(const DbU::Unit &x, const DbU::Unit &y)
Point getCenter() const
Definition Box.h:71
bool contains(const Box &box) const
const DbU::Unit & getXMin() const
Definition Box.h:64
Box & merge(const DbU::Unit &x1, const DbU::Unit &y1, const DbU::Unit &x2, const DbU::Unit &y2)
bool contains(const DbU::Unit &x, const DbU::Unit &y) const
DbU::Unit getWidth() const
Definition Box.h:77
bool intersect(const Box &box) const
Box & merge(const Point &point)
Box(const DbU::Unit &x, const DbU::Unit &y)
Box & inflate(const DbU::Unit &dxMin, const DbU::Unit &dyMin, const DbU::Unit &dxMax, const DbU::Unit &dyMax)
std::int64_t Unit
Definition DbU.h:67
Interval description (API).
Definition Interval.h:42
virtual std::string getTypeName() const =0
Point description (API).
Definition Point.h:30
Contains Almost Everything.
Definition BasicLayer.h:39