mirror of https://github.com/CGAL/cgal
45 lines
886 B
C++
45 lines
886 B
C++
struct Point {
|
|
double vec[2];
|
|
|
|
Point() { vec[0]= vec[1] = 0; }
|
|
Point (double x, double y) { vec[0]=x; vec[1]=y; }
|
|
|
|
double x() const { return vec[ 0 ]; }
|
|
double y() const { return vec[ 1 ]; }
|
|
|
|
double& x() { return vec[ 0 ]; }
|
|
double& y() { return vec[ 1 ]; }
|
|
|
|
bool operator==(const Point& p) const
|
|
{
|
|
return (x() == p.x()) && (y() == p.y()) ;
|
|
}
|
|
|
|
bool operator!=(const Point& p) const { return ! (*this == p); }
|
|
}; //end of class
|
|
|
|
|
|
|
|
namespace CGAL {
|
|
|
|
template <>
|
|
struct Kernel_traits<Point> {
|
|
struct Kernel {
|
|
typedef double FT;
|
|
typedef double RT;
|
|
};
|
|
};
|
|
}
|
|
|
|
|
|
struct Construct_coord_iterator {
|
|
typedef const double* result_type;
|
|
const double* operator()(const Point& p) const
|
|
{ return static_cast<const double*>(p.vec); }
|
|
|
|
const double* operator()(const Point& p, int) const
|
|
{ return static_cast<const double*>(p.vec+2); }
|
|
|
|
|
|
};
|