5 // les classes de wrapping
8 template <int DIMENSION> class Wrapper_Noeud
13 Wrapper_Noeud():coordonnees(NULL)
16 Wrapper_Noeud(const double * coord):coordonnees( (double *) coord)
23 void positionne(double *place)
27 const double & operator[] (int i) const
29 return coordonnees[i];
31 double operator[] (int i)
33 return coordonnees[i];
35 friend double DistanceInf(const Wrapper_Noeud<DIMENSION> &A,const Wrapper_Noeud<DIMENSION> &B)
39 for (int i=0;i<DIMENSION;i++)
46 friend double DistanceL2(const Wrapper_Noeud<DIMENSION> &A,const Wrapper_Noeud<DIMENSION> &B)
49 for (int i=0;i<DIMENSION;i++)
58 template <int DIMENSION> class Wrapper_Nuage
62 const double * noeuds;
63 Wrapper_Noeud<DIMENSION> show;
65 Wrapper_Nuage():nbr_noeuds(0),noeuds(NULL) {}
66 Wrapper_Nuage( const double * const n, int nn):nbr_noeuds(nn),noeuds(n),show(noeuds) {}
67 ~Wrapper_Nuage() {noeuds=NULL;}
68 Wrapper_Noeud<DIMENSION> & operator [] (int i)
70 show.positionne((double *) &noeuds[DIMENSION*i]);
73 int size() const {return nbr_noeuds;}