Salome HOME
Changements de noms HOMARD ==> ADAPT
[modules/smesh.git] / idl / ADAPT_Gen.idl
diff --git a/idl/ADAPT_Gen.idl b/idl/ADAPT_Gen.idl
new file mode 100644 (file)
index 0000000..8311465
--- /dev/null
@@ -0,0 +1,233 @@
+// Copyright (C) 2011-2020  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 __ADAPT_GEN__
+#define __ADAPT_GEN__
+
+#include "SALOME_Component.idl"
+#include "SALOME_Exception.idl"
+#include "SALOMEDS.idl"
+
+#include "HOMARD_Cas.idl"
+#include "HOMARD_Hypothesis.idl"
+#include "HOMARD_Iteration.idl"
+#include "HOMARD_Zone.idl"
+#include "HOMARD_Boundary.idl"
+#include "HOMARD_YACS.idl"
+
+module ADAPT
+{
+  typedef sequence<string> listeHypotheses;
+  typedef sequence<string> listeZones;
+  typedef sequence<string> listeIterations;
+  typedef sequence<string> listeCases;
+  typedef sequence<string> listeBoundarys;
+  typedef sequence<string> listeYACSs;
+
+  interface ADAPT_Gen : Engines::EngineComponent, SALOMEDS::Driver
+  {
+//
+// 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);
+  };
+};
+
+#endif
+