Salome HOME
CCAR: modifications pour :
[tools/eficas.git] / Extensions / parametre.py
index d1a9967f442aaf237f3c76a182b89e4ab4477d56..7ec6ce7067f068f9ff668212571a0c9699496fcb 100644 (file)
 
 # import de modules Python
 import string,types
+from math import *
 
 # import de modules Eficas
 from Noyau.N_CR import CR
+from Noyau import N_OBJECT
+from Ihm import I_OBJECT
 
-class PARAMETRE :
+class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) :
   """
      Cette classe permet de créer des objets de type PARAMETRE
      cad des affectations directes dans le jeu de commandes (ex: a=10.)
@@ -62,6 +65,120 @@ class PARAMETRE :
     param_item=ITEM_PARAMETRE(self,key)
     return param_item
 
+  def __neg__(self):
+    try:
+      return -1*self.valeur
+    except:
+      print "******* Probleme : pas de valeur négative"
+      return None
+    
+  def __add__(self,a):
+    try :
+      return self.valeur+a.valeur
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __radd__(self,a):
+    try :
+      return self.valeur+a.valeur
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __sub__(self,a):
+    try :
+      return self.valeur  - a.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __rsub__(self,a):
+    try :
+      return a.valeur - self.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __mul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __rmul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __mul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __rmul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __add__(self,other):
+    try :
+      return self.valeur+other
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __radd__(self,other):
+    try :
+      return self.valeur+other
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __sub__(self,other):
+    try :
+      return self.valeur  - other
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __rsub__(self,other):
+    try :
+      return other - self.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def  __mul__ (self,other):
+    retour=None
+    try :
+      retour = eval(self.valeur) * other
+    except :
+      try :
+         retour = self.valeur * other
+      except :
+         print "******* Probleme : a la multiplication"
+    return retour
+
+  def __rmul__ (self,other):
+    retour=None
+    try :
+      retour = eval(self.valeur) * other
+    except :
+      try :
+         retour = self.valeur * other
+      except :
+         print "******* Probleme : a la multiplication"
+    return retour
+
+
   def interprete_valeur(self,val):
     """
     Essaie d'interpréter val (chaîne de caractères)comme :