Index: trunk/SophyaLib/NTools/cspline.cc
===================================================================
--- trunk/SophyaLib/NTools/cspline.cc	(revision 2615)
+++ trunk/SophyaLib/NTools/cspline.cc	(revision 2808)
@@ -14,29 +14,22 @@
 #include "cspline.h"
 
-//++
-// Class	CSpline
-// Lib	Outils++ 
-// include	cspline.h
-//
-//	Classe de spline 1D
-//--
-
-//++
-// Titre	Constructeurs
-//--
-
-//////////////////////////////////////////////////////////////////////////////
-//++
+/*!
+  \class SOPHYA::CSpline
+  \ingroup NTools
+  Spline 3 smoother (interpolator) for 1-D data points (y = f(x)) 
+  \sa CSpline2
+*/
+
+/*!
+  Createur pour spline 3 sur "x[0->n],y[0->n]" avec "yp1,ypn" derivees
+  au premier et dernier points et "natural" indiquant les types de
+  contraintes sur les derivees 2sd au premier et dernier point.
+  "order" doit etre mis a "true" si le tableau de "x[]" n'est pas ordonne
+  dans l'ordre des "x" croissants ("x[i]<x[i+1]"): cette option
+  realloue la place pour les tableaux "x,y" autrement seule une
+  connection aux tableaux "x,y" externes est realisee.
+*/
 CSpline::CSpline(int n,double* x,double* y,double yp1,double ypn
                 ,int natural,bool order)
-//
-//	Createur pour spline 3 sur "x[0->n],y[0->n]" avec "yp1,ypn" derivees
-//	au premier et dernier points et "natural" indiquant les types de
-//	contraintes sur les derivees 2sd au premier et dernier point.
-//	"order" doit etre mis a "true" si le tableau de "x[]" n'est pas ordonne
-//	dans l'ordre des "x" croissants ("x[i]<x[i+1]"): cette option
-//	realloue la place pour les tableaux "x,y" autrement seule une
-//	connection aux tableaux "x,y" externes est realisee.
-//--
   : Nel(0), corrupt_Y2(true), XY_Created(false), Natural(natural)
   , YP1(yp1), YPn(ypn), X(NULL), Y(NULL), Y2(NULL), tmp(NULL)
@@ -47,10 +40,6 @@
 }
 
-//////////////////////////////////////////////////////////////////////////////
-//++
+//!	Createur par defaut.
 CSpline::CSpline(double yp1,double ypn,int natural)
-//
-//	Createur par defaut.
-//--
   : Nel(0), corrupt_Y2(true), XY_Created(false), Natural(natural)
   , YP1(yp1), YPn(ypn), X(NULL), Y(NULL), Y2(NULL), tmp(NULL)
@@ -59,27 +48,21 @@
 
 //////////////////////////////////////////////////////////////////////////////
+//! destructeur
 CSpline::~CSpline()
-// destructeur
 {
 DelTab();
 }
 
-//++
-// Titre	Methodes
-//--
-
-//////////////////////////////////////////////////////////////////////////////
-//++
+/*!
+  Pour changer les tableaux sans recreer la classe,
+  memes arguments que dans le createur.
+  Pour connecter les tableaux "x[n],y[n]" aux pointeurs internes "X,Y"
+  Si "order=true", on considere que x n'est pas range par ordre
+  des "x" croissants. La methode alloue de la place pour des tableaux
+  internes "X,Y" qu'elle re-ordonne par "x" croissant.
+  "force=true" impose la reallocation des divers buffers, sinon
+  la reallocation n'a lieu que si le nombre de points augmente.
+*/
 void CSpline::SetNewTab(int n,double* x,double* y,bool order,bool force)
