#ifndef _AREA_HH_ #define _AREA_HH_ #include #include #include "point.hh" using namespace std; using std::string; class Area { protected: string area_name; float x_min; float x_max; float y_min; float y_max; float z_min; float z_max; public: Area(const string &_name = "No name", const float &_x1 = 0, const float &_x2 = 0, const float &_y1 = 0, const float &_y2 = 0, const float &_z1 = 0, const float &_z2 = 0) ; Area(const Area &a) ; ~Area() {}; bool containsPoint(const Point &p)const ; string getName()const { return area_name ; } ; float getXmin()const { return x_min; } ; float getXmax()const { return x_max; } ; float getYmin()const { return y_min; } ; float getYmax()const { return y_max; } ; float getZmin()const { return z_min; } ; float getZmax()const { return z_max; } ; void setName(const string &_name) { area_name = _name ; } ; void setXmin(const float &v) { x_min = v; } ; void setXmax(const float &v) { x_max = v; } ; void setYmin(const float &v) { y_min = v; } ; void setYmax(const float &v) { y_max = v; } ; void setZmin(const float &v) { z_min = v; } ; void setZmax(const float &v) { z_max = v; } ; bool operator==(const Area &a)const ; friend ostream &operator<<(ostream &os, const Area &a) ; }; #endif // _AREA_HH_