Salome HOME
onItem=Deplie
[tools/eficas.git] / generator / generator_ZCracks.py
index c6b07a17afda86f0781d3ec6e70a776c6beaac13..17ce5e0c5a8331e503cbf45f59cdf3eb6a56e675 100644 (file)
 #
 """Ce module contient le plugin generateur de fichier au format  Code_Carmel3D pour EFICAS.
 """
-
-texte_debut="int main() \n{ \n   init_var();\n"
+import pickle
+texte_debut="#include <Zcracks_base.z7p> \n int main() \n{ \n   init_var();\n"
 texte_debut+='   format="med";\n'
 import traceback
 import types,string,re,os
 from Extensions.i18n import tr
 from generator_python import PythonGenerator
-ListeConcatene=('ridge_names','topo_names','geom_names','elset_names','faset_names','liset_names','nset_names','center','normal','dir')
+#ListeConcatene=('ridge_names','topo_names','geom_names','elset_names','faset_names','liset_names','nset_names','center','normal','dir')
+ListeConcatene=('ridge_names','topo_names','geom_names','elset_names','faset_names','liset_names','nset_names')
+ListeConcatene2=('center','normal','dir')
+ListeConcatene3=('ra','rb')
+if_ellipse=False
 
 def entryPoint():
    """
@@ -86,7 +90,11 @@ class ZCrackGenerator(PythonGenerator):
    def ajoutRun(self) :
         self.textePourRun+="   write_mesh_crack();\n"
         self.textePourRun+="   do_mesh_crack(0);\n"
-        self.textePourRun+="   nice_cut(20.);\n"
+        self.textePourRun+="   write_refine_mesh();\n"
+        self.textePourRun+="   do_refine_mesh(0);\n"
+        self.textePourRun+="   write_cut_mesh();\n"
+        self.textePourRun+="   do_cut_mesh(0);\n"
+#        self.textePourRun+="   nice_cut("+str(self.maximum_aspect_ratio)+");\n"
         self.textePourRun+='   export_mesh("'+self.cracked_name+'","med");\n'
         self.textePourRun+="}"
 
@@ -98,18 +106,51 @@ class ZCrackGenerator(PythonGenerator):
         """recuperation de l objet MCSIMP"""
         #print dir(obj)
         s=PythonGenerator.generMCSIMP(self,obj)
-        if obj.nom in ListeConcatene : 
+        if obj.nom=="sane_name" :
+           self.textePourRun+='   import_mesh("'+obj.val+'", "med");\n'
+        if obj.nom in ListeConcatene :
+#           obj.val=obj.val+" "
            stringListe=""
            for val in obj.val:
-               stringListe+=str(val)+" "
-           self.textePourRun+="   "+obj.nom+ "='"+ stringListe[0:-1]+ "';\n"
+               stringListe+=val+""
+#           pickle.dump( stringListe, open( "/home/H60874/test.pickle", "wb" ) )
+#           self.textePourRun+="   "+obj.nom+ "='"+ stringListe[0:-1]+ "';\n"
+#           self.textePourRun+="   "+obj.nom+ "='"+ stringListe+ "';\n"
+           return s
+        if obj.nom in ListeConcatene3 :
+           if (obj.nom=="ra") :
+              self.textePourRun+="   "+"if_ellipse=1;\n" 
+           self.textePourRun+="   "+obj.nom+ "="+str(obj.val)+";\n"
+           if_ellipse_ellipse=True
            return s
-        if obj.nom=="elset_radius"  :
+
+        if obj.nom in ListeConcatene2 : 
+           stringListe=""
+#           self.textePourRun+="GGGGGGG%"+obj.nom+"\n"
+#           if (len(val)>1) :
+           for val in obj.val:
+               stringListe+=str(val)+","
+           self.textePourRun+="   "+obj.nom+ "=set_vector3("+ stringListe[0:-1]+ ");\n"
+#           else :
+#             self.textePourRun+="   "+obj.nom+ str(obj.val+ ";\n"
+#               stringListe+=str(val)+" "
+#           self.textePourRun+="   "+obj.nom+ "=set_vector3("+stringListe[0]+","+stringListe[1]+","+stringListe[2]+");\n"
+#           self.textePourRun+="   "+obj.nom+ "=set_vector3("+obj.val+","+");\n"
+           return s
+#        if obj.nom=="center" :
+#           self.textePourRun+="   set_vector3("+obj.val+'");\n"
+#        if obj.nom=="center" :
+#           self.textePourRun+="   set_vector3("+obj.val+'");\n"
+#        if obj.nom=="normal" :
+#           self.textePourRun+="   set_vector3("+obj.val+'");\n"
+#        if obj.nom=="dir" :
+#           self.textePourRun+="   set_vector3("+obj.val+'");\n"
+        if obj.nom=="elset_radius" :
            self.textePourRun+="   if_must_define_elset=1;\n"
-        if obj.nom=="sane_name" and obj.val!=None :
-           self.textePourRun+='   import_mesh("'+obj.val+'");\n'
 
-        if obj.nom=="cracked_name" and obj.val!=None : self.cracked_name=obj.val
+
+        if obj.nom=="cracked_name" : self.cracked_name=obj.val
+        if obj.nom=="maximum_aspect_ratio" : self.maximum_aspect_ratio=obj.val
         if obj.nom=="repertoire" : 
            print "PNPNPN a traiter"
            return s