Index: trunk/SophyaPI/PI/pieldrw.h
===================================================================
--- trunk/SophyaPI/PI/pieldrw.h	(revision 2262)
+++ trunk/SophyaPI/PI/pieldrw.h	(revision 2264)
@@ -8,5 +8,6 @@
 #include "pidrawer.h"
 
-//  Classe avec gestion d une liste d elements a tracer 
+/*  ------------------- Classe PIElDrwMgr ------------------------  */
+//  Classe avec gerant d une liste d elements a tracer 
 
 class PIElDrwMgr
@@ -17,7 +18,8 @@
          PIDEL_Circ = 5, PIDEL_FCirc = 6,
          PIDEL_Arc = 7,  PIDEL_FArc = 8,
-         PIDEL_Poly = 9, PIDEL_FPoly = 10,
-	 PIDEL_Mark = 11, PIDEL_Arrow = 12,
-         PIDEL_CText = 13  } ; 
+         PIDEL_Arc3P = 9,  PIDEL_FArc3P = 10,
+         PIDEL_Poly = 11, PIDEL_FPoly = 12,
+	 PIDEL_Mark = 13, PIDEL_Arrow = 14,
+         PIDEL_CText = 15  } ; 
 
 		PIElDrwMgr();
@@ -88,16 +90,35 @@
   // ---- Ajout de cercles
   inline int    ElAddCirc(double x, double y, double r, bool fgsc=false)
-    { PIGraphicAtt gatt; return( ElAdd(PIDEL_Circ, x, y, r, r, NULL, gatt, 0, fgsc) ); }  
+    { PIGraphicAtt gatt; 
+      return( ElAdd(PIDEL_Circ, x, y, 0., 360., NULL, gatt, 0, fgsc, r) ); }  
   inline int    ElAddCirc(double x, double y, double r, 
 			  PIGraphicAtt const & gatt, bool fgsc=false)
-    { return( ElAdd(PIDEL_Circ, x, y, r, r, NULL, gatt, 0, fgsc) ); }  
+    { return( ElAdd(PIDEL_Circ, x, y, 0., 360., NULL, gatt, 0, fgsc, r) ); }  
 
   inline int    ElAddFCirc(double x, double y, double r, bool fgsc=false)
-    { PIGraphicAtt gatt; return( ElAdd(PIDEL_FCirc, x, y, r, r, NULL, gatt, 0, fgsc) ); }  
+    { PIGraphicAtt gatt; 
+      return( ElAdd(PIDEL_FCirc, x, y, 0., 360., NULL, gatt, 0, fgsc, r) ); }  
   inline int    ElAddFCirc(double x, double y, double r, 
 			   PIGraphicAtt const & gatt, bool fgsc=false)
-    { return( ElAdd(PIDEL_FCirc, x, y, r, r, NULL, gatt, 0, fgsc) ); }  
-
-  // ---- Ajout d' arcs 
+    { return( ElAdd(PIDEL_FCirc, x, y, 0., 360., NULL, gatt, 0, fgsc, r) ); }  
+
+  // ---- Ajout d' arcs specifies par deux angles
+  inline int    ElAddArc(double x, double y, double r, 
+			 double a, double da, bool fgsc=false)
+    { PIGraphicAtt gatt; 
+      return( ElAdd(PIDEL_Arc, x, y, a, da, NULL, gatt, 0, fgsc, r) ); }  
+  inline int    ElAddArc(double x, double y, double r, double a, double da, 
+			 PIGraphicAtt const & gatt, bool fgsc=false)
+    { return( ElAdd(PIDEL_Arc, x, y, a, da, NULL, gatt, 0, fgsc, r) ); }  
+
+  inline int    ElAddFArc(double x, double y, double r, 
+			  double a, double da, bool fgsc=false)
+    { PIGraphicAtt gatt; 
+      return( ElAdd(PIDEL_FArc, x, y, a, da, NULL, gatt, 0, fgsc, r) ); }  
+  inline int    ElAddFArc(double x, double y, double r, double a, double da, 
+			  PIGraphicAtt const & gatt, bool fgsc=false)
+    { return( ElAdd(PIDEL_FArc, x, y, a, da, NULL, gatt, 0, fgsc, r) ); }  
+
+  // ---- Ajout d' arcs specifies par 3 points
   inline int    ElAddArc(double x1, double y1, double x2, double y2,
 			 double x3, double y3, bool fgsc=false)
@@ -105,5 +126,5 @@
       x[0] = x1; x[1] = x2; x[2] = x3; 
       y[0] = y1; y[1] = y2; y[2] = y3; 
-      return( ElAdd(PIDEL_Arc, x, y, 3, gatt, fgsc) ); }  
+      return( ElAdd(PIDEL_Arc3P, x, y, 3, gatt, fgsc) ); }  
 
   inline int    ElAddArc(double x1, double y1, double x2, double y2,
@@ -112,5 +133,5 @@
       x[0] = x1; x[1] = x2; x[2] = x3; 
       y[0] = y1; y[1] = y2; y[2] = y3; 
-      return( ElAdd(PIDEL_Arc, x, y, 3, gatt, fgsc) ); }  
+      return( ElAdd(PIDEL_Arc3P, x, y, 3, gatt, fgsc) ); }  
 
   inline int    ElAddFArc(double x1, double y1, double x2, double y2,
@@ -119,5 +140,5 @@
       x[0] = x1; x[1] = x2; x[2] = x3; 
       y[0] = y1; y[1] = y2; y[2] = y3; 
-      return( ElAdd(PIDEL_FArc, x, y, 3, gatt, fgsc) ); }  
+      return( ElAdd(PIDEL_FArc3P, x, y, 3, gatt, fgsc) ); }  
 
   inline int    ElAddFArc(double x1, double y1, double x2, double y2,
@@ -126,5 +147,5 @@
       x[0] = x1; x[1] = x2; x[2] = x3; 
       y[0] = y1; y[1] = y2; y[2] = y3; 
-      return( ElAdd(PIDEL_FArc, x, y, 3, gatt, fgsc) ); }  
+      return( ElAdd(PIDEL_FArc3P, x, y, 3, gatt, fgsc) ); }  
 
   // ---- Ajout de polygones 
@@ -149,5 +170,5 @@
   int                ElAdd(int typ, double x, double y, double dx, double dy, 
                            const char* s, PIGraphicAtt const & att,
-			   unsigned long txtposdir, bool fgsc);
+			   unsigned long txtposdir, bool fgsc, double r=0.);
   int		     ElAdd(double x, double y, const char* s, PIGraphicAtt const & att, 
 			   const char* s_up, const char* s_dn, PIGraphicAtt const * gass, 
@@ -169,5 +190,5 @@
   struct DrwEl{
     int eid, etyp;
-    double ex,ey;
+    double ex,ey,er;
     double edx,edy;
     PIGraphicAtt gatt;
@@ -176,5 +197,5 @@
     PIGrCoord* ypol;
     int npol;
-    bool scc;  // true -> scale coordinate (user-coord : 0..1 1
+    bool scc;  // true -> normalized coordinates ( 0..1 )
   };
 
@@ -184,4 +205,7 @@
   
 };
+
+/*  ------------------- Classe PIElDrawer ------------------------  */
+// Classe de Drawer capable de gerer une liste d'elements a tracer
 
 class PIElDrawer : public PIDrawer 
