Index: /trunk/SophyaLib/Manual/modifs.tex
===================================================================
--- /trunk/SophyaLib/Manual/modifs.tex	(revision 2716)
+++ /trunk/SophyaLib/Manual/modifs.tex	(revision 2717)
@@ -226,5 +226,5 @@
 - Ajout programme de test Tests/ppftswap.cc
 \item[\rond] Avril 2005 - Ajout de wrapper de lecture/ecriture PPF pour les vecteurs de
-la librairie standard (classe PPFWrapperSTLVector<T> ) fichier ppfwrapstlv.h
+la librairie standard (classe PPFWrapperSTLVector$<$T$>$ ) fichier ppfwrapstlv.h
 \item[\rond] Ajout de la classes utilitaire PPF\_TPointer\_IO$<$T$>$ 
 (fichiers ppftpointer.h .cc)
@@ -237,18 +237,22 @@
 
 
-
-\subsection{Segmented Data Block}
+\subsection{Nouvelles classes}
+\begin{itemize}
+\item[\rond] Ajout de la classe {\bf TimeStamp} pour la manipulation de date et heure - 
+calcul de duree. - Ajout du prog. test Tests/ttimestamp.cc (Mars 2003) 
+\item[\rond] { \bf Segmented Data Block :}  \\
 Mars-Avril 2005: Introduction des classes similaires aux NDataBlock, mais permettant 
 de gerer des blocs de donnees segementes, pour tout type de donnees, de structures
