5 // les classes de wrapping
7 template <int DIMENSION> class Wrapper_Noeud
12 Wrapper_Noeud():coordonnees(NULL)
15 Wrapper_Noeud(const double * coord):coordonnees( (double *) coord)
22 void positionne(double *place)
26 const double & operator[] (int i) const
28 return coordonnees[i];
30 double operator[] (int i)
32 return coordonnees[i];
34 friend double DistanceInf(const Wrapper_Noeud<DIMENSION> &A,const Wrapper_Noeud<DIMENSION> &B)
38 for (int i=0;i<DIMENSION;i++)
45 friend double DistanceL2(const Wrapper_Noeud<DIMENSION> &A,const Wrapper_Noeud<DIMENSION> &B)
48 for (int i=0;i<DIMENSION;i++)
57 template <int DIMENSION> class Wrapper_Nuage
61 const double * noeuds;
62 Wrapper_Noeud<DIMENSION> show;
64 Wrapper_Nuage():nbr_noeuds(0),noeuds(NULL) {}
65 Wrapper_Nuage( const double * const n, int nn):nbr_noeuds(nn),noeuds(n),show(noeuds) {}
66 ~Wrapper_Nuage() {noeuds=NULL;}
67 Wrapper_Noeud<DIMENSION> & operator [] (int i)
69 show.positionne((double *) &noeuds[DIMENSION*i]);
72 int size() const {return nbr_noeuds;}