Salome HOME
Copyright update 2022
[modules/homard.git] / idl / HOMARD_Gen.idl
index a84e17650e86f9a80d75c3155828f80e26cf0b54..feecc1f04a6c3b9df969726e4fe5d16cc58760cf 100644 (file)
@@ -1,3 +1,22 @@
+// Copyright (C) 2011-2022  CEA/DEN, EDF R&D
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
 #ifndef __HOMARD_GEN__
 #define __HOMARD_GEN__
 
@@ -10,6 +29,7 @@
 #include "HOMARD_Iteration.idl"
 #include "HOMARD_Zone.idl"
 #include "HOMARD_Boundary.idl"
+#include "HOMARD_YACS.idl"
 
 module HOMARD
 {
@@ -18,58 +38,194 @@ module HOMARD
   typedef sequence<string> listeIterations;
   typedef sequence<string> listeCases;
   typedef sequence<string> listeBoundarys;
+  typedef sequence<string> listeYACSs;
 
-  interface HOMARD_Gen : Engines::Component, SALOMEDS::Driver
+  interface HOMARD_Gen : Engines::EngineComponent, SALOMEDS::Driver
   {
-    HOMARD_Cas        CreateCase(in string nomCas, in string MeshName, in string FileName )
-                                                           raises (SALOME::SALOME_Exception);
-    HOMARD_Hypothesis CreateHypothesis(in string nomHypothesis )
-                                                           raises (SALOME::SALOME_Exception);
-    HOMARD_Iteration  CreateIteration(in string nomIter, in string nomIterParent )
-                                                           raises (SALOME::SALOME_Exception);
-    HOMARD_Zone       CreateZone(in string nomZone, in long typeZone)
-                                                           raises (SALOME::SALOME_Exception);
-    HOMARD_Boundary   CreateBoundary(in string nomBoundary, in long typeBoundary)
-                                                           raises (SALOME::SALOME_Exception);
-
-    void AssociateIterIter(in string nomIterParent, in string nomIter)
-                                                           raises (SALOME::SALOME_Exception);
-    void AssociateIterHypo(in string nomIter, in string nomHypothesis)
-                                                           raises (SALOME::SALOME_Exception);
-    void AssociateHypoZone(in string nomZone, in string nomHypothesis)
-                                                           raises (SALOME::SALOME_Exception);
-    void DissociateHypoZone(in string nomZone, in string nomHypothesis)
-                                                           raises (SALOME::SALOME_Exception);
-
-    void InvalideZone (in string nomZone)                  raises (SALOME::SALOME_Exception);
-    void InvalideHypo (in string nomHypo)                  raises (SALOME::SALOME_Exception);
-    void InvalideIter (in string nomIter)                  raises (SALOME::SALOME_Exception);
-
-    boolean  Compute (in string nomIter, in long etatMenage)
-                                                           raises (SALOME::SALOME_Exception);
-
-    boolean  VerifieDir (in string nomIter)                raises (SALOME::SALOME_Exception);
-
-    string  GetCaseName(in string nomIter)                 raises (SALOME::SALOME_Exception);
-
-    void  PublishFileUnderIteration(in string NomIter, in string NomFich, in string Commentaire)
-                                                           raises (SALOME::SALOME_Exception);
-    void  PublishResultInSmesh(in string NomFich, in long IconeType)
-                                                           raises (SALOME::SALOME_Exception);
-    HOMARD_Cas        GetCas(in string nomCas)             raises (SALOME::SALOME_Exception);
-    HOMARD_Boundary   GetBoundary(in string nomBoundary)   raises (SALOME::SALOME_Exception);
-    HOMARD_Zone       GetZone(in string nomZone)           raises (SALOME::SALOME_Exception);
-    HOMARD_Hypothesis GetHypothesis(in string nomHypo)     raises (SALOME::SALOME_Exception);
-    HOMARD_Iteration  GetIteration(in string nomIter)      raises (SALOME::SALOME_Exception);
-
-    listeCases      GetAllCases()                          raises (SALOME::SALOME_Exception);
-    listeBoundarys  GetAllBoundarys()                      raises (SALOME::SALOME_Exception);
-    listeHypotheses GetAllHypotheses()                     raises (SALOME::SALOME_Exception);
-    listeZones      GetAllZones()                          raises (SALOME::SALOME_Exception);
-    listeIterations GetAllIterations()                     raises (SALOME::SALOME_Exception);
-
-    void     SetCurrentStudy(in SALOMEDS::Study theStudy)  raises (SALOME::SALOME_Exception);
-    SALOMEDS::Study GetCurrentStudy()                      raises (SALOME::SALOME_Exception);
+//
+// A. Les methodes qui suivent sont celles que l'on retrouvera dans
+//    le fichier resources/HOMARDCatalog.xml.in pour definir le composant HOMARD dans YACS
+//    A priori, ce sont les seules sont l'utilisateur doit connaitre l'existence.
+//    ATTENTION : si les noms des arguments changent dans les Createxxxx, il faudra les changer
+//                dans YACSDriver pour assurer la coherence
+//
+// A.1. Les creations
+//
+    HOMARD_Boundary   CreateBoundaryCAO (in string BoundaryName, in string FileName)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Boundary   CreateBoundaryDi (in string BoundaryName, in string MeshName, in string FileName)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Boundary   CreateBoundaryCylinder (in string BoundaryName,
+                                      in double Xcentre, in double Ycentre, in double Zcentre,
+                                      in double Xaxis, in double Yaxis, in double Zaxis,
+                                      in double Radius)
+    raises (SALOME::SALOME_Exception);
+    HOMARD_Boundary   CreateBoundarySphere (in string BoundaryName,
+                                      in double Xcentre, in double Ycentre, in double Zcentre,
+                                      in double Radius)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Boundary   CreateBoundaryConeR (in string BoundaryName,
+                                      in double Xcentre1, in double Ycentre1, in double Zcentre1, in double Radius1,
+                                      in double Xcentre2, in double Ycentre2, in double Zcentre2, in double Radius2)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Boundary   CreateBoundaryConeA (in string BoundaryName,
+                                      in double Xaxis, in double Yaxis, in double Zaxis, in double Angle,
+                                      in double Xcentre, in double Ycentre, in double Zcentre)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Boundary   CreateBoundaryTorus (in string BoundaryName,
+                                      in double Xcentre, in double Ycentre, in double Zcentre,
+                                      in double Xaxis, in double Yaxis, in double Zaxis,
+                                      in double RadiusRev, in double RadiusPri)
+    raises (SALOME::SALOME_Exception);
+    HOMARD_Cas        CreateCase(in string CaseName, in string MeshName, in string FileName )
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Cas        CreateCaseFromIteration(in string CaseName, in string DirNameStart )
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Cas        CreateCaseFromCaseLastIteration(in string CaseName, in string DirNameStart )
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Cas        CreateCaseFromCaseIteration(in string CaseName, in string DirNameStart, in long Number )
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Hypothesis CreateHypothesis(in string HypoName )
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Zone       CreateZoneBox (in string ZoneName,
+                                     in double Xmini, in double Xmaxi,
+                                     in double Ymini, in double Ymaxi,
+                                     in double Zmini, in double Zmaxi)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Zone       CreateZoneBox2D (in string ZoneName,
+                                       in double Umini, in double Umaxi,
+                                       in double Vmini, in double Vmaxi,
+                                       in long Orient)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Zone       CreateZoneCylinder (in string ZoneName,
+                                          in double Xcentre, in double Ycentre, in double Zcentre,
+                                          in double Xaxis, in double Yaxis, in double Zaxis,
+                                          in double Radius, in double Height)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Zone       CreateZoneDisk (in string ZoneName,
+                                      in double Ucentre, in double Vcentre,
+                                      in double Radius, in long Orient)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Zone       CreateZoneDiskWithHole (in string ZoneName,
+                                              in double Ucentre, in double Vcentre,
+                                              in double Radius, in double InternalRadius,
+                                              in long Orient)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Zone       CreateZonePipe (in string ZoneName,
+                                      in double Xcentre, in double Ycentre, in double Zcentre,
+                                      in double Xaxis, in double Yaxis, in double Zaxis,
+                                      in double Radius, in double Height, in double InternalRadius)
+    raises(SALOME::SALOME_Exception);
+    HOMARD_Zone       CreateZoneSphere (in string ZoneName,
+                                        in double Xcentre, in double Ycentre, in double Zcentre,
+                                        in double Radius)
+    raises(SALOME::SALOME_Exception);
+//
+// A.2. Les informations
+//
+    HOMARD_Boundary   GetBoundary(in string BoundaryName)  raises (SALOME::SALOME_Exception);
+    HOMARD_Cas        GetCase(in string CaseName)          raises (SALOME::SALOME_Exception);
+    HOMARD_Hypothesis GetHypothesis(in string HypoName)    raises (SALOME::SALOME_Exception);
+    HOMARD_Iteration  GetIteration(in string IterName)     raises (SALOME::SALOME_Exception);
+    HOMARD_YACS       GetYACS(in string YACSName)          raises (SALOME::SALOME_Exception);
+    HOMARD_Zone       GetZone(in string ZoneName)          raises (SALOME::SALOME_Exception);
+
+    listeBoundarys  GetAllBoundarysName()                  raises (SALOME::SALOME_Exception);
+    listeCases      GetAllCasesName()                      raises (SALOME::SALOME_Exception);
+    listeHypotheses GetAllHypothesesName()                 raises (SALOME::SALOME_Exception);
+    listeIterations GetAllIterationsName()                 raises (SALOME::SALOME_Exception);
+    listeYACSs      GetAllYACSsName()                      raises (SALOME::SALOME_Exception);
+    listeZones      GetAllZonesName()                      raises (SALOME::SALOME_Exception);
+
+    void MeshInfo(in string CaseName, in string MeshName, in string FileName,  in string DirName, in long Qual, in long Diam, in long Conn, in long Tail, in long Inte )
+    raises(SALOME::SALOME_Exception);
+
+    HOMARD_Iteration LastIteration(in string CaseName)     raises (SALOME::SALOME_Exception);
+//
+// A.3. L'etude
+//
+    void UpdateStudy()      raises (SALOME::SALOME_Exception);
+//
+// A.4. Les caracteristiques generales
+//
+    void SetLanguageShort (in string LanguageShort)        raises (SALOME::SALOME_Exception);
+    string GetLanguageShort ()                             raises (SALOME::SALOME_Exception);
+//
+// B. Les methodes qui suivent n'apparaissent pas dans le composant HOMARD dans YACS
+//    L'utilisateur ne devrait pas les connaitre (ni s'en servir, a fortiori)
+//
+    HOMARD_Iteration CreateIteration(in string IterName, in string PreviousIterName )
+    raises(SALOME::SALOME_Exception);
+//
+    void InvalideBoundary (in string BoundaryName)         raises (SALOME::SALOME_Exception);
+    void InvalideHypo (in string HypoName)                 raises (SALOME::SALOME_Exception);
+    void InvalideIter (in string IterName)                 raises (SALOME::SALOME_Exception);
+    void InvalideIterOption (in string IterName, in long Option)
+    raises(SALOME::SALOME_Exception);
+    void InvalideYACS (in string YacsName)                 raises (SALOME::SALOME_Exception);
+    void InvalideZone (in string ZoneName)                 raises (SALOME::SALOME_Exception);
+
+    long DeleteBoundary (in string BoundaryName)           raises (SALOME::SALOME_Exception);
+    long DeleteCase(in string CaseName, in long Option)
+    raises(SALOME::SALOME_Exception);
+    long DeleteHypo(in string HypoName)                    raises (SALOME::SALOME_Exception);
+    long DeleteIteration(in string IterName, in long Option)
+    raises(SALOME::SALOME_Exception);
+    long DeleteIterationOption(in string IterName, in long Option1, in long Option2)
+    raises(SALOME::SALOME_Exception);
+    long DeleteYACS(in string YacsName, in long Option)    raises (SALOME::SALOME_Exception);
+    long DeleteZone (in string ZoneName)                   raises (SALOME::SALOME_Exception);
+//
+    void AssociateIterHypo(in string IterName, in string HypoName)
+    raises(SALOME::SALOME_Exception);
+
+//
+    void AssociateHypoZone(in string HypoName, in string ZoneName, in long TypeUse)
+    raises(SALOME::SALOME_Exception);
+    void DissociateHypoZone(in string HypoName, in string ZoneName)
+    raises(SALOME::SALOME_Exception);
+
+    long Compute (in string IterName, in long CleanOption, in long modeHOMARD, in long Option1, in long Option2)
+    raises(SALOME::SALOME_Exception);
+
+//
+    string CreateDirNameIter(in string NomDir, in long option )
+    raises(SALOME::SALOME_Exception);
+
+    string VerifieDir (in string NomDir)                   raises (SALOME::SALOME_Exception);
+
+//
+    void PublishFileUnderIteration(in string IterName, in string FileName, in string Comment)
+    raises(SALOME::SALOME_Exception);
+    void PublishBoundaryUnderCase(in string CaseName, in string BoundaryName)
+    raises(SALOME::SALOME_Exception);
+    void PublishResultInSmesh(in string FileName, in long Option)
+    raises(SALOME::SALOME_Exception);
+    void PublishMeshIterInSmesh (in string IterName)       raises(SALOME::SALOME_Exception);
+
+//
+
+//
+//  La creation des schemas YACS
+    HOMARD_YACS CreateYACSSchema(in string YACSName, in string CaseName, in string ScriptFile, in string DirName, in string MeshFile)
+    raises(SALOME::SALOME_Exception);
+    long YACSWrite (in string YACSName)                    raises (SALOME::SALOME_Exception);
+    long YACSWriteOnFile (in string YACSName, in string YACSFile)
+    raises(SALOME::SALOME_Exception);
+
+//
+//  Les preferences
+    void SetPublisMesh (in long PublisMeshIN, in long PublisMeshOUT)
+    raises (SALOME::SALOME_Exception);
+    long GetPublisMeshIN ()                                raises (SALOME::SALOME_Exception);
+    long GetPublisMeshOUT ()                               raises (SALOME::SALOME_Exception);
+    void SetYACSMaximum(in long YACSMaxIter, in long YACSMaxNode, in long YACSMaxElem)
+    raises (SALOME::SALOME_Exception);
+    long GetYACSMaxIter()                                  raises (SALOME::SALOME_Exception);
+    long GetYACSMaxNode()                                  raises (SALOME::SALOME_Exception);
+    long GetYACSMaxElem()                                  raises (SALOME::SALOME_Exception);
+    void SetYACSConvergenceType(in long TypeTest)          raises (SALOME::SALOME_Exception);
+    long GetYACSConvergenceType()                          raises (SALOME::SALOME_Exception);
   };
 };