39 point2d():x( (T) 0), y( (T) 0){};
41 point2d(
const T xx ,
const T yy){x=xx; y=yy;}
42 point2d(
const T scalar){x=y=scalar;}
43 point2d & operator=(
const point2d &p){ x=p.
x; y=p.y;
return *
this;}
44 point2d & operator=(
const T scalar){ x=scalar; y=scalar;
return *
this;}
45 point2d (
const point2d<T> &p){x=p.x; y=p.y;}
46 point2d operator+(
const point2d &p)
const {
return point2d(x+p.x,y+p.y);}
47 point2d operator-(
const point2d &p)
const {
return point2d(x-p.x,y-p.y);}
48 point2d operator*(
const T &a)
const {
return point2d(a*x,a*y);}
49 double operator*(
const point2d &p)
const {
return ( (
double) x*p.x+y*p.y);}
50 inline T norm(){T paso=x*x+y*y;
return(paso>0.?sqrtf((
float) paso):0.);}
51 inline T norm2(){
return(x*x+y*y);}
52 void print(){ std::cout <<
"point2d : (" << x <<
"," << y <<
")" <<
54 int find_nearest_point(std::vector< point2d <T> > primitive);
55 void find_nearest_point(std::vector< point2d <T> > primitive,
int &
id,
57 bool operator!=(
const T scalar)
const {
return(x!=scalar && y!=scalar);}
71 int point2d<T>::find_nearest_point(std::vector< point2d <T> > primitive)
78 for(
unsigned int i=0;i<primitive.size();i++)
80 point_p.x=primitive[i].x;
81 point_p.y=primitive[i].y;
82 dist = ((*this)-point_p).norm2();
104 int &
id, T &distance)
111 for(
unsigned int i=0;i<primitive.size();i++)
113 point_p.
x=primitive[i].x;
114 point_p.
y=primitive[i].y;
115 dist = ((*this)-point_p).norm2();
T x
Definition: point2d.h:37
class to store 2D points and basic methods
Definition: point2d.h:34
T y
Definition: point2d.h:38