/*
* EtherPix config file generator
*
* Copyright 2010-2017 Stefan Schuermans <stefan schuermans info>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3 of the License.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef INC_BOX_H
#define INC_BOX_H
#include "point.h"
class Box {
public:
Box();
Box(const Point &bl, const Point &tr);
void fix();
void getCenter(Point ¢er);
void include(const Point &p);
void include(const Box &b);
bool isIntersecting(const Box *pBox) const;
bool getIntersection(const Box *pBox, Box *pIntersect) const;
void getRelative(const Point &abs, Point &rel) const;
/// expand box (centered) in order to make it quadratic
Box expandQuadratic() const;
Point mBL, mTR;
};
#endif // #ifndef INC_BOX_H