49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
#ifndef _AREA_HH_
|
|
#define _AREA_HH_
|
|
|
|
#include <iostream>
|
|
#include <string>
|
|
#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; } ;
|
|
|
|
friend ostream &operator<<(ostream &os, const Area &a) ;
|
|
};
|
|
|
|
#endif // _AREA_HH_
|