-//
-//	Pour changer les tableaux sans recreer la classe,
-//	memes arguments que dans le createur.
-//	Pour connecter les tableaux "x[n],y[n]" aux pointeurs internes "X,Y"
-//	Si "order=true", on considere que x n'est pas range par ordre
-//	des "x" croissants. La methode alloue de la place pour des tableaux
-//	internes "X,Y" qu'elle re-ordonne par "x" croissant.
-//	"force=true" impose la reallocation des divers buffers, sinon
-//	la reallocation n'a lieu que si le nombre de points augmente.
-//--
 {
 ASSERT( n>3 );
@@ -132,6 +115,6 @@
 
 //////////////////////////////////////////////////////////////////////////////
+//! destruction des divers tableaux en tenant compte des allocations/connections
 void CSpline::DelTab()
-// destruction des divers tableaux en tenant compte des allocations/connections
 {
 if( X   != NULL && XY_Created ) delete [] X;    X   = NULL;
@@ -142,10 +125,9 @@
 
 //////////////////////////////////////////////////////////////////////////////
-//++
+/*!
+  Pour changer les valeurs des derivees 1ere au 1er et dernier points
+  Valeurs imposees des derivees 1ere au points "X[0]" et "X[Nel-1]".
+*/
 void CSpline::SetBound1er(double yp1,double ypn)
-//
-//	Pour changer les valeurs des derivees 1ere au 1er et dernier points
-//	Valeurs imposees des derivees 1ere au points "X[0]" et "X[Nel-1]".
-//--
 {
 if( yp1 == YP1 && ypn == YPn ) return;
@@ -157,11 +139,6 @@
 }
 
-//////////////////////////////////////////////////////////////////////////////
-//++
+//! Pour calculer les tableaux de coeff permettant le calcul des interpolations spline.
 void CSpline::ComputeCSpline()
-//
-//	Pour calculer les tableaux de coeff permettant le calcul
-//	des interpolations spline.
-//--
 {
 // on ne fait rien si les tableaux ne sont pas connectes
@@ -206,10 +183,6 @@
 }
 
-//////////////////////////////////////////////////////////////////////////////
-//++
+//!	Interpolation spline en \b x
 double CSpline::CSplineInt(double x)
-//
-//	Interpolation spline en "x"
-//--
 {
 int klo,khi,k;
@@ -243,46 +216,28 @@
 }
 
-///////////////////////////////////////////////////////////////
-///////// rappel des inlines pour commentaires ////////////////
-///////////////////////////////////////////////////////////////
-
-//++
-// inline void SetNaturalCSpline(int type = NaturalAll)
-//	Pour changer le type de contraintes sur les derivees 2sd
-//--
-//++
-// inline void Free_Tmp()
-//	Pour liberer la place tampon qui ne sert que
-//	dans ComputeCSpline() et pas dans CSplineInt
-//--
-
-//////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////
-
-//++
-// Class	CSpline2
-// Lib	Outils++ 
-// include	cspline.h
-//
-//	Classe de spline 2D
-//--
-
-//++
-// Titre	Constructeurs
-//--
-
-//////////////////////////////////////////////////////////////////////////////
-//++
+
+//////////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////////
+
+/*!
+  \class SOPHYA::CSpline2
+  \ingroup NTools
+  Spline smoother (interpolator) for 2-D data points (y = f(x1,x2)) 
+  \sa CSpline
+*/
+
+/*!
+  Contructeur - Meme commentaire que pour CSpline avec:
+  \verbatim
+  x1[n1]: liste des coordonnees selon l axe 1
+  x2[n2]: liste des coordonnees selon l axe 2
+  y[n1*n2]: liste des valeurs avec le rangement suivant
+  x1[0]......x1[n1-1]  x1[0]......x1[n1-1]  ... x1[0]......x1[n1-1]
+  |    0<=i<n1      |  |    0<=i<n1      |  ... |    0<=i<n1      |
+  |      j=0 X2[0]            j=1 X2[1]              j=n2-1 X2[n2-1]
+  \endverbatim
+*/
 CSpline2::CSpline2(int n1,double* x1,int n2,double* x2,double* y
                   ,int natural,bool order)
-//
-//	Meme commentaire que pour CSpline avec:
-//| x1[n1]: liste des coordonnees selon l axe 1
-//| x2[n2]: liste des coordonnees selon l axe 2
-//| y[n1*n2]: liste des valeurs avec le rangement suivant
-//| x1[0]......x1[n1-1]  x1[0]......x1[n1-1]  ... x1[0]......x1[n1-1]
-//| |    0<=i<n1      |  |    0<=i<n1      |  ... |    0<=i<n1      |
-//|      j=0 X2[0]            j=1 X2[1]              j=n2-1 X2[n2-1]
-//--
   : Nel1(0), Nel2(0), corrupt_Y2(true), XY_Created(false), Natural(natural)
   , X1(NULL), X2(NULL), Y(NULL), Y2(NULL)
@@ -294,10 +249,6 @@
 }
 
-//////////////////////////////////////////////////////////////////////////////
-//++
+//!	Createur par defaut.
 CSpline2::CSpline2(int natural)
-//
-//	Createur par defaut.
-//--
   : Nel1(0), Nel2(0), corrupt_Y2(true), XY_Created(false), Natural(natural)
   , X1(NULL), X2(NULL), Y(NULL), Y2(NULL)
@@ -312,15 +263,8 @@
 }
 
-//++
-// Titre	Methodes
-//--
-
-//////////////////////////////////////////////////////////////////////////////
-//++
+//////////////////////////////////////////////////////////////////////////////
+//!	Voir commentaire meme methode de CSpline
 void CSpline2::SetNewTab(int n1,double* x1,int n2,double* x2,double* y
                         ,bool order,bool force)
-//
-//	Voir commentaire meme methode de CSpline
-//--
 {
 ASSERT( n1>3 && n2>3 );
@@ -430,9 +374,6 @@
 
 //////////////////////////////////////////////////////////////////////////////
-//++
+//!	Voir commentaire meme methode de CSpline
 void CSpline2::ComputeCSpline()
-//
-//	Voir commentaire meme methode de CSpline
-//--
 {
 // on ne fait rien si X1 ou X2 ou Y non connectes
@@ -454,9 +395,6 @@
 
 //////////////////////////////////////////////////////////////////////////////
-//++
+//! Calcule la valeur interpole (spline) pour le point \b (x1,x2)
 double CSpline2::CSplineInt(double x1,double x2)
-//
-//	Voir commentaire meme methode de CSpline
-//--
 {
 // calcul de la valeur Y pour x=x1 et remplissage du tampon tmp
@@ -471,10 +409,2 @@
 }
 
-///////////////////////////////////////////////////////////////
-///////// rappel des inlines pour commenatires ////////////////
-///////////////////////////////////////////////////////////////
-
-//++
-// inline void SetNaturalCSpline(int type = NaturalAll)
-//	Voir commentaire meme methode de CSpline
-//--