-et de classes (template pour tout type <T>).
-Extrait du log CVS du 2005/04/07 
-\begin{verbatim}
-1/ Ajout de la classe SegDataBlock<T> (et l'interface SegDBInterface<T>)
+et de classes (template pour tout type T). 
+\begin{enumerate}
+\item  Ajout de la classe {\tt SegDataBlock<T>} (et l'interface { \tt SegDBInterface<T>} )
 pour la gestion de blocs de donnees segmentes (segdatablock.h) et son
-gestionnaire PPF FIO_SegDataBlock<T> (fichier fiosegdb.h )
-2/ Ajout de la classe SwSegDataBlock<T> (Data bloc segmente avec gestion
-de swap) et la classe swapper PPF PPFDataSwapper<T> (fichiers
+gestionnaire PPF {\tt FIO\_SegDataBlock<T>}  (fichier fiosegdb.h )
+\item Ajout de la classe {\tt SwSegDataBlock<T>} (Data bloc segmente avec gestion
+de swap) et la classe swapper PPF {\tt PPFDataSwapper<T>} (fichiers
 ppfswapper.h et swsegdb.h)
-\end{verbatim}
+\item Ajout programme de test Tests/tstsegdb.cc 
+\end{enumerate}
+\end{itemize}
 
 
@@ -379,14 +383,17 @@
               --------  SwPPFDataTable
 \end{verbatim}
-{\bf BaseDataTable} : Classe de base, avec qques methodes virtuelles
+
+\noindent {\bf BaseDataTable} : Classe de base, avec qques methodes virtuelles
 pures, implementent la presque totalite des fonctionalites, en particulier
 celles de l'interface NTupleInterface.
 
-{\bf DataTable} : Implementation concrete de BaseDataTable avec donnees en 
-memoire (utilise SegDataBlock<T> pour stocker les colonnes)
-
-{\bf SwPPFDataTable} : Implementation concrete de BaseDataTable avec donnees 
-en swap sur stream PPF (POutPersist)- Utilise  (SwSegDataBlock<T> avec 
-un data-swapper PPF (classe PPFDataSwapper<T> ) 
+\noindent {\bf DataTable} : Implementation concrete de BaseDataTable avec donnees en 
+memoire \\ 
+(utilise SegDataBlock$<$T$>$ pour stocker les colonnes)
+
+\noindent {\bf SwPPFDataTable} : Implementation concrete de BaseDataTable avec donnees 
+en swap sur stream PPF (POutPersist)- \\ 
+Utilise  (SwSegDataBlock$<$T$>$ avec 
+un data-swapper PPF (classe PPFDataSwapper$<$T$>$ ) 
 
 DataTable et SwPPFDataTable respecte +/- les conventions SOPHYA , 
@@ -399,5 +406,5 @@
 
 Classe de gestion de persistence commune : \\
-{\bf ObjFileIO<BaseDataTable> }
+{\bf ObjFileIO$<$BaseDataTable$>$ }
 
 Lit et ecrit les DataTable et SwPPFDataTable
@@ -406,21 +413,21 @@
 ecrit comme DataTable - mais cette possibilite pourra 
 peut-etre codee ulterieurement (d'ou l'interet en particulier 
-d'un gestionnaire commun ObjFileIO<BaseDataTable>
+d'un gestionnaire commun ObjFileIO$<$BaseDataTable$>$
 
 (les operateurs habituel $<<$ et $>>$ sur PIn/OutPersist sont definies)
 
-\begin{verbatim}
-Actuellement, les colonnes peuvent etre de type 
-int_4  ,  int_8  ,  r_4  ,  r_8  ,  string 
-On pourra ajouter apres  les types suivants :
-complex<r_4>  ,   complex<r_8>  , TimeStamp 
+Actuellement, les colonnes peuvent etre de type \\
+{\tt int\_4  ,  int\_8  ,  r\_4  ,  r\_8  ,  string } \\
+On pourra ajouter apres  les types suivants : \\
+{\tt complex<r\_4>  ,   complex<r\_8>  , TimeStamp }
  
 Dans BaseDataTable, il reste a remplir la methode
-BaseDataTable ::FillFromASCIIFile(string const& fn)
-BaseDataTable :: Print(int num, int nmax=1) const  
-(on peut utiliser LineToString(sa_size_t n) const
+{\tt BaseDataTable ::FillFromASCIIFile(string const \& fn) } \\
+{\tt BaseDataTable :: Print(int num, int nmax=1) const  }
+(on peut utiliser { \tt LineToString(sa\_size\_t n) const }
 
 Par contre, les merges et copie sont prevues, 
 on doit en principe pouvoir ecrire par exemple:
+\begin{verbatim}
 SwPPFDataTable swdt;
 PInPersist pis("swdt.ppf");
@@ -428,27 +435,30 @@
 DataTable dt;
 dt = swdt;  // Pour tout charger en memoire 
+\end{verbatim}
 
 On peut aussi ajouter des methodes d'acces aux variables membres pour enrichier l'interface.
 
-PLUS IMPORTANT : il reste a ecrire la classe FITS_BaseDataTable ou FITS_DataTable 
-pour I/O sur fichiers FITS - j'ai regarde FITS_XNTuple qu'on pourra simplifier enormement
+{\bf PLUS IMPORTANT : } \\
+Il reste a ecrire la classe FITS\_BaseDataTable ou FITS\_DataTable 
+pour I/O sur fichiers FITS - j'ai regarde {\tt FITS\_XNTuple} qu'on pourra simplifier enormement
 et que devrait etre assez rapide. 
-Il faut aussi faire une classe SwFITSDataTable, en recopiant pas mal de chose ds la classe
-SwPPFDataTable - On pourrait peut-etre avoir une classe intermediaire qui regroupe
-tout ce qui est commun a SwFITSDataTable et SwPPFDataTable , mais a voir.
-L'element cle sera le codage de FITSDataSwapper<T> qui implemente 
-les deux methodes de DataSwapperInterface<T> - le reste devrait etre du copier/coller
+Il faut aussi faire une classe {\tt SwFITSDataTable}, en recopiant pas mal de chose ds la classe
+{\tt SwPPFDataTable} - On pourrait peut-etre avoir une classe intermediaire qui regroupe
+tout ce qui est commun a {\tt SwFITSDataTable et SwPPFDataTable} , mais a voir.
+L'element cle sera le codage de {\tt FITSDataSwapper<T>}  qui implemente 
+les deux methodes de {\tt DataSwapperInterface<T>} - le reste devrait etre du copier/coller
 essentiellement. 
 
-PIAPP : 
+{\bf DataTable cote PIAPP :} \\ 
 Cote piapp, les DataTable et SwPPFDataTable  sont pris en charge par 
-NOMAdapter_DataTable (qui prend en charge tous les 'BaseDataTable' )
-Il faudrait peut-etre rajouter deux commandes :
+{\tt NOMAdapter\_DataTable} (qui prend en charge tous les 'BaseDataTable' )
+Il faudrait peut-etre rajouter deux commandes : \\
 newdt ou newdatatable 
-newdt ncol col1 [col2 .... ] 
+newdt ncol col1 [col2 .... ]  \\
 avec possibilite de specifier coli sous fome de X:colname ou X = D,F,S,I,L ...
 et puis dtfromascii  ...
 
 Voir Tests/tnt.cc pour exemple d'utilisation :
+\begin{verbatim}
 DataTable dt(64);
 dt.AddIntegerColumn("line");
@@ -465,11 +475,13 @@
  POutPersist po("dtable.ppf");
  po << dt;
+\end{verbatim}
 
 Pour SwPPFDataTable, il faut juste creer un stream PPF avant, qui doit rester
-ouvert tant que le SwPPFDataTable est actif 
+ouvert tant que le SwPPFDataTable est actif: \\
+\begin{verbatim}
  POutPersist po("swdtable.ppf");
  SwPPFDataTable dt(po, 64);
-
-\end{verbatim}
+\end{verbatim}
+
 
 \section{SkyMap , Samba }
@@ -521,7 +533,13 @@
 \subsection{Classe SOPHYA::Commander (module SysTools) }
 
+Mars-Avril 2004 : 
 Classe d'interprteur de ligne de commande inspire de C-Shell,
 destine a etre incluee dans des applications C/C++. \\
-( Programme test Test/tcmd.cc ) 
+( Programme test Test/tcmd.cc )  \\
+Avril 2005 : Introduction de la possibilite d'execution de commandes
+en multithreads \\
+Avril 2005 : Controle strict sur les noms de variables, limites
+aux caracteres alphanumeriques + underscore - Adaptation
+de l'algorithme de substitution en consequence.
 
 {\bf Mini guide de l'interpreteur - Message du 19 Mars 2004 }   \
@@ -701,4 +719,22 @@
 \item  Defintion et liste d'alias : {\bf alias aliasname 'string ' } et {\bf  listalias} 
 \end{itemize} 
+
+\item[\rond] {\bf Threads d'execution de commandes (Avril 2005)} \\
+Possibilite de lancer des commandes (autre que les commandes
+  de l'interpreteur lui-meme) en thread separe (il suffit de mettre un \& 
+  a la fin de la commande) \\ 
+  Commandes des gestion des threads : \\
+  {\bf thrlist  ;  cleanthrlist  ;  cancelthr ThId ;   waitthr  } \\
+  Attention, la possibilite de lancer des commandes en threads separes ne fonctionne que
+pour des commandes "thread-safe".
+La plupart de nos commandes de piapp sont  \\
+   - soit trop rapide,  \\
+   - soit non "thread-safe"   \\
+
+  \item[\rond] controle d'execution : \\
+Possibilite d'arreter l'execution de l'interpreteur (dans une boucle
+   ou dans dans un fichier .pic ... 
+   Utiliser la commande {\bf stop} ou {\tt <Cntrl C>} dans PIConsole
+
 \end{itemize} 
 
@@ -756,5 +792,37 @@
 \end{itemize}
 
+\section{LinAlg} 
+Extension des fonctionalits de la classe {\tt LapackServer<T>} : 
+(Juillet 2004 / cmv , Fvrier 2005 / Reza)
+\begin{itemize}
+\item[\rond] Introduction de l'interface Lapack d'inversion des matrices symetriques (21/7/2004)
+\item[\rond]  Introduction de l'interface Lapack de recherche de valeurs et vecteurs propres
+  (cas general, symetrique et hermitique) (21/7/2004)
+\item[\rond] Introduction d'un fonction d'interface pour le calculateur de workspace
+  (ilaenv\_) (21/7/2004)
+\item[\rond] Ajout prog test Tests/tsttminv.cc + Commentaires sur les diverses methodes et sur les matrices FORTRAN (21/7/2004)
+\item[\rond] Ajout SVD decomp by Divide and Conquer SVD\_DC (23/7/2004)
+\item[\rond] Ajout  Least Square with SVD DC
+\item[\rond] Ajout methode calcul de la matrice inverse par Lapack en utilisant la 
+resolution de systemes (07/02/2005) 
+\end{itemize}
+
 \section{PI,PIext,piapp} 
+\subsection{PI: Classes modifiees - ameliorees}
+\begin{itemize}
+\item[\rond] {\bf  PIImageNavigator } \\
+Ajout de la classe {\tt PIImageNavigator } permmettant de visualiser une image 
+avec ses propres widget zoom / global view et colormap. (Fevrier 2005) \\
+Commande {\tt imagnav} ajoute ds piapp/baseexcute.cc . \\
+\item[\rond] Avril 2005 - Amelioration de la classe {\bf PIConsole} \\
+1/Envoi Message PIMSG\_Cancel lors de {\tt <Cntl C>} \\ 
+ 2/ Correction positionnement curseur lors de rappel de commande,
+  Si possible en fin de commande - mais toujours avec le 
+  debut de commande visible.  \\
+3/ Correction (probable) du petit bug sur les derniers caracteres lors de copier/coller
+  ds PIConsole
+\end{itemize}
+%
+% 
 \subsection{ Codage texte des options graphiques (11 Mars 2004)}
 \begin{verbatim}
@@ -899,8 +967,40 @@
 \begin{itemize}
 \item Le multithreading a t mis en oeuvre dans piapp (janvier 2004). 
-\item Il faut par contre ajouter des possibilits de controle du thread
-d'execution des commandes. 
+\item Possibilit d'execution de commandes en multithread (Avril 2005)
+\item {\bf BUG } a corriger pour {\tt imagvav}: 
+La destruction de l'objet et/ou widget pascorrectement geres - 
+provoque des plantages lors de la sortie de l'application.
+
 \item Extrait de {\tt cvs log pistdimgapp.cc } : 
 \begin{verbatim}
+revision 1.77
+date: 2005/04/27 11:55:00;  author: ansari;  state: Exp;  lines: +26 -10
+1/ Prise en charge de DataTable et SwPPFDataTable pour piapp (NObjMgrAdapter) :
+nomhistadapter.cc et piiinit.cc
+2/ Lecture de tous les objets ds un fichier PPF par NamedObjMgr::ReadAll() pour
+fichier PPF sans nametag.
+3/ Ajout bloc try/catch ds PIStdImgApp::Run() (boucle d'evenements)
+                                           Reza , 27 Avril 2005
+----------------------------
+revision 1.76
+date: 2005/04/19 09:13:49;  author: ansari;  state: Exp;  lines: +3 -1
+Ajout de l option nodisp ds les affichages des NamedObjMgr, prise en compte de 
+<Cntrl C> (Msg_Cancel) pour arreter l'execution de l'interpreteur ds PIStdImgApp 
+et remplacement commande breakexe par stop ds PIACmd - Reza 19/4/2005
+----------------------------
+revision 1.75
+date: 2005/04/19 06:56:52;  author: ansari;  state: Exp;  lines: +5 -4
+Remis en marche la possibilite d'execution d'un .pic au lancement de piapp - 
+Reza 19/4/2005
+----------------------------
+revision 1.74
+date: 2005/02/18 14:09:47;  author: ansari;  state: Exp;  lines: +62 -37
+Modifications pour l'utilisation viewer PIImageNavigator (ajout commande imagnav
+) - Reza 18 Fev 2005
+----------------------------
+revision 1.73
+date: 2004/11/19 17:41:07;  author: ansari;  state: Exp;  lines: +26 -0
+Ajout commandes addoval addfoval pour trace d'ellipse - Reza 19/11/2004
+----------------------------
 revision 1.71
 date: 2004/09/07 07:10:18;  author: ansari;  state: Exp;  lines: +35 -0
